Control Expert Β· Track 02 Β· the Modicon address scheme

Addresses Like a Postal Code

Open Modicon code and you'll see addresses like %I0.2.3 β€” and they're not random. A located variable is pinned to a physical channel by its topological address: which rack, which module, which channel. Unlocated variables live wherever the CPU puts them. And the %MW state RAM doubles as the Modbus map. Click the rack to decode it.

πŸ“ %I0.2.3🏷️ located vs unlocated%MW ↔ Modbus
01 Β· Read the rack

Where a channel lives

This is rack 0 of an M580 station. Click any input or output channel β€” the panel below decodes its topological address into rack Β· module Β· channel, and shows the symbol a located variable gives it. Notice you address the position, not a memory cell: move the module to another slot and the address changes with it.

The format: %I (input) / %Q (output), then rack.module.channel. So %I0.2.3 = rack 0, the module in slot 2, channel 3. Give it a symbol like StartPB in the data editor and your logic reads the name β€” but the name is located, bolted to that physical position.

02 Β· Located vs unlocated

Pinned to hardware, or free-floating?

Every variable is one or the other. Toggle it and watch what the address field does.

LOCATED

Rule of thumb: located for anything wired to the field (it must map to a real terminal) and for data you expose over Modbus. Unlocated for internal logic β€” let the CPU manage the memory and you'll never fight an address conflict.

03 Β· The Modbus connection

%MW is the Modbus map

Here's the Modicon trick a SCADA integrator must know: the %MW state-RAM words are directly the Modbus holding registers. %MW100 is register 400101. Locate a variable at a %MW and you've published it to any Modbus master β€” no extra config. Same memory, two names.

Control Expert variableState RAMModbus registervalue
TankLevel : INT%MW100400101742
PumpSpeed : INT%MW1014001021480
Setpoint : INT%MW102400103800
RunCmd : EBOOL%M20000021 (coil)1

This is why Modicon is the SCADA workhorse: expose a value by parking it in %MW, and the whole Modbus world can read it. (More in Track 06 Β· Modbus.)

04 Β· Check yourself

Decode it

A drawing references %Q0.4.1. What does it point to?