By Eric Murphy, columnist
By now everyone will have heard of the OPC industrial connectivity standards. Many people will be familiar with the most popular and widely installed specification, OPC Data Access (OPC DA). Those savvier about Classic OPC will know the OPC HDA, OPC A&E or the OPC Security specifications that deal with historical data, alarms and events and security. Some will also know about the next generation of industrial connectivity - OPC Unified Architecture (OPC UA) and most recently OPC Express Interface (OPC Xi).
Together the Classic, UA and Xi specifications make up the OPC Technology Portfolio. So what exactly differentiates these various technologies, and how do they all fit together to meet end-user needs?
What is 'OPC'?
For the few who may not know, the first OPC specification was introduced over ten years ago. OPC was formally an acronym for OLE (Object Linking and Embedding) for Process Control. Over the years, OPC grew beyond these original technologies, and is now used in a wide variety of applications outside of Process Control.
OPC now stands for 'open connectivity in industrial automation and the enterprise'. There are currently several standard OPC specifications that have been developed and maintained and they all strive to ensure complete system interoperability. Based on fundamental standards and technology of the general computing market, the OPC Foundation adapts and creates specifications that fill industry-specific needs.
Classic OPC: Solid Foundation of Connectivity
Classic OPC is a series of standards specifications. The first standard (originally called simply the OPC Specification and now called the Data Access Specification) resulted from the collaboration of a number of leading worldwide automation suppliers working in cooperation with Microsoft. This first OPC specification was a simplified interface for moving real time data. Originally based on Microsoft's OLE COM (component object model) and DCOM (distributed component object model) technologies, the specification defined a standard set of objects, interfaces and methods for use in process control and manufacturing automation applications to facilitate interoperability. The COM/DCOM technologies provided the framework for software products to be developed, resulting in hundreds of OPC Data Access servers and clients used in thousands of implementations around the world. These successes led to the release of additional specifications that targeted historical data, alarms and events, batch, complex data and data security. Each of these follow up specifications also had varying degrees of successful adoption.
The primary target implementation for Classic OPC was standardized connectivity between the device and control system layer, and Windows based visualization, supervisory control and historization applications. Although these scenarios represent the largest portion of OPC implementations, the benefits of standardized data connectivity have led to OPC being used in countless other applications and data communications systems.
OPC UA: Bringing the Big Picture Together
The primary purpose of the classic OPC specifications was to solve the integration problem between devices and PC based client applications. The automation industry's desire for connectivity standardization has led to OPC being used in a wider range of applications than was originally considered. The scope extended to enterprise level interoperability, which includes applications from the field level all the way to the realm of Enterprise Report Planning software, across multiple hardware platforms, and in globally diverse installations. As technology and market requirements changed, so did the interoperability standards. Therefore, OPC UA was designed to extend the scope of the classic OPC specifications and represent a transition from device connectivity to enterprise wide data connectivity. OPC UA is based on a Service Oriented Architecture (SOA), which is designed to be interoperable across different operating systems and development languages.
The OPC UA architecture encompassed and unified the functional data format for real-time, historical, event based and batch information. Removing the functionality overlap present in the Classic specifications improves interoperability in enterprise wide systems. OPC UA also provides recognition of data semantics by allowing client applications to discover the object and data types. Servers are also able to define semantic relationships between objects, allowing clients to discover them as they browse the address space. These features permit OPC servers to represent data in terms of industry-standard as well as vendor-specific information models. OPC UA also defines enhanced features to support robustness and redundancy, which provide for more consistency in the reliability and behavior of OPC servers.
OPC Xi: The Right Solution for the Right Need
The most recent OPC addition, OPC Xi (Express Interface), is a Microsoft .NET interface designed for secure and reliable access to automation systems. There is a segment of users with Classic OPC implementations wanting to integrate Microsoft .NET based applications with their data access architecture, or users wanting the functionality of Classic OPC without the reliance on COM/DCOM. OPC Xi provides an integrated set of methods for accessing both run-time and historical data, events, and alarms. It has been designed for fast and secure communication through firewalls and for simple implementation and use. OPC Xi defines a Service Oriented Architecture (SOA) that is based on MMS (Manufacturing Messaging Service) and WCF (Windows Communication Foundation). OPC Xi represents a connectivity option for those looking for a more integrated, secure and robust technology than Classic OPC, yet do not require the enterprise encompassing feature set of OPC UA. The right solution for the right need.
Ultimate Interoperability: Universal Connectivity
It is clear that each of the three core OPC technologies has some areas of overlap, but each has been designed for a core competency. In order to ensure system integration, the three technologies share common data access concepts, which make them complementary and very compatible. It is expected that many OPC users will continue to leverage their existing Classic OPC architectures, while expanding or evolving them to incorporate OPC UA and/or OPC Xi components.
Although the three technologies are complementary, dependencies on underlying technology and other design considerations prevent them from being directly interoperable. For example, a native OPC UA or OPC Xi client would require a proxy interface or gateway application in order to communicate with a Classic OPC server. Fortunately universal connectivity servers that support all three OPC technologies (Classic, UA and Xi) already exist on the market and are tested against the stringent interoperability standards outlined by the OPC Foundation. Such universal connectivity products will allow end users to choose the OPC product that best suits their needs without interoperability worries or concerns about the 'shelf –life' of a given technology.