OPC .Net client server toolkits for OPC DA, HDA, AE, XML-DA      Advanced
         OPC .Net client server toolkits for OPC DA, HDA, AE, XML-DA
Online Tools
- OPC Error Lookup
* privacy and security Guaranteed  
Compare XML-DA and OPC-DA Login  

Comparing the XML-DA specification with OPC DA

The OPC-DA and XML-DA specifications standardize device access for different envirnonments:

  • OPC DA
The OPC DA specification bases on (D)COM, which is the foundation of OLE, later renamed to ActiveX.
DCOM is still supported by all Windows systems but is declared a legacy technology be Microsoft and is beeing replaced by .Net.
OPC and DCOM define two interfaces, the Custom interface and the Automation interface. OPC DA servers typically implement the Custom interface and use a wrapper layer to support the Automation interface.

  • XML-DA
The XML-DA specification bases on the web services standards XML, SOAP and WSDL and standardizes the SOAP messages exchanged between cliens and server.
The standardization of messages instead of an application interface allows the implemtation on different operating systems.

The two OPC specifications define a similar functionality but there are fundamental differences due to the different base. The following table lists the main differences:

Classes / Methods Server and group objects with a total of 61 methods.
COM calls are rather fast and OPC-DA defines a large number of relatively simple methods.

Server class with 8 methods.
Web services calls may be slow and XML-DA defines few methods with more complex functionality.
Connection Permanent connection over one session

independent method calls
Asynchronous Calls Read and write methods can be called asynchronously

All methods can be called synchronously or asynchronously.
Browse Browsing one branch is done by a sequence of calls:
BrowseChangePosition, BrowseOPCItemIds for branches, BrowseOPCItemIds for items, GetItemId for each item.

One branch is browsed in a single method call, that has several parameters to define the browse mode and mutliple browse filters.
Read / Write Read/write is handled in the group object, requiring a sequence of method calls: AddGroup, AddItems, Read or Write
This design allows high performance. Item identifier strings are only used in the AddItem method, Read/Write calls use the integer handle returned by Additems.

Each read/write call is independent. An array of item identifiers is passed to the server and it returns an array with values and status information.
Item Properties There are different ways to query and access item properties.

There is one method to query and read item properties
Data Change Callback DataChanged call backs can be defined for Groups. The server calls the client callback method when an item value changes. This feature allows changes to be handled with low latency and low overhead.

Web services do not support callbacks. The client has to poll the server for value changes. XML-DA defines Subscriptions for this purpose. The XML-DA server buffers value changes for all items defined in a subscription and returns all buffered values on a poll. The latency depends on the poll intervall but even on a low poll rate the client gets all value changes.




Comparing the XML-DA specification with the Express Interface

The OPC XML Data Access specification was released in July 2003 and it is used in many applications but hasn't found wide acceptance. This may partly be because there was never much marketing done for XML DA specification and it was overshadowed by UA that was announced shortly after the XML DA release.
The Express Interface (Xi / OPC .NET 3.0) specification was released in March 2010.
XML DA and Xi are both web services based specifications. The main difference is that XML DA is limited to Data Access functionality. XML DA specifies SOAP messages and was initially implemented as .NET2 web services. It can also be implemented on WCF (.NET3 Windows Communication Foundation) and use the WCF communication options in the same way as Xi. The following table compares the specifications in more detail:

OPC XML DA Express Interface (Xi / OPC .NET 3.0)
Specification defines SOAP messages (WSDL). Can be implemented with .NET2 web services or WCF (.NET3) Specification defines WCF (.NET3.5) contracts.
OPC DA (Data Access) functionality only.
The specification is optimized for simplicity.
Combines DA, HDA and AE functionality into one interface.
The specification is designed for secure communication with high performance.
Specification is OPC copyright, available to OPC Foundation members only. Sample code is available to OPC Foundation members. The XML DA WSDL file is available to non-members. Specification and server base code is public domain. It can be downloaded from www.expressinterface.com.  The OPC Foundation provides client and server sample code to its members.
XML DA communication is state-less. There is no Connect/disconnect. Clients can e.g. use only the Read method. Clients need to establish a server context (with proper security) before data can be exchanged.
Clients can easily be created from WSDL with web services tools. Clients should be based on a Xi SDK for compliance reasons.
Secure communication is possible but not enforced. Secure communication is enforced and offers many options.
Only HTTP communication when implemented as .NET2 web service. WCF implementation can use all WCF communication options. All WCF communication options available on server and client machine can be used. For communication with non-Windows systems only basicHttp binding can be used.

Advosol XML DA products:

Advosol Xi products:

home | contact us | return policy | privacy policy | security policy | Copyright © 2018 Advosol Inc. All Rights Reserved.