OPC .Net client server toolkits for OPC DA, HDA, AE, XML-DA      Advanced
OPC
Solutions    
         OPC .Net client server toolkits for OPC DA, HDA, AE, XML-DA
Online Tools
- OPC Error Lookup
- ASP.NET Sample Clients
- XML DA Sample Servers
Sign In | My Account | Shopping Cart
Search  
   
* privacy and security Guaranteed  
Compare XML-DA and OPC-DA Login  

Comparing the OPC-DA and XML-DA specification

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:

 
OPC DA
XML-DA
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.

 

 

 

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