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