Modbus RTU (Serial)
Modbus RTU is the serial (RS-485 / RS-232) variant of Modbus. Equipment with only a serial interface — inverters, power meters, environmental sensors — communicates via RTU exclusively.
Because this gateway is TCP/IP based, it does not handle serial directly; it communicates through a Modbus RTU-over-TCP gateway (an RS-485-to-Ethernet converter).
PlantPulse Edge itself has no RS-485 port. To attach serial equipment, you need one of the following.
- A Modbus gateway (converter) — Moxa MGate, Advantech EKI, USR-TCP232, ICP DAS tGW, etc.
- A serial module on the PLC — the PLC receives RTU serial and re-exposes it as Modbus TCP
Differences between RTU and TCP
| Item | Modbus TCP | Modbus RTU |
|---|---|---|
| Physical layer | Ethernet | RS-485 / RS-232 |
| Transmission unit | TCP segment | Serial frame |
| Slave identification | IP + (Unit ID) | Unit ID |
| Mapping through a gateway | Direct | 1 TCP IP + multiple Unit IDs |
| Response speed | Fast | Limited by baud rate (typically 9600–115200 bps) |
→ The most common arrangement is several slaves sharing one RS-485 line (= one converter IP). Register each slave as a separate connection with its own Unit ID.
Registration form entries
| Field | What to enter | Example |
|---|---|---|
| IP address | IP of the RTU-over-TCP gateway | 192.168.0.55 |
| Port | TCP port of the gateway | 502 (or 8899, 4001, depending on the converter) |
| Unit ID (slave-id) | Serial slave address (1–247) | 1 |
| Response timeout (request-timeout) | Response wait time (ms) | 5000 (longer than for TCP) |
Unlike Modbus TCP, RTU has multiple slaves behind the same IP. A wrong Unit ID returns "another device's values." Check each slave's manual and DIP switch settings.
Converter-side configuration checklist
| Item | Recommended value |
|---|---|
| Mode | Transparent / Modbus TCP-RTU gateway |
| Baud rate | Same as the slave (9600 / 19200 / 38400, etc.) |
| Data bits / stop bits / parity | Same as the slave (usually 8N1) |
| RTU response timeout | 1000–3000 ms |
| Inter-frame delay | Auto, or 5–10 ms |
PLC address notation for tags
The tag address format is identical to Modbus TCP (see the Modbus TCP page).
| Notation | Meaning |
|---|---|
holding-register:1 | Holding Register 1 (16-bit) |
holding-register:1:REAL | Holding Register 1–2 (32-bit float) |
coil:1 | Coil 1 (1 bit) |
input-register:1 | Input Register 1 (16-bit, read-only) |
5-digit and 6-digit notation (40001, 400001) is also accepted as-is.
| 5-digit | Meaning |
|---|---|
1xxxx | Discrete Input |
0xxxx | Coil |
3xxxx | Input Register |
4xxxx | Holding Register |
Data format matching
Apply the table from Modbus TCP as-is. RTU does not require any separate format.
Common problems and solutions
| Symptom | Possible cause | Solution |
|---|---|---|
| "Read timeout" | RTU baud rate / parity mismatch | Make the serial parameters of the converter and slave identical |
| Only one slave responds, the rest report "Slave not present" | RS-485 termination resistor / wiring / Unit ID conflict | Check the termination resistor (120Ω) at the end of the line and for duplicate Unit IDs |
| No slave responds | Converter mode is not "TCP server" | Set the converter to Modbus TCP-RTU gateway mode |
| Intermittent timeouts | Serial collision (multiple masters) | Only one RS-485 master is allowed |
| 32-bit floats corrupted | Byte/word order (same issue as Modbus TCP) | Try variants such as :UDINT_LSWORD_FIRST |
Next steps
- Use the address / format tables from Modbus TCP as-is
- Modbus examples in Advanced — REST API (the same calls apply to RTU)