Modbus Server Endpoint
endpoint/modbusServer: v0.37.0+Modbus TCP slave endpoint. Accepts master connections; writes to Coil/Holding Register trigger rule chain messages.
Requires: rulego-components-iot (opens new window)
# Configuration
| Field | Type | Description | Default |
|---|---|---|---|
| server | string | Listen URL (tcp://host:port) | tcp://:502 |
| unitId | int | Slave unit ID (0 = accept all) | 0 |
| maxClients | uint | Max concurrent connections | 10 |
| coils | uint | Coil area size (bits) | 2000 |
| registers | uint | Register area size (words) | 2000 |
# How It Works
- In-memory register table: 4 areas (Coils/DI/HR/IR); master reads return table values
- Write triggers rule chain: master writes to HR/Coil → message flows into rule chain
- External write-back: rule chain updates registers via SetRegisters/SetCoils for master to read
# Write Trigger Message
{"type": "holding_register", "unitId": 1, "addr": 100, "quantity": 2, "values": [1234, 5678], "clientAddr": "192.168.1.10:54321"}
1
Metadata injection: modbusType (coil/holding_register), clientAddr.
# Use Cases
- SCADA bridge: master writes → trigger automation
- Virtual device: rule chain updates registers → master polls
- Write-triggered flows: PLC write → alert/logging/linkage
Edit this page on GitHub (opens new window)
Last Updated: 2026/07/29, 07:07:39