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/