【工控技术】如何对 S7-1500 CPU 和 S7-1200 CPU 之间的 Modbus/TCP 通信进行编程和参数化 ?

2021-11-09 15:18:01 浏览数 (2)

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“)中调用。

图 01

  • 在 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"指令。

0 人点赞