RS-485 wiring guide

RS-485 / Modbus RTU Commissioning Checklist

Download the PDF

Site: ____________________ Date: __________ Technician: ____________________

Tick each item as you go. Always follow the device manufacturer's instructions when they differ from this list.

1. Before you start

  • ☐ Register map / Modbus manual for each device model (check the firmware version matches)
  • ☐ List of all devices on the bus with planned unit ID, location and model
  • ☐ Planned serial settings written down: baud rate, data bits, parity, stop bits
  • ☐ Wiring drawing showing the cable route, device order and both ends of the bus
  • ☐ USB-to-RS-485 adapter (and its driver) tested on your laptop
  • ☐ Know which device is the master (client) — usually only one master per bus

2. Wiring

  • ☐ Cable is twisted pair, typically shielded, rated for RS-485 (about 120 ohm impedance)
  • ☐ Devices connected in a daisy chain (line), not a star or ring
  • ☐ Stubs (drops from the main line to a device) kept as short as possible
  • ☐ A / B (or D+ / D-, + / -) consistent on every device — note: vendors label these differently
  • ☐ Signal common / reference (0 V, GND, C) connected between devices when they have this terminal
  • ☐ Shield continuous along the bus and grounded at one point only (unless the manufacturer says otherwise)
  • ☐ Cable kept away from power cables and VFD motor cables where possible
  • ☐ Total cable length within limits (typically up to about 1200 m at lower baud rates; less at high baud rates)
  • ☐ Number of devices within the driver limit (standard is 32 unit loads; more with low-load transceivers or a repeater)

3. Termination and biasing

  • ☐ 120 ohm termination at both ends of the bus only — not at every device
  • ☐ Termination switches/jumpers off on all devices in the middle of the bus
  • ☐ Biasing (fail-safe) applied at one point only, typically at the master or one end
  • ☐ Not too many devices with built-in biasing switched on

4. Serial settings

  • ☐ Same baud rate, data bits, parity and stop bits on every device and on the master
  • ☐ Modbus specification default: 19200 baud, 8 data bits, Even parity, 1 stop bit (8E1)
  • ☐ With no parity, the specification asks for 2 stop bits (8N2) — but many devices actually use 8N1; match what the devices really use
  • ☐ Mode is RTU (not ASCII) on all devices
  • ☐ Response timeout on the master long enough for the slowest device (typically 500-1000 ms to start)

5. Addressing

  • ☐ Every device has a unique unit ID between 1 and 247
  • ☐ Unit ID 0 is broadcast (write only, no reply) — do not assign it to a device
  • ☐ Register numbering understood: 40001 in the manual = holding register address 0 on the wire (30001 = input register 0)
  • ☐ Check if the manual uses 0-based or 1-based addresses (off-by-one is very common)
  • ☐ Data types and byte/word order noted for 32-bit values (e.g. ABCD, CDAB)

6. First communication test

  • ☐ Connect and test one device at a time if the bus is new or not working
  • ☐ Scan unit IDs to confirm which IDs answer
  • ☐ Read one known register (e.g. a voltage, temperature or serial number)
  • ☐ Compare the value with the device display (check scale, units and sign)
  • ☐ Add the remaining devices one by one and repeat the test
  • ☐ Leave a poll running for several minutes and watch for timeouts or CRC errors
  • ☐ Record final settings, unit IDs and termination positions on the drawing

7. Troubleshooting quick table

Symptom Check first
No reply from any device A/B swapped, wrong COM port, baud/parity mismatch, adapter driver, power to devices
No reply from one device Unit ID, that device's serial settings, its wiring at the terminal, device in RTU mode
CRC / framing errors Baud/parity/stop bits mismatch, missing termination, noise, missing common wire
Works on the bench, fails on site Cable length, termination, biasing, grounding/shield, cable near power or VFD cables
Random timeouts Timeout too short, polling too fast, too many registers per read, reflections, two masters
Exception 01 (illegal function) Device does not support that function code (e.g. use FC03 instead of FC04, or FC16 instead of FC06)
Exception 02 (illegal data address) Wrong address / off-by-one, wrong table, reading past the end of a block
Exception 03 (illegal data value) Too many registers in one request, value out of range
Value is wrong but reply is OK Scale factor, signed/unsigned, data type, byte/word order, holding vs input table
Some devices fine, others drop out Too many devices for the driver, duplicate unit IDs, biasing in several places

Find registers, data types and byte orders in seconds with ModLens — 14-day free trial: https://controlslens.com/download/