QuickOPC User's Guide and Reference
SubscribeDataChange(IEasyUAClient,UAEndpointDescriptor,UANodeDescriptor,Int32,UADataChangeFilter,Object) Method



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA Namespace > IEasyUAClientExtension Class > SubscribeDataChange Method : SubscribeDataChange(IEasyUAClient,UAEndpointDescriptor,UANodeDescriptor,Int32,UADataChangeFilter,Object) Method
The client object that will perform the operation.
Endpoint descriptor. Identifies the OPC-UA server.
Node descriptor. Identifies the node in OPC server's address space.
The sampling interval (in milliseconds) indicates the fastest rate at which the Server should sample its underlying source for data changes.
The data change filter.
User-defined state object.
Subscribe to a data change. Specify an endpoint descriptor, node id, sampling interval, data change filter (e.g. an absolute deadband) value, and a state object.
Syntax
'Declaration
 
<ExtensionAttribute()>
Public Overloads Shared Function SubscribeDataChange( _
   ByVal client As IEasyUAClient, _
   ByVal endpointDescriptor As UAEndpointDescriptor, _
   ByVal nodeDescriptor As UANodeDescriptor, _
   ByVal samplingInterval As Integer, _
   ByVal dataChangeFilter As UADataChangeFilter, _
   ByVal state As Object _
) As Integer
'Usage
 
Dim client As IEasyUAClient
Dim endpointDescriptor As UAEndpointDescriptor
Dim nodeDescriptor As UANodeDescriptor
Dim samplingInterval As Integer
Dim dataChangeFilter As UADataChangeFilter
Dim state As Object
Dim value As Integer
 
value = IEasyUAClientExtension.SubscribeDataChange(client, endpointDescriptor, nodeDescriptor, samplingInterval, dataChangeFilter, state)

Parameters

client
The client object that will perform the operation.
endpointDescriptor
Endpoint descriptor. Identifies the OPC-UA server.
nodeDescriptor
Node descriptor. Identifies the node in OPC server's address space.
samplingInterval
The sampling interval (in milliseconds) indicates the fastest rate at which the Server should sample its underlying source for data changes.
dataChangeFilter
The data change filter.
state
User-defined state object.

Return Value

The method returns an integer handle that uniquely identifies the monitored item subscription.
Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

The value of an argument is outside the allowable range of values as defined by the invoked method.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

Remarks

You can obtain nodeDescriptor e.g. by calling one of the browsing methods on EasyUAClientCore object.

For filtering with an absolute deadband, you can use an implicit conversion from System.Double to UADataChangeFilter for the dataChangeFilter argument.

 

This method operates (at least in part) asynchronously, with respect to the caller. The actual execution of the operation may be delayed, and the outcome of the operation (if any) is provided to the calling code using an event notification, callback, or other means explained in the text. In a properly written program, this method does not throw any exceptions. You should therefore not put try/catch statements or similar constructs around calls to this method. The only exceptions thrown by this method are for usage errors, i.e. when your code violates the usage contract of the method, such as passing in invalid arguments or calling the method when the state of the object does not allow it. Any operation-related errors (i.e. errors that depend on external conditions that your code cannot reliably check) are indicated by the means the operation returns its outcome (if any), which is described in the text. For more information, see Do not catch any exceptions with asynchronous or multiple-operation methods.
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also