The modern manufacturing facility or laboratory often appears as thousands of points of information, scattered in and among hundreds of pieces of machinery and other equipment. Good integration of these information sources provides for an ongoing challenge.
The goal of systems integration is to get these machines networked and accessible in some uniform manner throughout the manufacturing facility, and to provide information in human-readable form by uniform, nonproprietary and platform-independent means. Java and Internet technologies can help to bring this goal within reach - leaving it as an implementation project and not as the research project it appears to be today.
The first step in this process is to blend Java and embedded Web servers with traditional factory automation methods. This may mean replacing outdated equipment (or the controllers on older equipment) with a new Ethernet and Web-enabled controller or - and this is often more cost effective - augmenting existing systems with Java-based monitoring and control systems. These retrofitted solutions add to the existing functionality of production lines without significantly impacting the current operation. These small controllers are called embedded systems and almost always run with no more than a minimal nongraphical user interface. The challenge with these systems is information access.
Embedded systems are everywhere, but they mostly go unnoticed in our daily lives. The most obvious ones are kitchen devices such as microwaves, bread makers, toaster ovens and so forth, but this also includes the systems controlling the under-the-hood operations in most modern vehicles. Call me a cynic, but I don't expect toasters or bread machines to have an Ethernet connection or Web access anytime soon. But embedded systems within factories present a completely different picture.
When most people think of Web servers serving up Java applets, they think of the large, fairly powerful computer systems on the Internet. However, the simplicity of the Web server and the architecture of Java make it an obvious match for the world of embedded systems. Many of these systems are using modern versions of the old 8- or 16-bit processors, such as the old Zilog Z80 and Intel 8088 (the chip in the original IBM PC). The cost of adding a full, traditional user interface, complete with hardware, to these small systems is prohibitive, yet information is often available that would merit more display and access.
In factory automation these embedded systems often control complex processes and equipment. They're used in almost every step of every manufacturing process. The robots that build cars use embedded computers; almost every chemical process from refining oil to filling toothpaste tubes uses embedded real-time controllers. As you might imagine, these processes are not simple and to optimize and monitor these systems requires some way to get the information out of the controller. The first challenge is simply to get a user interface to these systems. Java applets and an embedded Web server make this process relatively simple. The existence of Java-based toolkits specifically designed for this type of automation display can make building these screens fairly straightforward. Now the information for the display becomes a part of the equipment, owned by and embedded within the controller. Logically, this is how it should be - the information and access to the information centralized in one integrated package and accessed through Java applets from anywhere.
Many of these embedded systems are controlled by real-time operating systems, and the vendors of these systems - almost without exception - provide support for embedded Web servers. There's also a whole class of industrial controllers, called Programmable Logic Controllers or PLCs, that run with very small amounts of memory (often less than 64 K bytes) that also support embedded Web servers.
The growing acceptance of Java in these applications shouldn't surprise anyone who can remember the ancient history of Java (almost nine years ago). This is the application it was originally designed for: providing a means for all sorts of consumer devices and computers to communicate with each other even though they're based on all kinds of different microprocessor chips, each with very little memory space.
The future is bright for Java in these applications. While the efforts to create a specification for real-time Java are ongoing, perhaps more slowly and with more difficulty than may have been hoped for, the use of Java as a near-real-time monitoring tool is growing. There's an impressive trend toward equipment retrofits based on Java and embedded servers. Organizations exist to produce embedded Web servers and user interfaces for existing equipment. There's also a move toward server-side Java for embedded systems that will allow some logic to be provided in Java on the embedded computer. This includes such things as protocol stacks that are specific to industries such as SECS/GEM in the semiconductor industry, and LECIS in the pharmaceutical laboratory and drug discovery industries.
So when someone mentions an applet, don't just think of the big guys. Think of the applets running from 8-bit microprocessors with memory space of 128 K (or even smaller) that could happily be providing information access in the factories making those big 64-bit systems as well as the many other things we use and enjoy in our daily lives.
About the Author
Jim Redman is the president of ErgoTech Systems, Inc., a company focused on developing Java applications and toolkits for plant-floor automation. This includes links to low-level systems and hardware, and also network links -- including CORBA support -- for enterprise distribution of factory automation information. He may be reached at