Motherwell Systems of Perth, Western Australia and Baoshan Steel in Shanghai China are managing the scheduling of sequencing of plant equipment in one of the world’s largest steel mills with over 16,000 PLC I/O points using a Windows NT PC with $1500 in off-the-shelf software. The Automatic Broadcasting System (ABS) in the mill manages 80 simultaneous flowpaths involving 8 GE Fanuc Series 90-70 PLCs, 5 hot standby PLCs, and 944 discrete equipment items such as conveyors, trippers, stackers, re-claimers, shuttles, etc. The ABS software is based on Borland’s Delphi visual development tool running on Windows NT and uses an off-the-shelf ActiveX control for the GE TCP/IP Ethernet based PLC communications. According to Ric da Paz of Motherwell Systems, “Our primary reasons for choosing an object based development environment and ActiveX/OCX controls were ease-of-use, flexibility, highly compelling cost advantages, excellent online product documentation, and the excellent support from Software Toolbox via the internet and phone in our remote locations.”
SNE Systems of Louisville, KY recently chose Visual Basic 5.0 (VB5) and MS-SQL Server running on Windows 95/NT for a stamping line monitoring application (Figure 1). They chose VB 5 because of the smooth integration with MS-SQL Server, the availability of easy-to-use ActiveX/OCX controls for PLC communications, the flexibility it provided, and the overall cost-effectiveness of the solution. SNE's client, Toyota Motor Manufacturing, Kentucky is using the application to monitor 20 stamping lines/machines. Operators on the line view current production status and supervisory screens showing overall line status by current shift on 28 Windows 95 systems. Supervisors can quickly identify exceptions and drill down to see the current machine operating status.
The system logs data to an MS-SQL database on Windows NT on number of parts made, system performance, uptime and more, making the data
available to plant management systems. According to SNE Systems Engineer Wayne Price, "The customer has been very pleased ... we were pleased with the total flexibility that Visual Basic gave us to meet specific client requests and the cost effectiveness of the total solution, particularly the fact that there were no runtime fees for VB and the PLC communications OCX for 28 client systems."
So why did these companies choose VB and ActiveX based solutions instead of more traditional solutions for these applications? Wayne Price points out “by using ActiveX controls, not only did we gain the flexibility needed and saved the client a lot of money, the same tool can now be used with other programs such as Word, Access, Internet Explorer, and others.”
So what are ActiveX, OCX, COM, OPC, VB, VBA, Vbscript, and other buzzwords I hear? These technologies have their roots in the foundations of the Microsoft Win32 operating systems, Windows 95 and Windows NT. The core of the Windows 95 and NT model is described using the Component Object Model, or COM, which was released in 1993. COM breaks down everything into manageable pieces. The way components fit together is clearly defined by the COM specifications and source code, which contrary to popular belief, is available and licensable from the The Open Group, formerly OSF and X/Open.
Take an Excel spreadsheet. In Excel, a workbook is an object, which contains worksheet objects, which contain cell objects. Every object has properties that describe how it looks and behaves. So when you put a value in a cell in Excel, you are setting it’s .Value property. If you change the text color, you’re setting the .Color property. When you want a component to do something, you call a method. When an object does something or is acted upon, it generates events.
So what is an ActiveX control? An ActiveX control is a small piece of software, written to the COM specifications, that is like a ‘black box’ and has properties, methods, and events. A PLC communications driver like the GE Ethernet ActiveX that Motherwell Systems used has properties to define data to read from the PLC and when, methods to trigger the reading, and events to tell you the data has been received from the PLC. (see figure at right) Because ActiveX objects are based on COM, they can be used in any container application that supports COM. (see figure below) A container is an application such as Visual Basic, Internet Explorer 3.0, Borland Delphi, Wonderware InTouch, GE CIMPLICITY, Intellution’s FIX, Iconics Genesis, and many others. Lets look at some more applications of ActiveX controls
Visual Basic(VB), VBScript, Visual Basic for Applications, Delphi, and others are all scripting languages that are used to control COM objects such as ActiveX controls. These tools are the glue used to marry the objects into an application..
Now we visit VB’s other relative, VBScript. VBScript is the subset of Visual Basic used in Microsoft’s Internet Explorer 3.0/4.0 web browser. On your plant intranet, you can build internal web pages using ActiveX controls to view plant-wide data. (Figure 5) This screen uses a PLC data acquisition ActiveX, a graphing ActiveX and a trending ActiveX Users see information in a familiar user interface. Systems administrators like managing a single client interface and not having to visit every desktop to update applications. Business managers save money because they are using a technology that millions of developers worldwide know and can help support. According to Microsoft, there are over 3,000,000 people worldwide who are familiar with Visual Basic.
This universal acceptance is the reason vendors such as Intellution, GE Fanuc, Rockwell Software, Iconics, and many more have chosen to license VBA for scripting in their Human-Machine Interface (HMI) software. By choosing an application that supports
Visual Basic and it’s variants VBA and VB Script, all scripting is done in a language that is supportable for the long term.
Other object standards such as OLE for Process Control (OPC), managed by the independent OPC Foundation, are gaining a strong foothold. The OPC Foundation has over 100 member firms and a large number of products slated to reach the market in 1998. The OPC standard takes the COM design and addresses specific issues in the automation market, such as historical data, batch data, communications drivers, and more. Products written to the OPC specification, called OPC clients and servers, can be used with Visual Basic and it’s variants. So once again, knowing Visual Basic pays big dividends.
Technologies based on COM address basic economic supply and demand forces that have held back modular software to date. Developers writing to the COM specification
know they can sell their software objects to millions of users. They don’t have to pick one vendor’s proprietary specification and be married to it. Giga Information Group cited a $240M market for all COM/ActiveX objects in 1996, with growth expected to reach $2 billion by 2000. On the demand side, more and more mainstream applications like Intellution’s iFix, Iconics, Rockwell Software, and other HMI/SCADA applications support COM/ActiveX and the Visual Basic scripting languages. Users are finding they are more comfortable using modular software because the glue for integration is a defacto scripting language standard, Visual Basic and its relatives. Add continued downsizing in engineering staffs and the need to “do more with less”, and you have compelling reasons to stop re-inventing the wheel. So how can you tell if a software object such as an ActiveX control is well written ?
Ask the developer how long they have been writing software for Windows and how many licenses of their object are in use in the real world. Do they have experience in the automation industry to be able to relate to your application needs? Look at the documentation. Are all of the properties, methods, and events, clearly defined with examples in use in an online help file and/or a printed manual? Does the product come with sample Visual Basic programs using the control that are well commented? Has the developer tried the control in a number of containers that support Visual Basic and its relatives? How does the developer provide support? Do they have a support website? How quickly do they respond to email and calls for support? And in closing, be sure to ask and understand the development and runtime licensing agreements. A reputable firm marketing ActiveX controls will have thought through these questions and be ready to answer them.