'Declaration
<ExtensionAttribute()> Public Overloads Shared Function SubscribeDataChange( _ ByVal client As IEasyUAClient, _ ByVal endpointDescriptor As UAEndpointDescriptor, _ ByVal nodeDescriptor As UANodeDescriptor, _ ByVal samplingInterval As Integer, _ ByVal dataChangeCallback As EasyUADataChangeNotificationEventHandler, _ ByVal state As Object _ ) As Integer
'Usage
Dim client As IEasyUAClient Dim endpointDescriptor As UAEndpointDescriptor Dim nodeDescriptor As UANodeDescriptor Dim samplingInterval As Integer Dim dataChangeCallback As EasyUADataChangeNotificationEventHandler Dim state As Object Dim value As Integer value = IEasyUAClientExtension.SubscribeDataChange(client, endpointDescriptor, nodeDescriptor, samplingInterval, dataChangeCallback, state)
[Extension()] public static int SubscribeDataChange( IEasyUAClient client, UAEndpointDescriptor endpointDescriptor, UANodeDescriptor nodeDescriptor, int samplingInterval, EasyUADataChangeNotificationEventHandler dataChangeCallback, object state )
[Extension()] public: static int SubscribeDataChange( IEasyUAClient^ client, UAEndpointDescriptor^ endpointDescriptor, UANodeDescriptor^ nodeDescriptor, int samplingInterval, EasyUADataChangeNotificationEventHandler^ dataChangeCallback, Object^ state )
Parameters
- client
- The client object that will perform the operation.
This is typically the EasyUAClient object.
The value of this parameter cannot be
null
(Nothing
in Visual Basic). - endpointDescriptor
- Endpoint descriptor. Identifies the OPC-UA server.
Because the UAEndpointDescriptor has implicit conversions from System.String and System.Uri, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a string (representing the endpoint URL, or a so-called OPC UA endpoint descriptor string), or a System.Uri object, in place of this parameter, and the corresponding endpoint descriptor will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the UAEndpointDescriptor.FromString or UAEndpointDescriptor.FromUri static method instead.
Also, because the OpcLabs.EasyOpc.UA.Discovery.UAApplicationElement and OpcLabs.EasyOpc.UA.Discovery.UADiscoveryElement have an implicit conversion to UAEndpointDescriptor, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.Discovery.UAApplicationElement or OpcLabs.EasyOpc.UA.Discovery.UADiscoveryElement (results from OPC UA discovery) in place of this parameter, and the corresponding endpoint descriptor will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can convert a (non-null) OpcLabs.EasyOpc.UA.Discovery.UAApplicationElement or OpcLabs.EasyOpc.UA.Discovery.UADiscoveryElement to UAEndpointDescriptor using the OpcLabs.EasyOpc.UA.Discovery.UAApplicationElement.ToUAEndpointDescriptor or OpcLabs.EasyOpc.UA.Discovery.UADiscoveryElement.ToUAEndpointDescriptor method instead.
If you are using OPC Wizard (for server development), an implicit conversion from EasyUAServerCore can be used in the same way to simply pass the server object in place of this parameter, which will use its OpcLabs.EasyOpc.UA.EasyUAServerCore.EffectiveServerDescriptor property for the connection.
The value of this parameter cannot be
null
(Nothing
in Visual Basic). - nodeDescriptor
- Node descriptor. Identifies the node in OPC server's address space.
Because the UANodeDescriptor has implicit conversions from OpcLabs.EasyOpc.UA.AddressSpace.UANodeId, OpcLabs.EasyOpc.UA.AddressSpace.UANodeElement, OpcLabs.EasyOpc.UA.Navigation.UABrowsePath and System.String, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.AddressSpace.UANodeId object (representing the Id of the OPC UA node), a node element object (from OPC UA browsing), OpcLabs.EasyOpc.UA.Navigation.UABrowsePath object (representing OPC UA absolute browse path), or a string (with expanded node Id text) in place of this parameter, and the corresponding node descriptor will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the UANodeDescriptor.FromString, UANodeDescriptor.FromUABrowsePath, UANodeDescriptor.FromUANodeElement or UANodeDescriptor.FromUANodeId static method instead.
If you are using OPC Wizard (for server development), an implicit conversion from OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode can be used in the same way to simply pass the server node in place of this parameter, which will use its OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode.EffectiveNodeDescriptor property for the operation.
The value of this parameter cannot be
null
(Nothing
in Visual Basic). - samplingInterval
- The sampling interval (in milliseconds) indicates the fastest rate at which the Server should sample its underlying source for data changes.
Valid values of this parameter are in the range from
-1
to2147483647 (Int32.MaxValue)
. - dataChangeCallback
- A callback method to be invoked for each significant monitored item change.
The value of this parameter can be
null
(Nothing
in Visual Basic). - state
- User-defined state object.
The value of this parameter can be
null
(Nothing
in Visual Basic).