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 keeps climbing: CRC errors, timeouts, and now and then a device that drops out for a few seconds. It gets worse when the 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 set to 8-N-1 on an 8-E-1 bus misreads every frame: depending on the device it either stays silent, so the master logs timeouts, or answers with frames the master rejects as CRC or framing errors. Check every device, and especially any replacement that arrived with factory defaults.
Termination: exactly two resistors
RS-485 needs a 120 Ω terminating resistor at each physical end of the bus, which makes two in total. The common mistakes are:
With the bus powered off, measure between A and B. About 60 Ω is correct: that is two 120 Ω resistors in parallel.
Biasing
When no device is transmitting, the bus floats unless something biases it, and noise on a floating line looks like random start bits. Bias resistors should come from the master or from one dedicated device. Check the master's documentation for a bias setting.
Polarity
Manufacturers label the lines inconsistently: A/B, D+/D−, TxD+/TxD−. A device with swapped polarity never answers. If one device is silent while the 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, so keep them short. Use shielded twisted-pair cable made for RS-485 (around 120 Ω characteristic impedance), and route it away from motor cables.
Ground and common
RS-485 is differential, but it still needs a common reference. Connect the signal common (0 V / GND) between devices, or use isolated transceivers. A large ground potential difference between cabinets will destroy transceivers.
Protocol timing
At low baud rates, slow devices may need a longer timeout and an inter-frame delay. If you poll too fast, without the 3.5-character silent interval between frames, devices miss requests. Lengthen the poll interval and see whether the error rate falls.
Measure, then decide
Put an oscilloscope across A and B. A healthy bus shows clean square edges; a badly terminated one shows ringing or rounded edges. The frame itself is covered 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.