S7-1200 Modbus-TCP 通讯配置向导说明
点击上方蓝字 关注我们
相关使用说明:
(1) Modbus TCP 客户端通过 PROFINET 连接进行通信。
通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送 Modbus 请求、接收响应并控制 Modbus TCP 客户端的连接终端。
通过“MB_SERVER”指令将处理 Modbus TCP 客户端的连接请求、接收并处理 Modbus 请求并发送响应。
(2) S7-1200 固件版本 V4.0 支持“MB_CLIENT”指令和最高 V3.1 版本的库。S7-1200 固件版本 V4.1 及更高版本和 S7-1500,支持“MB_CLIENT”指令与“MB_SERVER”指令的所有库版本。
使用该指令时,无需其它任何硬件模块。
(3) 使用各客户端连接时,请记住以下规则:
▀ 每个“MB_CLIENT”连接都必须使用唯一的背景数据块。
▀ 对于每个“MB_CLIENT”连接,必须指定唯一的服务器 IP 地址。
MB_CLIENT指令中
准备工作
(1) S7-1200作为服务器的话,端口号必须是502,作为客户端端口号是0;
(2)
编程
(1)客户端
CONNECT 引脚的指针类型
先创建一个新的全局数据块DB, 双击打开新生成的DB块,定义变量名称为“aa",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。该数据类型结构创建完毕( ID号的意义不大在这里,可以不考虑数值问题,主要是通过IP地址通讯)
注意: MB_DATA_PTR指定的数据缓冲区可以为DB块或M存储区地址中。DB块可以为优化的数据块,也可以为标准的数据块结构。若为优化的数据块结构,编程时需要以符号寻址的方式填写该引脚;若为标准的数据块结构(可以右键单击DB块,“属性”中将“优化的块访问”前面的勾去掉,需要以绝对地址的方式填写该引脚,这样便于写P#格式。)
(2)服务器端
CONNECT 引脚的指针类型
先创建一个新的全局数据块DB, 双击打开新生成的DB块,定义变量名称为“aa",数据类型为“TCON_IP_v4”(可以将 TCON_IP_v4 拷贝到该对话框中),然后点击“回车”按键。该数据类型结构创建完毕( ID号的意义不大在这里,可以不考虑数值问题,主要是通过IP地址通讯)
编程注意事项:
(1)MODBUS-TCP通讯需要用分时控制各MB_CLIENT功能块,在同一时间只能有一个MB_CLIENT功能块的DISCONNET处于OFF(即:建立连接),不然会出现通讯不正常。
(2)不同的MB_CLIENT功能块寄存器地址范围注意不要一样(40001-49999),特别是读写时一定不能一样,容易造成数据混乱,因为读写的40001-49999的寄存器地址是同一个区域。
(3)“MB_SERVER”功能块在服务器侧一般只调用1次。所有客户端的读写数据全部包含在里面,所以要注意分别。
(4)在修改过CONNECT 引脚的指针参数或端口参数后一般需要PLC重新启动才有效。
实际案列程序:
(1)客户端程序
(2)服务器端程序
来源:徐陈爽