Low-Code HMI Solutions Ease Development
EP Editorial Staff | February 1, 2022
Simplifying automation design using a low-code approach speeds application development and expands the developer pool.
By Leandro Coeli, ADISRA
Many manufacturing companies continue to struggle with pandemic concerns, labor shortages, supply-chain problems, and increased competition. Adding to these challenges is the need for rapid digital transformation, essential for resilience and survival in this challenging business terrain. Companies must become and remain agile so they can pivot and adapt to meet the hypercompetitive nature of the industry. However, traditional methods of programming for automation of manufacturing machines may prevent companies from reaching these goals.
In the past, manufacturing companies had two main options for obtaining an automation solution: they could either build it or buy it. The build option required programming talent, either fulltime in-house staff or high-priced outside consultants. As many companies discovered, finding qualified in-house programming talent is difficult, and the volume of projects may not support high levels of permanent staffing. Contracting with service companies is a workable, but expensive, approach that still requires in-house support. It’s sometimes possible to minimize the labor element by purchasing an off-the shelf software package, hopefully meeting all requirements, but often this means accepting software-package limitations.
To address these and other issues, there is now a third option: no- and low-code platforms. These platforms reduce the time and expertise required to create applications, expanding the base of developers.
Programming without coding
Traditional programming follows an imperative approach. It requires the programmer or system integrator to write code specifying the individual steps the computer must take to accomplish the program’s goal.
No- and low-code platforms, on the other hand, take a declarative approach to building applications. Declarative programming calls for users to describe their desired results without explicitly listing the required commands or steps. This approach enables end users to build their own applications based on their needs, instead of relying on programmers who may not have a deep understanding of the manufacturing-floor environment.
With no- and low-code development, applications can be put in frontline users’ hands by allowing them, even if they have little or no programming ability, to modify off-the-shelf software to meet their needs. Those individuals closest to the process or machine know best what is needed, and no- and low-code platforms empower them to design the best application for their environment.
Even experienced programmers and system integrators benefit from no- and low-code platforms due to the available visual tools for rapidly building intuitive applications. With this approach, it becomes possible to quickly build, test, and validate applications (and subsequent changes), enabling higher productivity as much of the tedious repetition of manual coding is eliminated. Benefits extend to creating the application’s visual aspect, program logic, sequence of events, and data mapping.
No-code vs. low-code
No- and low-code are often categorized together because both use the principles of abstracting the code layer by implementing a visual modeling paradigm with a drag-and-drop interface for building applications. However, they are different.
No-code, as the name implies, requires no manual programming. Applications can be built without modifying the underlying software tool. No-code relies on a pre-set user interface, along with predefined drag-and-drop elements established as a layer of abstraction from technical details. No-code provides the easiest program development, at the expense of losing some ability to fully customize the application for the environment.
No-code is targeted at a wide range of users. These individuals are often referred to as citizen developers. Citizen developers have expert subject-matter knowledge in a specific area but may lack the technical expertise required to develop code using traditional software-application solutions. However, citizen developers can create applications using a declarative-development methodology.
In contrast, low-code platforms are more malleable than no-code and are designed to create a wide array of applications. Low-code platforms also use a visual approach with a graphical user interface and pre-configured software function blocks for application development. However, they do require a minimal amount of coding. The benefit of using a low-code platform is increased agility as applications go from concept to operational.
Low-code platforms also allow better integration with other applications, databases, or systems. Software function blocks can be coded and then combined to form large, sophisticated applications.
HMI applications can be ideal for the low-code development approach because end users want and need:
• visualization and controls in the form of indicators, levels, and dashboards
• alarming to identify issues
• data connectivity and integration with field devices and other enterprise systems
• data logging, trending, and reporting to identify causes and effects
• advanced functions, such as recipes
• easy system expansion without requiring traditional programming.
HMI software applications are judged by their usability, which depends on factors such as intuitive interaction, ease of use, and development efficiency. HMIs must go beyond control functions and information to provide operators with the ability to perform actions, feedback on the results of those actions, and information on the performance of the system. HMIs connect a person to a machine, system, or device—enhancing operator productivity and providing a clear line of sight to the automation system.
Some modern HMIs have adopted a low-code approach to help end users create, delete, change, and save HMI applications. The most capable of these HMIs allow run-time edits, so tags, data arrays, and graphical objects can be created, and properties changed, even as the application executes.
Creating dashboards and more elaborate visual displays at run-time with predefined templates and objects are fundamental features of a low-code HMI platform. Basic objects such as sliders, pushbuttons, indicators, and pie charts should be available.
Alarms are often the first indication of something going wrong with a machine or process, so they should give operators clear indication of what has occurred and how to address the issue. At run-time, users should be able to create/configure alarms as needed. Some traditional properties are LoLo/Lo/Hi/HiHi limits, deviations, priorities, and watchdogs.
Varying, unmanaged data structures and quality issues are data-governance challenges when professional and citizen developers are creating applications. A low-code HMI platform can offer easy built-in database capabilities, ensuring data is available, usable, integrated, and secured with the company’s data-governance policy.
Plotting historical data can reveal patterns that identify causality or changes in the way processes are operating. The ability to create, delete, modify, or save trends at run-time is important for low-code HMI applications.
At run-time, users should have the ability to display data points (values) from different data sources in easy-to-understand graphical formats. Users must also be able to configure history groups at run-time for storing trend data in proprietary or standard SQL databases.
Recipes are important when multiple products are being produced as each product typically has unique requirements. The ability to create, delete, load, and save recipes at run-time is thus a requirement for low-code HMIs.
Finally, today’s cybersecurity environment requires application security, preferably configurable at run-time. With the right privileges, users can be created and removed and passwords can be changed. This allows applications built in a low-code environment to be as secure or more secure than traditional HMI applications.
Low-code HMIs provide an open, extensible platform that allows scripting and other advanced functions. This empowers end users, programmers, and systems integrators with options for improving development speed, without the need to continually replicate basic code.
Low-code platforms also provide sufficient customization and integration capabilities for tying together multiple third-party applications and databases so the enterprise can be synchronized. Low-code automates repetitive tasks, allowing users to focus on higher-level activities, providing opportunities for creativity and innovation.
Even after the pandemic has passed and supply-chain issues begin to stabilize, manufacturing businesses will continue to face mounting competitive pressure, shorter business cycles, dynamic customer requirements, and remote-working employees. The business climate will demand automation solutions offering flexibility, faster development and iteration cycles, and the ability to simplify and streamline operations to increase efficiency and improve visibility.
No- and low-code software provides developers with the ability to rapidly create software applications without manual coding, making automation accessible to all users, and opening the door for manufacturers to innovate in the digital sphere. EP
Leandro Guimarães Coeli is Vice President of Application Development and Customer Service at ADISRA LLC, Austin, TX, (adisra.com). He has more than 16 years of experience in industrial automation with technical specialties in SCADA, HMI, databases, web, and application communication. Prior to ADISRA, Leandro spent 13 years as the owner and partner at PhiSystems Ltda.