ISA 1997

Using Internet/Intranet Technology for Supervisory Control and Data Acquisitionpresented by RM Systems Integratorsat the Toronto ISA show This is an old presentation from 1997 but surprisingly still relevant and obsolete at the same time.

You are probably tired of hearing the media hype about the Internet and wonder if it has any real use in manufacturing. Maybe you’ve had an Internet account and explored a few Web sites and sent a few Emails but lost interest after a few weeks. There are some interesting developments made possible by new Internet application tools. The following is a transcript of a talk presented at the 1997 ISA show in Toronto May 6 and 7 by RM Systems Integrators.

I’d like to talk about an actual Intranet implementation that I’ve done with a client who is an automotive parts supplier. When I say Intranet I mean an internal information publishing server using standard Web based tools. Before I start into that, I’d like to go through the components of a typical SCADA system, so I can compare them to the Intranet. Now, when I say SCADA, I mean supervisory control and data acquisition and SCADA dates back to the 60’s when SCADA software was on mainframe systems and in most cases were in central control rooms with pneumatic actuators and sensors feeding back to the control room. We’ve come a long way since then using minicomputers, Unix, PC’s running DOS, Windows, Windows 95 and NT. Now we’re into a client-server architecture which is what I consider the Internet, really a maturing of the client-server architecture which started over five years ago.

One of the main functions of a SCADA system or SCADA software, is to bring the information in from your process or from your equipment. Many window-based packages have a DDE server that connects to the PLC either using a serial link or a special communications card. You could also acquire your process information using dedicated I/O cards right in the PC chassis. Once you have the data into the computer, one of the things you’d want to do with it is alarm out of tolerance conditions for your operators. Now these could be high and low alarm limits, or they could be contact closures from the controller itself. Another element of the SCADA system is data-logging. Not only do I mean process records and trend information gathered periodically but also event-driven information, which usually is triggered from the PLC itself, things like end-of-shift, end-of-batch. Once that data is recorded, a lot of packages provide a custom reporting feature. They’ll usually also let you export it into ASCII files and let you do your own reporting from there. No SCADA system would be complete without some sort of operator interface, and on the development side, you’re given a graphical tool that lets you lay down push-buttons, graphic symbols, trend graphs and alarm boxes. This is the HMI human machine interface component of the SCADA system. Another element of the SCADA system is usually there’s a scripting language with them that allows you to program your own derived tags based on the raw PLC data, such as batch totals or calculating SPC summary information. Recipes generally also come with the SCADA package. Many recipe packages are quite limited and most clients I have use a separate database system to store recipes. These can usually be easily connected using ODBC database connections. Many packages will also provide a programming library of modules that you can link with your own programs in Visual C or Basic.


An Internet implementation such as shown in Figure 2 divides the system into a client and server. Those of you who have used an Internet service are familiar with the bottom portion of the diagram (the client side). This is Netscape Navigator or MS Internet Explorer. You may not be familiar with the Web server. To bring PLC information into the Web server you can use standard packages such as RSLinx or DDE device driver written for the Web server. In the actual implementation with my client we ended up using a custom serial driver written for Windows NT. That may sound slow but we had a unique requirement to bring 2K words of data across in approximately one second. We actually did some data compression in ladder logic to optimise this transfer. We needed the custom serial driver to decompress the data. We had originally started with Windows 95, Folkweb server and WinLinx. This software combination proved to be not stable and would lock up after a few days at best. We quickly moved to Microsoft NT server Version 4.0 which included the Web Server or IIS (Internet Information Server).

Once the PLC driver acquired the data it needed to store it for retrieval by the server. We started with a disk data image to assist in debugging the application but then went to a shared memory data image of the PLC tables that were scanned. When an operator clicks on a hypertext link in the Web browser, this triggers a CGI script which is a program that runs within the Web server that will read the PLC data image and assemble the “live” PLC data as an HTML text stream back to the browser for display.

One of the major displays we provide for operators and plant supervision was a plant overview which displayed the status of each line for printout and coloured for display. Each machine was shown on one line with machines in bold text or green for machines running above 80% of standard, normal text or yellow below 80% and italics text or red for lines that are shutdown. At first the production supervisors thought it was great to be able to see the status of all the production lines but then they started getting calls from the plant manager asking why lines weren’t running.

It was fairly easy getting text displays of dynamic data using existing tools but getting graphic information was a little more difficult. We ended up using Java to present a line graph of the 2K words of data were acquired. This had it’s own problem in that the graph could not be printed from the Netscape menu bar but the technology is continually being improved and I anticipate it will be printable in the future.

Some of the benefits of this is improved productivity. Actually this applies to any monitoring system. I’ve found that there is generally a 10% to 15% increase. It’s a “Big Brother” effect and operators try to do their best when they know someone is watching. Like any productivity improvement program if there is inadequate follow-up, such as attending to equipment problems and operator concerns then productivity drops right back because the operators realise that no one is really watching. Current information is available to everyone at the same time. We not only provide current production status but production history for the last 7 days. The Intranet is a powerful publishing tool. We originally had a low priority item to provide central access to recipes and process set-up sheets. When the convenience of the Intranet was recognised a temp was hired to enter all the process sheets. Now when an engineering change is required it is immediately published to the Intranet. Since it appears to everyone, the engineer can simply call the foreman and have him confirm the change on their screen while the operator will see the change next time they go to set-up the product. This saves time photocopying, updating binders and ensuring that old copies of the set-up are destroyed.

An advantage of this system is a low-cost per workstation as all that is really needed for the client machine is a Web browser that can easily be handled on 486 machines. Development tools are readily available for the Net and allow easy integration of the features you want. Add-in are available to view almost any file format. In our implementation we published all the machine drawings to the Web site but we used Corel Draw 3.0 mainly due to low-cost while providing, zoom in, zoom out as well as print capability. Development of special functions can be done in almost any programming language such as C++, Visual Basic or Java. Almost any of the new word processors support publishing documents as HTML (Hyper Text Markup Language). But this is only part of administering a Web site. Tools such as MS Front Page or HoTMetaL will verify links or automatically copy changes from an editing location to the live site. Lotus also has a complete Web server package based on Notes called Domino which allows more advanced document management, work flow and approval mechanisms.

Some limitations of this approach reflect a technology in it’s infancy. It was easiest to provide text-based monitoring. HTML was originally for text and static graphics. To provide dynamic, animated objects requires additional programming. Also, if you want to write back information to the PLC for instance using a push-button, this requires a CGI script or program, again since HTML was intended to display documents not to control PLC’s. This is an emerging technology which was both an advantage and disadvantage. Many of the features we implemented will become easier to configure in the future as the software tools mature. An advantage is that it is based on the Internet standard. When we changed from Windows 95 to NT and from Folkweb to MS IIS the files were just copied to the new server and services started up. There were no recompiling or conversion required.

NT is the fastest growing server today, however there is still a larger installed base of Unix servers for Web applications. The software tools available for administering and maintaining a Unix server are more mature. PLC connectivity has changed from using DDE to OLE and VBX. Now ActiveX components (Microsoft COM) are available. I expect the availability, flexibility and performance of these components to be greatly improved over the next few months. Allen Bradley is offering RSTools that allows a control panel to be built-in a MS Internet Explorer container that can be used as a Web page. Almost all of the traditional SCADA software companies, such as Wonderware, US Data, Intellution and Intec are offering Web server add-ons that will let you connect to their “live” data areas in each workstation. I expect Internet technology to be adapted more and more to provide full SCADA capabilities.

The system we built was basically a polled system that refreshed every 10 seconds. Newer software components, I expect will be driven on a data change exception basis. This ties into the Internet “push” technology as well as object technology. Object oriented programming have been around for many years but now a fight is brewing. It’s Microsoft against all the rest. When a fight like this shapes up it’s a sure sign the technology is mature. Microsoft’s version of this is COM which is based on the ActiveX standard that Microsoft placed in the public domain using an unaffiliated company. DCOM allows objects on a client and server to “co-operate”. The rest of them (Sun, IBM, Oracle, Corel, etc.) are in the CORBA camp administered by the OMG (Object Management Group). Their implementation is primarily using Java and Java Beans. Since Java is inherently platform independent and can run on Macs, Unix X-windows workstations as well as MS Windows, many Web sites use this standard. Java is also known to be create more compact code which is important over modem lines. Microsoft uses ActiveX in its software so this imposes minimal overhead for companies that are all Microsoft and are on Ethernet networks. I expect some resolution to this object battle in the next few months.

Over the next few months I will be looking for alarm and trend objects. This would round out the set of objects required to put together a SCADA system using COM or Java. I also expect some improvements in execution speed.

We live in exciting times. I look forward to the advancements in process management software. What would I do as a manufacturer today? The first step is to go back to fundamental needs. What information is required by whom? This includes operators, supervision and CEO’s. Second I would look at infrastructure. I see a lot of plants that have PLC’s but aren’t using them for data collection. Installing plant-wide Data Highway and making PLC logic changes to retain run totals and shift stats, ensures that there is valid, useful data to collect. Last I would start a pilot study. I say this easily, as my client started with $50,000 for a few PC’s and some wiring and eventually ended spending about $500,000 for complete deployment to all machines.

If you are looking for some of the companies and organisations I have mentioned here on the Internet you can look at my company’s Web site.


Robert J. Mah is the president and founder of RM Systems Integrators. He has over 15 years experience in implementing CIM systems. His experience with a wide range of hardware and software used in PLC’s, PC’s and mini-computers provide a unique insight into obstacles to integration. Mr. Mah is a graduate in Systems Design Engineering at the University of Waterloo and has provided control systems and data collection, as well as operator and technical training for numerous clients. He can be reached at 416-297-6455 or


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s