Parameters
- readArgumentsArray
- Array of OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments. Array of argument objects specifying what to read from an OPC-UA server.
OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.ComTypes Namespace > _EasyUAClient Interface : ReadMultipleValues Method |
[ElementsNotNull()] [NotNull()] object[] ReadMultipleValues( object readArgumentsArray )
[ElementsNotNull()] [NotNull()] array<Object^>^ ReadMultipleValues( Object^ readArgumentsArray )
'Declaration
<ElementsNotNullAttribute()> <NotNullAttribute()> Function ReadMultipleValues( _ ByVal readArgumentsArray As Object _ ) As Object()
'Usage
Dim instance As _EasyUAClient Dim readArgumentsArray As Object Dim value() As Object value = instance.ReadMultipleValues(readArgumentsArray)
Exception | Description |
---|---|
System.ArgumentNullException |
A 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 status codes of attributes should be 'good'; otherwise, a OpcLabs.BaseLib.OperationModel.ValueResult.Value of that attribute is not valid, and OpcLabs.BaseLib.OperationModel.OperationResult.Exception contains a non-null exception.
The size of the input array will become the size of the output array. The element positions (indices) in the output array are the same as in the input array.
// This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible // to read multiple attributes of the same node. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . using System; using OpcLabs.BaseLib.OperationModel; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { partial class ReadMultipleValues { 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 object. var client = new EasyUAClient(); // Obtain values. By default, the Value attributes of the nodes will be read. ValueResult[] valueResultArray = client.ReadMultipleValues(new[] { new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845"), new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853"), new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855") }); // Display results. foreach (ValueResult valueResult in valueResultArray) { if (valueResult.Succeeded) Console.WriteLine($"Value: {valueResult.Value}"); else Console.WriteLine($"*** Failure: {valueResult.ErrorMessageBrief}"); } // Example output: // //Value: 8 //Value: -8.06803E+21 //Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ } } }
# This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible # to read multiple attributes of the same node. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . #requires -Version 5.1 using namespace OpcLabs.EasyOpc.UA using namespace OpcLabs.EasyOpc.UA.OperationModel # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" [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 object. $client = New-Object EasyUAClient # Obtain values. By default, the Value attributes of the nodes will be read. $valueResultArray = $client.ReadMultipleValues([UAReadArguments[]]@( (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845")), (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853")), (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855")) )) foreach ($valueResult in $valueResultArray) { if ($valueResult.Succeeded) { Write-Host "Value: $($valueResult.Value)" } else { Write-Host "*** Failure: $($valueResult.ErrorMessageBrief)" } } # Example output: # #Value: 8 #Value: -8.06803E+21 #Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^
# This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible # to read multiple attributes of the same node. # # 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 . # 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 * 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 object. client = EasyUAClient() # Obtain values. By default, the Value attributes of the nodes will be read. valueResultArray = IEasyUAClientExtension.ReadMultipleValues(client, [ UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10845')), UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853')), UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10855')), ]) # Display results. for valueResult in valueResultArray: if valueResult.Succeeded: print('Value: ', valueResult.Value, sep='') else: print('*** Failure: ', valueResult.ErrorMessageBrief, sep='') print() print('Finished.')
' This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible ' to read multiple attributes of the same node. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Imports System Imports OpcLabs.BaseLib.OperationModel Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Partial Friend Class ReadMultipleValues 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 object Dim client = New EasyUAClient() ' Obtain values. By default, the Value attributes of the nodes will be read. Dim valueResultArray() As ValueResult = client.ReadMultipleValues(New UAReadArguments() _ { New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845"), New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853"), New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855") } ) ' Display results For Each valueResult As ValueResult In valueResultArray If valueResult.Succeeded Then Console.WriteLine("Value: {0}", valueResult.Value) Else Console.WriteLine("*** Failure: {0}", valueResult.ErrorMessageBrief) End If Next valueResult ' Example output: ' 'Value: 8 'Value: -8.06803E+21 'Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ End Sub End Class End Namespace
// This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible // to read multiple attributes of the same node. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . using System; using OpcLabs.BaseLib.OperationModel; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.AddressSpace; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { partial class ReadMultipleValues { public static void DataType() { 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 object. var client = new EasyUAClient(); // Obtain values. ValueResult[] valueResultArray = client.ReadMultipleValues(new[] { new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845", UAAttributeId.DataType), new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", UAAttributeId.DataType), new UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855", UAAttributeId.DataType) }); // Display results. foreach (ValueResult valueResult in valueResultArray) { Console.WriteLine(); if (valueResult.Succeeded) { Console.WriteLine($"Value: {valueResult.Value}"); var dataTypeId = valueResult.Value as UANodeId; if (!(dataTypeId is null)) { Console.WriteLine($"Value.ExpandedText: {dataTypeId.ExpandedText}"); Console.WriteLine($"Value.NamespaceUriString: {dataTypeId.NamespaceUriString}"); Console.WriteLine($"Value.NamespaceIndex: {dataTypeId.NamespaceIndex}"); Console.WriteLine($"Value.NumericIdentifier: {dataTypeId.NumericIdentifier}"); } } else Console.WriteLine($"*** Failure: {valueResult.ErrorMessageBrief}"); } // Example output: // //Value: SByte //Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 2 // //Value: Float //Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=10 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 10 // //Value: String //Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=12 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 12 } } }
# This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible # to read multiple attributes of the same node. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . #requires -Version 5.1 using namespace OpcLabs.EasyOpc.UA using namespace OpcLabs.EasyOpc.UA.AddressSpace using namespace OpcLabs.EasyOpc.UA.OperationModel # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" [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 object. $client = New-Object EasyUAClient # Obtain values. $valueResultArray = $client.ReadMultipleValues([UAReadArguments[]]@( (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845", [UAAttributeId]::DataType)), (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", [UAAttributeId]::DataType)), (New-Object UAReadArguments($endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855", [UAAttributeId]::DataType)) )) foreach ($valueResult in $valueResultArray) { Write-Host if ($valueResult.Succeeded) { Write-Host "Value: $($valueResult.Value)" [UANodeId]$dataTypeId = $valueResult.Value; if ($dataTypeId -ne $null) { Write-Host "Value.ExpandedText: $($dataTypeId.ExpandedText)" Write-Host "Value.NamespaceUriString: $($dataTypeId.NamespaceUriString)" Write-Host "Value.NamespaceIndex: $($dataTypeId.NamespaceIndex)" Write-Host "Value.NumericIdentifier: $($dataTypeId.NumericIdentifier)" } } else { Write-Host "*** Failure: $($valueResult.ErrorMessageBrief)" } } # Example output: # #Value: SByte #Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2 #Value.NamespaceUriString: http://opcfoundation.org/UA/ #Value.NamespaceIndex: 0 #Value.NumericIdentifier: 2 # #Value: Float #Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=10 #Value.NamespaceUriString: http://opcfoundation.org/UA/ #Value.NamespaceIndex: 0 #Value.NumericIdentifier: 10 # #Value: String #Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=12 #Value.NamespaceUriString: http://opcfoundation.org/UA/ #Value.NamespaceIndex: 0 #Value.NumericIdentifier: 12
# This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also # possible to read multiple attributes of the same node. # # 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 . # 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.AddressSpace import * from OpcLabs.EasyOpc.UA.OperationModel import * 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 object. client = EasyUAClient() # Obtain values. By default, the Value attributes of the nodes will be read. valueResultArray = IEasyUAClientExtension.ReadMultipleValues(client, [ UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10845'), UAAttributeId.DataType), UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853'), UAAttributeId.DataType), UAReadArguments(endpointDescriptor, UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10855'), UAAttributeId.DataType), ]) # Display results. for valueResult in valueResultArray: print() # if valueResult.Succeeded: print('Value: ', valueResult.Value, sep='') if isinstance(valueResult.Value, UANodeId): dataTypeId = valueResult.Value print('dataTypeId.ExpandedText: ', dataTypeId.ExpandedText, sep='') print('dataTypeId.NamespaceUriString: ', dataTypeId.NamespaceUriString, sep='') print('dataTypeId.NamespaceIndex: ', dataTypeId.NamespaceIndex, sep='') print('dataTypeId.NumericIdentifier: ', dataTypeId.NumericIdentifier, sep='') else: print('*** Failure: ', valueResult.ErrorMessageBrief, sep='') print() print('Finished.')
' This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible ' to read multiple attributes of the same node. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Imports System Imports OpcLabs.BaseLib.OperationModel Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.AddressSpace Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Partial Friend Class ReadMultipleValues Public Shared Sub DataType() ' 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 object Dim client = New EasyUAClient() ' Obtain values. Dim valueResultArray() As ValueResult = client.ReadMultipleValues(New UAReadArguments() _ { New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10845", UAAttributeId.DataType), New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10853", UAAttributeId.DataType), New UAReadArguments(endpointDescriptor, "nsu=http://test.org/UA/Data/ ;i=10855", UAAttributeId.DataType) } ) ' Display results For Each valueResult As ValueResult In valueResultArray Console.WriteLine() If valueResult.Succeeded Then Console.WriteLine("Value: {0}", valueResult.Value) Dim dataTypeId = CType(valueResult.Value, UANodeId) If Not dataTypeId Is Nothing Then Console.WriteLine("Value.ExpandedText: {0}", dataTypeId.ExpandedText) Console.WriteLine("Value.NamespaceUriString: {0}", dataTypeId.NamespaceUriString) Console.WriteLine("Value.NamespaceIndex: {0}", dataTypeId.NamespaceIndex) Console.WriteLine("Value.NumericIdentifier: {0}", dataTypeId.NumericIdentifier) End If Else Console.WriteLine("*** Failure: {0}", valueResult.ErrorMessageBrief) End If Next valueResult ' Example output: ' 'Value: SByte 'Value.ExpandedText: nsu = http : //opcfoundation.org/UA/ ;i=2 'Value.NamespaceUriString: http : //opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 2 ' 'Value: Float 'Value.ExpandedText: nsu = http : //opcfoundation.org/UA/ ;i=10 'Value.NamespaceUriString: http : //opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 10 ' 'Value: String 'Value.ExpandedText: nsu = http : //opcfoundation.org/UA/ ;i=12 'Value.NamespaceUriString: http : //opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 12 End Sub End Class End Namespace
// This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible // to read multiple attributes of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . #include "stdafx.h" // Includes "QuickOpc.h", and other commonly used files #include <atlsafe.h> #include "ReadMultipleValues.h" namespace _EasyUAClient { void ReadMultipleValues::Main() { // Initialize the COM library CoInitializeEx(NULL, COINIT_MULTITHREADED); { // Instantiate the client object _EasyUAClientPtr ClientPtr(__uuidof(EasyUAClient)); _UAReadArgumentsPtr ReadArguments1Ptr(_uuidof(UAReadArguments)); ReadArguments1Ptr->EndpointDescriptor->UrlString = //L"http://opcua.demo-this.com:51211/UA/SampleServer"; L"opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; ReadArguments1Ptr->NodeDescriptor->NodeId->ExpandedText = L"nsu=http://test.org/UA/Data/ ;i=10845"; _UAReadArgumentsPtr ReadArguments2Ptr(_uuidof(UAReadArguments)); ReadArguments2Ptr->EndpointDescriptor->UrlString = //L"http://opcua.demo-this.com:51211/UA/SampleServer"; L"opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; ReadArguments2Ptr->NodeDescriptor->NodeId->ExpandedText = L"nsu=http://test.org/UA/Data/ ;i=10853"; _UAReadArgumentsPtr ReadArguments3Ptr(_uuidof(UAReadArguments)); ReadArguments3Ptr->EndpointDescriptor->UrlString = //L"http://opcua.demo-this.com:51211/UA/SampleServer"; L"opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; ReadArguments3Ptr->NodeDescriptor->NodeId->ExpandedText = L"nsu=http://test.org/UA/Data/ ;i=10855"; CComSafeArray<VARIANT> arguments(3); arguments.SetAt(0, _variant_t((IDispatch*)ReadArguments1Ptr)); arguments.SetAt(1, _variant_t((IDispatch*)ReadArguments2Ptr)); arguments.SetAt(2, _variant_t((IDispatch*)ReadArguments3Ptr)); CComVariant vArguments(arguments); // Obtain values. By default, the Value attributes of the nodes will be read. CComSafeArray<VARIANT> results; results.Attach(ClientPtr->ReadMultipleValues(&vArguments)); // Display results for (int i = results.GetLowerBound(); i <= results.GetUpperBound(); i++) { _ValueResultPtr ValueResultPtr = results[i]; _variant_t vString; vString.ChangeType(VT_BSTR, &ValueResultPtr->Value); _tprintf(_T("Value: %s\n"), (LPCTSTR)CW2CT((_bstr_t)vString)); } // Example output: // //Value: 8 //Value: -8.06803E+21 //Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ } // Release all interface pointers BEFORE calling CoUninitialize() CoUninitialize(); } }
// This example shows how to read the Value attributes of 3 different nodes at // once. Using the same method, it is also possible to read multiple attributes // of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . class procedure ReadMultipleValues.Main; var Client: EasyUAClient; ReadArguments1, ReadArguments2, ReadArguments3: _UAReadArguments; Arguments, Results: OleVariant; I: Cardinal; Result: _ValueResult; begin // Instantiate the client object Client := CoEasyUAClient.Create; ReadArguments1 := CoUAReadArguments.Create; ReadArguments1.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments1.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10845'; ReadArguments2 := CoUAReadArguments.Create; ReadArguments2.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments2.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10853'; ReadArguments3 := CoUAReadArguments.Create; ReadArguments3.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments3.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10855'; Arguments := VarArrayCreate([0, 2], varVariant); Arguments[0] := ReadArguments1; Arguments[1] := ReadArguments2; Arguments[2] := ReadArguments3; // Obtain values. By default, the Value attributes of the nodes will be read. TVarData(Results).VType := varArray or varVariant; TVarData(Results).VArray := PVarArray(Client.ReadMultipleValues( PSafeArray(TVarData(Arguments).VArray))); // Display results for I := VarArrayLowBound(Results, 1) to VarArrayHighBound(Results, 1) do begin Result := IInterface(Results[I]) as _ValueResult; WriteLn('Value: ', Result.Value); end; // Example output: // //Value: 8 //Value: -8.06803E+21 //Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ end;
// This example shows how to read the Value attributes of 3 different nodes at // once. Using the same method, it is also possible to read multiple attributes // of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . class procedure ReadMultipleValues.Main; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; ReadArguments1, ReadArguments2, ReadArguments3: _UAReadArguments; Arguments, Results: OleVariant; I: Cardinal; Result: _ValueResult; begin // Instantiate the client object Client := CoEasyUAClient.Create; ReadArguments1 := CoUAReadArguments.Create; ReadArguments1.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments1.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10845'; ReadArguments2 := CoUAReadArguments.Create; ReadArguments2.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments2.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10853'; ReadArguments3 := CoUAReadArguments.Create; ReadArguments3.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments3.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10855'; Arguments := VarArrayCreate([0, 2], varVariant); Arguments[0] := ReadArguments1; Arguments[1] := ReadArguments2; Arguments[2] := ReadArguments3; // Obtain values. By default, the Value attributes of the nodes will be read. TVarData(Results).VType := varArray or varVariant; TVarData(Results).VArray := PVarArray(Client.ReadMultipleValues(Arguments)); // Display results for I := VarArrayLowBound(Results, 1) to VarArrayHighBound(Results, 1) do begin Result := IInterface(Results[I]) as _ValueResult; if Result.Succeeded then WriteLn('Value: ', Result.Value) else WriteLn('results(', I, ') *** Failure: ', Result.ErrorMessageBrief); end; VarClear(Results); VarClear(Arguments); // Example output: // //Value: 8 //Value: -8.06803E+21 //Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ end;
// This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible // to read multiple attributes of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // Instantiate the client object $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); $ReadArguments1 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments1->EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments1->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10845"; $ReadArguments2 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments2->EndpointDescriptor->UrlString = " //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments2->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10853"; $ReadArguments3 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments3->EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments3->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10855"; $arguments[0] = $ReadArguments1; $arguments[1] = $ReadArguments2; $arguments[2] = $ReadArguments3; // Obtain values. By default, the Value attributes of the nodes will be read. $results = $Client->ReadMultipleValues($arguments); // Display results for ($i = 0; $i < count($results); $i++) { $ValueResult = $results[$i]; if ($ValueResult->Succeeded) printf("Value: %s\n", $ValueResult->Value); else printf("*** Failure: %s\n", $ValueResult->ErrorMessageBrief); } // Example output: // //Value: 8 //Value: -8.06803E+21 //Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^
REM This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible REM to read multiple attributes of the same node. REM REM Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Public Sub ReadMultipleValues_Main_Command_Click() OutputText = "" ' Instantiate the client object Dim Client As New EasyUAClient Dim readArguments1 As New UAReadArguments readArguments1.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" readArguments1.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10845" Dim ReadArguments2 As New UAReadArguments ReadArguments2.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments2.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10853" Dim ReadArguments3 As New UAReadArguments ReadArguments3.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments3.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10855" Dim arguments(2) As Variant Set arguments(0) = readArguments1 Set arguments(1) = ReadArguments2 Set arguments(2) = ReadArguments3 ' Obtain values. By default, the Value attributes of the nodes will be read. Dim results() As Variant results = Client.ReadMultipleValues(arguments) ' Display results Dim i: For i = LBound(results) To UBound(results) Dim Result As valueResult: Set Result = results(i) If Result.Succeeded Then OutputText = OutputText & "Value: " & Result.value & vbCrLf Else OutputText = OutputText & "*** Failure: " & Result.ErrorMessageBrief & vbCrLf End If Next ' Example output: ' 'Value: 8 'Value: -8.06803E+21 'Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^ End Sub
Rem This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible Rem to read multiple attributes of the same node. Rem Rem Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Option Explicit ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") Dim ReadArguments1: Set ReadArguments1 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments1.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments1.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10845" Dim ReadArguments2: Set ReadArguments2 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments2.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments2.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10853" Dim ReadArguments3: Set ReadArguments3 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments3.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments3.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10855" Dim arguments(2) Set arguments(0) = ReadArguments1 Set arguments(1) = ReadArguments2 Set arguments(2) = ReadArguments3 ' Obtain values. By default, the Value attributes of the nodes will be read. Dim results: results = Client.ReadMultipleValues(arguments) ' Display results Dim i: For i = LBound(results) To UBound(results) Dim ValueResult: Set ValueResult = results(i) If ValueResult.Succeeded Then WScript.Echo "Value: " & ValueResult.Value Else WScript.Echo "*** Failure: " & ValueResult.ErrorMessageBrief End If Next ' Example output: ' 'Value: 8 'Value: -8.06803E+21 'Value: Strawberry Pig Banana Snake Mango Purple Grape Monkey Purple? Blueberry Lemon^
// This example shows how to read the DataType attributes of 3 different nodes at // once. Using the same method, it is also possible to read multiple attributes // of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . class procedure ReadMultipleValues.DataType; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; ReadArguments1, ReadArguments2, ReadArguments3: _UAReadArguments; Arguments, Results: OleVariant; I: Cardinal; Result: _ValueResult; begin // Instantiate the client object Client := CoEasyUAClient.Create; ReadArguments1 := CoUAReadArguments.Create; ReadArguments1.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments1.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10845'; ReadArguments1.AttributeId := UAAttributeId_DataType; ReadArguments2 := CoUAReadArguments.Create; ReadArguments2.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments2.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10853'; ReadArguments2.AttributeId := UAAttributeId_DataType; ReadArguments3 := CoUAReadArguments.Create; ReadArguments3.EndpointDescriptor.UrlString := //'http://opcua.demo-this.com:51211/UA/SampleServer'; //'https://opcua.demo-this.com:51212/UA/SampleServer/'; 'opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'; ReadArguments3.NodeDescriptor.NodeId.ExpandedText := 'nsu=http://test.org/UA/Data/ ;i=10855'; ReadArguments3.AttributeId := UAAttributeId_DataType; Arguments := VarArrayCreate([0, 2], varVariant); Arguments[0] := ReadArguments1; Arguments[1] := ReadArguments2; Arguments[2] := ReadArguments3; // Obtain values. By default, the Value attributes of the nodes will be read. TVarData(Results).VType := varArray or varVariant; TVarData(Results).VArray := PVarArray(Client.ReadMultipleValues(Arguments)); // Display results for I := VarArrayLowBound(Results, 1) to VarArrayHighBound(Results, 1) do begin Result := IInterface(Results[I]) as _ValueResult; WriteLn; if Result.Succeeded then begin WriteLn('Value: ', Result.Value); WriteLn('Value.ExpandedText: ', Result.Value.ExpandedText); WriteLn('Value.NamespaceUriString: ', Result.Value.NamespaceUriString); WriteLn('Value.NamespaceIndex: ', Result.Value.NamespaceIndex); WriteLn('Value.NumericIdentifier: ', Result.Value.NumericIdentifier); end else WriteLn('results(', I, ') *** Failure: ', Result.ErrorMessageBrief); end; VarClear(Results); VarClear(Arguments); // Example output: // // //Value: SByte //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=2 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 2 // //Value: Float //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=10 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 10 // //Value: String //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=12 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 12 end;
// This example shows how to read the DataType attributes of 3 different nodes at // once. Using the same method, it is also possible to read multiple attributes // of the same node. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . const UAAttributeId_DataType = 14; // Instantiate the client object $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); $ReadArguments1 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments1->EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments1->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10845"; $ReadArguments1->AttributeId = UAAttributeId_DataType; $ReadArguments2 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments2->EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments2->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10853"; $ReadArguments2->AttributeId = UAAttributeId_DataType; $ReadArguments3 = new COM("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments"); $ReadArguments3->EndpointDescriptor->UrlString = //"http://opcua.demo-this.com:51211/UA/SampleServer"; //"https://opcua.demo-this.com:51212/UA/SampleServer/"; "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; $ReadArguments3->NodeDescriptor->NodeId->ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10855"; $ReadArguments3->AttributeId = UAAttributeId_DataType; $arguments[0] = $ReadArguments1; $arguments[1] = $ReadArguments2; $arguments[2] = $ReadArguments3; // Obtain values. By default, the Value attributes of the nodes will be read. $results = $Client->ReadMultipleValues($arguments); // Display results for ($i = 0; $i < count($results); $i++) { $ValueResult = $results[$i]; printf("\n"); if ($ValueResult->Succeeded) { printf("Value: %s\n", $ValueResult->Value); printf("Value.ExpandedText: %s\n", $ValueResult->Value->ExpandedText); printf("Value.NamespaceUriString: %s\n", $ValueResult->Value->NamespaceUriString); printf("Value.NamespaceIndex: %s\n", $ValueResult->Value->NamespaceIndex); printf("Value.NumericIdentifier: %s\n", $ValueResult->Value->NumericIdentifier); } else printf("*** Failure: %s\n", $ValueResult->ErrorMessageBrief); } // Example output: // // //Value: SByte //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=2 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 2 // //Value: Float //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=10 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 10 // //Value: String //Value.ExpandedText: nsu=http://opcfoundation.org/UA/;i=12 //Value.NamespaceUriString: http://opcfoundation.org/UA/ //Value.NamespaceIndex: 0 //Value.NumericIdentifier: 12
Rem This example shows how to read the DataType attributes of 3 different nodes at once. Using the same method, it is also possible Rem to read multiple attributes of the same node. Rem Rem Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Option Explicit Const UAAttributeId_DataType = 14 ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") Dim ReadArguments1: Set ReadArguments1 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments1.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments1.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10845" ReadArguments1.AttributeId = UAAttributeId_DataType Dim ReadArguments2: Set ReadArguments2 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments2.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments2.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10853" ReadArguments2.AttributeId = UAAttributeId_DataType Dim ReadArguments3: Set ReadArguments3 = CreateObject("OpcLabs.EasyOpc.UA.OperationModel.UAReadArguments") ReadArguments3.EndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments3.NodeDescriptor.NodeId.ExpandedText = "nsu=http://test.org/UA/Data/ ;i=10855" ReadArguments3.AttributeId = UAAttributeId_DataType Dim arguments(2) Set arguments(0) = ReadArguments1 Set arguments(1) = ReadArguments2 Set arguments(2) = ReadArguments3 ' Obtain values. Dim results: results = Client.ReadMultipleValues(arguments) ' Display results Dim i: For i = LBound(results) To UBound(results) WScript.Echo Dim ValueResult: Set ValueResult = results(i) If ValueResult.Succeeded Then WScript.Echo "Value: " & ValueResult.Value On Error Resume Next WScript.Echo "Value.ExpandedText: " & ValueResult.Value.ExpandedText WScript.Echo "Value.NamespaceUriString: " & ValueResult.Value.NamespaceUriString WScript.Echo "Value.NamespaceIndex: " & ValueResult.Value.NamespaceIndex WScript.Echo "Value.NumericIdentifier: " & ValueResult.Value.NumericIdentifier On Error Goto 0 Else WScript.Echo "*** Failure: " & ValueResult.ErrorMessageBrief End If Next ' Example output: ' 'Value: SByte 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 2 ' 'Value: Float 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=10 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 10 ' 'Value: String 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=12 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 12
REM This example shows how to read the Value attributes of 3 different nodes at once. Using the same method, it is also possible REM to read multiple attributes of the same node. REM REM Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Public Sub ReadMultipleValues_DataType_Command_Click() OutputText = "" ' Instantiate the client object Dim Client As New EasyUAClient Dim readArguments1 As New UAReadArguments readArguments1.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" readArguments1.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10845" readArguments1.AttributeId = UAAttributeId_DataType Dim ReadArguments2 As New UAReadArguments ReadArguments2.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments2.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10853" ReadArguments2.AttributeId = UAAttributeId_DataType Dim ReadArguments3 As New UAReadArguments ReadArguments3.endpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ReadArguments3.nodeDescriptor.NodeId.expandedText = "nsu=http://test.org/UA/Data/ ;i=10855" ReadArguments3.AttributeId = UAAttributeId_DataType Dim arguments(2) As Variant Set arguments(0) = readArguments1 Set arguments(1) = ReadArguments2 Set arguments(2) = ReadArguments3 ' Obtain values. Dim results() As Variant results = Client.ReadMultipleValues(arguments) ' Display results Dim i: For i = LBound(results) To UBound(results) OutputText = OutputText & vbCrLf Dim Result As valueResult: Set Result = results(i) If Result.Succeeded Then OutputText = OutputText & "Value: " & Result.value & vbCrLf On Error Resume Next OutputText = OutputText & "Value.ExpandedText: " & Result.value.expandedText & vbCrLf OutputText = OutputText & "Value.NamespaceUriString: " & Result.value.NamespaceUriString & vbCrLf OutputText = OutputText & "Value.NamespaceIndex: " & Result.value.NamespaceIndex & vbCrLf OutputText = OutputText & "Value.NumericIdentifier: " & Result.value.NumericIdentifier & vbCrLf On Error GoTo 0 Else OutputText = OutputText & "*** Failure: " & Result.ErrorMessageBrief & vbCrLf End If Next ' Example output: ' 'Value: SByte 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 2 ' 'Value: Float 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=10 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 10 ' 'Value: String 'Value.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=12 'Value.NamespaceUriString: http://opcfoundation.org/UA/ 'Value.NamespaceIndex: 0 'Value.NumericIdentifier: 12 End Sub
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Send Documentation Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.