欢迎来到众智博远官网网站!

7*24小时在线咨询电话

010-52873850

新闻资讯

contact us

24小时免费咨询热线

010-52873850

公司新闻

当前位置: 首页 >> 新闻资讯 >> 公司新闻

西门子S7-1500PLC如何建立与Modbus TCP 的通信

发布时间:2019-08-24 来源:众智博远

建立与 Modbus TCP 的通信

通过用户程序建立 Modbus TCP 连接

使用指令 MB_CLIENT 或 MB_SERVER,可以在程序编辑器中分配参数。

通过 Modbus TCP 建立通信的操作步骤

MB_CLIENT 指令作为 Modbus TCP 客户端通过 TCP 连接进行通信。通过该指令,可以在客户端和服务器之间建立连接、向服务器发送 Modbus 请求并接收相应的 Modbus 响应。通过该指令,还可控制 TCP 连接的设置。

MB_SERVER 指令作为 Modbus TCP 服务器通过 TCP 连接进行通信。该指令将处理 Modbus 客户端的连接请求、接收并处理 Modbus 请求并发送响应。也可用于控制 TCP 连接的设置。

要求:客户端可通过网络中的 IP 通信访问服务器。

  1. 在 STEP 7 的“设备与网络”(Devices & Networks) 编辑器的网络视图中,组态带有 CPU 的 S7‑1500 自动化系统。

  2. 在项目树中,选择“程序块”(Program blocks) 文件夹。双击该文件夹,打开文件夹中的 OB1。将打开程序编辑器。

  3. 从“指令”(Instructions) 任务卡中“通信”(Communication) 区域内的“其它”(Other) 中的“MODBUS TCP”,选择所需的指令(如 MB_CLIENT)并拖放到 OB1 的程序段中。

  4. 分配 MB_CLIENT 或 MB_SERVER 指令的参数。请遵守以下规则:

    须为每个 MB_CLIENT 连接指定 IPv4 服务器地址。

    每个 MB_CLIENT 或 MB_SERVER 连接都须使用一个数据结构为 TCON_IP_v4 或 TCON_QDN 的背景数据块。

    每个连接都需要一个的连接ID。而且该连接 ID 与背景数据块组合成对,对于每个连接而言。


    图片: MB_CLIENT


    图片: MB_SERVER

  5. 将硬件配置和用户程序下载到 CPU。

Modbus TCP 服务器作为连接到 Modbus RTU 的网关

如果将 Modbus TCP 服务器用作连接 Modbus RTU 协议的网关,则使用静态参数 MB_UNIT_ID 对串行网络中的从站设备进行寻址。MB_UNIT_ID 参数与 Modbus RTU 协议中的从站地址字段相对应。在此情况下,MB_UNIT_ID 参数会将请求转发到正确的 Modbus RTU 从站地址。