Modbus 设备监控
在外设配置保存 UART/RS485 资源,再到“通信协议 → Modbus RTU”配置主站与读取任务。GPIO TX/RX 连接 RS485 收发器的 DI/RO,A/B 再连从站;UART 不能直接连差分 A/B。确认共地或隔离方式、方向控制、终端及串口参数。
从站与映射
从站一般为 1~247,功能码、零基寄存器地址、quantity、数据类型、倍率及 32 位字序按确切设备手册填写。pollInterval 使用秒,不是毫秒。数值精度不因显示更多小数位提高。
采集任务与控制设备分别配置:动作目标 modbus-task:N 引用读取任务,modbus:N 引用控制设备。均由协议配置注册,不在普通外设页手动创建类型 51。不要用控制设备索引代替采集任务索引。
周期采集规则
先保存启用任务 0/1,核对其数量与映射。下方规则先停用:
{
"id": "exec_modbus_monitor",
"name": "周期采集",
"enabled": false,
"execMode": 0,
"triggers": [
{
"triggerType": 5,
"intervalSec": 300,
"pollResponseTimeout": 1000,
"pollMaxRetries": 2,
"pollInterPollDelay": 100
}
],
"actions": [
{
"actionType": 18,
"targetPeriphId": "modbus-task:0",
"actionValue": "{\"poll\":[0,1]}",
"syncDelayMs": 0,
"execMode": 0
}
],
"reportAfterExec": true
}读取通过既有总线仲裁与批次预算处理,相邻兼容范围可能合并读取;额外动作延时不能替代锁或保证上一次物理操作完成。失败重试针对读取,输出未知结果不自动重发。错误、短读和非有限值保留无效状态,不补零。
显示或告警先在设备数据源目录确认实际映射来源,再绑定其返回的 ID;不要臆造 ${modbus_temp.value} 缓存模板。JSON 与 RAW 透传模式的数据入口不同,RAW 不按结构化映射提供本地数值事件。读缓存保留采样年龄,SSE 心跳不表示有新采集。
周期规则到期会执行动作,阈值告警使用单独数据事件规则,不能把同一规则读取后紧跟的输出描述为阈值门控。停止、启动只读补报、手动读取与正常控制区分处理,补报不重放 ctrl。
规则上报、本地采集、平台接收和实物数据各自核验。详细参数见Modbus RTU,输出确认见控制结果。

