Modbus 从站端点
endpoint/modbusServer组件:v0.37.0+Modbus TCP 从站端点,监听 TCP 端口接受主站连接,主站写线圈/保持寄存器时触发消息流入规则链。
需要额外引入扩展库: rulego-components-iot (opens new window)
# 配置
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| server | string | 监听地址,格式 tcp://host:port | tcp://:502 |
| unitId | int | 从站地址(0=接受所有) | 0 |
| maxClients | uint | 最大并发连接数 | 10 |
| coils | uint | 线圈区大小(位) | 2000 |
| registers | uint | 寄存器区大小(字) | 2000 |
# 工作模式
- 内存寄存器表:维护 4 区内存表(线圈/离散输入/输入寄存器/保持寄存器),主站读时返回表值
- 写触发规则链:主站写保持寄存器或线圈时,把写入数据转为消息流入规则链
- 外部回写:规则链处理后可通过 SetRegisters/SetCoils 更新寄存器表,供主站读取
# 写触发消息格式
{
"type": "holding_register",
"unitId": 1,
"addr": 100,
"quantity": 2,
"values": [1234, 5678],
"clientAddr": "192.168.1.10:54321"
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Metadata 注入:modbusType(coil/holding_register)、clientAddr。
# 应用场景
- SCADA 桥接:上位机写寄存器 → 触发规则链联动
- 虚拟设备:规则链更新寄存器值 → 主站轮询读取
- 写触发流:PLC 写入 → 触发告警/联动/数据记录
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/07/31, 09:31:44