·
Module 03Foundations7 min.md

Data Tables

Overview

What you'll learn

Coils, discrete inputs, input registers, and holding registers — the four primitives.

Sections
10
Labs
1
Quiz
7 Qs
What you'll be able to do
  • Pick the right Modbus data table for a given device signal.
  • Explain why a vendor map of 'inputs' rarely means 'discrete inputs'.
  • Use the table to predict which function codes are legal.
Why you'll need this
  • "A meter exposes power as a holding register but documents it as read-only — should you ever write it?"
Three things people get wrong
  1. 1.
    Assuming 'input' means discrete input
    Fix Vendors use 'input' for analog input registers (table 3) far more often than for discrete inputs (table 2).
  2. 2.
    Writing to a register because FC 06 is 'allowed'
    Fix Allowed at the protocol layer is not the same as safe at the device layer. Check the map's R/W column.
  3. 3.
    Mixing tables across one transaction
    Fix Each read function code targets exactly one table. Plan separate reads for coils, registers, and inputs.
From the field

When a holding register killed a setpoint

An operator's HMI cycled FC 16 to 'refresh' a value it had just read. The PLC accepted the writes, overwriting a recipe parameter someone had nudged manually that morning. Reads and writes use the same table — that's the whole point, and it bites if you forget it.

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 →