Tools for HMI ApplicationsIncludes Online Extras
Building an effective human-machine interface (HMI) for your operation is an intensely personal undertaking. Every installation is different, with different requirements, goals and needs. Achieving just the right interface screens for your operation means understanding your processes and all their surrounding systems thoroughly.
This article includes online extras:
What about Linus
Applying HMI tools: 3M
Applying HMI tools: Kemet Electronics
Building an effective human-machine interface (HMI) for your operation is an intensely personal undertaking. Every installation is different, with different requirements, goals and needs. Achieving just the right interface screens for your operation means understanding your processes and all their surrounding systems thoroughly...then creating a reflection of those processes from which those involved can monitor and modify them.
The task is both simple and complex. It is simple because today's HMI software packages are comprehensive and user-friendly, designed to accomplish a lot right out of the box. Knowing, however, that few applications follow a cookie-cutter approach, most HMI software packages also permit extensive customization, letting applications be tailored to specific needs.
Choosing a tool
Human-machine interface software can incorporate any of a number of tools to help simplify development of today's interface systems. Whether it be Excel or XML, Visual Basic or OPC, C++ or C#, the means are there to accomplish just about whatever the user can envision or desire. These standard programming languages can create animated processes, penetrate firewalls, travel over the Internet, and process data, to name just a few.
Choosing which way you create or enhance your HMI depends in large part on personal preference and capabilities. There is never only one way. One might use Visual Basic to create an application, but need to apply OPC for runtime communications. A simple application may need only out-of-the-box configuration, while a more elaborate system may require detailed enhancement using C++ or C#. Libraries of symbols and ActiveX controls, applicable to most HMI software packages and available as add-ons, help customize the application further. Some vendors offer vertical packages for specific industries. The semiconductor and automotive industries are two good examples.
Choice of a programming tool may be company mandated. Companies often require a common programming tool and approach across their enterprise to establish consistency. For example, it is typical for a large company to develop corporate standards for all its plants worldwide. Policy may dictate that associated application development beyond the standard HMI package be done in a consistent fashion. The programs are then ported back into whichever software package is in place at the plant location to augment the desired interface.
Development languages used to create the logic accessible through the HMI have their own characteristics. Ladder logic is straightforward and understood by many in North America. Visual Basic is very intuitive and easier to learn than most languages. C++ is not as interactive, more complicated, and definitely more difficult to use. Widespread use of XML makes it a familiar and common tool. It has little syntax, is fairly easy to learn, and can be used across industries to structure many types of HMIs.
However, programming the HMI is not always necessary. Most HMIs today are configuration oriented, designed so that the non-programmer or someone with minimal programming background can generate a reasonably effective system with little effort. With user-friendly GUIs (graphical user interfaces), fill-in-the-blank screens, and some training, most engineers can easily use configuration and proprietary scripting tools to do what needs to be done.
Paul Shelton, Automation Marketing, HMI Products, Siemens, looks at it this way: "The user shouldn't have to be concerned with what the code looks like, whether the software generates VBA or XML or something else. We want to minimize the configuration time, provide an easily configurable set of tools that is extensible if the application requires it." Siemens two major HMI software solutions include WinCC, a full-featured SCADA and historian product, and ProTool, a panel configuration tool.
"If we're doing our job with our configuration tools," says Shelton, "the amount of customization that is required to finish the project should be reduced. With an HMI configuration package, you should be able to say, okay, here's a pump, drag-and-drop a smart object on the screen, enter in a few parameters and your done. If you want to access additional properties or add scripting, advanced configuration levels are easily accessible. When configuration is complete, a new customized object can be easily added to your library. Expose the common configuration parameters and as a result shorten development time. But if I want to access additional details, the capability is there if I need it."
Configure, script, program
When those out-of-the-box configuration tools are not sufficient, adding simple scripts and dropping in available add-ons may yield the desired results. "Script languages allow us to do more," points out Thad McCoy, course developer/trainer for Omron Electronics. ActiveX controls are one example: "You can pull down an MP3 ActiveX control from the Internet, and script it to say that 'when this condition is met, this particular player will launch and play the designated MP3 file.' These kinds of additions are often important to establish features like alarming. It works very well."
ActiveX controls let users easily accomplish more with their HMIs. These containers for graphics plus components may be used to visualize or run a process. They are available from many sources and act as a bridge to allow users to launch or run a third-party program. ActiveX controls are available for database access, alarm reporting, basic trending, and more.
If the functionality of the scripting language is comprehensive enough, most applications can be built with scripts alone. You don't always need to program, explains Keith Jones, product manager, visualization at Wonderware, but an element of customization is needed with every application. "Any operation needs to add its own pictures and components," he says. "You'll always need to do a little scripting, even if it's as simple as a one-line instruction to start an application when you push a button. Wonderware's InTouch uses scripting, which is typically easier to use than programming."
InTouch is designed to provide visualization on the plant floor close to the process for operators and managers, while interfacing and connecting to plant control devices. "A user configures whatever he needs to see to interact with his process. If he wants to draw a conveyor, he can do it himself using InTouch's WindowMaker, or pull it out of an existing library. There are many existing libraries available today. You can drag-and-drop an item into your application, hook it up to a few I/O points or tags, and it will move when the conveyor moves."
InTouch's SymbolFactory has some 3,000 items, from simple pipes to furnaces. Third-party vendors offer thousands more.
When more is needed
As important as it is to create an application easily with minimal programming, it is just as critical to be able to extend an application when necessary. "No single HMI package can satisfy all the needs of all customers right out of the box," admits Pradeep David, business manager, HMI Products, Rockwell Software. "Therefore, all of our HMI products are licensed to use Visual Basic; they have Visual Basic for Applications (VBA) embedded in them. In the steel industry, for example, applications often use high-speed calculations. Visual Basic provides the tools needed to extend the HMI. In our case, if you want to do more than what our HMI offers right out of the box, RSView has an object model that you can access through VBA to create tags, create screens, and modify the behavior of the HMI externally. It is a powerful and effective way to make the HMI do something it was not originally intended to do."
And admittedly, HMI software is called on to do more. The key, today, is in how it does it by automating functions and offering added features to the user. National Instruments LabVIEW Platform Manager Norma Dorst, offers these observations: "Flexible software makes system integration as easy as possible. At the lowest level, it must accomplish I/O integration. From PLCs and instruments to DAQ systems, the HMI has to integrate with that layer."
The HMI must also integrate with the communication layer and the system management layer, she continues. Tools such as XML, .Net, and ActiveX come into play at these layers to help achieve all the integration and interaction needed in the HMI. NI's LabVIEW, she points out, helps HMIs talk to an XML spreadsheet and communicate across the Internet. "If you don't need such elaborate communications, you don't need to worry about such features. But some SCADA systems need these capabilities. Most HMI vendors worry about the management level layers, but the embedded layers are important, too."
Beyond creating applications, HMI systems must also be ready to communicate openly with all types of elements. This vendor diversity and device disparity make other software tools such as those from the OPC Foundation imperative today. With both client and server capabilities, OPC specifications link objects to devices. OPC acts as a mediator, bridging the gap between systems. OPC servers allow third-party packages to communicate with disparate hardware by bringing information from clients and translating them into an understandable format.
Observes Rockwell's Pradeep David: "All HMI packages need to be OPC servers and clients because few end-users know with certainty which or how many hardware vendors their systems will need to communicate with. Many HMIs need to communicate upward to an MES layer as well as downward to the device or component level. OPC is the mechanism that accomplishes that task."
Extending the application
Roy Kok, director of HMI/SCADA product marketing for GE Fanuc's Intellution product group, recommends looking for flexibility in HMI software. "It is important to be able to incorporate as much custom functionality as possible. A user needs to be able to turn our standard software into something that is uniquely theirs . GE Fanuc Automation offers two HMI software packages: Cimplicity HMI, a discrete-oriented, event-driven package better suited for automotive and machine control applications; and iFix, a process-oriented, time-driven system designed for the analytic and continuous controls common to process applications such as those found in the oil and gas and water and wastewater industries. Both products support the hybrid markets such as food and beverage, building management, and power.
Kok contends you should be able to take a standard HMI software package like Cimplicity HMI, install it on a machine, and need no programming. "You don't have to do scripting or apply VBA to get an application done," he insists. "Everything is point-and-click, select tag names, draw pictures, and link actions. Ideally, this market wants ease of use.
" However, we are seeing more and more integration of systems—an HMI isn't just monitoring what's on the plant floor anymore," he continues. "It's also talking to a relational database so that it can provide order information or scheduling information. It communicates and interacts upwards and down. We have customers who want their HMI product to be their entire operator view to the business."
Most products provide ways to incorporate add-ons and create programs to enhance or expand HMI capabilities, observes Omron's McCoy. Omron's CX Automation Suite family of HMI software offers integrated modular HMI solutions based on Microsoft Window technologies. Tools cover programming, simulation, communications, SCADA, and applications functions. Through a single module, CX-Supervisor, users can customize all elements of the HMI system. It has a similar structure and feel as Visual Basic, notes McCoy. "It is very intuitive; it tries to walk the user through the process step by step. ActiveX controls let us link up and communicate with particular devices."
As with most packages, CX-Automation Suite allows the incorporation of third-party ActiveX controls into the HMI. With Visual Basic, the user can write a small program to execute an activity. A supplied ActiveX control makes communications from Microsoft Excel and Visual Basic easy and reliable.
Toward zero-effort HMI
Where are HMIs and HMI development headed?
Interdependence is the operative word. The HMI is one and only one aspect in the entire automation system, and must be considered in that context. It is a critical data foundation for all other plant automation functions.
GE's Roy Kok sees HMI systems as moving toward providing one operator view of the business from one software package. To do that, he says, HMIs will host lots of third-party content in the graphics: "Software packages need to be reliable, secure ActiveX containers. If you have third-party content inside your graphics container, you need to be concerned about compromising the reliability of your HMI environment. I might purchase and download an ActiveX control off the Internet and install it in my graphic. It has never been tested in our system, tried alongside all the other functions being performed and could potentially crash my system. Containers need to capture and isolate the problems that develop and keep them from affecting other aspects of the application."
One can build really incredible HMIs today, observes NI's Dorst. "We really don't have limits on the sophistication of HMIs anymore," However, she warns: "If you are not illustrating something useful to the operator—if it's just pretty—then it is pointless. But when it makes a difference to the operator in terms of accuracy and understanding what's happening, then it needs to be there. The better you can illustrate those things, the better you're ultimate plant or machine design will be."
She also believes Microsoft's Visual Studio .Net has put a new slant on HMI development. "Users of VB and VC++ (Microsoft Visual C++) wanted a more structured language to build more sophisticated applications. Visual Studio .Net creates a middle ground of a more powerful VB and lot-easier-to-use C and C++. People are slowly but surely migrating to Visual Studio .Net, and I believe you'll see it used more in the future."
In summary, the future will allow more and less . It will undoubtedly see further simplification of the development process—a concept that Rockwell's David calls "zero-effort HMI." Systems are being developed that are literally "tagless," he explains. "You don't create the tags. You conceptually create a block in a program such as [Autodesk Auto] CAD or [Microsoft] Visio. That block is translated to ladder logic or other HMI code through certain interfaces. In a sense, it does the work for you. The user will need to spend very little time developing the HMI. Obviously, we're not there yet, but I believe you will see big initiatives in this area."
Conversely, as end-users become more sophisticated and knowledgeable about HMI products, they will seek greater customization with processes and systems by modifying off-the-shelf software to more closely fit the operation. The structure of HMI software provides the opportunity and the means to do so.
For more products
GE Fanuc Automation
Siemens Energy & Automation
What about Linux?
Linux-based HMIs have received significant attention recently for a number of reasons, not the least of which is its cost. Linux is a free Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. Developed under the GNU General Public License, the source code for Linux is freely available to everyone (see Websites listed below for more information).
Opinions vary on the applicability and usability of the operating system to HMIs, although several manufacturers offer or plan to offer Linux-based devices. Linux is extremely powerful from a Web serving standpoint. Says Rockwell Automation’s Pradeep David: “I see Linux as playing a big role at the server end. Server costs are low. But from the client end, HMIs are rich clients and Windows is still preferred by far on the desktop. Linux is yet to make major inroads in manufacturing environments.”
However, applications seem to be coming together and some manufacturers are very close to having a system that will be put on a machine somewhere. Kemet Electronics’ Joe Jansen believes we’ll soon be seeing some plain white box PC control done with Linux. “From there, it will be a natural extension to move into the embedded market,” he says. A Linux-based HMI screen does exist. And, of course, licensing is wonderful: it’s free.”
Well, almost free. Siemens’ Paul Shelton agrees that Linux has done well on the server side, and he expects its presence there will continue to evolve. However, when it comes to costs, he points out: “If you look at the total cost of ownership of the piece of hardware, the OS on it, and the application and maintenance of it, some of the cost savings on that‘free’ operating system are reduced in the long term maintenance and support of it. Microsoft operating systems are the standard in the HMI industry. That standardization has allowed developers to focus on feature-rich applications that easily can easily share information.”
Free or not, there are definitely limitations, as Wonderware’s Keith Jones points out: “Our products are completely in the Windows-based environment, and we are committed to it. We have no plans to change or get into Linux-based systems. We do work with users running thin clients based on embedded Linux hardware and then connected to an InTouch server. It’s very embeddable technology, and it’s free. It’s attractive to OEMs who want to build such screens. But that’s our only involvement with Linux.”
GE Fanuc’s Roy Kok concurs. “The automation world is driven by Microsoft technologies. People want to be able to use Excel and other applications when they develop and use their HMIs. You can export a file with basic information in it to Excel, use Excel as a development tool, then port it back into the HMI system. Those tasks are difficult to do in a Linux environment. Compatible development tools just don’t exist.
“In places where the operating system isn’t critical-thin client terminals are a good example—we might leverage technologies like Microsoft Terminal Services. Linux can be a benefit in those applications, much as CE is.”
For more information on Linux and Linux-based HMIs, visit Linux Online at www.linux.org, Control.com, and ESA Technology at www.eason.com.
Applying HMI tools: 3M
A new HMI platform meant less downtime, training, and programming for a 3M Co. pilot plant in St. Paul, MN. An outdated control system had led to decreased efficiency and time-to-market for the operation. A search for ways to improve turned up four requirements: produce repeatable results; maintain flexibility; meet product needs; and provide data that could be used when the process went full scale.
Whenever the single control system installed in the early 1990s failed, several process machines went down with it. So the facility sought a new system with increased reliability and a visualization platform that could perform data acquisition, monitoring, and control. Says 3M PI&CS engineer Brian Beyersdorf: “We needed an HMI that could provide faster data update rates—closer to real-time results—and remote access for troubleshooting, so maintenance engineers could view operations via the Intranet.”
Programming code for the old system was poorly structured and badly documented, making maintenance, training, and enhancements difficult. Operator interface and programmable controls topped the list of needed upgrades. Previous experience led the company to select Rockwell Automation/Allen Bradley products to do the job. Each of three systems was outfitted with RSView Machine Edition HMI software running on an Allen-Bradley RAC6182 industrial computer and ControlLogix controller.
Using RSLogix and RSView Studio, Beyersdorf and fellow PI&CS engineer Justin Bodie programmed the new control system components. Among the benefits was the ability to develop the program in parts, then easily integrate those parts into a single main program. The new system uses a structured naming convention. The first level of tagging identifies the machine, followed by function, and so on down the line.
The previous system did not allow a naming convention; as a result Beyersdorf and Bodie had to rewrite most of the code. However, RSLogix’ unused tag feature helped keep the program clean. Once the first machine was programmed, the code could be ported conveniently to the other two.
ActiveX PIDE faceplates on the ControlLogix platform provided a simple interface for troubleshooting programming problems. Said Beyersdorf: “The enhanced functionality of the function block programming made the system easier to configure, provided us with a graphical portrait of our processes, and gave us added functionality.” In addition, the HMI programming tool was used on a laptop to test alarms and check out the process remotely, reducing installation time.
The new system interfaces with legacy and emerging network technologies, improving network integration. Nearly 1,200 alarms are now programmed into each HMI device, simplifying troubleshooting. Microsoft Windows-standard fonts and higher screen resolution improve visual capabilities of the HMI devices. Overall, the HMIs’ ability to predict problems cut unscheduled maintenance time 10%. Smooth implementation reduced start-up time some 10 to 20%. Says Bodie, “[W]e were able to seamlessly upgrade the systems with a minimal amount of post-installation support.”
Applying HMI tools: Kemet Electronics
Achieving efficiency using the best-trained people, operating at the highest level of quality, and applying leading edge technology summarizes the mission of Kemet Electronics Corp., Greenville, SC, a manufacturer of aluminum, ceramic, and tantalum capacitors. Carrying out that mission extends to building the best possible HMIs to monitor and control its operations, as a recent project illustrates.
Joseph A. Jansen, controls technician, leads the effort, which at the moment is concentrating on developing an HMI to oversee a polymer growth system. Now about half complete, the project involves some 60 tanks into which capacitors are dipped and the polymer-growth chemical reaction takes place. Parts are mounted on a rack moved by an overhead gantry system that extends 40 ft, end to end.
“We did some work with static-mounted touch panel displays in the past, but one of the things I wanted to use on this application was a portable hand-held pendant,” explains Jansen. “We chose one from Omron Electronics in this case, a hand-held, color, touch-screen pendant, primarily because we already were using Omron PLCs. The system is composed of modules: one holds four dip pans; one does parts loading and unloading; another is for the gantry. The pendant can be plugged into any module and function specific to that module.”
To ensure corporate quality goals are maintained, Jansen does much of the HMI system design and programming himself. “We try to stay as consistent as possible with our touchscreens. Color-coding is a good example. If you see a purple object on a screen, you know you can touch it and it will perform some sort of function. Green always means something is running; red is stop; light blue is a static text display; yellow text is a process variable. Putting as much as possible into the color coding makes it easy to glance at the screen and see key elements. If you’re consistent, you minimize guessing.”
Jansen’s team will also be installing one large, fixed-position, color, touchscreen display to communicate with all the PLCs in the modules. That workstation will be a central data clearinghouse. Anything that doesn’t lend itself to the hand-held pendant will be done through the fixed display. All batch data, for example, will be entered at the large display.
“My goal with HMI design is to give an operator or maintenance person the ability to determine within one or two screens what happened and how to fix it,” points out Jansen-which means error messages that are more elaborate and meaningful. In addition, Jansen has included a More Help button on his displays that generates a picture book of instructions showing what the system is supposed to look like, along with a few paragraphs about what can trigger the type of alarm that occurred and what kind of actions can be taken to fix it.
Programming an HMI to provide so much information can be time consuming and complicated, says Jansen. But, “it keeps the third-shift Saturday maintenance guy from calling me at home to ask‘What does this mean?’ That can be worse. Once the screens are set up, it’s done.”
An OPC controller with an embedded Web server links the PLC network with the Ethernet network, allowing Jansen to read reports and post data to the company Oracle database and make information available remotely. An example: one of the dip modules is in the lab, used for chemists’ tests. The PLCs record parameters at a regular frequency for a specified time; then the data are saved to a Microsoft Excel spreadsheet. The open network controller acts as a bridge to take the data from the PLC and the spreadsheet and post it to the Website, making the information available the instant the process is done.
By creating a couple of links and a short Java program to read values from the PLC and post it in real time to a browser, Jansen can “see” what a machine is doing remotely. “With a little programming,” he notes, “I can reach through the network and see exactly where the gantry is, what the voltages are on the parts. I can dial in to the corporate server and, if that Saturday night maintenance person has to call me, he can‘show me’ what he’s asking about.”
The complete system should be in place and operating by the mid-2004.
What to look for in HMI software
Here are some points to keep in mind when reviewing HMI software packages and the tools they use.
How easy is the software to use?
How easy is the configuration process?
Is the package extensible? Does the product accept user-developed components and integrate them into the finished application?
Will the software be compatible with future releases?
How serviceable is the package? Is it a known program with which a system integrator could easily work?
How simple can I/O connectivity be accomplished?
Is the package scalable? Can you modularly expand what was created?
Are blocks of code easily reusable?