Troubleshooting

Modbus device not responding: checks by symptom

Distinguish timeout, exception replies and incorrect values before investigating RTU wiring or TCP networking.

No reply, exception reply or wrong value?

A timeout means no valid response arrived within the allotted time. An exception reply shows that a device received the request but could not process it. A plausible response containing a wrong number points instead to addressing, data type, scaling or word order.

Separate these conditions before changing cables or communication settings.

Match RTU communication settings

Compare the device address, baud rate, parity and stop bits with the device manual. Addresses must be unique on the same line. Reading one known register on a single-device test can narrow the fault.

A/B naming differs between manufacturers; use the device’s polarity description rather than assuming a meaning from the letter. Check topology, termination and shielding against the equipment and serial-line guidance. Resistance checks require an unpowered circuit.

Separate TCP network checks from protocol checks

Check IP address, subnet mask, routing and the configured TCP port. A ping reply does not prove that the Modbus service is running. A gateway may use Unit ID to select a downstream device.

Connection limits and polling load also matter when several clients use the device. A longer timeout does not correct an incorrect port or address.

Exception 02 points to the requested address

Illegal Data Address (02) means the requested address or range is not valid for the device. Check function code, starting address and register count.

A manual’s 40001 reference does not necessarily mean you enter 40001 into the software. Some clients expect PDU offset 0, while others use one-based display address 1. Verify the convention rather than adding or subtracting at random.

For wrong values, check the data representation

A 16-bit signed and unsigned interpretation can produce different values from the same register. A 32-bit value commonly spans two registers; the client must match the device’s word and byte order. Apply the manufacturer’s scale afterward.

For example, raw value 253 means 25.3 °C if the documented unit is 0.1 °C. This example is not a particular device’s register map.

Change one variable at a time

Record the model, RTU/TCP transport, address or Unit ID, function code, start address, register count and exact response. Change one setting per test and record the outcome.

Verify communication with a read-only request first. Writing a register may change equipment operation; do not use control-register writes as an unapproved experiment.

Sources and further reading

Related calculators

Found an error? Report the page and input values.