1、施耐德_PLC 与 PLC通讯 ModbusTCP一、 系统概括M218 PLC中TM218LDAE24DRHN/TM218LDAE40DRPHN两款PLC,本体集成了以太网通讯口,支持ModbusTCP/IP通讯协议(可做ModbusTCP服务器/客户端),该以太网口可用于与其它支持ModbusTCP/IP协议的设备之间的数据通讯。本文以两台M218 PLC为例, 简要介绍M218PLC与M218PLC之间Modbus以太网通信的过程,包括硬件接线、参数设置、硬软件组态等,实现一台PLC对另一台PLC的数据读写。二、 硬件连接两台 M218 PLC间的连接网线可采用直通线也可采用交叉线,系统
2、的硬件构架和连接如下(本文以交叉网线为例) 。三、 主站 PLC 1. 新建 PLC程序2. PLC通讯参数设置从站 PLC以太网端口设置过程相同,只需将 IP地址设为同一网段不同地址即可3. 主站程序编程1) 添加功能块”IsFirstMastColdCycle”,目的:第一次启动触发 modbus读写模块.方法:从右侧工具箱中选中”运算块”拖到编程窗口,之后寻到”IsFirstMastColdCycle”后回车即可。2) 添加功能块” ADDM”目的:Modbus 地址功能块方法:类似添加第一功能块的方法Addr 参数中写入3192.168.0.100 ,其中 3表示本 PLC以太网口,1
3、92.168.0.101 表示ModbusTCP 从站 IP地址。3) 添加 READ_VAR模块4) 添加”WRITE_VAR”模块5) 读写缓存数据区在”Read_Var”和”Write_Var”功能块的调用过程中,用户需要定义数据读和写的缓存区,用于存放接收到的数据和需要发送的数据。注意,这里的缓存区一般都是以数组的形式存在的,所以用户必须分别定义读数据数组和写数据数组,例如,上例中的”aaa”和”bbb”分别就是用于存放读到的数据和写出去的数据。由于”Read_Var”和”Write_Var”功能块的管脚”Buffer”是指针变量,所以用 ADR 功能块来取数组的首地址来指向该”Buffer”指针。这里,简单介绍下数组的定义方法.6) 编写循环触发读写条件使用一个“OR”功能块,执行写功能后再次执行该段程序