Objective. Students create a basic HMI screen containing a start/stop pushbutton, a numeric display linked to an analog tag, and an alarm indicator, and demonstrate the screen communicating live with the PLC trainer.
This lesson, its worked examples and its practice questions has not yet been verified by a licensed engineer or certified journey-level tradesperson or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
A Human-Machine Interface (HMI) is a touchscreen panel, operator terminal, or software display that lets a person monitor and control a PLC-based machine without touching the PLC directly. Instead of reading raw indicator lights on a control panel, an operator sees graphic pushbuttons, numeric readouts, trend charts, and alarm banners on a single screen. HMIs are standard equipment on assembly lines, pump stations, HVAC systems, and marine propulsion consoles.
The HMI does not run the machine logic — the PLC does. The HMI simply reads PLC memory and writes to it. When an operator presses a graphic Start button, the HMI writes a 1 to the PLC bit assigned to that button. The PLC ladder program sees that bit and starts the motor. The HMI is a messenger, not the brain.
Most modern HMIs connect to the PLC over Ethernet using an industrial protocol such as EtherNet/IP (common with Allen-Bradley), Modbus TCP, or a manufacturer-specific driver. Older setups use a serial RS-232 or RS-485 cable. In the lab you will use either an Ethernet patch cable or a USB programming cable depending on the hardware available.
The HMI configuration software requires you to define a driver (the communication protocol) and a device (the PLC's IP address or node number). Once the connection is configured, you can browse PLC tags by name or enter addresses manually — for example, `O:0/0` for a discrete output bit or `N7:0` for an integer register in older Allen-Bradley systems, or named tags in newer Studio 5000 projects.
A tag is a named variable linked to a specific PLC memory location. In the HMI editor you create a tag database — a list that maps a friendly name such as `Motor_Run` to the actual PLC address. Every screen object is bound to one tag. When the PLC writes 1 to `Motor_Run`, every HMI object subscribed to that tag updates instantly.
For analog values the tag holds a raw integer from the analog input module. A scaled temperature reading might arrive as a raw count (for example 0–32,767) that the PLC has already scaled to engineering units (for example 0.0–250.0 °F) and stored in a floating-point or scaled integer tag. Your numeric display reads that scaled tag and shows the operator a real temperature value.
Start and Stop Pushbuttons — In the HMI editor, insert a Momentary or Maintained button object. Set the Write tag to the PLC address for the start coil (Start) or stop coil (Stop). Set the button action to Write 1 while pressed (momentary) or to toggle between 0 and 1 (maintained), matching how your PLC ladder is written.
Run-Status Pilot Light — Insert a pilot-light or indicator object. Set it to Read the `Motor_Run` status bit. Choose two states: State 0 = gray (off), State 1 = green (running). The light reflects what the PLC output is actually doing, not just what the operator requested.
Numeric Display — Insert a numeric display or numeric input object set to Read only. Link it to the scaled temperature tag. Set the display format to match engineering units (for example, one decimal place, degrees F). Confirm the min/max range matches the expected process range so the display does not clip.
Alarm Indicator — Insert an indicator or alarm object linked to a PLC bit that the ladder program sets whenever the temperature tag exceeds the setpoint. Configure State 1 to display red with the text "TEMP HIGH." Many HMI packages also have a built-in Alarm Summary screen; for this lesson a simple indicator is sufficient.
After building the screen, compile the project (sometimes called Validate or Build). Errors such as missing tags or unsupported data types appear in an error log — fix all errors before downloading. Connect to the terminal or launch the simulator, then transfer the project file. Put the PLC in RUN mode. Test each object in sequence:
1. Press Start — verify the PLC output energizes and the Run indicator turns green.
2. Press Stop — verify the output de-energizes and the indicator turns gray.
3. Observe the numeric display — confirm it tracks the analog value as you change the PLC input simulation.
4. Force or simulate a temperature value above the setpoint — confirm the alarm indicator turns red.
Document your results on the exercise specification sheet.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.