Modbus-RTU remains one of the most common industrial serial protocols. Unfortunately it's also the source of the most frequent SCADA operator alarm: "communication failure", "device offline", "timeout". The root cause is rarely Modbus itself; it's usually field cabling, hardware, or configuration mismatch.
Below is the root-cause list we've built over 10 years of field work (industrial plants, pharma, airport BMS, banking data centers) — and how we isolate each one quickly.
Isolate the line first: which device is dropping?
When multiple slaves share a bus, identify which addresses fail. Check CRC error / timeout counts per slave in your SCADA logs. Usually one or two devices generate most of the errors — typically at the physical end of the bus, in noisy environments.
1. Termination resistors
RS-485 needs 120 Ω termination at both ends. Common field mistakes:
- No termination at all — reflections at high baud, CRC errors
- Termination at every device (some masters have internal) — total impedance drops, drivers struggle
- Only one end terminated — reflections persist
Test: Power down the bus, measure A-B resistance. Expect ~60 Ω (two 120 Ω in parallel). 120 Ω = single termination. Under 30 Ω = three or more terminations.
2. Missing bias (pull-up/pull-down) resistors
When no master is active, A-B can float to indeterminate levels. Biasing is required for fail-safe state. Some USB-RS485 dongles don't provide internal bias. Result: parts of the bus see data, other parts don't.
3. Baud rate, parity, stop bit mismatch
Slave at 9600 8N1 vs. master at 9600 8E1 produces continuous CRC errors. Check device manuals carefully — especially the parity field, which is often overlooked.
4. Slave address conflict
Two devices on the same address both respond; frames collide, master sees CRC errors. New panels often arrive with factory default address 1 and conflict immediately.
Tip: Change the slave address via loopback before connecting to the live bus.
5. Ground loops
On long Modbus runs (50 m+), the two ends can be at different ground potentials. Common-mode noise then swamps A-B signaling. Symptom: errors spike when a panel touches a metal door, then settle when isolated.
Fix: isolated RS-485 driver + SG (signal ground) conductor + single-point grounding.
6. Cable quality and topology
Use twisted pair, preferably shielded (STP), for Modbus-RTU. Sharing 100+ m runs with power cables in the same tray invites frequency-modulated noise. Topology must be daisy-chain — star topology is forbidden.
7. Inter-frame gap on master too short
Modbus-RTU uses 3.5 characters of silence to delimit frames. If the master polls too aggressively, slaves haven't yet replied when the next request arrives.
- 9600 baud → ~1.04 ms/char → 3.5T ≈ 3.6 ms
- 19200 baud → ~1.8 ms
- Master timeout: at least 200-500 ms
8. USB-Serial adapter quality
For field laptops, use FTDI-based USB-RS485 dongles with automatic direction control. Cheap CH340/CP2102 adapters that require RTS toggling break the timing.
If you're facing a similar scenario, share your existing SCADA logs + cabling diagram — we can do remote pre-diagnosis.
Türkçe
English