AdvancedHMI

by Archie Jacobs

AdvancedHMI is a free, open-source toolkit that turns Visual Studio into a development environment for PLC Human-Machine Interfaces (HMIs).

Operating system: Windows

Publisher: Archie Jacobs

Report a Problem

Table of Contents

I. Introduction to AdvancedHMI

II. Features

AdvancedHMI allows developers to create custom graphical user interfaces quickly and with minimal coding.

A. Platform support

B. Graphical User Interface

C. Communication

D. Data logging

E. Database connectivity

F. Security

G. Troubleshooting

H. APIs

I. Support and resources

III. Conclusion

I. Introduction to AdvancedHMI

AdvancedHMI is a free, open-source software development suite for creating Human Machine Interfaces (HMIs). It turns Visual Studio into an HMI development environment: the operator screens for machines and industrial automation systems are designed in Visual Studio and compiled into ordinary Windows executables, instead of being run by an interpreter as in many traditional HMI packages. This makes the finished HMI fast and lets it run on any Windows PC or industrial panel PC, without licence keys, dongles or runtime fees. The project has been available for more than ten years and is used in thousands of installations worldwide. Its features cover platform support, a drag-and-drop graphical user interface, PLC communication drivers, data logging, database connectivity, basic security, troubleshooting, APIs and community support.

II. Features

A. Platform Support

AdvancedHMI is built on the Microsoft .NET Framework and is developed in Visual Studio, including the free Visual Studio Community edition. The finished HMI applications run on Windows. Release notes of the 3.99 series also include fixes that let AdvancedHMI applications run on Linux under Mono, and the project page mentions Raspberry Pi support, but Windows remains the main platform and there is no macOS version. The current download is the AdvancedHMI Base Package 3.99x, while a 3.99y beta still receives updates.

B. Graphical User Interface

AdvancedHMI adds a toolbox of ready-made controls to Visual Studio, so basic HMIs can be created by drag and drop without writing a single line of code. The controls include analog value displays, bar level graphics, basic buttons and labels, pilot lights, multi-state indicators, message displays driven by bits or values, keypads and charts. Each control is linked to a PLC address through its properties, and every screen can be arranged and styled like any other Windows Forms application.

C. Communication

AdvancedHMI includes native drivers for Allen-Bradley controllers over Ethernet/IP (ControlLogix, CompactLogix, SLC 500 and MicroLogix) and DF1 serial, Modbus TCP and Modbus RTU, Omron FINS and Host Link, and Beckhoff TwinCAT. Devices without a native driver can be reached through the OPC DA driver. A driver component is simply dropped onto a form and configured with the address or serial port of the controller, after which the visual controls can use it.

D. Data Logging

The BasicDataLogger components record values read from the PLC over time, and the release notes mention multi-point logging and scale factor support. Chart controls such as ChartBySampling display values as trends directly on the HMI screen, so operators can follow process data without extra software.

E. Database Connectivity

AdvancedHMI has no dedicated database module, but because every HMI is a normal .NET application, values read by the drivers can be written to SQL Server, MySQL, Access or other databases with standard .NET data access code. This makes it possible to store production data in a central database and use it in reports or other programs.

F. Security

Security features are basic. Screens can be switched with a FormChangeButton that can ask for a password, and keypad controls can hide typed characters with a password character. More advanced user management, such as individual accounts or access levels, has to be added by the developer in code.

G. Troubleshooting

Since the HMI is built in Visual Studio, the standard Visual Studio tools can be used to debug it: breakpoints, variable inspection and step-by-step execution help to find communication and logic problems. The AdvancedHMI forum contains many answered questions about driver setup and typical connection issues, and sample projects show working configurations.

H. APIs

The communication drivers can also be used directly from Visual Basic or C# code, so developers can read and write PLC values in their own routines. The DataSubscriber component can subscribe to one or several PLC addresses and raise an event when values change, which makes it easy to extend the HMI with custom logic. Since the source code is open, the controls and drivers themselves can be modified as well.

I. Support and Resources

AdvancedHMI is supported mainly through its online documentation wiki, the community forum and sample projects. Training resources are offered on the official website, which also sells a 15-inch industrial panel PC that is prepared for running AdvancedHMI applications.

III. Conclusion

AdvancedHMI is a free, open-source toolkit for creating Human Machine Interfaces (HMIs) in Visual Studio. It combines drag-and-drop screen design with native drivers for Allen-Bradley, Modbus, Omron and Beckhoff controllers, OPC DA access, simple data logging and full access from VB.NET or C# code. For engineers who are comfortable with Visual Studio, AdvancedHMI provides a flexible and low-cost way to build and run HMIs on standard Windows hardware.

Windows with .NET Framework 4.0 or later
Visual Studio 2010 SP1 or later (free Community works)
PLC or device with a supported driver or OPC DA server

PROS
Supports a wide range of industrial control equipment and protocols.
Free and open-source, allowing customization and development.
Intuitive and user-friendly interface for easy use and comprehension.

CONS
Security and alarm features are basic.
Mainly Windows-based; Linux use requires Mono.
Requires programming knowledge to fully utilize.
FinchTV
FinchTV is a bioinformatics software suite designed to quickly and easily visualize and analyze DNA and protein sequences.
TrueCAD
TrueCAD is a powerful, feature-rich, and user-friendly CAD software for creating, editing, and viewing 2D and 3D designs.
Ultimaker Cura
UltiMaker Cura is a free, open-source slicer that prepares 3D models for printing on UltiMaker and many third-party 3D printers.
depthmapX (formerly UCL Depthmap)
DepthmapX is a network visualization and analysis platform designed to explore the spatial structure of complex networks.
JT2Go
JT2Go is a free 3D visualization program for viewing and interacting with JT data.