Practice HMI development against a live PLC simulation — real scan cycle, real tag binding, real interlock behaviour. Zero install. Vendor-neutral skills that transfer to FactoryTalk View, WinCC, and GP-Pro.
Join 800+ learners practicing PLC programming
First exercises are free. Create a free account to save your screens.

What it is
A Human-Machine Interface (HMI) is the operator panel that lets a person interact with a machine: the touchscreen in a control cabinet showing pump pressures and conveyor status, the pushbuttons and pilot lights on a panel door, the SCADA overview screen in a control room. An HMI simulator lets you build and test those screens without physical hardware, without a real PLC, and without a vendor software license.
Our browser HMI simulator goes one step further than a drawing tool: the screens you build run against a live JavaScript PLC simulation engine. When you press a pushbutton widget, the PLC scan cycle sees the input bit go true, executes the ladder rung, sets the output coil, and your pilot lamp widget lights up — exactly as it would on a real panel wired to a real PLC. The simulation, the tag database, and the HMI canvas all run in the same browser tab.
How it works
The HMI Builder has three modes: Design, Configure, and Run. In Design mode you place widgets on a canvas. In Configure mode you bind each widget to a PLC tag. In Run mode the simulation executes and your widgets respond in real time.
Drag a pushbutton, pilot lamp, numeric display, or bar graph onto the HMI canvas. Resize and position it. The canvas maps to a fixed screen resolution — the same constraint you face when sizing a real HMI panel.
Click a widget to open its tag binding panel. Select the PLC memory address — an input bit (I:0/0), an output bit (O:0/0), a timer accumulator (T4:0.ACC), or an integer register (N7:0). The binding tells the HMI where to read or write during run mode.
The PLC simulation starts executing its scan cycle. Input widgets (pushbuttons) write to PLC input tags. Output widgets (pilot lamps, numeric displays) read from PLC output or internal tags. Press the Start pushbutton and watch the motor-running lamp light up because the ladder seal-in rung energised the output coil.
The interlock logic lives in the PLC ladder — not in the HMI. If the PLC program has a safety interlock that prevents motor start while a door is open, your HMI Start button will be unresponsive even if you press it, because the PLC logic is blocking the output. This is the correct real-world behaviour — HMIs command; PLCs decide.
First exercise
Every industrial controls curriculum starts with a motor start/stop circuit, and so does the HMI Builder. The PLC simulation runs a ladder seal-in circuit: a Start contact (I:0/0) in parallel with a Hold contact (O:0/0) in series with a Stop contact (I:0/1), driving the Motor coil (O:0/0).
Your task is to build the operator panel: place a green Start pushbutton bound to I:0/0, a red Stop pushbutton bound to I:0/1, and a green pilot lamp bound to O:0/0. Switch to run mode. Press Start — the lamp lights and stays lit because the seal-in branch holds O:0/0 true. Press Stop — the lamp goes dark. This is the correct behaviour of a motor seal-in circuit and you just verified it on a live simulation, not a screenshot.
The exercise takes about ten minutes for a first-timer and establishes the three core HMI concepts you will use in every subsequent exercise: momentary pushbutton input, pilot lamp output, and the separation between HMI commands and PLC decisions.
Why it works
Most HMI learning material is a screenshot walkthrough: here is the software, here is a menu, here is a property dialog. Watching those screenshots does not build the muscle memory of binding a tag, debugging a non-responsive widget, or reasoning about why an interlock prevents a start command from reaching the output.
When your pilot lamp does not light, you have to debug it. Wrong tag address? Wrong bit number? Interlock blocking the rung? That debugging loop builds the same skill you use on a real panel.
A screenshot can show you an interlock exists. A running simulation shows you what it feels like when a button press does nothing because the PLC logic says no. That behavioural understanding is what separates competent HMI developers from people who just know the menus.
FactoryTalk View ME requires a Rockwell Automation license and a Windows machine. WinCC requires TIA Portal. Practicing the underlying concepts here costs nothing and prepares you to pick up either tool faster.
What you will learn
A momentary pushbutton writes a true value to its tag only while it is held. A latched/toggle pushbutton flips the tag state on each press. This distinction drives how the PLC ladder must be written — a motor sealed by a latch button needs no seal-in rung; one driven by a momentary button does.
Industrial HMI colour conventions are not arbitrary — ISA-101 and IEC 60073 define what each colour means. Green = normal / running. Red = fault / tripped. Amber = caution / standby. Blue = information / acknowledgement required. Flashing = attention needed.
Safety and permissive interlocks must be enforced in the PLC ladder logic, not in HMI button enable/disable properties. An HMI button can be grayed out as a convenience but must never be the only barrier to an unsafe command. The simulation exercises this: even if you build a Start button, the PLC interlock can block it.
HMI widgets bind to specific PLC memory locations. Understanding the address space — digital input bits (I:), digital output bits (O:), internal bits (B3:), integers (N7:), timer accumulators (T4:.ACC), counter accumulators (C5:.ACC) — is prerequisite knowledge for building any real HMI screen.
Skills that transfer
Every major HMI platform uses the same underlying model: a canvas with widgets, a tag database, and a binding layer connecting the two. The vendor names change; the concepts do not.
| Concept learned here | FactoryTalk View ME/SE | WinCC (TIA Portal) |
|---|---|---|
| Tag binding | Tag Browser → tag link on each object property | HMI tag table → process tag connection |
| Momentary pushbutton | Momentary Pushbutton object | Button with Set Bit on mouse-down, Reset on mouse-up |
| Pilot lamp | Multi-state indicator (2-state) | Circle / ellipse with tag animation |
| Numeric display | Numeric display object | I/O field with process tag |
| Interlock visibility | Enable property linked to tag | Visibility / Enable animation on tag |
| Screen navigation | Display → Go To Display button | Screen navigation with Click event |
For a deeper bridge into the specific vendor tools, see: FactoryTalk View tutorial, WinCC tutorial, HMI programming concepts, and the PLC vs HMI explainer.
Keep exploring
Free account. Browser-based. No vendor license. Real PLC simulation behind every widget.
No install. No vendor license. Real PLC scan cycle behind every widget.