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:

  • No termination: reflections on longer cables corrupt bits.
  • Termination switched on in every device: the load becomes too heavy and signal levels drop.
  • Termination at a device in the middle of the bus, not at the ends.
  • 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.