S7-1500 CPU 或 S7-1200 CPU 通过集成的PROFINET 接口使用 "MB_CLIENT" 指令作Modbus TCP 客户端。使用 "MB_CLIENT" 指令在 Modbus TCP 客户端和Modbus TCP服务器之间建立连接.
图. 1 如果是和一个SENTRON PAC 设备的建立连接,需要改变 "MB_CLIENT" 指令的背景数据块中的静态变量"MB_Unit_ID" 的值。MB_UNIT_ID参数对应Modbus RTU协议中的从站地址。如果使用 Modbus TCP服务器作为一个Modbus RTU协议网关, 在串口网络中的从站设备可以通过MB_UNIT_ID参数识别。在这种情况下MB_UNIT_ID 参数对应正确的Modbus RTU从站地址。
静态变量"MB_Unit_ID"预设值为16#FFhex= 255dec。可是SENTRON PAC设备最大只支持到 16#7Fhex = 247dec, 那么 "MB_CLIENT" 指令就会在输出的状态信息中显示16#8382hex 。
指定静态变量"MB_Unit_ID" 的启动值在 16#1hex 到16#7Fhex 之间(1dec 到 247dec)。
图. 2
MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。协议的最通用用途是为诸如PLC’s,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。
MODBUS/TCP 使MODBUS_RTU协议运行于以太网,MODBUS TCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUS TCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。MODBUS TCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,MODBUS TCP插入一个标准的MODBUS报文到TCP报文中,不再带有数据校验和地址。