两个WIFI PLC之间的Modbus通信通过WIFI网络

两个WIFI PLC可以通过空中进行Modbus通信,中间只需一个无线路由器。该设置以两个PR-26DC-DAI-RT-WIFI为例:两个都作为STA站点连接到同一个路由器,一个充当Modbus服务器(从设备),另一个充当客户端(主设备),客户端从服务器的程序中读取一个值。WIFI参数的设置过程与我们的WiFi PLC程序传输指南相同;本文重点关注角色、确切值和一个有效的示例程序。

两个角色

本示例中的网络很简单:一个无线路由器提供WIFI,两个PLC连接到它。

  • PLC #1— IP 192.168.0.118,WIFI模式STA,Modbus角色客户端(主设备)。它从PLC #2读取数据。
  • PLC #2— IP 192.168.0.220,WIFI模式STA,Modbus角色服务器(从设备),服务器端口8899。它响应客户端的请求。

客户端是发起者;服务器仅响应。在将任何内容接入程序之前,请先分配地址。

配置WIFI参数

对于每个PLC,在xLogicSoft中打开匹配的PR-26DC-DAI-RT-WIFI程序,连接USB或RS232电缆,打开工具 → WIFI参数并点击连接(确认“PLC必须停止”提示)。然后按如下设置页面。

PLC #1(客户端)

  • 管理— 选择STA;其余保持不变。
  • 通信— 模式:客户端,协议:TCP,端口:8899,服务器:192.168.0.220(PLC #2的IP),TCP最大连接数5。
  • STA— 加入路由器的WIFI:例如名称为MERCURY,加密模式为WPA2PSK,算法为AES,密码为easy52895099,静态IP为192.168.0.118,子网掩码为255.255.255.0,网关为192.168.0.1。

PLC #2(服务器)

  • 管理— 选择STA。
  • 通信— 模式:服务器,协议:TCP,端口:8899,TCP最大连接数5。
  • STA— 与PLC #1相同的WIFI网络,具有自己的静态IP 192.168.0.220,子网掩码为255.255.255.0,网关为192.168.0.1。

写完每个页面后,点击应用,一切设置完成后,关闭电源并重启两个PLC。

示例程序:从服务器PLC读取一个值

假设PLC #1需要从PLC #2获取AF1的值。在PLC #1程序中,放置一个Modbus读取块并按如下设置:

  • 从设备地址— 1(PLC #2的地址)。
  • 通信— COM4 (WIFI),波特率 9600,8 数据位,1 停止位,无奇偶校验。
  • 协议— Modbus TCP (R)。
  • 命令— 03 读取保持寄存器 (4x)。
  • 寄存器地址— 3072,映射到 PLC #2 的 AF 寄存器。
  • 计数— 1。
  • 数据地址— AF,地址 1:值存放在 PLC #1 的 AF1 中。

定期触发该块——通常的方法是时间基准或脉冲标志——本地AF1通过WIFI链接跟踪远程值。

一个需要遵守的规则

每个PLC的WIFI模块是wifi到串口的桥接:模块的串口与PLC的CPU通信,而一个PLC的WIFI一次只能承载一个通信通道。在Modbus交换期间,占用WIFI通道的块会阻塞其他使用相同通道的Modbus块——同时触发它们会导致通信失败、延迟或数据错误。如果程序需要多个WIFI上的Modbus块,请依次逐个触发。这正是我们在3个WIFI PLC指南中描述的行为。.