User:

Log in user:

(step 1 of 2)


Write your email address in the white field and then click the "Confirm" button.

Log in user:

(step 2 of 2)


Write your password in the white field and then click the "Confirm" button.
Or click the "Request password" button to request forgotten password.

Log in user - Failure:


Email address has not been found!
Click the "Previous step" button to to enter your email address again.
Or click the "Register user" button to register your email address.

Log in user - Failure:


Pasword does't match!
Click the "Previous step" button to enter the password again.
Or click the "Request password" button to request forgotten password.

Request password:

(step 1 of 2)


Write your email address in the white field and then click the "Confirm" button.

Request password:

(step 2 of 2)


Your password has been sent to your email.
Please also check your spam folder.

Request password - Failure:


Email address has not been found!
Click the "Previous step" button to enter your email address again.
Or click the "Register user" button to register your email address.

Register user:

(step 1 of 5)


Write your email address in the white field and then click the "Confirm" button.

Register user:

(step 2 of 5)


Registration code has been sent to your email.
Please also check your spam folder.
Copy the registration code from your email in the white field and then click the "Confirm" button.
Or click the "Previous step" button to request the registration code again.

Register user - Failure:


Email address already exists!
Click the "Previous step" button to enter the email address again.
Or click the "Log in user" button to log in with your email address and password.
Or click the "Request password" button to request forgotten password.

Register user:

(step 3 of 5)


Set your user name in the white field and then click the "Confirm" button.

Register user - Failure:


Registration code does't match!
Click the "Previous step" button to enter the registration code again.

Register user:

(step 4 of 5)


Set your password in the white field and then click the "Confirm" button.

Register user - Failure:


User name already exists!
Click the "Previous step" button to set another user name.

Register user:

(step 5 of 5)


User has been successfully registered.
Click the "Log in user" button to log in.

User settings:

User settings:


Please log in to be able to open user settings.
Click the "Log in user" button to log in with your email address.
Or click the "Register user" button to register your email address.

User settings:


Your subscription has been successfully canceled.

User settings:


Your subscription has been successfully established.

Write comment:

Write your comment in the white field and then click the "Add comment" button.

HMI and PLC applications should grow together



Hold my hand

Application of the programmable logic controller (PLC) monitors machine sensors and controls machine actuators and realizes required machine functionality.
Human-machine interface (HMI) application communicates with the PLC to display machine information to users and enable users to operate the machine.
Just as the machine must be equipped with all the necessary sensors and actuators so that the entire machine functionality can be programmed in the PLC application, the HMI application must also be designed so that the machine information and machine functions are accessible to the user.

The HMI application works with data provided by the PLC application.
Machine information can not be displayed in the HMI if the required data is not provided by the PLC application.
Machine functions can not be operated via the HMI if the PLC application does not provide this functional interface.
From this point of view, the HMI application depends on the PLC application.
However, the design and development of the HMI application should not be postponed later than the design and development of the PLC application.

Parallel development of the PLC application and HMI application is advantageous.
The entire system becomes more consistent if the operator's perspective is taken into account when designing and developing the machine functionality in the PLC application.
The functional design of the HMI application becomes more objective.
The machine is better reflected in the HMI and the HMI is better suited to the machine.
The machine functionality programmed in the PLC application can be tested together with the HMI application. For example, you can see active alarms in the visualization, edit the setpoints conveniently via the visualization, test user authorizations for setpoints, buttons, etc., switch between unit systems, switch between languages, ...
You can gain first experience with operation and find out earlier whether the HMI is user-friendly and meets expectations. If not, you can still optimize it in time.

It is worthwhile to test the machine functionality as soon as possible via the HMI.
It brings valuable insights.

© Radim-Automation, 2020–2025. All rights reserved.
Sharing of this article is permitted with proper attribution (link to the original page).


Related previous articles:


Related next articles:


It is not preferable for the developer to use development environment tools to handle standard situations such as starting, stopping, confirming, checking status, and so on.
1. HMI gets not properly designed and tested.
2. The users present do not learn to solve the situation themselves.
3. The users present have the impression that the system is complicated and the HMI is useless.
=> Prepare the HMI and use it from the beginning! If necessary, improve the HMI! Teach users how to use the HMI!

"Keep development, staging, and production as similar as possible"
- https://12factor.net/dev-prod-parity

"A good interface is easy to learn, leads to faster reaction time, safer operations and higher productivity. You deserve a system that is intuitive - one that at a glance you can see what actions need to be taken and is easy to navigate."
- General Electric (2021). Modern HMI/SCADA Guidebook for Efficient Operations.
- https://www.ge.com/digital/lp/modern-hmiscada-guidebook-efficient-operations

"The essential function of the PLC is to receive data from sensors or other field devices; make a decision on what to do with that information based on its programming instructions, for example, to open or close a valve based on fluid levels or direct a robot to pick up an object based on its presence in the work cell; and send the correct signal to the actuator (such as a valve or robot gripper) to perform the task."
- David Greenfield. AutomationWorld (2023). Peer-to-Peer FAQ: Controllers.
- https://www.automationworld.com/control/article/22724233/industrial-controller-technologies

"The information that should be available on a graphical user interface (GUI) of a machine depends heavily on the type of machine and its application. However, here are some basic pieces of information that are often displayed on a GUI:

1. Status Information: The GUI should display important status information about the machine, such as whether it's powered on or operational, whether it has issues or error messages, and whether all systems are functioning properly.

2. Operational Parameters: Display the current operational parameters of the machine, such as speed, temperature, pressure, voltage, etc. This allows the user to monitor the machine's current state and make adjustments if needed.

3. Process Overview: If the machine is involved in an ongoing process (e.g., manufacturing, processing, analysis), relevant process data and steps should be displayed on the GUI. This helps the operator monitor the progress of the process and identify potential deviations.

4. Warnings and Error Messages: Display warnings or error messages if problems or critical situations arise. This enables the operator to react quickly and take appropriate actions.

5. User Interaction: Provide interfaces for user interaction, such as adjusting settings, changing parameters, or issuing commands. This includes buttons, dropdown menus, text fields, and other elements.

6. Historical Data: A history or log of past events and activities can be helpful for identifying trends, diagnosing errors, or making performance improvements.

7. Documentation and Help Material: Provide user manuals, help tutorials, or links to further information so that users can learn about operation, maintenance, and potential issue resolutions.

8. Visualizations: Depending on the application, charts, graphs, or visual representations of relevant data can be useful for recognizing relationships and trends more easily.

9. User Profiles and Settings: Allow users to create individual profiles and configure specific settings to match their workflow.

10. Safety Information: If the machine could potentially be hazardous, the GUI should display safety instructions, emergency stop buttons, or other safety mechanisms.

11. Contact Information and Support: Provide contact information for technical support or customer service in case users need assistance or support.

It's important to carefully design the GUI based on user needs and the type of machine to ensure a user-friendly and efficient experience."

- https://chat.openai.com (What information should be available in the machine's graphical user interface?)

Bear in mind that the operator sometimes operates the system in a panic and needs a short and fast route to the destination and a quick response from the system. The system must inform the operator of what has happened and what is expected of the operator.