Control Expert · Track 13 · Harmony HMI

The face of the Modicon

The Harmony panel family, formerly called Magelis, uses engineering software selected for the panel model. Depending on the target, that may be Vijeo Designer or EcoStruxure Operator Terminal Expert. This example exchanges data with the Modicon over Modbus TCP. The HMI reads located registers at %MW addresses. The register map defines the interface between the PLC program and screen, including which values each side reads or writes.

🖥️ Harmony ST6🧰 Vijeo / EOTE🔢 %MW over Modbus
01 · A Harmony panel, live

Follow the screen commands into the PLC

This simulation represents a Harmony ST6 screen connected to a mix tank. Hold START and 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 to inspect each widget's register binding. The animation links the visible control to the value exchanged with the PLC.

MIX TANK 3--:--
▮ %MW10 (rTankLevel ×10)
32.0 % # %MW10 · scale ÷10
PUMP RUNNING ● %MW21.0 (bPumpRun)
⬓ momentary → %MW20.0 / %MW20.1
HARMONY ST6 · 10" · MODBUS TCP → M340

Modicon M340 · located registers (the HMI contract)

%MW20.0bHMI_StartPB0
%MW20.1bHMI_StopPB0
%MW21.0bPumpRun0
%MW10iTankLevel_x10320
%MW30.0bALM_HiLevel0

Note %MW10 = 320 represents 32.0 % in this example. The PLC publishes an integer scaled by ×10, and the panel divides by 10 for display. Modbus transfers register values; this scaling convention belongs to the application and must be documented at both ends.

Runtime: operate the buttons The drain valve stays partly open, so the level falls when the pump stops.

With this register-based Modbus connection, the HMI uses addresses rather than the PLC's symbolic variable names. In Control Expert, locate the variables that face the HMI (bPumpRun AT %MW21.0… declarations or the data editor's Address column). Keep that map stable and coordinate changes with the HMI project. On a supported connection, the M580 data dictionary can make symbolic information available to EOTE/SCADA. Check the driver and project requirements; enabling a dictionary does not by itself make every client browse names.

02 · The Schneider map

Panels, tools & screen behaviour

🖥️ Harmony panels (ex-Magelis). The range includes GTO/STO panels, ST6/STW6 products and GTU modular panels. Select the engineering software and runtime supported by the exact panel reference; the family name alone does not determine the project or communication features.

🧰 Vijeo Designer and EOTE. Vijeo Designer and EcoStruxure Operator Terminal Expert serve supported panel targets. Check the ST6/STW6 target requirements rather than assuming the projects and tools are interchangeable. Plant-wide SCADA uses a separate product tier, such as AVEVA / Plant SCADA / Citect.

🔢 The %MW contract. Assign HMI-facing variables to the agreed %MW addresses and group commands, status and alarms consistently. Coordinate any change to a deployed map. The register exchange does not carry the application's complete type definition: booleans may be mapped to word bits, reals use agreed 2-word encodings, and both ends must apply the same scaling.

⬓ Keep the control decision in the controller. In this example, momentary panel buttons write command bits while the PLC handles the seal-in, alarm comparison and process interlocks. Define the controller's response to a communication loss. Safety functions belong to the appropriate safety relay or safety PLC; neither an HMI command nor an ordinary process interlock replaces them.

03 · Check yourself

The level reads 320 %

A new panel shows the tank at 320 %. The PLC's %MW10 holds 320, and the old panel displayed 32.0 %. What happened?