·
Module 02Foundations6 min.md

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. 1.
    Confusing 'no response' with 'exception'
    Fix An exception is a valid Modbus reply with FC | 0x80. Silence is a transport problem.
  2. 2.
    Counting bytes from the PDU when reading an RTU capture
    Fix Subtract the address byte and the trailing 2-byte CRC first — what's left is the PDU.
  3. 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.

This module is paginated — step through the sections, run the labs, then take the quiz. Progress is saved locally.

Print one-pager →