next up previous contents
Next: OPC XML Data Access Up: Existing Solutions for SOAP Previous: Existing Solutions for SOAP   Contents


OPC - Object Linking and Embedding for Process Control

The OPC Foundation 25 concentrates on delivering standards for greater interoperability between automation/control applications, field system/devices, and business/office applications in the process control industry.

Specifications from OPC do not cover implementation issues by intention. This gives vendors the important option to implement OPC standards by using their specific key technology. On the other hand OPC standards guarantee interoperability between OPC compliant devices by providing standardized interfaces and communication methods.

OPC standards cover many common data exchange situations observed in industrial automation environments. Instead of providing one huge standard, OPC designs specifications for particular communication situations. Historically, OPC concentrated on vertical data exchange and introduced a client/server architecture where enterprise level clients could access data from plant floor devices through so-called ``OPC Data Access'' (OPC DA) servers. These servers aggregate data from fieldbus nodes and present them to the client in an abstract manner. A newer standard also addresses the communication between OPC servers, called ``OPC Data Exchange'' (OPC DX). figure 17 depicts the client/server server/server communication abilities of OPC compliant devices.

Figure 17: Data flow between OPC servers
\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/opc-clientserver.eps}\end{figure}

Historically, OPC used COM/DCOM as key technology, which forced users of these standards to use Microsoft Windows-based environments26. OPC now concentrates on SOAP Web Services technology and has released two related standards.

OPC defines so-called interfaces which describe accessing data by different protocols or programming languages as depicted in figure 18:

Custom Interface:
This is the basic interface which is directly based on COM/DCOM and is programmed with Microsoft Visual C++. The OPC Custom Interface describes base concepts and capabilities and provides a base for all other interfaces.
Automation Interface:
This interface enables accessing data with Microsoft Visual Basic 5.0. As Visual Basic can be embedded in various Microsoft applications, such as Excel or Access, this is an easy way to read and write data from OPC servers and embed data into office applications.
SOAP Interface:
This is the next step taken by OPC to improve interoperability by providing an interface based on open standards like XML, SOAP and WSDL. Moreover, Microsoft's .NET framework relies on the SOAP Web Services technology and promotes it as the successor of COM/DCOM.

Figure 18: Available interfaces to OPC servers
\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/opc-interfaces.eps}\end{figure}

OPC introduces three objects which establish hierarchical data access (see also figure 19).

1. OPC Items:
These Components can be seen as data sources and provide the actual plant floor data in an abstracted way. Every Item consists of the following data:

Value:
This object contains the actual data of a plant floor device. It can be provided in various data formats, like strings, integers or more complex formats like enumerations or arrays. All available data formats and necessary conversion rules are specified by the OPC standards.

Quality:
This data is modeled as a bit mask with predefined options27 that are used to express common states of the value from plant floor devices.

Timestamp:
Data transferred from fieldbus devices to an OPC Client over a gateway OPC Server takes an unspecified amount of time. Therefore a timestamp field is transported together with the actual data to inform the client when the data was valid.

Associated to each item are so-called ``Item Properties'' that provide various information and configuration options about the item, such as its data type, the data range or its precision. The OPC standards provide several common properties and further allow vendors to add their own custom Item Properties.

2. OPC Groups:
OPC Groups aggregate OPC Items and provide clients a way to organize data.28
3. OPC Servers:
This component is the top level object and contains one or multiple OPC Groups. OPC Servers maintain information about themselves, like status information and provide configuration functions to OPC Clients. One Internet/fieldbus gateway may run multiple OPC Servers. The definition and configuration of the server address space29 is not specified and is left open. The address space might be fixed, or dynamically assigned; it could be configured outside of the OPC environment or configured at startup of the server.

Figure 19: Available interfaces to OPC servers
\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/opc-objects.eps}\end{figure}

OPC provides specifications for various common tasks in the industrial automation. The following list gives an overview of significant OPC standards:

OPC Data Access Custom Interface Specification:
This is a basic standard that describes data access (DA) provided by OPC servers via COM/DCOM. The current release of the standard is version 3.0 and provides only limited compatibility to previous releases, such as version 1.0 or 2.05a. OPC DA is the base for many other standards that are designed as companion standards to this specification. Further references can be found in [OPCDA].
OPC Data Access Automation Interface Specification:
This standard is a complement to the OPC DA custom interface and provides data access with Visual Basic 5.0 applications.
OPC XML Data Access (XML-DA) Specification:
XML-DA is also a companion to the OPC DA custom interface and enables data access by means of the SOAP Web Service technology. In depth specifications can be found in [OPCXMLDA].
OPC Complex Data Specification:
The OPC DA standard specifies the data transfer of simple data types, like integers, strings or arrays. The OPC Complex Data Specification describes accessing and representing complex data and is meant as a complement to the OPC DA standard. The standard utilizes XML and XML-Schema for defining complex data types.
OPC Data Exchange (DX) Specification:
The OPC DA standards are designed and limited to vertical data exchange. As also communication between OPC servers is required, OPC created the OPC DX standard that describes horizontal data exchange between OPC servers. OPC DX servers incorporate an OPC DA server and rely on XML/SOAP technology.
OPC Alarms and Events Custom Interface:
This standard specifies interfaces to alarm and event systems that are often needed in industrial automation environments.
OPC Historical Data Access Specification:
This standard is only loosely coupled with other standards and is designed for retrieving historical data from dedicated servers by means of COM/DCOM technology.



Subsections
next up previous contents
Next: OPC XML Data Access Up: Existing Solutions for SOAP Previous: Existing Solutions for SOAP   Contents
Hermann Himmelbauer 2006-09-27