OPC Primer

OPC (OLE [object linking and embedding] for Process Control) is basically a link between two pieces of software, with one called the client and the other the server. On this link, the client software (or program) makes a service request (asks for data) from the server, which then fulfills the request. Although the concept of client/server in OPC can be used within a single computer, the communications model of OPC provides a simple and convenient way to connect programs that are distributed over networks.

By Control Engineering Staff September 11, 2003

OPC (OLE [object linking and embedding] for Process Control) is basically a link between two pieces of software, with one called the client and the other the server. On this link, the client software (or program) makes a service request (asks for data) from the server, which then fulfills the request. Although the concept of client/server in OPC can be used within a single computer, the communications model of OPC provides a simple and convenient way to connect programs that are distributed over networks.

OPC is a very simple standard in reality, and any product that is OPC-compatible will connect directly to any other OPC product without any coding. Typical clients would be PCs running OPC-compatible SCADA, Visual Basic programs, human-machine interface systems or ERP/MRP systems.

Since OPC servers only transmit refreshed (or altered) information to the client(s), rather than transmitting every data field, it gives a fast update speed—a prerequisite in most systems. This selective data refresh provides a quick update to the connected software, allowing operators true real-time control of connected equipment.

Internally, OPC is based on Microsoft’s COM/DCOM which is an open, published protocol used to link Microsoft products and other software. OPC consists of a number of separate functions (or specifications) that can be achieved using the open standard software. These range from data access, batch, alarms and events, to data exchange and secu-rity activities. The main specification used in most applications is data access, which allows a user to map tag addresses of a connected device to OPC. With data access, OPC will automatically establish a data connection to the device (i.e., a data register in a PLC), giving simple fast continuous access to equipment information together [Note: The OPC Foundation recently released OPC-DX 1.0 (Data eXchange), which supports both DCOM-based data access servers and XML data access servers].

OPC can also be distributed over physical networks permitting distribution of clients and servers. Any number of OPC clients can connect to one OPC server, with the practical limitation being dependant on factors such as how often data is requested, how much data is transferred, and hardware restrictions.

How open is OPC and how can it help me?

An OPC product is an automation software program conforming to an OPC specification. All the OPC specifications are maintained by the OPC Foundation, which is an independent, non-profit organization dedicated to the further development of OPC technology. Since an OPC server is based on an open standard, users devote less time on software con-nectivity issues and have more time with application issues, eliminating a significant amount of duplication in effort.

A major benefit of an OPC solution is the vendor and application front-end independence. OPC provides an easy-to-manage scalability, permitting expansion of the system us-ing any manufacturer’s OPC compatible client/server products, allowing users to choose best in class software, without being restricted by the number of tags (unlike most SCADA systems).

This article was written by Bengt Salomonsson, vice president of Beijer electronics USA , a manufacturer of operator terminals. Beijer also offers an OPC Server product for connecting OPC software directly to low-level automation devices. For more information, visit the Beijer and OPC websites.

—David Greenfield, Editorial Director, Control Engineering, dgreenfield@reedbusiness.com