HomeTechnical Library › Modbus RTU
Communications

Modbus RTU won't read — RS-485, baud, slave ID

Serial communications · ~5 min read · Updated 2026

Modbus RTU (over RS-485) is the most common protocol for connecting power meters, VFDs, weighing heads, transmitters… to a PLC/SCADA. When the master reports timeout or CRC error, it is mostly RS-485 wiring, baud/parity, or slave ID — rarely a faulty device.

Quick reminder: the whole bus must share baud + parity + stop bit, each slave a unique ID, wires A/B (D+/D−) the right way, and a 120Ω terminator at both ends of a long run.

Common causes

  1. A/B swapped — D+/D− reversed (very common when swapping devices).
  2. Baud/parity/stop mismatch — master and slave use different frame settings.
  3. Wrong/duplicate slave ID — reading the wrong address, two slaves on the same ID.
  4. Register offset — 0-based vs 1-based confusion, wrong function code (3 vs 4).
  5. Terminator / bias / grounding — missing end resistor, no bias, poor grounding causing noise.

Master keeps timing out with a slave?

Send: the slave device (meter/VFD…), baud & ID set, the function code you read. Get a diagnosis direction.

Step-by-step diagnosis

  1. Try swapping A/B If totally silent, reverse D+/D− and retry — the fastest way to rule out a reversed pair.
  2. Match frame settings Set the same baud, parity (N/E/O), stop bit on master and slave.
  3. Confirm the slave ID Read the right ID; scan IDs one by one with a tool (Modbus Poll/QModMaster).
  4. Check registers Verify the offset (40001 = register 0), correct function code (03 Holding / 04 Input).
  5. Terminator & bias Fit 120Ω at both ends, enable bias; check shield grounding.
  6. Capture traffic Use a tool/sniffer to see request–response, whether the slave replies or the CRC is wrong.
⚠️ When rewiring RS-485 on a running device (VFD, meter), ensure electrical safety and don't trigger an unintended stop.

When to call an expert

Modbus seems simple, but noise/wiring/register-offset faults still cost hours. DeepDebug captures traffic and localizes fast, supporting remotely — including register mapping for unfamiliar devices.

Send a fault — get a diagnosis

Strong on serial comms. Tough case unsolved → no fee.