+Tech TopicsLearning ResourcesOnline OnlyOperator InterfaceProductWhy HMI

Good HMI Software: What Capabilities to Look For

When searching for a touch panel HMI, there are lots of options. And while there are certainly differences in the available hardware, many of the available panels on the market have similar hardware capabilities. But the capabilities of the HMI software, and how easy it is to use, can make a huge difference for your project AND your development timeline.

Let’s look at a few features and capabilities that a good HMI software package should have…



Built-in sHMI Software - built-in simulatorimulator

An easy to use simulator will result in a better looking, more effective project AND reduce your development time. You should be able to fully simulate your entire project on your PC (every object, every screen) while it is being developed, without being connected to a touch panel or PLC/PAC. A good simulator should provide a pixel-perfect representation of how your project will appear on your physical HMI panel. A method for editing the relevant tag data in your project should also be provided, with all the relevant tag names listed for each screen that is displayed in the simulator.

You should be able to use your mouse/cursor on the PC screen to simulate a finger touching an actual HMI. And you should see the tag values update accordingly. Conversely, you should be able to edit tag values, and see the HMI screen graphics react in real-time. For example, if you want to see how an analog meter moves based on dynamic data from the PLC/PAC, you should be able to simply change that data value and watch your meter move on the simulation screen.

And finally, it should be very easy to move back and forth form the simulation environment to the screen development mode. You shouldn’t have to waste time setting up the simulation, or stopping and starting your development system. You’ll find yourself using this feature every few minutes while developing your project.

HMI software - recipe functionsRecipe functions

Recipes should make it easy to make large numbers of tag (data value) changes with the push of a single button. Recipes are incredibly useful, not just for the traditional process industries (i.e. mixing of ingredients), but also for machine setup values and other data groups. For example, a recipe can enable a packaging machine to “change over” from jumbo size candy bars to “fun” size in just a few seconds. And the stored parameters reflect the exact setup values as they were the last time you ran that product or operation.

The operator should be able to modify and save recipes on-the-fly while the machine is running (given that the operator has the appropriate level of access). You should also be able to quickly import and export your recipe data to a spreadsheet for further manipulation or archival purposes.

Helpful Event Manager

An Event Manager should provide much more than simple Alarm and Message functions, and should enable an HMI to take action based on random events like changing tag values, or periodic events like day-of-week, time-of-day, or even based on a particular screen change. Besides the traditional alarm display, the action options should include setting of tag values, copying of tag data between tags, changing the screen, capturing a screen, playing a sound file, and even sending e-mail (including embedded tag data, screen captures, or PLC log files).

HMI software - event manager

A good event manager can actually simplify your PLC code, because of all the functionality that the HMI can provide.

Actions should be “triggerable” by various events, such as:

  • Any combination of the following with one OR MORE tag values:[list style=”orb” color=”green”]
    • Tag values turning ON or OFF (bit tags)
    • Tag values equal-to, above or below a specified value
    • Tag values inside or outside a specified range
  • Day and/or Time triggers[list style=”orb” color=”green”]
    • Every day or specific days of the week
    • Specific times of the day
    • Repeating every X hours and/or Y minutes
  • Based on a Screen Change
    • Use to log visits to a particular screen
    • Also handy when a calculation or some other action needs to occur before a screen is displayed

Supported actions should include:

  • Triggering Alarms
  • Writing Tag values
  • Copying one tag value to another
  • Playing a sound
  • Changing the currently displayed screen
  • Capturing an image of the current screen
  • Sending an e-mail, including embedded:[list style=”orb” color=”green”]
    • Tag dataHMI software - Mathematic functions
    • Date and Time
    • Screen Captures (as attachments)
  • Initiating FTP (File Transfer Protocol) uploads to a server
  • Popping-up message boxes (with tag data, date/time, etc.)
  • Performing math calculations…

It is very useful to be able to perform mathematical calculations when a particular event occurs. You should be able to create custom formulas that include any combinations of constants and live tag values, and to store the result into a user-defined Tag, or display it on screen, or send it via e-mail, etc.

Remote Access

HMI software - remote access

HMI software should allow remote access to your HMI in several ways:

Access and control your HMI from any connected PC (full control, just like you are standing in front of the panel). And the interface should be browser based so that you don’t have to purchase any additional software for the PC.

Authorized PC users should have the ability to remotely: 

  • Monitor and control screen operations of the panel as if touching the panel itself
  • Test and troubleshoot the HMI project
  • View, zoom, print and save screen captures of active screens

But it shouldn’t stop with PC-only remote access…

iPad and iPhone access capabilities in HMI software

Access capabilities from your iPhone, iPad, or Android mobile device should include:

  • Monitoring and controlling screen operations of the panel as if touching the panel itself
  • Users should be able to save screen captures to review, email or print
  • Should allow Zoom, allowing the user to zoom in on specific objects and then save screen captures if needed
  • Should allow Multi-level Logon Security
  • Should allow simultaneous access for multiple remote users
  • Multi-level Access Control should allow various levels of access: Full control access, View only access, View and Screen change only access
  • Activation or Notification Tags should provide an option for each account to have associated user configurable tags that allow the Panel project or PLC project to indicate that a remote user is connected or to enable or disable the remote access feature. These tags should be able to activate alarms, events or notifications to alert local operators that a remote user is connected. The Disable/Enable tags should even allow local operators to enable or disable the remote access feature for security or safety reasons.


HMI software - animation

Good HMI software should make animation easy. Animations of machine motion and factory processes can enhance comprehension, and give operators a visual representation of the desired motion of products, and machinery on screen. In fault conditions, operators can quickly see the relationship of product or machine position to sensors, or fault zones. Animation can be used to teach operators the correct relationships between mechanical elements or product positions.

Animation capabilities should include movement, rotation, sizing, visibility, and even the use of sequentially displayed images to simulate motion.

Easy to Use Development Tools

Object, Graphics and Screen Libraries

Once you’ve created an object, a group of objects, or a screen – you should be able to give it a name and save it within the HMI software for fast and easy reuse later.   You should be able to store objects, graphics, sounds, and even entire screens in this manner.  You should have the option to save objects/screens with or without the PLC tag info, and to easily share objects/screens from your library with other developers that you may work with. Reusing common objects and screens not only saves time but also creates a common look or theme that your operators will benefit from.

HMI software - object libraries

Object Layer List

An Object Layer List should be incorporated. This list provides a rundown of all the objects on the active screen and allows you to quickly select an object from the list to edit. With this list you can expand or collapse grouped objects and access individual objects in a group without having to separate the group or move objects on the screen.

And More…

Good HMI software should allow you to transfer a project to an HMI without having to take the programming PC to the panel using a flash media card or a USB memory stick.  This is ultra-convenient, whether the panel is installed in your local factory, across town, or on the other side of the planet.  Project transfer using Ethernet or USB should also be supported.

Good HMI software should offer database tools such as search (with filtering), and the ability to import and export all the various databases for large projects.  Separate HMI databases should include: Tagnames, Messages, Recipe values, Address Book, Event Manager, Multi-Language Text Strings, Object and Screen Libraries, and even Screen Images.  These features alone can save countless hours of development time.

Good HMI software should allow wide flexibility in the use of typefaces, fonts, and text size and should allow all text to be displayed in multiple languages. Language selection should also be selectable with the touch of a button.

Good HMI software should have a flexible, dock-able windows layout and offer drag and drop functionality for all screen objects.

And finally, a good HMI software package should preserve both tag data, with easy to use data logging capabilities, and project data, with auto save and backup functionality.

 Weigh your options…

When it comes to HMI products, there are plenty of options out there. What’s listed here are some of the features that a good, quality HMI software package should employ. HMI development can be simple or extremely complex but either way, the HMI software should provide the user with the functionality and easy-to-use tools needed.