|
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.
|