Free tool · Modbus

Modbus exception code decoder

Modbus encodes slave errors as a 1-byte exception code returned with the request function code's bit 7 set (e.g. request 0x03 ReadHoldingRegisters → response 0x83 with exception). Type the code you encountered to get its meaning, probable cause and the typical resolution.

Free · no sign-upLast updated: 2026-05-20
0x02ILLEGAL DATA ADDRESS

The requested register address is outside the slave's allocated range (e.g. requesting register 40100 when the slave only maps 40000-40050).

Resolution

Verify the slave's address map. Mind 0-based vs 1-based offsets (Holding Reg 1 → register 0x0000 on the wire).

Request function code → exception PDU

Request function codeException function code (bit 7 = 1)
0x01 (1)0x81
0x02 (2)0x82
0x03 (3)0x83
0x04 (4)0x84
0x05 (5)0x85
0x06 (6)0x86
0x0F (15)0x8F
0x10 (16)0x90

How to use

1. Trace the frames on your bus (Wireshark + Modbus plugin, or modpoll -v). 2. Locate the exception byte right after the function code whose bit 7 = 1. 3. Enter it above (0x02 or 02). 4. Apply the suggested resolution and retest.

Go deeper

Table derived from Modbus Application Protocol V1.1b3 (Modbus Organization). Independent CertifBus tool, no affiliation.

Last updated: 2026-05-20

Put this knowledge into practice
Catalogue