Specifies that you wish that the
EasyDAClient object instance works with an "isolated" connection to the OPC server, i.e. one that is not shared with other instances.
Syntax
public bool Isolated {get; set;}
public:
property bool Isolated {
bool get();
void set ( bool value);
}
'Declaration
Public Property Isolated As Boolean
'Usage
Dim instance As EasyDAClient
Dim value As Boolean
instance.Isolated = value
value = instance.Isolated
Example
// This example shows how to create and use two isolated client objects, resulting in two separate connections to the target
// OPC DA server.
using System;
using System.Diagnostics;
using System.Threading;
using OpcLabs.EasyOpc.DataAccess;
using OpcLabs.EasyOpc.DataAccess.OperationModel;
namespace DocExamples.DataAccess._EasyDAClient
{
class Isolated
{
public static void Main1()
{
// Instantiate the client objects and make them isolated
var client1 = new EasyDAClient { Isolated = true };
var client2 = new EasyDAClient { Isolated = true };
// The callback is a local method the displays the value
void ItemChangedCallback(object sender, EasyDAItemChangedEventArgs eventArgs)
{
Debug.Assert(!(eventArgs is null));
Console.Write($"[{eventArgs.Arguments.State}] ");
if (eventArgs.Succeeded)
{
Debug.Assert(!(eventArgs.Vtq is null));
Console.WriteLine(eventArgs.Vtq.ToString());
}
else
Console.WriteLine("*** Failure: {0}", eventArgs.ErrorMessageBrief);
}
Console.WriteLine("Subscribing...");
client1.SubscribeItem("", "OPCLabs.KitServer.2", "Simulation.Random", 1000, ItemChangedCallback, state: 1);
client2.SubscribeItem("", "OPCLabs.KitServer.2", "Simulation.Random", 1000, ItemChangedCallback, state: 2);
Console.WriteLine("Processing item changed events for 10 seconds...");
Thread.Sleep(10 * 1000);
Console.WriteLine("Unsubscribing...");
client1.UnsubscribeAllItems();
client2.UnsubscribeAllItems();
Console.WriteLine("Waiting for 2 seconds...");
Thread.Sleep(2 * 1000);
}
}
}
Requirements
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2012 R2, Windows Server 2016; .NET: Linux, macOS, Microsoft Windows
See Also