Troubleshooting
Modbus RTU on RS-485: CRC Errors and Intermittent Communication
Most polls work, a few fail with CRC errors, and it gets worse when the pumps run. RS-485 is electrical first — fix the bus and the protocol behaves.
The symptom
A PLC polls eight devices on an RS-485 Modbus RTU network. Most replies arrive, but the error counter climbs: CRC errors, timeouts, occasionally a device drops out for a few seconds. It is worse when drives are running.
Settings must match exactly
Every device on the bus needs the same baud rate, data bits, parity and stop bits (for example 19200, 8, Even, 1). A device at 8-N-1 on an 8-E-1 bus produces constant CRC errors rather than silence. Check each device, especially replaced ones that came with factory defaults.
Termination: exactly two resistors
RS-485 needs a 120 Ω terminating resistor at each physical end of the bus — two in total. Common mistakes:
With the bus powered off, measure between A and B: about 60 Ω means two 120 Ω resistors in parallel — correct.
Biasing
When no device transmits, the bus floats unless it is biased. Noise on a floating line looks like random start bits. The master or a single dedicated device should provide bias resistors. Check the master's documentation for a bias setting.
Polarity
Manufacturers label lines inconsistently: A/B, D+/D−, TxD+/TxD−. A device with swapped polarity never answers. If one device is silent while others work, swap its two data wires.
Topology and cable
RS-485 is a daisy chain, not a star. Long stubs to each device cause reflections; keep them short. Use twisted-pair, shielded cable intended for RS-485 (around 120 Ω characteristic impedance), and keep it away from motor cables.
Ground and common
RS-485 is differential but still needs a common reference. Connect the signal common (0 V / GND) between devices, or use isolated transceivers. Large ground potential differences between cabinets destroy transceivers.
Protocol timing
At low baud rates, slow devices may need a longer timeout and an inter-frame delay. Polling too fast, without the 3.5-character silent interval between frames, makes devices miss requests. Increase the poll interval and check whether the error rate falls.
Measure, then decide
An oscilloscope across A and B shows clean square edges on a healthy bus and ringing or rounded edges on a badly terminated one. Learn the protocol frame in the RS-232/RS-485 article.
Frequently asked questions
How many termination resistors does RS-485 need?
Two 120 Ω resistors, one at each physical end of the bus. Measured between A and B with power off, the bus should read about 60 Ω.
Why does one Modbus RTU device never answer?
Check its address, serial settings and A/B polarity. Swapped data wires are a common cause of a single silent device.