'Declaration
Property AllowAsynchronousMethod As Boolean
'Usage
Dim instance As _DAClientMode Dim value As Boolean instance.AllowAsynchronousMethod = value value = instance.AllowAsynchronousMethod
bool AllowAsynchronousMethod {get; set;}
'Declaration
Property AllowAsynchronousMethod As Boolean
'Usage
Dim instance As _DAClientMode Dim value As Boolean instance.AllowAsynchronousMethod = value value = instance.AllowAsynchronousMethod
bool AllowAsynchronousMethod {get; set;}
This property is used by following client implementations:
// This example shows how to read 4 items at once synchronously, and display their values, timestamps and qualities. using System; using System.Diagnostics; using OpcLabs.EasyOpc.DataAccess; using OpcLabs.EasyOpc.DataAccess.OperationModel; namespace DocExamples.DataAccess._EasyDAClient { partial class ReadMultipleItems { public static void Synchronous() { // Instantiate the client object. var client = new EasyDAClient(); // Specify that only synchronous method is allowed. By default, both synchronous and asynchronous methods are // allowed, and the component picks a suitable method automatically. Disallowing asynchronous method leaves // only the synchronous method available for selection. client.InstanceParameters.Mode.AllowAsynchronousMethod = false; DAVtqResult[] vtqResults = client.ReadMultipleItems("OPCLabs.KitServer.2", new DAItemDescriptor[] { "Simulation.Random", "Trends.Ramp (1 min)", "Trends.Sine (1 min)", "Simulation.Register_I4" }); for (int i = 0; i < vtqResults.Length; i++) { Debug.Assert(vtqResults[i] != null); if (vtqResults[i].Succeeded) Console.WriteLine("vtqResult[{0}].Vtq: {1}", i, vtqResults[i].Vtq); else Console.WriteLine("vtqResult[{0}] *** Failure: {1}", i, vtqResults[i].ErrorMessageBrief); } } // Example output: // //vtqResult[0].Vtq: 0.00125125888851588 { System.Double} @2020-04-10T15:29:20.642; GoodNonspecific(192) //vtqResult[1].Vtq: 0.344052940607071 {System.Double} @2020-04-10T15:29:20.643; GoodNonspecific(192) //vtqResult[2].Vtq: 0.830410616568378 {System.Double} @2020-04-10T15:29:20.643; GoodNonspecific(192) //vtqResult[3].Vtq: 0 {System.Int32} @1601-01-01T00:00:00.000; GoodNonspecific(192) } }
Rem This example shows how to read 4 items at once synchronously, and display their values, timestamps and qualities. Option Explicit Dim ReadItemArguments1: Set ReadItemArguments1 = CreateObject("OpcLabs.EasyOpc.DataAccess.OperationModel.DAReadItemArguments") ReadItemArguments1.ServerDescriptor.ServerClass = "OPCLabs.KitServer.2" ReadItemArguments1.ItemDescriptor.ItemID = "Simulation.Random" Dim ReadItemArguments2: Set ReadItemArguments2 = CreateObject("OpcLabs.EasyOpc.DataAccess.OperationModel.DAReadItemArguments") ReadItemArguments2.ServerDescriptor.ServerClass = "OPCLabs.KitServer.2" ReadItemArguments2.ItemDescriptor.ItemID = "Trends.Ramp (1 min)" Dim ReadItemArguments3: Set ReadItemArguments3 = CreateObject("OpcLabs.EasyOpc.DataAccess.OperationModel.DAReadItemArguments") ReadItemArguments3.ServerDescriptor.ServerClass = "OPCLabs.KitServer.2" ReadItemArguments3.ItemDescriptor.ItemID = "Trends.Sine (1 min)" Dim ReadItemArguments4: Set ReadItemArguments4 = CreateObject("OpcLabs.EasyOpc.DataAccess.OperationModel.DAReadItemArguments") ReadItemArguments4.ServerDescriptor.ServerClass = "OPCLabs.KitServer.2" ReadItemArguments4.ItemDescriptor.ItemID = "Simulation.Register_I4" Dim arguments(3) Set arguments(0) = ReadItemArguments1 Set arguments(1) = ReadItemArguments2 Set arguments(2) = ReadItemArguments3 Set arguments(3) = ReadItemArguments4 Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient") ' Specify that only synchronous method is allowed. By default, both synchronous and asynchronous methods are allowed, and ' the component picks a suitable method automatically. Disallowing asynchronous method leaves only the synchronous method ' available for selection. Client.InstanceParameters.Mode.AllowAsynchronousMethod = False Dim results: results = Client.ReadMultipleItems(arguments) Dim i: For i = LBound(results) To UBound(results) Dim VtqResult: Set VtqResult = results(i) If VtqResult.Succeeded Then WScript.Echo "results(" & i & ").Vtq.ToString(): " & VtqResult.Vtq.ToString() Else WScript.Echo "results(" & i & ") *** Failure: " & VtqResult.ErrorMessageBrief End If Next
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2012, Windows Server 2016; .NET Core, .NET 5, .NET 6: Linux, macOS, Microsoft Windows