Planning and commissioning

Modbus RS-485 commissioning

Commission Modbus RTU over RS-485: device parameters, wiring, termination, bias, addressing, decoding, polling, data quality and acceptance checks.

Modbus RTU over RS-485 connects meters, drives and controllers to a master on one twisted-pair trunk. Commissioning proves the physical bus, the serial settings, each device's identity, the meaning of every register you read, the polling time and what the system does when a device stops answering. This guide follows that order and ends with an acceptance record. For equipment on the network rather than a serial bus, the Modbus TCP vs RTU guide covers the differences.

Download the acceptance record (.txt). Print it, or fill it in on site.

Record the device contract

For every device, record the exact model and firmware, the unit ID (station address), baud rate, parity, data bits and stop bits. All devices on one bus use the same serial settings.

For every point you need, record the object type, the function code, the zero-based protocol offset, the reference number as the manual writes it, the register count, the data type, the byte and word order, the scale, the unit, read or write access and the expected range.

Manuals write register addresses in different conventions. 40001 in a classic reference means holding register offset 0, read with function code 03:

The Modbus address converter keeps the object type and each convention visible, so a one-register shift is caught before it reaches the point map.

Wire the RS-485 bus

The Modbus serial line guide describes one trunk with the devices connected along it, a line termination at each end, polarisation (bias) at one point, and a common conductor. The RS-485 wiring guide explains each rule, and the RS-485 vs Modbus guide separates the electrical layer from the protocol.

A two-wire RS-485 Modbus RTU trunk A ZMB Modbus interface at one end of a daisy-chained trunk with A, B and common conductors. Three meters connect along the trunk. A 120 ohm terminator sits at each end, and bias is applied at one point. ZMB interface Modbus RTU master bias here A B C 120 Ω Meter unit ID 1 Meter unit ID 2 Meter unit ID 3 trunk: A, B and common Bias at one point only 120 ohm at each end Daisy chain with short stubs, and a unique unit ID on each device
A two-wire RS-485 trunk: the master at one end, devices along the trunk on short stubs, a 120 Ω terminator at each end and bias at one point.

Check:

  • two-wire or four-wire mode and the terminal names on every device (manufacturers use A/B, D+/D−, 485+/485− and swap the letters);
  • one continuous daisy-chained trunk, with short stubs and no star branches;
  • a terminator at each end of the trunk, and only there;
  • one bias source, where the network needs it; many masters and some devices have switchable bias;
  • the common conductor, the shield and the earthing to the project design;
  • repeaters and isolators, and their position.

The RS-485 termination and bias checker checks a topology for contradictions, such as three terminators or bias at two points. Device instructions decide whether termination and bias are built in, switchable or external.

Add one device at a time

Start with a short, known-good segment and one device. Confirm the serial settings and read one simple documented value. Then add devices one at a time and keep a station list. Two devices with the same unit ID answer the same request and corrupt each other's replies, which looks like an intermittent fault.

For common meters, the Modbus register maps in the Device Directory give each address in decimal and hex with its function code, data format, scaling and word order, taken from the manufacturer's protocol document.

An exception response is useful evidence: the device heard the request and rejected it. Code 02 (illegal data address) usually means a wrong offset or register count; silence means wiring, serial settings or the unit ID. The Modbus function and exception codes lists every code.

To test a request by hand, calculate its CRC. This request reads three holding registers from unit 17 (0x11), starting at offset 107 (0x6B):

Decode values: a worked example

Two 16-bit registers can hold a 32-bit float, a 32-bit integer or two separate values. The register map defines the type, the word order and the byte order. Capture the raw register words for a stable value and decode them by hand before you map the rest of the device.

For example, the words 436A 0000 decode as a 32-bit float in big-endian word and byte order to 234.0, a plausible phase voltage:

Compare the decoded value with the device's own display. A wrong word order can still give a small, plausible number, so a match with the display is the proof. Keep the raw vector with the configuration, so that a firmware or map change is detected later. The register map guide explains address conventions, data types, word order and scaling in full.

Polling and timeout settings

Frame time depends on the baud rate and the character format. The polling cycle also depends on each device's response time, the delay between requests, the retry policy and the number and size of requests.

At 9600 baud, even parity and one stop bit, with an 8-byte request, a 25-byte response, a 5 ms response delay and ten devices, one complete cycle takes about 470 ms:

Use the calculation as a lower bound, then measure the real devices. Record the slowest response time seen in normal operation, not only on a quiet bench. Polling faster than the bus allows produces timeouts, not more data. The polling and retries guide shows what an offline device costs every cycle, and the troubleshooting guide sorts timeouts, exceptions and wrong values.

Data quality

The receiving application must tell a fresh value from a cached, timed-out, exception, out-of-range or stale one. Define:

  1. the acquisition timestamp and, where the device has one, the source timestamp;
  2. the maximum acceptable age of a value;
  3. the retry and offline thresholds;
  4. whether the last value stays visible, and how it is marked;
  5. reset and rollover handling for counters;
  6. what downstream rules do when a value is not good.

Acceptance record

Keep one record for each bus. The downloadable template covers:

FieldExample
Master, model and firmwareZMB interface
Serial settings9600 baud, 8 data bits, even parity, 1 stop bit
TopologyDaisy chain, 120 Ω at the master and at unit 3, bias at the master
Device listUnit IDs 1 to 3, models and firmware recorded
Raw vector for each data type436A 0000 = 234.0 V, matches display
Polling cycle, calculated and measured470 ms calculated, 520 ms measured
Failure testsOne device unplugged: others still polled, value marked stale
Name and date

Repeat the tests after a firmware, register map, topology, serial setting or polling change. For the complete design, continue to the meter integration guide for a BMS or SCADA system, browse Modbus devices with documented register maps, or build a system from the device list.