The Message Model
▮ Overview
What you'll learn
PDU vs ADU, how requests, responses, and exceptions actually look on the wire.
Sections
10
Labs
1
Quiz
7 Qs
What you'll be able to do
- Distinguish PDU from ADU and identify each on the wire.
- Recognize a normal response, an exception response, and a no-response timeout.
- Predict the exception code for an illegal address or illegal function.
Why you'll need this
- "You capture six bytes ending in 83 02 and need to explain what just happened to the integrator on the phone."
Three things people get wrong
- 1.Confusing 'no response' with 'exception'Fix An exception is a valid Modbus reply with FC | 0x80. Silence is a transport problem.
- 2.Counting bytes from the PDU when reading an RTU captureFix Subtract the address byte and the trailing 2-byte CRC first — what's left is the PDU.
- 3.Reading a TCP length field as 'PDU length'Fix MBAP length covers Unit ID + PDU, not the whole ADU.
From the field
The exception that wasn't
A panel builder kept logging '83 02 — illegal address' and changed his register map five times. The capture eventually showed those bytes only after a 1.2-second gap from the previous frame — the gateway was timing out and returning its own error PDU. The map was right all along.
Cited sources
Primary sources come from protocol and standards publishers. Secondary sources provide supporting tool, vendor, or reference context.
- Primary sourceModbus Application Protocol V1.1b3 ↗PDU structure, exception codes
This module is paginated — step through the sections, run the labs, then take the quiz. Progress is saved locally.
Print one-pager →