In October 1999 the OPC Foundation announced that it will publish XML schema based on OPC specifications that define application interoperability and communications between disparate industrial automation devices, systems and applications running across the manufacturing enterprise.
In July 2003 the first version of the XML DA specification was released.
XML DA specifies a rather simple web service with eight methods that handle all of the features typically used in the OPC Data Access applications.
The XML DA specification didn't get the attention it deserves, mainly because the OPC Foundation announced the United Architecture specification shortly after the release of XML DA and allocated its resources on this new specification. Another reason is performance concerns. Due to the XML based communication XML DA is much slower than the COM based OPC DA. This caused users to decide for proprietary tunnel solutions instead of XML DA. However, it needs to be noted that XML DA is actually fast enough for many OPC data access applications.
XML DA Characteristics
- Simple to implement
- Limited functionality, Data Access only
- Covers the requirements of most OPC Data Access applications
- Can be used with web service extensions for secure communication
- Much slower than COM based OPC
- Products available
.NET3 (WCF) eliminates many of the web services short comings. The communication can now be configured for either high performance or security.
The XML DA specification defines SOAP messages for requests and responses. With .NET2 the communication is restricted the HTTP transport. With .NET3 (WCF) the communication can be configured in a wide range to include TCP and Pipe transports and many security options. The WCF basicHttp binding is compatible with .NET2.
In January 2004 the OPC Foundation tasked a work group to create the Unified Architecture (OPC UA) specification.
The OPC UA specification was to address the shortcomings of XML DA:
- Integration of all OPC specification allowing alarms and historical data to be accessed in much the same way as current values.
- A communication suitable on device and enterprise level.
These requirements made the OPC UA specification a daunting task and not all of the eleven parts of the OPC UA specification were released at end of 2006.
OPC UA is structured to have the required features for all OPC specifications (Data Access, Alarms&Events, Historical Data, Batch, Commands, Security) in it's base. Therefore the OPC UA base is complex and designed with a network database. A network database by itself is complicated. Due to the difficulty implementing and maintaining the network database model, the simpler relational databases are widely used instead.
To achieve the goal of OPC UA to be suitable on device and enterprise level OPC UA had to be defined for multiple communication implementations. OPC UA is therefore an 'inner' specification that can be accessed through different communications stacks (communication layer implementations) such as web services or a binary communication for high performance device level communication.
OPC UA server and clients not only need to be OPC UA compliant but also need to use a UA compliant communication stack.
The wide flexibility of UA allows servers to be structured in different ways. The UA client development tends to be complex because clients need to be able handle all UA allowed features.
So far UA is mainly used as a PLC interface. There are not yet many UA .NET applications.
OPC .NET 3 (Express Interface)
The Express Interface (Xi) specification was created in 2009 by a number of OPC vendor companies and end of 2009 the OPC Foundation adopted Xi as the OPC .NET 3.0 (WCF) specification.
In March 2010 the specification version 1.1 was released and the first products became available.
In October 2010 the specification version 1.20 was released.
Xi is a Microsoft .NET based interface designed for secure and reliable access to real-time and historical process automation system data. Xi provides a standard, .Net based interface for “classic” OPC server functionality, OPC Data Access (DA), OPC Alarms & Events (A&E) and OPC Historical Data Access (HDA) and represents a natural progression of Microsoft communication technology from Microsoft Component Object Model (COM) to .Net.
Xi provides the same functionality as the classic OPC servers while addressing some of the known shortcomings of classic OPC. The classic OPC servers are based on COM communications, which was state of the art when the OPC specifications were created, but since the introduction of OPC DA in 1996, Microsoft has moved from COM to .Net communications. COM is efficient for local server access but can be difficult to configure for remote server access and problematic for communication through firewalls.
Xi is designed for WCF and can use all current and future WCF communication and security features. Xi adds additional security features designed to combine high security with high performance.
Thanks to the simplicity there are already a number of Xi products on the market.