Home / Library

OPC - PLUG AND PLAY INTEGRATION TO LEGACY SYSTEMS

Copyright © 2000 IEEE


Universal Dynamics Technologies Inc.
100 - 13700 International Place
Richmond, British Columbia V6V 2X8 Canada
www.udgroup.com

Abstract-This paper discusses the use of OLE for Process Control as a medium for connection of third-party applications to legacy control systems. This topic is becoming more important as legacy system users attempt to "open up" their systems to third-party applications. Several approaches to implementing the OLE for Process Control interface to existing systems are discussed, including emulation of field hardware, use of available communication ports, and legacy application nodes. The advantages and disadvantages of implementing each approach will be discussed, including feasibility, performance and cost. A brief overview of the Client-Server paradigm will be provided, as this is the cornerstone of OLE for Process Control communications. Finally, some examples of successful connections to legacy systems will be presented.

Index Terms-OPC, Connectivity, OLE for process control, Connection.

Introduction

Recently, the Windows NT operating system (OS) has enjoyed an increase in popularity within process control industries. Today, many Distributed Control Systems (DCS), Supervisory Control and Data Acquisition (SCADA) systems and Programmable Logic Controller (PLC) systems include operator stations or engineering stations that run Windows NT. These stations are commonly included in DCS, SCADA or PLC systems installed today, and are available for legacy systems. Human Machine Interface (HMI) applications have evolved over the last few years to match SCADA system functionality. Therefore, the term SCADA will also apply to HMI software.

One benefit that the Windows NT operating system provides is several standardized mechanisms providing methods for application communication. These include Dynamic Data Exchange (DDE) and Object Linking and Embedding (OLE). OLE is based on Microsoft's Component Object Model (COM) technology. OLE for Process Control (OPC) is relatively new technology developed by a consortium of companies involved in the process control industries. Because OPC is considered much more robust and efficient than DDE, only OPC will be discussed.

Before the adoption of Windows NT and standard communication mechanisms such as OPC, only applications developed by DCS, SCADA or PLC vendors could access process information through their operator or engineering stations. The exception to this rule was applications developed by third party vendors that utilized a DCS, SCADA or PLC vendors' proprietary Application Programmer's Interface (API) or custom serial or Ethernet protocol. These third party solutions where usually developed for a single DCS, SCADA or PLC system as the cost of interfacing to multiple systems via multiple APIs or protocols was considered too costly. This significantly limited the choices available to end-users searching for specialized applications, each of which may support only one or two APIs or protocols.

Today, standard communications mechanisms within Windows NT such as OPC provide third party vendors with a single API that will furnish communications to many vendors' systems. This system access may be purely through software data transfer or may be through a driver providing access to system process data. Each of these scenarios is depicted in Figs. 1 and 2.

Use of a common interface such as OPC significantly increases the potential number of end users for third party applications. This benefit has meant a dramatic increase in the number of specialized applications available for process control systems. This increase has provided end-users with a wider range of choices for specialized applications including advanced control, trending, data logging, data conditioning, etc. (See Fig. 3.)

Fig. 1. Software Level OPC Communications

Fig. 2. Communications through an OPC Server to a System

Fig. 3. OPC client applications communicating to several OPC servers for access to process data

Client-Server Paradigm

To understand OPC communications, an understanding of the client-server paradigm is important. Within this paradigm, server applications acquire, contain and "serve up" data to client applications. Client applications process data that is made available by server applications. Server applications cannot communicate with each other directly; a client application must be used as a bridge between two or more server applications to facilitate data transfer. (See Fig. 4.)

Similarly, client applications may not communicate directly with each other. Two or more client applications must communicate through a server application. (See Fig. 5.)

Each client application may access data within multiple server applications at the same time. This is an important feature of client-server structure as it means that when a common interface is employed, each client application simply handles data processing, and not interfacing to a variety of data sources. Each server application functions as a connection to a different data source. (See Fig. 6.)

Fig. 4. Server Communication through a Client

Another significant benefit of the client-server paradigm is provision for connection of multiple clients to any server at a given time. This capability provides for an efficient use of data within a system. (See Fig. 7.)

Fig. 5. Client Communication through a Server

Fig. 6. Client Connected to Multiple Servers

Fig. 7. Server Connected to Multiple Clients

Crossing Machine Boundaries

Because OPC is based on COM and an extension of COM - the Distributed Component Object Model (DCOM) may be used to extend OPC client-server communications across machine boundaries. What this means is that OPC clients and servers may communicate while each runs on a separate computer, providing each of those computers is connected by a Local Area Network (LAN). This LAN connection may include a network server or exist as a simple peer-to-peer connection. This feature of OPC provides systems with the ability to more efficiently process data as data processing elements (OPC clients) may each be run on dedicated hardware and will not have to share resources with other data processing elements. (See Fig. 8.)

Fig. 8. OPC Client Server Connection across Machine Boundaries

Available Connections to DCS Systems

OPC technology may be used to provide a common interface to new and existing legacy DCS systems in a variety of forms. These forms may be categorized three ways as indicated below:

  • Modbus
  • Serial or Ethernet Port
  • Application Node

Modbus Communications

Many DCS systems include Modbus communications capability. Modbus communications have been included in such systems to provide communications to smart Modbus field devices. Such devices may include process analyzers, control valves, weigh scales, etc. OPC server software capable of emulating a Modbus device is available. This software responds to DCS read and write requests over the Modbus link. To provide up to date process information, DCS systems must actively write data to and read data from the OPC server over Modbus. Third party applications running within Windows NT may access process data over the OPC link. (See Fig. 9.)

Fig. 9. OPC Server Connected as Modbus Slave to DCS System

Communications via a Serial or Ethernet Port

For DCS systems, that do not support Modbus communications, a proprietary protocol over a serial or Ethernet communication link may be available. Many third party driver developers have OPC server software available that use such links. Using this type of connection, the OPC server does not function passively as it would when emulating a Modbus device. In this type of connection, the OPC server reads and writes process data to and from the DCS. This may prove beneficial, as fewer DCS configuration changes are required. Another benefit that this type of connection may provide, over standard Modbus, is increased bandwidth (communication throughput). (See Fig. 10.)

Communications via an Application Node

Many DCS systems have application nodes available. These nodes are provided to customers as a platform on which applications developed by third party vendors may be run with access to process data. For such application nodes, OPC server functionality may be included. Applications nodes typically are connected to DCS systems as an IBM compatible PC running Windows NT. (See Fig. 11.)

Fig. 10. OPC Server Connected via Serial or Ethernet Connections to DCS System

Fig. 11. OPC Server Connected to DCS System Application Node Software

Economical and Technical Considerations

Typically, utilization of an existing Modbus interface is the cheapest method of connecting to DCS hardware using an OPC interface. This is due to the low cost of a very common Modbus Slave OPC server and due to the low cost of implementing and extension to existing Modbus wiring. OPC server software that utilizes an available serial or Ethernet communication link is typically four or five times as expensive as is the Modbus Slave OPC server software. This cost difference may be explained by the fact that OPC software that uses a proprietary serial or Ethernet link is less common and more proprietary. The most expensive mechanism for connection to DCS systems is usually an application node. As DCS equipment, the application node cost and any required licensing costs typically associated with this node could be quite significant. This high cost may be offset by the ease of installation typically associated with these nodes and the consideration that no wiring costs are incurred when connecting to them while running on the same PC.

Connection to PLC Systems

Communication to PLC systems (or, in fact, SCADA hardware) is similar to serial or Ethernet communications to DCS hardware discussed above. OPC server software utilizing a serial or network connection to PLC hardware may be employed to provide the common OPC interface to application software. Many vendor and third-party OPC servers are available for popular PLC hardware. (See Fig. 12.)

Fig. 12. OPC Server Connected to PLC Hardware

Connection to SCADA Systems

Most popular SCADA software available today includes OPC server functionality. For those few software applications that do not include this functionality, third party solutions may be available. OPC client applications may simply be "plugged in" to process data within these software packages. (See Fig. 13.)

Fig. 13. OPC Server Connected to SCADA

References

[1] "OPC Data Access Specification, OPC Foundation 1.0A, 1997 at website: http://www.opcfoundation.org.

[2] Dale Rogerson, "Inside COM-Microsoft's Component Object Model," Microsoft Press, 1997.

[3] Kraig Brockschmidt, "Inside OLE", Microsoft Press, 2nd Ed., 1995.