'Declaration
Property Isolated As Boolean
'Usage
Dim instance As _EasyUAClient Dim value As Boolean instance.Isolated = value value = instance.Isolated
bool Isolated {get; set;}
Property Value
The default value of this property is False
.
'Declaration
Property Isolated As Boolean
'Usage
Dim instance As _EasyUAClient Dim value As Boolean instance.Isolated = value value = instance.Isolated
bool Isolated {get; set;}
The default value of this property is False
.
The getter method of this property is pure, i.e. it does not have observable side effects.
This member or type is for use from COM. It is not meant to be used from .NET or Python. Refer to the corresponding .NET member or type instead, if you are developing in .NET or Python.
This method or property does not throw any exceptions, aside from execution exceptions such as System.Threading.ThreadAbortException or System.OutOfMemoryException.
// This example shows how to create and use two isolated client objects, resulting in two separate connections to the target // OPC UA server. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using System.Diagnostics; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { class Isolated { public static void Main1() { UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) // or "https://opcua.demo-this.com:51212/UA/SampleServer/" // Instantiate the client objects and make them isolated var client1 = new EasyUAClient { Isolated = true }; var client2 = new EasyUAClient { Isolated = true }; // The callback is a local method the displays the value void DataChangeCallback(object sender, EasyUADataChangeNotificationEventArgs eventArgs) { Debug.Assert(!(eventArgs is null)); string displayPrefix = $"[{eventArgs.Arguments.State}]"; if (eventArgs.Succeeded) { Debug.Assert(!(eventArgs.AttributeData is null)); Console.WriteLine($"{displayPrefix} {eventArgs.AttributeData}"); } else Console.WriteLine($"{displayPrefix} *** Failure: {eventArgs.ErrorMessageBrief}"); } Console.WriteLine("Subscribing..."); client1.SubscribeDataChange(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", 1000, DataChangeCallback, state: 1); client2.SubscribeDataChange(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", 1000, DataChangeCallback, state: 2); Console.WriteLine("Processing data change events for 10 seconds..."); System.Threading.Thread.Sleep(10 * 1000); Console.WriteLine("Unsubscribing..."); client1.UnsubscribeAllMonitoredItems(); client2.UnsubscribeAllMonitoredItems(); Console.WriteLine("Waiting for 2 seconds..."); System.Threading.Thread.Sleep(2 * 1000); } } }
' This example shows how to create and use two isolated client objects, resulting in two separate connections to the target ' OPC UA server. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports System.Windows.Forms.AxHost Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Partial Class Isolated Public Shared Sub Main1() ' Define which server we will work with. Dim endpointDescriptor As UAEndpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' or "http://opcua.demo-this.com:51211/UA/SampleServer" (currently not supported) ' or "https://opcua.demo-this.com:51212/UA/SampleServer/" ' Instantiate the client objects and make them isolated Dim client1 = New EasyUAClient() With {.Isolated = True} Dim client2 = New EasyUAClient() With {.Isolated = True} ' The callback is a local method the displays the value Dim dataChangeCallback = Sub(ByVal sender As Object, ByVal eventArgs As EasyUADataChangeNotificationEventArgs) Debug.Assert(eventArgs IsNot Nothing) Dim displayPrefix As String = $"[{eventArgs.Arguments.State}]" If eventArgs.Succeeded Then Debug.Assert(eventArgs.AttributeData IsNot Nothing) Console.WriteLine($"{displayPrefix} {eventArgs.AttributeData}") Else Console.WriteLine($"{displayPrefix} *** Failure: {eventArgs.ErrorMessageBrief}") End If End Sub Console.WriteLine("Subscribing...") client1.SubscribeDataChange(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", 1000, dataChangeCallback, state:=1) client2.SubscribeDataChange(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", 1000, dataChangeCallback, state:=2) Console.WriteLine("Processing data change events for 10 seconds...") Threading.Thread.Sleep(10 * 1000) Console.WriteLine("Unsubscribing...") client1.UnsubscribeAllMonitoredItems() client2.UnsubscribeAllMonitoredItems() Console.WriteLine("Waiting for 2 seconds...") Threading.Thread.Sleep(2 * 1000) End Sub End Class End Namespace
# This example shows how to create and use two isolated client objects, resulting in two separate connections to the # target OPC UA server. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc import time # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.OperationModel import * # The callback is a regular method the displays the value. def dataChangeCallback(sender, eventArgs): displayPrefix = '[{}]'.format(eventArgs.Arguments.State) if eventArgs.Succeeded: assert eventArgs.AttributeData is not None print(displayPrefix + ' Value: ' + '{}'.format(eventArgs.AttributeData.Value) + '\n', end='') else: print(displayPrefix + ' *** Failure: ' + eventArgs.ErrorMessageBrief + '\n', end='') endpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:51210/UA/SampleServer') # or 'http://opcua.demo-this.com:51211/UA/SampleServer' (currently not supported) # or 'https://opcua.demo-this.com:51212/UA/SampleServer/' # Instantiate the client objects and make them isolated. client1 = EasyUAClient() client1.Isolated = True client2 = EasyUAClient() client2.Isolated = True print('Subscribing...') IEasyUAClientExtension.SubscribeDataChange(client1, endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853'), 1000, EasyUADataChangeNotificationEventHandler(dataChangeCallback), 1) # state IEasyUAClientExtension.SubscribeDataChange(client2, endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853'), 1000, EasyUADataChangeNotificationEventHandler(dataChangeCallback), 2) # state print('Processing data change events for 10 seconds...') time.sleep(10) print('Unsubscribing...') client1.UnsubscribeAllMonitoredItems() client2.UnsubscribeAllMonitoredItems() print('Waiting for 2 seconds...') time.sleep(2) print('Finished.')