• General features of an HMI

• Structured programming of an HMI

• A formal approach to HMI design


• To be able to methodically design an HMI for an application

For simpler control systems, buttons and switches are quite suitable for operator interfaces. However as the number of operator options increases, or the interface becomes more complicated it may be preferable to replace many of the buttons, dials, and indicators with a Human Machine Interface (HMI). These units can be as simple as a single line of text and a couple of push buttons. More complicated units use large color monitors with touch screen capabilities. Ultimately these units are very powerful because the display contents can be changed to match the mode of operation.

An HMI is a simple to program graphical interface, very much like modern computer software. The simplest control pair are a button and indicator. Consider the example in Figure 28.1 A Simple HMI Application. The button can be used as a simple input to the PLC, while the output status can be shown with an indicator. The programmer will set up the Ethernet connection to pass tag/variable data between the HMI and PLC so that a change in one appears in the other. So, if the button is touched on the screen of the HMI, the value is changed in the memory of the HMI. On the next data update cycle it is sent to the PLC. The program in the PLC reads the value change and then sets a new indicator value. The updated indicator is then sent to the HMI on a subsequent communication update. The newly changed value in the HMI is then used to update the indicator on the screen.


Figure 28.1 A Simple HMI Application

Obviously the first example is quite simple and only replaces and output or input, but much more capabilities are possible. Typical elements found on HMIs include,

• Multiple screens - each screen is given a function such as idle, maintenance, auto, and manual

• Logical inputs and indicators - simple on off inputs and outputs. These will be the most common component, often used by operators to start and stop operations.

• Numeric inputs and indicators - analog inputs and outputs. These can be used for applications such as monitoring temperatures, or setting part counts.

• Graphs - often to see trends over time for counts or analog values

• Text and Images - pictures and text are often used for operator instructions and help.

• Colors - some units have colors that can be used to highlight or differentiate items. For example a bright red object on the screen can indicate a fault.

• Sounds - some more advanced HMIs offer sound outputs

The general implementation steps for implementing and HMI are listed below. To control the HMI from a PLC the user input will set bits in the PLC memory, and other bits in the PLC memory can be set to turn on/off items on the HMI screen.

1. Design work

2. Enter or load the PLC variable/tag names that the HMI will use.

3. Layout screens, buttons, etc. on the programing software.

4. Download the program to the HMI unit.

5. Connect the unit to a PLC.

6. Run the system - read and write to the HMI using PLC memory locations to get input and update screens.