OPC
Previous  Top  Next

OPC History

OPC is an industry standard created in a collaboration of a number of leading worldwide automation and hardware software suppliers working in cooperation with Microsoft. The organization that manages this standard is the OPC Foundation
. The Foundation has over 500 members from around the world, including all of the world's major providers of control systems, instrumentation, and process control systems.

Originally based on Microsoft's OLE COM (component object model) and DCOM (distributed component object model) technologies OPC defined a standard set of objects, interfaces and methods for use in process-control and manufacturing-automation applications to facilitate inter operability. The COM/DCOM technologies provided the framework for software products to be developed such that upward migration and support of legacy applications is provided as the foundation.

OPC provides common standard interfaces for the sole purpose of facilitating inter operability between software components for a variety of different applications. Different specifications have been specified to provide standard interfaces to address the various needs of the overall industrial automation marketplace, inclusive of supporting new technology and the ever changing needs of the marketplace.


OPC Fundamentals

OLE for process control (OPC) is a standard mechanism for communicating to numerous data sources. It is an open and effective communication architecture concentrating on data access.

OPC was based on Microsoft's OLE/COM (DCOM) technology for data exchange between applications. The OPC was designed by OPC Foundation organization.

The architecture of OPC is a client-server model. OPC servers and OPC clients may be provided by different vendors (vendor independence). More than one OPC clients can be connected to one OPC server at the same time (multi-client access). An OPC Client can connect to OPC servers running on different nodes of the network (network access).


OPC Servers

OPC servers can be divided into following types:
 
·   OPC Data Access  
·   OPC Alarms & Events  
·   OPC Batch  
·   OPC Data eXchange  
·   OPC Historical Data Access  
·   OPC Security  
·   OPC XML-DA  
·   OPC Complex Data  
·   OPC Commands  
·   OPC UA     

OPC DataAccess Servers provide the access mechanism for OPC Clients to get the current state of the device sources.

OPC Alarm&Event Servers provide the mechanisms for OPC Clients to be notified of the occurrence of specified events and alarm conditions. Provides alarm and event notifications on demand (in contrast to the continuous data flow of Data Access). These include process alarms, operator actions, informational messages, and tracking/auditing messages.

OPC Data eXchange specification takes us from client/server to server-to-server with communication across Ethernet fieldbus networks. This provides multi-vendor interoperability! It adds remote configuration, diagnostic and monitoring/management services.


OPC Historical Data Access - where OPC Data Access provides access to real-time, continually changing data, OPC Historical Data Access provides access to data already stored. From a simple serial data logging system to a complex SCADA system, historical archives can be retrieved in a uniform manner.

OPC Security - All the OPC servers provide information that is valuable to the enterprise and if improperly updated, could have significant consequences to plant processes. OPC Security specifies how to control client access to these servers in order to protect this sensitive information and to guard against unauthorized modification of process parameters.

OPC XML-DA was developed to provide flexible, consistent rules and formats for exposing plant floor data using XML, leveraging the work done by Microsoft and others on BizTalk, SOAP, and other XML frameworks.

OPC Complex Data is companion specification to Data Access and XML-DA that allows servers to expose and describe more complicated data types such as binary structures and XML documents.

OPC Commands -set of interfaces that allow OPC clients and servers to identify, send and monitor control commands which execute on a device.

OPC Unified Architecture is new set of specifications that are not based on Microsoft COM that will provide standards based cross-platform capability.

vision of interoperability in multi vendor systems has become a reality, via the OPC standards. Certification is the process of ensuring that applications meet the standards. OPC Certification programs include Self-Certification, Interoperability Workshops and 3rd party testing by Independent Certification Test Labs.

clip0118

Figure: Tool to provide compliance test

OPC Server interfaces

An OPC client application communicates with an OPC server through the specified custom and automation interfaces. The custom interface can be used by function pointer oriented languages, such as C++. The automation interface can be used by script languages, such as Visual Basic. OPC servers must implement the custom interface, and optionally may implement the automation interface. OPC Foundation provides a standard automation interface wrapper, which can be used by any custom-server.

clip0053  
Figure OPC client / OPC server cooperation over custom or automation interface.

OPC Data Access Server

All OPC DA Servers are comprised of several objects: the server, the group, and the item.
The OPC server object maintains information about the server and serves as a container for OPC group objects. It provides functions such as getting of the server status information and browsing of the servers address space. The server address space is a set of all available data items of the server.

The OPC group object enables to group data items. Also, it enables data exchange between OPC server and OPC client. The OPC client can periodically read and write data to the items in the group. Also, the OPC group object enables to create exception based connections between the client and the items in the group. An OPC client can configure the rate at which an OPC server should provide the data changes to the OPC client.

The OPC item objects represent connections to data sources within the server. An OPC item, from the custom interface perspective, is not accessible as an object by an OPC client. Therefore, there is no external interface defined for an OPC item. All access to OPC items is via an OPC group object that "contains" the OPC item, or simply where the OPC item is defined.

The OPC item object is accessible as an object only from the automation interface perspective. It enables to maintain the item status and to read and write to the item.

All objects - server object, group objects and item objects are COM-objects. The methods of the objects are organized into logical groups - interfaces. These interfaces are common for all OPC servers. The OPC servers must have all required interfaces implemented. Some of the interfaces are optional. Optional interfaces do not have to be implemented.

clip0066  
Figure: OPC server / OPC client - mapping of data

Data in the OPC server are organized either flat or in a tree structure. OPC server consists of devices, which can have items (tags) defined. Clients can than access signle items in the server or groups of items. On the side of a client it is created a tree structure, which includes groups that have items defined. The groups in general are not the same as the devices in the OPC server (but could be) and different client can have different groups of items defined. Single items could be repeated in the same client in the several groups. For each group, client can define different properties - for example different time of reading values of items in the group.

 


Send feedback on this topic.
Copyright © 2004-2013, SAE - Automation, s.r.o. (Ltd.), All rights reserved.