如何配置Modbus RTU(RS485)主站通信

进入“通信编程”页面。

通信初始化

  1. 选择RS485(Modbus RTU)为“主站”模式。
  1. 设置通信参数。
  • 设置 “波特率” 、“数据位” 、“奇偶校验”和“停止位”(请参考通信参数配置限制)。并确保RS485网络中通信参数一致。
  • 设置“采集周期T1”和“采集周期T2”。本主站控制器周期性与从站控制器通信、读写数据。每一项数据点有两种扫描周期可以选择。T1以毫秒为单位,设置范围为100~5000ms,T2以秒为单位,设置范围为1~255s。T1优先级高于T2。不同的数据采集点可以选择不同的采集周期,但是在选择和配置此项设置时应综合考虑所配置的串口波特率、数据采集点数量、从设备应答速度、从设备掉线以及T1和T2冲突等情况,选择和设置一个合适的时间。如果时间设置过短或T1配合T2不合理,会产生排在后面的数据点永远无法读取的情况。请参考通信参数的高级设置

配置通信数据

  1. 点击“增加行”。
  • 添加通信变量数据点与从站数据点的对应关系。
  1. 设置“通信变量名”。
  • 命名后该数据点可作为变量,用于本主站的控制逻辑和显示编程。
  1. 设置“从设备地址”、“寄存器地址”、“寄存器类型”和“数据类型”。
  1. 设置数据的“读写方式”。其中“输入寄存器”和“输入继电器”为“只读”方式,“输出寄存器”和“输出继电器”有“只读”、“读写”和“只写”三种方式可选。
  • 只读:主站从从站寄存器读取数据。
  • 读写:主站循环读取从站数据点,同时,如果主站的通信变量数值变化,则立刻向从站数据点写入主站通信变量的值。
  • 只写:主站循环写入从站数据点,同时,如果主站的通信变量数值变化,则立刻向从站数据点写入主站通信变量的值。
  1. 设置“采样类型”。选择采样周期T1或采样周期T2。
  1. 当读写方式为“只读”或“读写”时,RWG控制器会自动把Modbus主站的“读”命令打包为数据组。打包的前提条件是:
  • 勾选“组“选项。
  • 从设备地址相同
  • 采样类型相同
  • 寄存器地址连续
  • 每个组的寄存器数量最大为30

如何设置寄存器地址:

  • 对于Bool、Short16、Word16类型的点的连续地址为:n,n+1,n+2….,n为起始地址。如1、2、3、4、5、…….;
  • 对于Float类型的点的连续地址为n,n+2,n+4…,n为起始地址。如1、3、5、7、9、…..

例如:

所有的“读“命令会打包成一个命令发送给从设备。写命令暂时不支持打包。

  1. 重复步骤1到6直到所有通信数据变量设置完成。
  • 主站通信设置完成后,本主站可周期性从网络中的从站读取或向其写入数据。
  • 循环读和循环写从站数据点的速度取决于“采集周期”参数的设置。
  • 写从站数据点的频率取决于对于对应的“通信变量”变化的频率。