S7-1200PLC Modbus TCP通信

硬件:cpu 1214C
目的:测试Modbus TCP通信
软件:Portal V14SP1

1.硬件组态

插入两台cpu,并分配IP地址
PLC_1:192.168.0.20
PLC_2:192.168.0.21
S7-1200PLC Modbus TCP通信_第1张图片
记录下两台PLC网口的硬件标识符
S7-1200PLC Modbus TCP通信_第2张图片

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:本地端口
S7-1200PLC Modbus TCP通信_第3张图片
在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
依旧需要采用轮询机制来处理多条指令
S7-1200PLC Modbus TCP通信_第4张图片

(2).Modbus TCP 服务器端编程

新建一个DB块,在DB块中创建一个TCON_IP_v4变量,修改其参数值如下
S7-1200PLC Modbus TCP通信_第5张图片
在OB1中插入MB_SERVER指令,CONNECT引脚填入上面新建的TCON_IP_v4变量
MB_HOLD_REG:服务器端定义的保持寄存器区域
S7-1200PLC Modbus TCP通信_第6张图片

(3).监控测试

启用轮询,监控客户端和服务器端的数据收发区域,测试读取和写入功能
S7-1200PLC Modbus TCP通信_第7张图片

3.PLC与第三方设备Modbus TCP通信

使用Modsim软件来模拟第三方设备作为服务器的情况
将PLC_1的网口与电脑网口连接,将RemoteAddress更改为电脑网口的IP地址
S7-1200PLC Modbus TCP通信_第8张图片
打开Modsim软件,Device Id输入255,connect→Modbus/TCP Svr→端口输入502,建立连接
S7-1200PLC Modbus TCP通信_第9张图片
监控PLC_1的DB3.DBW0和DB3.DBW22,测试与Modsim保持寄存器40001与40002的读写功能
S7-1200PLC Modbus TCP通信_第10张图片

你可能感兴趣的:(S7-1200PLC Modbus TCP通信)