RHILEX 集成 Modbus 协议
Modbus 点位表是 Modbus 协议中的一个重要概念,主要用于描述设备状态和配置信息。它是一个包含所有 Modbus 设备及其相关数据的列表,通常用于监控和控制工厂中的各种设备,如泵、风机、传感器等。每个设备在点表中都有一个唯一的 ID,用于读取和写入其数据。
规范
RHILEX 点位表使用 Excel 来规范,样表如下:

导入 RHILEX:

字段说明
| 字段名 | 说明 | 
|---|---|
| alias | 传感器别名,用于标识不同传感器,如“传感器1-湿度”、“传感器2-温度”等。 | 
| function | 功能码,表示 Modbus 协议中用于读取或写入数据的功能代码。 | 
| frequency | 采样频率,表示传感器数据采集的频率,单位为毫秒。 | 
| slaverId | 从设备 ID,用于标识 Modbus 网络中的从设备。 | 
| address | 寄存器地址,表示传感器数据在 Modbus 寄存器中的地址。 | 
| quality | 寄存器个数(一个寄存器 2 字节) | 
| type | 数据类型,表示传感器数据在寄存器中的数据类型。 | 
| order | 字节顺序,表示数据在寄存器中的存储顺序,如 AB 表示先存储高位字节,再存储低位字节。 | 
| weight | 权重系数,输出值 = 采集值 * 系数。 | 
type 字段数据类型列表:
- BYTE:单字节
- INT16:双字节整数
- UINT16:无符号双字节整数
- INT32:4 字节整数
- UINT32:无符号 4 字节整数
- FLOAT32:32 位浮点数
- UTF8:字符串
💡
点位表的字段错误是无法导入导出的
案例
下面的案例展示如何将点位表采集到的数据提交到 TCP Server。
新建 Modbus 设备

导入点位表

新建北向到 TCP

编写脚本
Ruby
Actions = {
 function(args)
  Debug(args);
  local err = data:ToTcp("OUTJ3WDZPFT", args);
  if err ~= nil then
   Throw(err);
   return true, args;
  end;
  return true, args;
 end
};数据验证
实验用 SSCOM5.13.1 模拟 TCP Server:

点位表采集到的数据被发到了 TCP Server。