AJAX cleans up HMI performance

Human machine interfaces (HMIs) have been in place for more than 20 years, but some basic rules have not changed. If you want a responsive system, you have to install specialty software on the operator stations, qualify the software, and validate and maintain the installations. HMI applications that require specialty software installed on the operation station are called "thick client" applica...

By Dennis Brandl, BR&L Consulting July 1, 2006

Human machine interfaces (HMIs) have been in place for more than 20 years, but some basic rules have not changed. If you want a responsive system, you have to install specialty software on the operator stations, qualify the software, and validate and maintain the installations.

HMI applications that require specialty software installed on the operation station are called “thick client” applications. The alternative, “thin client” solutions, do not require any specialty software and instead used Microsoft’s Internet Explorer browser as the display software.

Thin clients have major advantages for manufacturing IT departments. They are easier to install, since the required software is installed automatically when the browser points to the HMI server. The maintenance cost is low, because changes are effectively rolled out immediately. Lastly, replacement of operator station hardware can be fast and easy to validate. Thin clients suffer from poor responsiveness, however, because of the large communication bandwidth required between the HMI browser and the HMI server. In many cases, large bandwidth was required for complete redisplays of screens, even when only a small part of the screen information changed.

A new IT technique is starting to be applied that removes the disadvantages of thin clients without giving up any advantages. AJAX, which stands for asynchronous JavaScript and XML, is a technique for providing responsive displays without requiring extensive server communication and using standard browser technology. (To see an example of the responsiveness, visit www.maps.google.com . This application provides smooth scrolling of maps without requiring full page reloads from the Google servers.)

AJAX uses JavaScript that is downloaded with a Web page from a standard Web server. The JavaScript handles display updating and immediate feedback for operator interaction. It also sends information requests to the server using HTML POST or GET messages (for Java or PHP enabled servers), or SOAP messages (for Visual Basic or C++ enabled servers). The XML responses from the server come back asynchronously and are handled as any other asynchronous event (for example a keystroke or mouse click) in JavaScript.

AJAX also significantly reduces the network traffic and bandwidth required versus other thin client solutions, and it can be almost as bandwidth efficient as thick clients. AJAX is a technique for utilizing features already available on Web-based systems, so it is rapidly entering mainstream, rich interface, thin client applications.

Custom applications

AJAX does offer some unique advantages for HMI applications and, because tool vendors are currently adding AJAX support into their programming environments, it is ready for use in custom manufacturing applications. The typical custom HMI application is a Visual Basic program running as a thick client. While this works for single-station systems, it does not scale to multiple display stations and operators. In an AJAX-enabled application, the custom HMI would be split into display and input elements, and the data access elements. This is a good practice in any custom HMI design, and AJAX encourages this good practice.

The display elements are implemented in JavaScript. Data access elements can be implemented using open source solutions, such as a LAMP server (Linux O/S, Apache Web server, MySql database, and PHP scripting language), or using a commercial tools, such as a Microsoft Web server and Visual Basic for the server side applications. This technique also allows controlled access for engineering or business users outside the manufacturing firewall.

For example, the server-side application could require a write-key to be obtained (using an asynchronous XML request) before any write commands would be accepted and could prevent any write-keys from being sent to clients outside the local protected network.

Author Information
Dennis Brandl, dbrandl@brlconsulting.com , is the president of BR&L Consulting, Cary, N.C., which is focused on manufacturing IT solutions.