分享

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

 春上秋左 2019-06-17

建立与 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 指令的参数。请遵守以下规则:
  5. 必须为每个 MB_CLIENT 连接指定 IPv4 服务器地址。
  6. 每个 MB_CLIENT 或 MB_SERVER 连接都必须使用一个数据结构为 TCON_IP_v4 或 TCON_QDN 的唯一背景数据块。
  7. 每个连接都需要一个唯一的连接ID。而且该连接 ID 与背景数据块组合成对,对于每个连接而言均唯一。

  1. 图片: MB_CLIENT

  1. 图片: MB_SERVER
  2. 将硬件配置和用户程序下载到 CPU。

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多