发布时间:2019-08-24 来源:众智博远
建立与 Modbus TCP 的通信
使用指令 MB_CLIENT 或 MB_SERVER,可以在程序编辑器中分配参数。
MB_CLIENT 指令作为 Modbus TCP 客户端通过 TCP 连接进行通信。通过该指令,可以在客户端和服务器之间建立连接、向服务器发送 Modbus 请求并接收相应的 Modbus 响应。通过该指令,还可控制 TCP 连接的设置。
MB_SERVER 指令作为 Modbus TCP 服务器通过 TCP 连接进行通信。该指令将处理 Modbus 客户端的连接请求、接收并处理 Modbus 请求并发送响应。也可用于控制 TCP 连接的设置。
要求:客户端可通过网络中的 IP 通信访问服务器。
在 STEP 7 的“设备与网络”(Devices & Networks) 编辑器的网络视图中,组态带有 CPU 的 S7‑1500 自动化系统。
在项目树中,选择“程序块”(Program blocks) 文件夹。双击该文件夹,打开文件夹中的 OB1。将打开程序编辑器。
从“指令”(Instructions) 任务卡中“通信”(Communication) 区域内的“其它”(Other) 中的“MODBUS TCP”,选择所需的指令(如 MB_CLIENT)并拖放到 OB1 的程序段中。
分配 MB_CLIENT 或 MB_SERVER 指令的参数。请遵守以下规则:
须为每个 MB_CLIENT 连接指定 IPv4 服务器地址。
每个 MB_CLIENT 或 MB_SERVER 连接都须使用一个数据结构为 TCON_IP_v4 或 TCON_QDN 的背景数据块。
每个连接都需要一个的连接ID。而且该连接 ID 与背景数据块组合成对,对于每个连接而言。
图片: MB_CLIENT
图片: MB_SERVER
将硬件配置和用户程序下载到 CPU。
如果将 Modbus TCP 服务器用作连接 Modbus RTU 协议的网关,则使用静态参数 MB_UNIT_ID 对串行网络中的从站设备进行寻址。MB_UNIT_ID 参数与 Modbus RTU 协议中的从站地址字段相对应。在此情况下,MB_UNIT_ID 参数会将请求转发到正确的 Modbus RTU 从站地址。