硬件:cpu 1214C
目的:测试Modbus TCP通信
软件:Portal V14SP1
1.硬件组态
插入两台cpu,并分配IP地址
PLC_1:192.168.0.20
PLC_2:192.168.0.21
记录下两台PLC网口的硬件标识符
2.PLC与PLC之间的Modbus TCP通信
(1).Modbus TCP 客户端编程
将PLC_1作为客服端,PLC_2作为服务器端,参数如下
IP地址 | 端口号 | 硬件标识符 | |
---|---|---|---|
客户端 | 192.168.0.20 | 0 | 64 |
服务器 | 192.168.0.21 | 502 | 64 |
新建一个DB块,在DB块中创建一个TCON_IP_v4变量,修改其参数值
Interfaceid:填入客户端的网口硬件标识符
ID:连接ID,我们可以定义为1
ActiveEstablished:1表示主动连接,0表示被动连接
RemoteAddress:输入需要连接的服务器端的IP地址
RemotePort:远程端口
LocalPort:本地端口
在OB1中插入MB_CLIENT指令,CONNECT引脚填入刚才新建的TCON_IP_v4变量
左侧指令:
MODE=0,DATA_ADDR=40001,DATA_LEN=1,读取服务器保持寄存器从地址0开始的一个字的数据,并将读取到的数据保存到DB3.DBW0
右侧指令:
MODE=1,DATA_ADDR=40002,DATA_LEN=1,往服务器保持寄存器从地址1开始写入一个字的数据,需要写入的数据来自DB3.DBW22
依旧需要采用轮询机制来处理多条指令
(2).Modbus TCP 服务器端编程
新建一个DB块,在DB块中创建一个TCON_IP_v4变量,修改其参数值如下
在OB1中插入MB_SERVER指令,CONNECT引脚填入上面新建的TCON_IP_v4变量
MB_HOLD_REG:服务器端定义的保持寄存器区域
(3).监控测试
启用轮询,监控客户端和服务器端的数据收发区域,测试读取和写入功能
3.PLC与第三方设备Modbus TCP通信
使用Modsim软件来模拟第三方设备作为服务器的情况
将PLC_1的网口与电脑网口连接,将RemoteAddress更改为电脑网口的IP地址
打开Modsim软件,Device Id输入255,connect→Modbus/TCP Svr→端口输入502,建立连接
监控PLC_1的DB3.DBW0和DB3.DBW22,测试与Modsim保持寄存器40001与40002的读写功能