西门子S7 1500 和 1200 之间的 Modbus/TCP 通信如何进行编程和参数化 ?
发布时间:2017-11-12 浏览次数:1303
返回列表
S7-1500 CPU 和 S7-1200 CPU 之间可以实现 Modbus/TCP 的通信。在 S7-1500 CPU 和 S7-1200 CPU 中调用 “MB_CLIENT” 和 “MB_SERVER” 指令并参数化。
“MB_CLIENT” 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 客户机通信。使用 “MB_CLIENT” 指令在客户机和服务器之间建立连接,发送请求和接收响应,和控制连接断开。“MB_CLIENT” 指令在独立的功能块"ModbusClient"中被调用。
"MB_SERVER" 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 服务器通信。使用 "MB_SERVER" 指令处理 Modbus/TCP 客户端的连接请求,接收来自 Modbus/TCP 客户端的请求并发送响应消息。"MB_SERVER" 指令在独立的功能块"ModbusServer"中被调用。
例子:通过两个Modbus/TCP连接演示了一个Modbus功能。
S7-1500 CPU 的第一个连接作为Modbus TCP 客户机。S7-1200 CPU 作为 Modbus TCP 服务器。
S7-1200 CPU 的第二个连接作为Modbus TCP 客户机。S7-1500 CPU 作为 Modbus TCP 服务器。
一个Modbus/TCP 连接是要通过一对功能块建立的 (MB_CLIENT 和 MB_SERVER). “MB_CLIENT” 和 "MB_SERVER"指令分别在独立功能块(("ModbusClient" 和 "ModbusServer“)中调用。
在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusClient"指令并参数化,该功能块内部调用"MB_CLIENT" 指令。
在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusServer"指令并参数化,该功能块内部调用"MB_SERVER" 指令 。
注意:
"MB_CLIENT" 和 "MB_SERVER" 指令在“ MODBUS TCP”库中。对于V4.0版本的S7-1200 CPU,"MB_CLIENT" 和 "MB_SERVER"指令要使用V3.1及以上版本的库。对于V4.1及以上版本的S7-1200 CPU和S7-1500的CPU,可以用所有库版本的"MB_CLIENT" 和 "MB_SERVER"指令。