施耐德 PLC与PLC通讯ModbusTcp
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
施耐德_PLC与PLC通讯ModbusTCP
一、系统概括
M218PLC中TM218LDAE24DRHN/TM218LDAE40DRPHN两款PLC,本体集成了以太网通讯口,支持ModbusTCP/IP 通讯协议(可做ModbusTCP服务器/客户端),该以太网口可用于与其它支持ModbusTCP/IP协议的设备之间的数据通讯。
本文以两台M218PLC为例,简要介绍M218PLC与M218PLC之间Modbus以太网通信的过程,包括硬件接线、参数设置、硬软件组态等,实现一台PLC对另一台PLC的数据读写。
二、硬件连接
两台M218PLC间的连接网线可采用直通线也可采用交叉线,系统的硬件构架和连接如下(本文以交叉网线为例)。
三、主站PLC
1.新建PLC程序
2.PLC通讯参数设置
从站PLC以太网端口设置过程相同,只需将IP地址设为同一网段不同地址即可
3.主站程序编程
1)添加功能块”IsFirstMastColdCycle”,
目的:第一次启动触发modbus读写模块.
方法:从右侧工具箱中选中”运算块”拖到编程窗口,之后寻到”IsFirstMastColdCycle”后回车即可。
2)添加功能块”ADDM”
目的:Modbus地址功能块
方法:类似添加第一功能块的方法
Addr参数中写入,其中3表示本PLC以太网口,从站IP地址。
3)添加READ_VAR模块
4)添加”WRITE_VAR”模块
5)读写缓存数据区
在”Read_Var”和”Write_Var”功能块的调用过程中,用户需要定义数据读和写的缓存区,用于存放接收到的数据和需要发送的数据。注意,这里的缓存区一般都是以数组的形式存在的,所以用户必须分别定义读数据数组和写数据数组,例如,上例中的”aaa”和”bbb”分别就是用于存放读到的数据和写出去的数据。由于”Read_Var”和”Write_Var”功能块的管脚”Buffer”是指针变量,所以用ADR功能块来取数组的首地址来指向该”Buffer”指针。这里,简单介绍下数组的定义方法.
6)编写循环触发读写条件
使用一个“OR”功能块,执行写功能后再次执行该段程序