Cambridge, England--Imagine you are reading a book about circuit analysis. You encounter a circuit diagram that interests you. "I'd like to see how that one works," you say. To your surprise, the book responds by creating a simulated circuit in front of your eyes, complete with voltage and current indications. Not only that, it gives you tools so you can change components in the diagram and alter supply voltages. Up pops a virtual oscilloscope, which you use to check circuit behavior at various points.
Welcome to the world of interactivity brought to you by Java, a programming language launched by Sun Microsystems only a few years ago, and now used by more than 700,000 program developers around the world. Electronic books like the one described above may not be in your local bookstore yet, but they're not far away--just visit the World Wide Web.
To the lay person, Java looks pretty much like C++, today's most popular object-oriented language. But Java has more. One of its main features is automatic "garbage collection," a rather inelegant term programmers use to refer to the way Java frees up memory that is no longer needed by the program. This might not sound like a big deal, but to programmers it's a load off their backs. Moreover, the lack of good memory management is what computer viruses take advantage of to do their nefarious work. Java's inherent security prevents memory "leaks."
Java has another feature that works in tandem with it called the Java Virtual Machine (JVM). The JVM allows Java programs to run anywhere and everywhere regardless of the underlying hardware or computer operating system. JVM is only a few hundred kilobytes of code, but wherever it's running--on a PC, cell phone, or digital TV--any program written in Java can run. This is, in fact, Sun's main pitch to software developers: "Write once, run anywhere." Today, the closest most industrial control design engineers get to Java programs--called applets--is when they surf the Web.
Automation companies who design products to be configured or programmed by end users aren't about to introduce Java, or any other general programming language as an alternative to the familiar ladder logic or function block diagrams. Only in highly specialized areas, such as semiconductor manufacturing, or advanced control in chemical and petrochemical production, do sophisticated end users plot their way with languages such as C. For the vast majority of industrial engineers, who know Basic, C and Java are a little too far out of their experience base.
But go down one level below the end user, to the OEM design level, and another story about Java is unfolding. Sun Microsystems has promoted Java as a language for embedded control and says it will find a home in cell phones, smart cards, and automatic teller machines. The prediction is starting to come true.
In Finland, Valmet Automation now uses Java as the base language for its complex paper machine control system. "We are thrilled with the opportunities for Java in process control," states President and CEO Markku Kangas, who says that his engineers have embedded the Java Virtual Machine into the process control stations of its Damatic XDi distributed control system (DCS). This is testimony to the confidence that Valmet places on the software, since the process stations require the highest reliability. The end user doesn't "see" the Java language; as far as he or she is concerned, the XDi is configured with the same high-level function block engineering tools as before.
Applet apps. Paper production involves the high-speed interaction of machinery and sensors from a variety of vendors, often involving several separate control systems with encapsulated proprietary knowledge. Specialized optimization packages provided by third party vendors run on "outboard" computers connected to the DCS. But now "Java opens up Damatic XDi for third party, real-time control applications," says Valmet's Mika Vanne. "Mills and process equipment suppliers can embed their advanced know-how directly into Damatic by using Java."
Valmet has utilized this opportunity itself by developing an advanced multivariable paper machine control algorithm using Java with extremely promising results.
At development centers in France and the U.S., design engineers for Schneider Automation are using Java to implement what they call a web-centric control system that integrates a Modicon TSX Quantum PLC connected to a Java-powered operator interface. In doing this, Schneider demonstrates the potential for direct access to real-time plant floor data using standard web browsers in place of costly PC-based human-machine interface packages. The whole operation will become part of a larger scheme Schneider calls the "Transparent Factory," a heterogeneous computing environment in which controllers and computers communicate effortlessly via standard Internet protocols. Java's execution environment is attractive to control OEMs because it means they can incorporate Internet communication technologies into their products and still sleep at night.
"Java becomes the bridging structure for the Internet technologies applied to factory intranets," says Mark Fondl, sales and marketing director for Schneider Automation (North Andover, MA). A big Java advantage, he says, is that JVM handles the details of establishing TCP/IP (Internet Protocol) connections. To demonstrate how easy this is to do, Schneider engineers wrote and publicly demonstrated a 60-line Java applet that connects their PLC with a standard web browser. Primitive as the applet was, it allowed the operator to interrogate the status of certain PLC registers and turn on or off a lamp.
Keeping up with Microsoft. Industrial software companies who provide supervisory control and data acquisition (SCADA) packages have struggled for years trying to keep up with IBM and Microsoft as they switch, change, and upgrade their operating systems. Each change in Windows requires more investment in time and money to rewrite software so it remains compatible with the new version.
Because of its architectural neutrality, Java may be an end run around the operating-systems game, they say. In Tel Aviv, engineers at PC Soft Int'l took Sun's "write once, run anywhere" slogan to heart and recast their Wizcon SCADA package in Java, renaming it Wizcon for Internet. Sun Microsystems has certified it as "100 percent pure Java."
"Pure Java," says CEO Evyatar Meiron, means Wizcon users "can monitor their processes from anywhere using any platform and Java-enabled browser."
Another SCADA software supplier, SoftPLC (Humble, TX) uses Java extensively in its VIEWPoint product and invites application developers to write Java-based components to add functionality. Smart graphical entities, access to the Internet, database query, and supervisory control functions are all possible add-ons, according to Richard Hollenbeck, president of SoftPLC.
His company has specialized in software to program, supervise, and even emulate Allen-Bradley PLCs, and enjoys a following of some very technically competent developers and sophisticated end users. In fact Hollenbeck has no hesitation recommending Java for industrial control, even suggesting that Java subroutines could be created to work with ladder programs.
"We view Java as a superior alternative to Structured Text," says Hollenbeck, referring to one of the five languages specified by IEC-1131, a standard adopted by most PLC companies.
What this means to you
- Specialized control-optimization can be embedded in distributed control systems rather than in "outboard" computers.
- Direct access to real-time plant-floor data using standard web browsers rather than PC-based human-machine interfaces.
- Inexpensive way to keep up with rapid changes in operating systems.