# How to Test Modbus RS485 Communication

> Test Modbus RTU over RS485 step by step: wiring, A/B polarity, termination, baud and parity, slave ID, CRC errors and timeouts, with a free Modbus RTU tester for Windows and macOS.

Kaynak: https://ranaliz.com/en/blog/how-to-test-modbus-rs485-communication · Yazar: Ahmet Korkmaz · Güncelleme: 2026-10-19


**Testing Modbus RTU comes down to five questions, in order. Is the wiring right? Do the serial settings match the device? Is the slave ID right? Are you asking for the right function code and address? Is the value decoded correctly?** Most “the device doesn’t answer” tickets end at question one or two. This guide closes all five in about 15 minutes with a USB-to-RS485 adapter and free Modbus RTU test software.

## What you need

| Item | Note |
|---|---|
| USB-to-RS485 adapter | Cheap FTDI or CH340 adapters work. Install the driver first. |
| Twisted-pair cable | Shielded is better. Ground the shield at one end only. |
| 120 Ω resistors (×2) | Termination for the two ends of the bus. Many devices have a DIP switch for this. |
| Device manual | Baud rate, parity, slave ID and register map live here. |
| Modbus RTU tester | For example the free [Ranaliz iOT Tester](https://ranaliz.com/en/product/iot-tester) (Windows and macOS). |

## Step 1: Check wiring and polarity

RS485 is a two-wire differential bus. The most common fault is **A/B polarity**. Some vendors label A as “+”, others as “−”, and you will also see D+/D−, D0/D1 and TX+/TX−.

- No response at all? **Swap A and B** first. It does not damage RS485 transceivers.
- Run the bus as a **daisy chain**. Star wiring and long stubs cause reflections.
- Fit 120 Ω termination at **the two physical ends only**, not on devices in the middle.
- A standard segment targets 32 unit loads and roughly 1,200 m. Safe length drops at higher baud rates.

## Step 2: Match the serial settings

Both sides must use **the same baud rate, parity, data bits and stop bits**. One mismatch means no answer or CRC errors.

| Parameter | Common value | Note |
|---|---|---|
| Baud | 9600 or 19200 | The Modbus spec default is 19200 |
| Data bits | 8 | Always 8 in RTU |
| Parity | Even or None | The spec default is Even |
| Stop bits | 1 with parity / 2 without | In practice many devices use 8N1 |

On Windows the port appears as something like COM3; on macOS as /dev/tty.usbserial-…. Unplug and replug the adapter to see which port is new.

## Step 3: Make sure there is only one master

A Modbus RTU bus has **one master**. If a datalogger, PLC or SCADA is already polling, your test tool’s requests collide with its traffic. The result is random timeouts and CRC errors. Disconnect or stop the existing master while you test.

## Step 4: Slave ID and the first read

Enter four values in your Modbus RTU tester:

1. **Slave ID (unit ID):** 1–247. Factory default is often 1.
2. **Function code:** usually **FC03** (holding registers) or **FC04** (input registers) for measurements.
3. **Start address:** from the manual. A manual that says “40001” usually means protocol address **0**.
4. **Quantity:** 1–10 registers is enough for a first try.

If a response comes back, communication works. Anything after this is **data interpretation**, not communication.

## Step 5: Decode the value correctly

32-bit values (float, uint32) span two registers, and devices disagree on word order. If you see huge meaningless numbers:

- Switch the data type between **float32 / int32 / uint32**.
- Try **word swap** (CDAB) and **byte swap**.
- Check the **scale factor** in the manual (×0.1, ×0.01).

Example: a voltage of 230.4 V that reads as “2304” is correct with a 0.1 scale.

## Common failures and what they mean

| Symptom | Likely cause |
|---|---|
| No response (timeout) | A/B swapped, wrong baud/parity, wrong slave ID, wrong COM port |
| CRC errors | Parity or stop-bit mismatch, missing termination, noise, a second master |
| Intermittent timeouts | Second master on the bus, cable too long, star topology |
| Exception 02 | Address doesn’t exist, usually an off-by-one (0- vs 1-based) |
| Exception 01 | Function code not supported (try FC04 instead of FC03) |
| Nonsense values | Wrong data type, word order or scale |

For every exception code see [Modbus exception codes 01–0B](https://ranaliz.com/en/blog/modbus-exception-codes).

## Testing RS485 with Ranaliz iOT Tester

[Ranaliz iOT Tester](https://ranaliz.com/en/product/iot-tester) is free desktop software that tests Modbus RTU over a serial port:

- **Serial settings:** baud, parity, stop bits, timeout and poll interval set to match the device.
- **FC01–FC16:** read coils, discrete inputs, holding and input registers; single and multiple writes.
- **Display:** raw, int/uint/float, hex, binary, ASCII; big/little and swapped endianness.
- **Records:** transaction history plus Excel/CSV export.

Modbus TCP, IEC-104 and MQTT live in the same app. Once the RS485 side is proven, you can move to a gateway’s TCP side without installing anything else. Continuous acquisition and cloud forwarding are a different job; that is what the [Ranaliz Datalogger](https://ranaliz.com/en/product/datalogger) is for.

## FAQ

### Are RS485 and Modbus RTU the same thing?

No. RS485 is the physical layer: the cable and electrical levels. Modbus RTU is the protocol spoken over it. Other protocols can run on RS485 too.

### How many devices can be on one RS485 bus?

32 with standard unit loads, more with 1/4 or 1/8 load transceivers. Modbus addressing itself is limited to 247 slaves.

### What happens without termination resistors?

Short cables at low baud rates often work anyway. On long runs at higher speeds, reflections cause CRC errors and intermittent timeouts.

### What software can I use to test Modbus RTU?

Ranaliz iOT Tester is one free option, with ready builds for Windows 10/11 and Apple Silicon macOS and no license key. See also [free Modbus Poll alternatives](https://ranaliz.com/en/blog/free-modbus-poll-alternatives).

## Sources

- Modbus Organization — MODBUS over Serial Line Specification and Implementation Guide V1.02
- TIA/EIA-485-A — Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems
