HMIs: Write once, display anywhere

Players within the industrial control market have begun trying to take advantage of the mobility craze and Bring Your Own Device (BYOD) concepts. High mobility essentially boils down to using smartphones, tablets, or laptop equipment to make jobs easier and more efficient, drive down equipment cost, make replacement easier, and provide a more intuitive, familiar environment for end users.

Caught in the middle of this BYOD movement is the Human Machine Interface (HMI), creating the problem that HMI applications no longer know what display system they are operating on: perhaps it is a tablet, a desktop PC, or a smartphone, or maybe all three depending on the location in the plant! HMI applications do not live on a fixed device anymore, which presents challenges in designing HMI screens and interactions with the end user.

Screen size and resolution challenges

The wide variety of smartphone, tablet, laptop, PC, and High-Definition (HD) displays available for HMI applications presents large logistical challenges during development. For example, even something as simple as widgets placed on a screen could be displayed incorrectly depending on the aspect ratio and other display properties. Writing an interactive app for a smartphone requires a very different layout and design interface than for a large HD panel, and the display capabilities of the devices vary too much in terms of space, resolution, and aspect ratios for the HMI to be displayed consistently.

Graphics and multimedia plug-ins like Silverlight, flash, and even Java can also create incompatibilities. There are Operating System (OS) platform considerations as well – developing for the OS is very different than for Apple’s iOS. Supporting both platforms requires two different development cycles, additional maintenance, and update considerations.

Executing on write once, run anywhere

I recently had the opportunity to talk with Benson Hougland of Opto 22 (www.opto22.com) about the company’s groov software that was developed with the notion of building HMI applications that look consistent across end-user devices. Hougland mentioned that an earlier HMI product from Opto 22 (called PAC Display) suffered from the resolution and interoperability issues described previously. They thought about moving the product to a browser or remote desktop environment and calling it a day, but unfortunately this approach did not solve the interoperability and varied display issues.

“We decided to start from scratch,” Hougland said. “Some key technology advancements in modern web browsers like HTML5, CSS3, and scalable vector graphics, in addition to enhanced caching for performance, enabled our efforts.” The result is groov, a new “write once, run anywhere” HMI product.

groov lets you build and run an HMI web app with only two simple things – a network connection and a modern web browser. Browser plug-ins are not used. When you open a browser and complete the authentication, groov starts running. You add screens, select widgets, and tie them to tags from industrial controllers. All these activities are saved on a server that automatically publishes the results. When the user surfs to a URL, the HMI you built is pulled into your browser, screens and all. Now when the end user navigates to various on-screen gauges or indicators, the browser pulls only new or changed data from the server, which provides a dramatic increase in performance.

Security is also considered. The environment provides two network interfaces – one connected to the corporate network where groov connects to client devices, with the other connection to the control system network. The network interfaces are isolated from each other to ensure the corporate users do not interfere with the control network.

Opto 22 provides a couple of options – a standalone “groov Box” hardware appliance with LAN that runs the groov server application, and a PC-based groov server for Windows. These two options provide an easy-to-use, efficient environment for developing and deploying groov apps.

Standards involved

A recent standard called OPC-UA is an industrial protocol for interoperability between devices from different manufacturers. It is based on the paradigm for printers in PC OSs where the printer manufacturer provides the driver for the printer. This same concept applies to the HMI environment, as an industrial manufacturer would supply an OPC driver for a Programmable Logic Controller (PLC), for example, so there is no need to develop specialized back-end code to communicate with it. An application like groov then connects to that PLC with its IP address and tag list location.

Understanding display and mobile equipment complexities and the associated HMI interoperability and usability issues, it is now clear that write once, run anywhere HMI application environments, combined with advancing industrial control interoperability standards, will represent a significant leap forward for BYOD in the industrial space.

Topics covered in this article