Modbus Actions
About 3 min
Modbus Actions
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Modbus Actions context and expected reader workflow.
- Configuration, verification, and release-readiness details.
- Source-aligned implementation notes, screenshots, and troubleshooting references.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
Modbus 动作
动作类型
| 动作 | actionType | 说明 |
|---|---|---|
| ACTION_MODBUS_COIL_WRITE | 16 | 写线圈 (FC05) |
| ACTION_MODBUS_REG_WRITE | 17 | 写寄存器 (FC06) |
| ACTION_MODBUS_POLL | 18 | 轮询采集 |
配置示例
方式1:Web界面配置(推荐)
外设执行页面和 Modbus RTU 配置页如下。Modbus 动作配置时重点核对串口参数、从站地址、功能码、寄存器或线圈地址。

示例1:写线圈(控制继电器开关)
场景:打开Modbus继电器的第1路(通道0)
配置步骤:
在外设执行管理页面编辑规则
点击 添加动作 按钮
填写动作配置:
字段 填写内容 说明 动作类型 选择 Modbus写线圈 FC05 目标外设 选择 mb_relayModbus继电器 通道号 0基于coilBase偏移 值 11=ON, 0=OFF 点击 保存 按钮
💡 提示:通道号基于外设配置的coilBase偏移,查设备手册确认
示例2:写寄存器(设置PWM值)
场景:向Modbus PWM模块写入寄存器值512
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 Modbus写寄存器
- 目标外设:选择
mb_pwm - 寄存器地址:
100 - 写入值:
512
点击 保存
💡 提示:寄存器地址查设备手册确认
示例3:轮询采集(读取传感器数据)
场景:轮询Modbus任务0的传感器数据
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 Modbus轮询
- 目标外设:填写
modbus-task:0(固定格式) - 任务索引:
[0](JSON数组格式) - 上报数据:✅ 启用规则的上报数据选项
点击 保存
💡 提示:
- targetPeriphId格式固定为
modbus-task:N,N为设备索引- actionValue格式:
{"poll":[0,1,2]},数组内为任务索引- 启用“上报数据”后采集结果自动通过MQTT上报
示例4:多设备轮询
场景:一次轮询多个任务(0, 1, 2)
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 Modbus轮询
- 目标外设:填写
modbus-task:0 - 任务索引:
[0,1,2]
点击 保存
💡 提示:多个任务索引用逗号分隔,系统会按顺序轮询
方式2:JSON配置文件导入
完整规则示例
平台控制 Modbus 继电器
{
"id": "exec_mb_ctrl",
"name": "远程控制继电器",
"enabled": false,
"execMode": 0,
"triggers": [
{
"triggerType": 0,
"triggerPeriphId": "mb_relay_ch0",
"operatorType": 0,
"compareValue": "1",
"timerMode": 0,
"intervalSec": 60,
"timePoint": "",
"eventId": "",
"pollResponseTimeout": 1000,
"pollMaxRetries": 2,
"pollInterPollDelay": 100
}
],
"actions": [
{
"targetPeriphId": "mb_relay",
"actionType": 16,
"actionValue": "{\"ch\":0,\"val\":1}",
"useReceivedValue": false,
"syncDelayMs": 0,
"execMode": 0
}
],
"protocolType": 0,
"scriptContent": "",
"reportAfterExec": true
}注意事项
- Modbus 可用性:动作执行前检查 Modbus 通道是否就绪
- 通信间隔:多个 Modbus 动作间建议设置 syncDelayMs ≥ 100ms
- 超时处理:Modbus 通信超时会记录失败并触发退避机制
- 数据上报:MODBUS_POLL 结果在
reportAfterExec: true时自动通过 MQTT 上报
