Graphical User Interface (GUI) vs. Human-machine Interface (HMI)
Learn the similarities and differences between GUIs and HMIs in the industrial sector. Can they be used together?
GUI stands for graphical user interface; HMI stands for human-machine interface. Due to the many similarities, these two concepts tend to be used indistinctively; but in reality, they do not refer to the same type of object.
GUIs originated in the personal computer (PC) world, while HMIs originated in industrial automation. Only recently, a converging trend is noticeable, where automated systems use both types of devices within the same solution.
What is a Graphical User Interface (GUI)?
A GUI is an interface that uses visuals to allow a user to work with a computer. Before their existence, computer programming relied solely on text-based commands, making this task tedious and time-consuming as codes grew in size and complexity. There was also no clear indication of what the user could or could not do with the program until a command was executed and returned an error, for instance.
Microsoft and Apple developed the first commercially available GUIs in the early ’80s, with Microsoft Windows being a particularly groundbreaking tool. With GUIs, computer programming was simplified significantly, allowing users to navigate menus and options while the actual code and commands were executing in the background. This was perhaps the most significant reason why personal computing became mainstream starting in the 1990s.
Figure 1. Windows95 is a GUI application that changed the computing world. Image used courtesy of Microsoft
A GUI works in the foreground, receiving inputs and commands from the user, which can be via keyboard, mouse, touch screens, or other media. The computer program and operating system (OS) translate these commands into actions that affect information and computer settings.
OSs are the best-known examples of GUIs, but there are more applications. Many modern home devices and appliances come with built-in touch screens; for example, smart thermostats, refrigerators, alarm systems, and even coffee makers. Other examples of everyday machines where GUIs are prevalent are ATMs, car systems, supermarket self-checkout registers, gas pump machines, and credit card payment terminals.
Figure 2. Most new cars are equipped with smart systems and touch screens. Image used courtesy of Randy Stern
What is a Human-machine Interface (HMI)?
An HMI is a device that, as the name suggests, enables the interaction between humans and machines. Within the industrial context, an HMI makes it possible to teach, manipulate, and troubleshoot robots and automated equipment. Nearly all new machinery used in manufacturing, oil and gas, food and beverage, energy, and other sectors, are fitted with HMIs.
In most settings, HMIs directly communicate with the main controller, typically a programmable logic controller (PLC). HMIs come in different forms and sizes. There are HMIs specially designed for harsh environments, mobile applications, long-distance settings, etc. HMIs are also used in SCADA systems as central control centers from which operators can analyze process data and make control decisions.
Figure 3. A Siemens SIMATIC KTP700 HMI designed for mobile applications. Image used courtesy of PLC City
Many modern HMIs are operated via touch screen, which is fast becoming an industry standard. Touch screen HMIs display buttons, functions, and messages on a single screen that can receive inputs and provide feedback as an output.
Many touch screen HMIs run on commercial operative systems, such as Windows Embedded Compact (formerly Windows CE). Some more powerful HMIs even run full computer scale OS versions, such as Windows 10. This is where some of the overlaps between HMIs and GUIs are more noticeable.
Comparing GUIs and HMIs
The main difference between GUIs and HMIs is their scope. GUIs predominate in the PC sector, and their presence in industrial automation is a small percentage. This doesn’t mean they are irrelevant. On the contrary, GUIs can play crucial functions within the operations of automated systems. On the other hand, HMIs are almost exclusive to the world of machinery and automation.
The underlying principles of operation are also different. Due to HMI input and outputs being tied to a PLC, these must closely follow the PLC program execution cycle. For their part, GUIs follow different processes because they run on PCs. Inputs to a GUI can trigger the execution of a subroutine, execution of a separate application, or multi-thread responses.
Figure 4. HMIs and GUIs are both subtypes of User Interface objects. Image used courtesy of Sirin Software
HMIs and GUIs are different things, but some HMIs come with GUI functions, especially touch screen HMIs. Highly automated systems rely on a combination of HMIs and GUIs to achieve full operability.
One example of this scenario is a Warehouse Management System (WMS) that works in conjunction with laser-guided vehicles (LGV). Being automated machines, LGVs are equipped with HMIs. However, for the central control of the WMS system, an HMI would not meet the requirements of processing power and versatility. Instead, a GUI running on a central computer is implemented. This GUI can communicate with each LGV (and their HMIs), as well as integrate with the outside world and other high-level applications.
How do you use GUIs or HMIs in your daily job?