HMI for PLC: how operator screens and controllers talk through tags
A plain guide to HMI for PLC basics: how screens use PLC tags, HMI versus SCADA, good operator screens, alarms and the PLC code behind them.

In this guide
- What an HMI is, and what it isn't
- How an HMI talks to a PLC through tags
- Siemens, Allen-Bradley and Beckhoff: the names you'll meet
- HMI and SCADA: what's the difference?
- What a good operator screen looks like
- How alarms fit in
- How PLC and HMI programming work together
- What PLC Gym does here, and what it doesn't
- Sources
An HMI is the screen an operator uses to see what a machine is doing and to ask it to do something. The PLC is the part that does the deciding. So a guide to HMI for PLC work has to cover how the two connect, what the screen should look like, and how much of it lands on whoever writes the PLC code.
This guide keeps to what Siemens, Beckhoff, the International Society of Automation (ISA) and NIST publish, linked at the bottom. It's also straight about what PLC Gym does here, because on this topic it teaches the ideas rather than the tools.
What an HMI is, and what it isn't
HMI stands for human machine interface. NIST, the US National Institute of Standards and Technology, describes it as the hardware or software an operator uses to interact with a controller. That can be anything from buttons and indicator lights to an industrial PC with a colour display, and it's used to watch the process and change setpoints. Usually, when someone says HMI today, they mean a touch screen on or near the machine.
The important bit is what an HMI doesn't do. It doesn't run the logic. Press a button in a lift and you've asked for a floor. Something else decides when it's safe to close the doors and move. A screen works the same way. Press Start and that's a request. The PLC checks whether the machine is allowed to start, and then it decides.
So if a panel freezes, the PLC keeps scanning. Whether the machine should carry on unwatched is a separate question for the engineer designing it.
If this is all new, start with PLC Gym's short chapter on HMI and SCADA or the longer guide to what a PLC is.
How an HMI talks to a PLC through tags
A tag is a name for a value in the program: Level, PumpRunning, StartRequest. The PLC has its tags, and the HMI has its own list that points at them over a network connection.
Siemens' getting started guide for WinCC Unified, written for TIA Portal V18, lays this out. You create an HMI connection, then HMI tags, and there are two kinds. An external tag is the link to the PLC: it reads a PLC tag's value from the controller's memory, or writes a new value back. An internal tag has no connection and only moves values around inside the HMI.
A normal round trip looks like this.
- The PLC runs its scan and updates its tags.
- The HMI reads the tags it needs and draws them.
- The operator presses a button, and the HMI writes a value to a PLC tag.
- The PLC sees that value on a later scan, checks its rules and decides what to do.
Two things follow from that. First, the screen and the PLC don't run at the same speed. Siemens' communication manual for WinCC V7.4 says to set the acquisition cycle, how often a tag is read, by how quickly the value changes. It also warns that a change in the controller is only reliably picked up if it lasts at least one cycle. So a bit that's on for a single scan can come and go without the screen ever showing it. That manual is for an older WinCC, so check yours.
Second, a screen button is only a value being written. Does it count while held, or only on the press? Does Stop beat Start if both arrive? Those answers live in the PLC code, not on the screen.
Siemens, Allen-Bradley and Beckhoff: the names you'll meet
- Siemens. SIMATIC HMI panels, which Siemens calls its first choice for operator control and monitoring at machine level, with WinCC Unified set up in TIA Portal.
- Allen-Bradley. Rockwell Automation's names are PanelView terminals and FactoryTalk View. Check Rockwell's own documentation for how they connect to Studio 5000 tags on your version.
- Beckhoff. TF2000, the TwinCAT 3 HMI Server, is a web server. Beckhoff says it links to controllers using ADS or OPC UA, and that operators only need a browser that supports HTML5.
HMI and SCADA: what's the difference?
An HMI is a screen. SCADA, short for supervisory control and data acquisition, is a whole system with HMI screens inside it.
NIST describes SCADA as being for spread out assets where gathering data centrally matters as much as control, such as water networks, pipelines, power distribution and rail. A control centre handles central alarming, trends and reports, while a PLC or remote terminal unit still controls the local process at each site.
| HMI | SCADA | |
|---|---|---|
| What it is | A screen or panel for operating a machine or unit | A system that gathers and stores data and shows it centrally |
| Typical reach | One machine, or a section of a line | A whole plant, or many sites |
| History | Shows status, and can show some history | Kept in a data historian, with trends and reports |
It isn't a hard line, though. Siemens sells WinCC Unified as one HMI and SCADA platform, from panels up to PCs. So it's often more about the size of the job than the name on the box.
What a good operator screen looks like
The standard to know by name is ISA-101.01-2015, Human Machine Interfaces for Process Automation Systems. ISA says it covers designing and managing HMIs over their whole life, in continuous, batch and discrete industries. If you're designing screens for a real site, ask which standard and style guide apply there.
A term you'll run into is high performance HMI. An article in ISA's InTech magazine describes it as a grey background with colour used sparingly, so abnormal conditions stand out. PLC Gym's operator screen missions are built around ideas like that.
- Grey is normal. If running is bright green and stopped is red, the screen is a wall of colour and the one real problem hides in it.
- Read it at a glance. Status in plain words where the eye lands first, and values as bars with the normal band marked, not raw counts or every tag in the PLC.
- Same button, same place. Operators build habits. If Stop moves between the panels for two pumps, the habit can hit the wrong button.
- Ask before you can't undo. If every button asks "are you sure?", people tap yes without reading. Ask before throwing a batch away, say exactly what will happen, and give the buttons verbs.
A confirmation on a screen isn't a safety function, though. Real safety functions need proper safety rated equipment and a competent person, and PLC Gym's own safety missions are for learning only.
How alarms fit in
An alarm isn't just a message. ISA-18.2, ISA's standard on alarm systems in the process industries, defines it as a sound or visual signal telling the operator about a malfunction, a process deviation or an abnormal condition that needs a response. That last part is the test. ISA's InTech magazine says the same: alarm only when the operator needs to act. Priority then says how urgently. When a storm trips pumps across a town, a list sorted by time can bury the one station about to flood.
The PLC and the HMI both have a hand in this. In WinCC Unified, a discrete alarm fires when a particular bit of a tag changes, and an analog alarm fires when a value passes a limit. So the PLC programmer may well be writing the bit the alarm hangs on, and that bit has to be honest. A flag that comes on at every normal start teaches people to ignore it. Two limits with a deadband between them stop a rippling level flashing on and off, and a short delay gives a valve time to open. You can try both in Alarm limits that don't chatter and the nuisance alarm fault.
Acknowledging only means "I've seen it". It can silence the horn, but it doesn't fix anything, and ISA-18.2 treats unacknowledged, acknowledged and returned to normal as separate states. Alarms in priority order has you write the PLC side, with Ack acting on the press rather than while it's held, so a stuck button can't swallow alarms nobody has looked at.
How PLC and HMI programming work together
They're two halves of one job. A screen can only show what the PLC gives it, so a lot of good screen design starts in the PLC code.
Here's an example from the Same button, same place mission. The PLC knows why a pump can't start, so it hands the screen a number. The screen turns that number into words and greys out Start.
// Why the pump can't start: 0 ready, 1 tripped, 2 too little water.
IF #Pump1Fault THEN
#Pump1Why := 1;
ELSIF NOT #FloatLow THEN
#Pump1Why := 2;
ELSE
#Pump1Why := 0;
END_IF;
#Pump1Ready := #Pump1Why = 0;
// Stop wins. A Start while not ready does nothing.
IF #Pump1Stop OR NOT #Pump1Ready THEN
#Pump1 := FALSE;
ELSIF #Pump1Start THEN
#Pump1 := TRUE;
END_IF;The screen reads Pump1Why and Pump1Ready, and writes Pump1Start and Pump1Stop. None of the rules are on the screen. In Studio 5000 Structured Text and in TwinCAT, it's the same code without the # signs.
So before either side gets built, it's worth agreeing which tags the screen can write, what each number means, what happens if a button is held or pressed twice, and what the machine should do if the screen goes away.
To do this for real, you need the real software. For Siemens, that's WinCC in TIA Portal, and Siemens says you can test HMI project elements in its integrated simulation with no hardware connected. The guide to TIA Portal simulation covers the PLC side, and PLC programming software covers the wider toolset. Sooner or later you'll want your hands on a real panel too.
What PLC Gym does here, and what it doesn't
PLC Gym has five operator screen missions, all linked above. Each one puts a live screen beside a 3D machine, and the screen starts out badly. You pick better design choices on an Operator screen tab and write the PLC side in Siemens or Rockwell text or ladder, or TwinCAT Structured Text, and automatic tests check both.
Here's what it isn't. You don't draw screens from scratch. There's no real HMI hardware, and no WinCC or FactoryTalk View. There's nothing on networking a panel to a PLC. And there are no SCADA missions. The missions teach the design ideas and the PLC code behind them, on PLC Gym's own simulator, which isn't made by or affiliated with Siemens, Rockwell or Beckhoff.
So if you want PLC and HMI training on real panels, this won't do that on its own. It gets the thinking right first, so you know what a good screen needs from the PLC before you open the real software.
Those five missions are part of Pro, so have a look at the plans. If you haven't written any PLC code yet, start with the PLC programming course. The first few missions are free with a free account, and its first module covers scans, conditions, memory, timers and counting.
Sources
- Guide to Operational Technology (OT) Security, SP 800-82r3, NIST, September 2023
- SIMATIC HMI Panels, Siemens
- SIMATIC WinCC Unified, Siemens
- SIMATIC WinCC Unified Engineering, Siemens
- WinCC Unified Getting Started, First Time Users, Siemens, April 2023, for TIA Portal V18
- WinCC V7.4 SP1 Communication System Manual, Siemens
- TF2000 TwinCAT 3 HMI Server, Beckhoff
- ISA-101 Series of Standards, ISA
- ISA-18 Series of Standards, ISA
- Understanding and Applying the ANSI/ISA 18.2 Alarm Management Standard, a paper on ISA's site about the 2009 edition
- How DCS Migration Improves Operator Experience, InTech, ISA, April 2023
- Alarm Management Questions That Everyone Asks, InTech, ISA, March and April 2020
Questions about this?Ask in the Locker Room
Try it on a machine
Try it on a working machine
Write real Siemens or Rockwell code in the free online PLC simulator and watch a 3D pump, tank or filling line do exactly what you told it. Nothing to install.


