Objects Make Software Behave Like Hardware
Objects—grouped-together packets of code—continue to improve control and human-machine interface (HMI) software for users. Using compatible objects:Objects also can replicate the look and feel of control systems hardware and appeal to control engineers with an affinity for icons.While objects have been used for years, widespread use of Microsoft (Redmond, Wa.
Objects—grouped-together packets of code—continue to improve control and human-machine interface (HMI) software for users. Using compatible objects:
Improves software interoperability, making information sharing easier and more efficient, leading to greater user productivity;
Allows dissemination of real-time operational information throughout the enterprise;
Gives users or system integrators more flexibility to expand or create customized solutions, using best of breed applications without project-specific custom code. Expanded object libraries of pre-built classes and components carry into future implementation; and
Speeds new vendor software to market because objects can be reused.
Objects also can replicate the look and feel of control systems hardware and appeal to control engineers with an affinity for icons.
While objects have been used for years, widespread use of Microsoft (Redmond, Wa.) technologies—COM, DCOM, ActiveX, VBA, and OPC (see list of terms)—have created common ground for automation and process control software vendors. Virtually all major discrete automation and process control software vendors incorporate these object technologies. Many kinds of hardware now have OPC-compliant objects inside, so they can behave as clients on a distributed network, "reporting to" an OPC server.
ActiveX-based objects can be called "plug-and-play;" the ActiveX wrapper allows the code packet to be used independently of software brands. Such a common workspace frees code writers and users from a tangle of software "drivers," or translations, from one software to another. Objects ideally provide free information flow among levels, lines, processes, or plants using different software or different versions of the same software.
Commonly licensed Microsoft technologies solve user demands for base-level compatability. Even so, at higher levels, vendor approaches become less compatible, or even incompatible.
Control software from two vendors can be compared to the twin towers of the World Trade Center in New York City. Moving between structures requires getting down to ground level or below. COM and DCOM are the sublevels, OPC is ground level, and ActiveX is the basic means of transport within and between buildings. Companies and groups of companies are developing differing strategies for building bridges (exchanging information) at higher levels; compatibility there requires cooperation among partners on each side.
Differentiating factors cited by object-technology vendors include the depth to which each uses the Microsoft-based tools, security, and strategies implemented at higher levels.
"Component architecture is delivering lower cost of ownership and the real-time transfer of data between the plant-floor and business enterprises," says John Powley, consultant engineer, Intellution Inc. (Norwood, Mass.) "Component technology lets you realize true integration similar to what computer integrated manufacturing has been promising for nearly 20 years. Intellution's FIX Dynamics is unique in that it has embedded ActiveX into its architecture," claims Mr. Powley.
In an application at the Bridgestone/Firestone Aiken, S.C., plant, engineers using Intellution's FIX Dynamics appreciate the ability to mix and match Intellution components and third-party applications. Andy Bedingfield, Bridgestone/Firestone engineer for component preparation and process systems development, appreciates "ease-of-use, speedy implementation and smooth integration, at all levels of manufacturing," with as much as a 60% decrease in integration costs, compared with custom development.
The Iconics (Foxborough, Mass.) "OPC-to-the-Core" infrastructure, developed over the past two years, provides "unparalleled reliability, ease of reuse and performance," says Russell Agrusa, Iconics president. New Genesis32 is based only on COM, ActiveX, and OPC. "We have a large library of OPC Servers that fully comply with the OPC 1.0 and soon OPC 2.0 specification." Iconics claims to be the only company that has OPC Clients and Servers (as of mid-August); "All interprocess and out-of-process communications is achieved through OPC," Mr. Agrusa says.
Wonderware (Irvine, Calif.), a long-time user of objects, now uses them as a way to expand functionality of its own software offerings. John Theron, marketing director, says Wonderware migrated from proprietary object-oriented methodology in its initial InTouch HMI program in 1989 to today's Wonderware FactorySuite 2000 products with Microsoft's latest ActiveX, COM/DCOM and DNA (Distributed interNet Application) architectures, using FactoryObjects as metaphors for the plant and its products. Vendors develop objects as ActiveX controls, adding to FactorySuite capabilities. The fuzzyTECH runtime fuzzy logic module created by Inform Software Corp. (Oak Brook, Ill.) adds fuzzy logic capabilities for PC-based control and process visualization applications (photo).
Mitch Vaughn, manager Special Projects, USDATA (Richardson, Tex.) says USDATA's Xfactory exchanges data higher in the structuring using Microsoft Windows DNA (as operating system functions), a standard set of services that address the three tiers of modern distributed applications: user interface and navigation, business processes, and storage (diagram). "Many companies in our industry are currently focused on using COM technology to create their own proprietary frameworks and infrastructures. USDATA is relying on Microsoft's DNA technologies and products for user interface and navigation and storage. We are focusing efforts on the business processes tier where the application specific knowledge is delivered."
ObjectAutomation's (OA, Santa Ana, Calif.) Rob Rennie, chief Framework Architect—responsible for OAframework design and development—says OA employs objects throughout the OAenterprise product. "Before the OAenterprise, component-extended HMI applications were simply a system of COM components running in an HMI window that hook, via property to tag connectivity, into a basic, nonreusable, linear tag database. We've turned the 'tag database' into a system of distributed objects and associated classes, allowing far tighter—most often one-to-one—integration of graphics, control, SCADA, and other objects and components."
System integrators have "unprecedented access" to object-oriented paradigms through the OA Object-Based Control initiative, benefiting from object-oriented technology (OOT) design without knowing the inner workings. Use of COM throughout will allow users to eventually choose best of breed components and classes when designing an integrated solution, as they do in the OA HMI layer now. Partners such as International Laboratory Corp. (Hiroshima, Japan) are developing objects that proxy (or mirror) existing PLC programming for the OAframework.
Object-oriented design does not guarantee a bug-free environment. "You can write bugs in any language," says Michael Hajjar, PC Soft International (Braintree, Mass.) vp, corporate accounts and business development. PC Soft's design, based on Microsoft Family Class (MFC) Libraries, "forces you to be more disciplined. And because MFC is a big body of code that is already debugged and proven, you get a higher level of functionality with a lot fewer bugs."
OPC and ActiveX isolate code between servers and clients, and between the data source and its interfaces, but (as the least common denominator for data transfer) don't deliver enough inter-application functionality, says Mr. Hajjar. Shared class libraries between products developed by the same vendor (such as PC Soft) and its partners will be the most decisive long-term factor for a high level of application integration and interplay, he says.
Intellution's FIX Dynamics' "i-core framework" features Secure Containment (patent pending), which immediately identifies any problem control or component introduced, isolates the misbehaving object, and enables the system to react and recover smoothly, explains Mr. Powley. This feature ensures high system performance and reliability—functions absolutely essential in process control applications.
Mr. Theron says Wonderware is implementing a certification process and a test tool for third-party components that run in process without performance penalties and recommend noncertified nontested components run out of process.
Mr. Rennie says that using OAenterprise, an integrator may "link" two object attributes together and be assured of connectivity, whether the OA Event Services are used or the connection is "translated" into connectivity specifications at a lower, perhaps control network layer.
"The ultimate goal of any conscientious object technology provider should be the elimination of 'glue' or integration code that must inevitably be written. While it can never be completely eradicated, it can certainly be minimized," he says, by staying within the OA architecture, above COM and OPC.
Key to creating robust and bullet-proof object code is in the component-creating tools, according to Mr. Agrusa. Iconics has recently released its ActiveX OPC ToolWorX product (see related photo) to create device drivers. The patent-pending technology allows developers to create in a week as many OPC-enabled ActiveX Controls as previously took four to six months. Iconics has sold more OPC Server and Client side toolkits than anyone else, he adds for HMI, SCADA, or control applications. Another Iconics technology provides ActiveX "object fence protection" for Iconics' client HMI, trending, and alarming applications.
National Instruments (Austin, Tex.) Jack Skruggs, the Lookout marketing manager for National Instruments, says that, "With established object-based software users can leverage large libraries of field proven object classes. One example is the pager object class in National Instruments' Lookout 3.8—it enables users to send dynamic text messages directly to pagers through a user supplied modem."
Mr. Rennie says OA has "a wire-level compatible DCOM implementation." OA distributes its COM interfaces (and helper functions) to technology partners (licensees) for plug-ins and/or custom objects.
ActiveX and OPC are the real standards because a user can immediately benefit from multivendor product integration with no additional effort, Mr. Hajjar says: "You don't have to buy everything from one vendor," he adds, taking a poke at OA's licensing program. "A software company developing applications for the Windows environment that does not use MFC and other Class Libraries will not be in business for long." PC Soft's foundation class library delivers 80% of code needed for creating an advanced highly graphical environment of logic and graphics. (See related photo.) "Only our source code is open. If a vendor doesn't share code, then cost of sharing objects is too high," Mr. Hajjar suggests.
Mr. Agrusa says many vendors are creating objects using Iconics' tools. "With the right tools, implementing objects is like jackhammer compared to a chisel, allowing access to 3 MB of source code by clicking a few buttons." In 18 months, 100 OPC tookits and 25 ActiveX toolkits were sold to the likes of ABB, Bristol Babcock, Foxboro, Honeywell, Johnson Controls, Phoenix Contact, Westinghouse, and Yokogawa.
CORBA, an object model used at some higher levels, hasn't been implemented by control software vendors. Mr. Rennie says OA selected DCOM over CORBA, in large part because "there was just one, very large, vendor of DCOM," Microsoft. Even so, OA customers who have existing CORBA systems for manufacturing execution systems (MES) or enterprise resource planning (ERP) software can use DCOM/CORBA bridge technology to integrate levels.
Marcus Schmidt, Microsoft industry marketing manager for manufacturing, says COM reaches higher levels, as well, with ERP suppliers such as Baan, Peoplesoft, and SAP using it. In addition to integration advantages, COM will maintain backward compatability as it evolves, especially important in manufacturing, Mr. Schmidt suggests. Microsoft upgrades, such as "COM+ in NT5, will make it even easier for developers to build a higher level of functionality with a lot less programming," agrees PC Soft's Mr. Hajjar, predicting wider Microsoft power and reach.
Customers know objects allow greater reuse of code, increasing functionality. Common ground creates greater connectivity, but users will have to wait and see whose model wins on the upper floors.
In this issue, see items on:
Sun Microsystems' object model that reaches across platforms;
"Machine Control Strategies" for open platforms; and
Use of object in Control Software Review.
Also see Control Engineering, May '98, "OPC Solves the I/O Driver Problem," and Aug. '97, "What's all this about Object Technology."
ActiveX control, based COM technology, provides a set of APIs (application program interfaces) that allows software components and applications from Microsoft-compliant vendors to communicate. Each component can be programmed in a different language and use different internal designs; if each adheres to COM, they can easily "snap" together.
Class describes a type of object—sort of template for objects with similar behavior.
COM/DCOM is the Microsoft component object model (COM)/distributed COM, which extends COM to networks and remote objects on them.
CORBA : Common Object Request Broker Architecture. This architectural framework for object-oriented applications was developed by the 800 software vendor Object Management Group (Framingham, Mass.). This "middleware" competes with Microsoft object models. CORBA has a strong backing from Unix users, including Cargill, Chevron, LG Electronics, and Pratt&Whitney.
Methods : Set of software procedures used to produce a desired output. This can include a calculation, or a signal manipulating a device.
MFC , Microsoft Foundation Class, libraries are collections of objects that can be used to create ActiveX containers.
Microsoft Windows NT : a dominant execution platform in industrial automation (discrete), and of growing importance in process control.
OBCS is an object-based control system.
OLE : object linking and embedding, from Microsoft, says how objects may interrelate. Now called COM.
OOT is object oriented technology.
OPC (OLE for process control), provides a foundation for third-party connectivity. OPC Foundation (Austin, Tex.) develops the specification or rules for how OPC works. Board of directors includes Honeywell, Siemens AG, Toshiba, Rockwell Software, Intellution, Opto 22, and Fisher-Rosemount Systems.
Open and nonproprietary , in this context, mean using widely licensed and used Microsoft-based tools.
Object thinking for control
Objects, objects, everywhere! Once the purview of the computer science elite, objects now invade the control world. However, to fully exploit objects, control engineers need to think differently, and doing so makes control systems easier to develop, deploy, modify, and maintain.
The schematic shows a simple Object-Based Control System (OBCS) to adjust pH. Wastewater pH is being adjusted to within environmentally acceptable bounds for release into a municipal sewage system. Control objects are independently functioning pieces of code that interact through the exposed interfaces designed by the objects' creators. Each interface contains device-specific properties (items), methods (actions), and events (notifications).
A property is a configurable item on a device; typically, some kind of initialization setting which allows the device to work properly. A method is an action the device takes; typically, a command to the device. An event is a notification that some internal test condition has been met; typically, errors, limits, etc.
Interfaces and corresponding implementation classes (Device Interface Libraries) are loaded into the OBCS and used as master templates from which specific instances are cloned. In an OBCS these fundamental building blocks are called Device Objects, and once instances of the various Device Objects are created, system control becomes the orchestration of the various Device Object properties, methods, and events, using the application tool of choice (such as a IEC 61131-3 language, Flowchart, VB, Java, etc.)
Using an OBCS allows continuous improvement of the process. Assume the system described above has been operating fine for years, but lately wastewater volume is approaching the system limit. The control engineer discovers that in similar systems, alternating the mixer direction at regular intervals reduces reaction time about 15%, savings to prolong the system's useful life another two years.
In typical control systems this modification requires a sequence change in process control, which can involve rewriting of software system-wide to ensure that the new mixer capabilities are recognized. A rewrite risks introducing programming bugs.
Within an OBCS, only the independent object logic of the mixer device requires a change, resulting in a revised interface that exposes the new features. This new interface could either be part of the Device Interface Library or developed as needed with OBCS programming tools.
The reversing mixer interface is a superset of the old mixer interface. This allows the new reversing mixer to be installed, setup, and tested. Once operation is verified and the appropriate property values are configured, the connections would be redirected from the old Device Object to the new one implementing the reversing mixer.
Object-oriented design allows easy changes to features. For instance, a flow controller supplier may offer "incremental, value-added" upgrades, via objects, which drop into control logic with minimal system disruption.
H. Philip White is vp Engineering, Zone Automation, Temecula, Calif.
What's DCOM; why should you care?
COM and DCOM seem to be another pair of acronyms that make sense to software developers, but are irrelevant to the average user. However, automation software using COM and DCOM has potential cost, performance, and maintenance benefits.
According to Microsoft (Redmond, Wa.), COM, or Component Object Model, is a software architecture that allows applications to be built from binary software components. DCOM, or Distributed Component Object Model, enables software components to communicate over a network in a reliable, secure, and efficient manner. Software vendors using COM and DCOM can improve interaction, interoperability and flexibility of software products, giving users the ability to add and extend functionality of standard software.
Here's a likely scenario. A user has multiple operator interfaces supporting one common application. Without DCOM, each station would require a full licensed copy of the human-machine interface software and database. Each station adds expense. By using an HMI software package that incorporates DCOM, the user can install one "server" station with all others acting as "clients."
With this arrangement, each station works from the same database, which not only helps reduce costs, but also improves maintainability and product consistency.
"In the past, some users have found the functionality of standard packages restrictive, but the incorporation of technologies like COM and DCOM (into human-machine interface software RSView32) gives customers more ability to add and extend standard packages based on growing application needs," says Jeff Dean, senior software engineer, Rockwell Software (West Allis, Wis.).
In this same application, DCOM also allows any client location to create, modify or remove objects, drop them into the application and have them appear in the server and other client locations. DCOM can be used across multiple network transports, including Internet protocols such as HTTP, and can work with Java applets and ActiveX components.
According to Microsoft, COM is the most widely used component software model in the world. In addition, a few companies now are beginning to deploy DCOM as a natural extension. As Rockwell Software, and other vendors, use COM and DCOM as an interface to third-party software packages and to integrate its software products, end-users get software with "ability to customize the package for each application," says Mr. Dean.
CORBA, DCOM used in the middle
A three-year $10-million object-oriented program is underway improving software in the semiconductor fabrication industry. The project is in its last iteration and has resulted in development of an object-oriented advanced process control framework for implementing run-to-run control and fault detection. The software provides significant process improvement in pilot applications within a production semiconductor fab.
ObjectSpace Fab Solutions (Austin, Tex.) participated with Advanced Micro Devices (AMD), Honeywell (Phoenix, Ariz.), and Sematech (Austin, Tex., the semiconductors' manufacturers organization) on a $10 million, three-year Advanced Process Control Framework Initiative (APCFI) project supported by the National Institute of Standards and Technology's Advanced Technology Program. ObjectSpace is now commercializing this technology as part of a product called Catalyst.
Object technologies are used heavily throughout the project, from requirements specification, to analysis, design, implementation, testing, and deployment. In particular, APCFI uses object technology to encapsulate external applications behind an object interface. This insulates the framework from changes to the underlying application and allows new applications to be written without affecting APCFI.
The object interface also provides a level of security for the application by eliminating problems associated with one application corrupting another application's data. APCFI supports the notion of an Application Interface object. This object is key because it encapsulates the interaction between APCFI and commonly used tools such as MatLab, Mathematica, ModelWare, or Simca 4000.
It also allows deployment projects to integrate other applications by developing additional interfaces. This encapsulation technique is also used to integrate the framework with processing tools and add-on sensors. Key for the project was to adopt a standard set of interface definitions. Behind the interface, proprietary drivers and APIs can be accommodated easily without affecting integration with any other component. Users are able to adapt to existing systems instead of being forced to convert them.
CORBA is a stable, nonproprietary system integration standard in the semiconductor industry. Sematech includes CORBA in the Sematech CIM (Computer Integrated Manufacturing) Framework integration specification. CORBA can shield standard framework components from server-specific implementations, which may communicate externally using nonCORBA mechanisms.
The project team chose IONA Technologies' (Cambridge, Mass.) Orbix as the Object Request Broker (ORB) for implementing CORBA services. Java is primarily used in client-side code because of the strength of Java IDEs for GUI development; C++ is used for the server-side code because of its flexibility, performance, and reliability.
As APCFI evolves, new integration challenges will arise with factory automation software including manufacturing execution systems, processing tools, and supporting applications. Object technology has allowed APCFI to be flexible in integrating with other software products and in deployment in the factory.
IONA Technologies calls itself the world's leading object middleware vendor; its Orbix products are used by more than 3,500 customers and 15,000 developers including, Boeing, Pratt and Whitney, and BHP.