Schneider's operator story: Harmony panels (the family once called Magelis) designed in Vijeo Designer or its successor EcoStruxure Operator Terminal Expert, talking to the Modicon over Modbus TCP. The defining habit of this world: the HMI reads located registers — %MW addresses — so the PLC's register map IS the contract between program and screen.
A Harmony ST6 screen for a mix tank. Hold START — the panel writes %MW20.0, the Modicon's seal-in logic latches the pump, and the level in %MW10 climbs. Past 85 % the PLC raises the alarm bit and the banner takes over. Then flip to 🔧 Design mode and see what every widget really is: a graphic bound to a register address.
Why the register map matters: unlike tag-based ecosystems, a classic Modbus HMI knows nothing about your program's variables — only addresses. In Control Expert you locate the variables that face the HMI (bPumpRun AT %MW21.0… style declarations or the data editor's Address column), freeze that map, and treat changes to it like API changes. Modern escape hatch: enable the M580's data dictionary and EOTE/SCADA can browse symbolic names directly — the map ritual disappears, at the cost of CPU memory and a newer toolchain.
🖥️ Harmony panels (ex-Magelis). The hardware family: GTO/STO basic, ST6/STW6 current touch panels, GTU modular high-end. One panel, one machine, runtime downloaded from the design tool.
🧰 Vijeo Designer → EOTE. Vijeo Designer is the long-serving design tool; EcoStruxure Operator Terminal Expert is its successor for ST6/STW6 with vector graphics and symbolic variable import. Plant-wide SCADA is a different product tier (AVEVA / Plant SCADA / Citect).
🔢 The %MW contract. Locate HMI-facing variables at fixed %MW addresses, group them in blocks (inputs from HMI, status to HMI, alarms), and never reshuffle a shipped map. Modbus has no types — booleans are word-bits, reals are 2-word conventions, scaling is yours to define.
⬓ Logic lives in the PLC. Same law as every brand: the panel's momentary buttons pulse bits; the seal-in, the alarm compare, the interlocks live in Control Expert. If comms drop, the Modicon must decide — never the screen. And safety functions never ride the HMI at all.
A new panel shows the tank at 3200 %. The PLC's %MW10 holds 320, and the old panel displayed 32.0 %. What happened?