西门子S7-1200系列PLC与汇川(Hiconics)的521系列PLC之间通过ModbusTCP/IP协议进行通信是一种常见的工业自动化场景。ModbusTCP/IP是在TCP/IP网络上运行的一种开放式的通信协议,它允许不同厂商的设备之间实现互操作性。下面是建立这种通信的一般步骤及注意事项:
准备工作硬件准备:确保两台PLC都支持以太网通信,并且已经正确连接到同一个局域网中。
软件工具:安装适合的编程软件,对于西门子S7-1200来说通常是TIAPortal;而对于汇川PLC,则需要对应的编程环境。
了解规范:熟悉ModbusTCP/IP的数据格式和指令集。
配置步骤对于西门子S7-1200:在TIAPortal中创建一个新的项目并添加S7-1200CPU。
使用“添加新块”功能添加一个FB或FC用于处理ModbusTCP通信逻辑。
通过TIAPortal提供的库函数(如MB_CLIENT或MB_SERVER)来配置ModbusTCP客户端/服务器功能。
设置好IP地址、端口号等网络参数。
编写程序逻辑来读取/写入寄存器值。
对于汇川521PLC:根据汇川的技术文档,在其编程环境中设置相应的网络参数。
定义好作为Modbus从站(如果S7-1200为客户端)或主站(如果S7-1200为服务器)的角色。
配置好对应的寄存器映射表。
编写控制逻辑以响应来自S7-1200的请求或向S7-1200发送数据。
注意事项协议版本:确认双方使用的都是标准的ModbusTCP/IP协议。
数据类型:注意处理好不同类型的数据转换问题,比如浮点数、整型等。
错误处理:在程序中加入适当的错误检测与处理机制。
安全考虑:确保网络安全措施到位,防止未经授权的访问。
测试验证:完成配置后进行全面的功能测试以确保稳定可靠地通信。
一、西门子组态
DISCONNECT:
0:在无通信连接时建立被动连接。
1:终止连接初始化。如果已置位该输入,那么不会执行其它操作。成功终止连接后,STATUS参数将输出值0003。
MB_HOLD_REG:
指向“MB_SERVER”指令中Modbus保持性寄存器的指针MB_HOLD_REG引用的存储区必须大于两个字节。保持性寄存器中包含Modbus客户端通过Modbus功能3(读取)、6(写入)、16(多次写入)和23(在一个作业中读写)可访问的值。
CONNECT:
TCON_IP_v4:包括建立指定连接时所需的所有地址参数。默认地址为0.0.0.0(任何IP地址),但也可输入具体IP地址,以便服务器仅响应来自该地址的请求。使用TCON_IP_v4时,可通过调用指令“MB_SERVER”建立连接。
NDR:
0:无新数据
1:从Modbus客户端写入的新数据
DR:
0:未读取数据
1:从Modbus客户端读取的数据
ERROR:错误位
STATUS:错误ID
TCON_IP_V4设置
读取数据暂存
二、汇川521组态
西门子1200和汇川521PLC——modbus-tcp/ip通讯
;tid=502094fromuid=17
(出处:PLC论坛-全力打造可编程控制器专业技术论坛)





