Table of Contents
It doesn’t matter what you have to work with with a self-service kiosk or production equipment. In any case, you will want to make it functional and user-friendly. To realize what you want in developing a single HMI module, you need to create a high-performance user interface, high functionality (for both hardware and software), ensure high-quality human-machine interaction, and many other aspects.
In simple terms, a Human-Machine Interface is any automation device that has a graphical display and includes user interaction with the device. An example could be a voice-recognition application or a complex solution for a large enterprise connecting machines and other mechanisms. We will consider this concept in more detail below.
The global HMI market is overgrowing. It is projected to be worth $ 7.24 billion by 2025 (by comparison, it was estimated at $ 3.71 billion in 2019).
According to forecasts, increased demand for automation will be in the pharmaceutical and medical industries. Today, there is a reasonably high demand for the use of high-precision machines with minimal human interaction, which ensures maximum sterility.
According to a recent market report, in various countries, including the US, China, and the pharmaceutical sector, CAGT is expected to be around 150-200%. (Note: The base year is 2019 – before the COVID-19 outbreak).
Of course, HMI development is in demand in medicine and pharmaceuticals and industries such as consumer electronics, robotics, transport, and many others. Advanced HMI examples can be found across many industries and solutions – wearables, payment terminals, security systems, automobiles, and airline cabins.
What is HMI and HMI Programming
From an industrial automation point of view, Programmable Logic Controllers, or PLCs, manage production equipment. It is worth considering that previously automation was used at large manufacturing enterprises, but today its area has expanded significantly. People still play a significant role in the operation, troubleshooting, and maintenance of these complex systems.
The Human Machine Interface (HMI) is a tool for entering commands into your machines and receiving feedback on their condition. In other words, the HMI is an industrial computer that is correctly configured for communication between the PLC and the workshop operator or system administrator.
There is a big difference between HMI programming and most other programming languages. HMI is a visualization of a process in a production area. When developing HMI, special attention is paid to the development of the screen layout. Also, the programming that will control the inputs and outputs of the HMI will usually reside in the PLC, giving the PLC programmer most of the control over the functionality of how the HMI will work.
HMI Systems and Design Good Practices
Since people work with the HMI, it is essential to make it functional, efficient, and intuitive. To get a perfect solution, many components must be appropriately implemented. Let’s take a look at what their features are.
HMI functionality | Basic and additional functions
The simplest HMI allows the operator to see the current status of a particular process. To understand a little, let’s try to visualize this process. And so we have a part polisher that can be started and stopped by pressing a button. This process can be visualized on the screen using the HMI. This operation is quite simple, but now let’s imagine that the PLC receives much more information from this machine, depending on the process’s needs. Namely, it can be an indication of breakdowns, identification of the cause, which will provide the operator with a more detailed feedback mechanism eliminating the inherent error.
The machine can perform many functions, and all of them can be configured (speed, temperature, pace, etc.). All of these options can be adjusted from the HMI.
It is worth noting that during design, certain HMI functions may be limited for different users. Sometimes this is necessary to avoid mistakes or interruptions in work.
The HMI can also include advanced process functions such as batch management, recipe management, line status, and more. HMI’s evolution has made it possible to move from single machine control to enterprise-wide control schemes, sometimes referred to as SCADA.
HMI system efficiency
The HMI design seems simple to understand, but in reality, it is not so simple. An adequately designed HMI should provide the user with access to the desired information and control without any restrictions. The critical thing to remember when it comes to each type of screen’s layout is efficiency in practice. For example, is it possible to access each screen without unnecessary navigation loops? Is it possible to start and stop a process from any appropriate screen? These are all critical design considerations that should be considered during the HMI design and HMI programming of a system integration project.
HMI design
When designing an advanced HMI, simplicity and clarity are essential. An experienced HMI programmer realizes that the operator’s knowledge is limited, so the navigation menu should be user-friendly and allow the user to jump to necessary items quickly. It would help if you also observed the sequence of operations in the system and their consistency. Of course, keep detailed information so that the user can quickly learn how to operate the HMI. Finally, the system’s design should mimic the real system sufficiently so that the user is comfortable using the interface without the need to access additional information.
Critical aspects of HMI development
Each HMI solution is individual in its way and has a certain level of sophistication and different manufacturing standards and design patterns. This is understandable since a self-service kiosk requires a primary application to visualize data on an embedded screen; an EV HMI requires a complex cloud-based system with network capabilities.
But no matter how complex or straightforward an HMI system is, it will still depend on three main aspects of the operation – hardware, software, and infrastructure.
What aspects should be considered when developing a human-machine interface device:
#1 First of all, it is essential to define the functions of the HMI. It will become clear what and how your solution should be equipped at the hardware and software levels. These can be keyboards for terminals and kiosks, control panels for ships or cars.
To successfully launch a solution without additional costs (both development and specification), it is essential to define all the solution’s requirements from the very beginning. It is necessary to draw up detailed project specifications, which can significantly save resources in the future.
#2 Consider your unique input and output requirements. When developing, it is essential to understand how users will enter data. These can be buttons or a touch screen. It is also important to indicate how the information will be displayed to the user: using indicators or messages on the screen.
#3 Consider regulatory standards (government, industry, safety, engineering, and others). For example, you have to follow industry guidelines such as recommendations for semiconductor manufacturing equipment, additional ANSI, IEEE, or ISO specifications as ISA Standard 101 for process automation systems.
#4 Environmental conditions. Requirements can change dramatically, depending on the HMI setup. An HMI for a clean indoor environment can differ from an HMI in a noisy outdoor public space. And it doesn’t end with a physical location. Factors to consider include extreme temperatures, regular wear and tear, and even vandalism.
#5 Choosing a technical partner. This is not a simple matter, but it is essential to choose a partner company for yourself, or there is an option that there will be several of them, but with niche experience for working in small areas of the project. It is, of course, essential to take into account the experience and skills in this area.
#6 Select a technology stack. Solving this question will help you understand the project objectives and prioritize them.
Moving to the cloud instead of a server solution can help you minimize your budget without sacrificing performance.
#7 Separation of hardware components to speed up the execution of software functions. In particular, accelerators such as DSPs, GPUs, IPUs, or other appropriate processors can be built into the system. This approach improves overall performance.
#8 Provide a clear layout of the panels. This includes building a consistent and easily manageable information hierarchy, highlighting essential objects, and creating a concise HMI design. When designing an HMI, the rules of simplicity are:
- limited use of colors,
- lack of animated or 3D elements,
- several options for fonts and text sizes.
All this makes interaction predictable and straightforward for users.
#9 The user always comes first. In collaboration with UI / UX designers, focus on the user’s requirements, capabilities, and level of knowledge. This helps you select the appropriate HMI components, panel layout, data presentation, and how you provide feedback (visual, audible, tactile, or combined).
#10 Connecting HMI to leading equipment. Three methods are commonly used:
- wired connection,
- serial buses,
- wireless connection.
While traditional wired connections usually require miles of wires (this is common in the transport sector), serial buses allow the software to connect (using CAN, Ethernet, and other protocols). A practical wireless approach gives the device maximum mobility and the ability to transmit data in real-time.
#11 HMI security. There are many cybersecurity tools out there. For example, a voice assistant that exchanges data over an HTTP connection that is protected by SSL / TLS protocols. It is crucial to secure the HMI authentication process with password protection, limited remote access, and automatic logoff.
FAQ
Conclusions
HMI must be of high quality and highly efficient. A poor-quality solution can lead to a loss of resources and even lead to people’s death as a result of a severe accident.
Well-designed, efficient HMIs equipped with first-class functionality and user-friendliness can work wonders. Here are just a few of the possible positive results that you can achieve:
- Improving product quality.
- Reduced errors and downtime.
- Save time on startup and shutdown.
- Financial savings on correcting errors and unexpected errors.
- Increased sales.
- Increased safety and accident prevention.