Parameters
- client
- The client object that will perform the operation.
- endpointDescriptor
- Endpoint descriptor. Identifies the OPC-UA server.
- nodeDescriptor
- Node descriptor. Identifies the node in OPC server's address space.
OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA Namespace > IEasyUAClientExtension Class > BrowseProperties Method : BrowseProperties(IEasyUAClient,UAEndpointDescriptor,UANodeDescriptor) Method |
[Extension()] [ElementsNotNull()] [NotNull()] public static UANodeElementCollection BrowseProperties( IEasyUAClient client, UAEndpointDescriptor endpointDescriptor, UANodeDescriptor nodeDescriptor )
[Extension()] [ElementsNotNull()] [NotNull()] public: static UANodeElementCollection^ BrowseProperties( IEasyUAClient^ client, UAEndpointDescriptor^ endpointDescriptor, UANodeDescriptor^ nodeDescriptor )
'Declaration
<ExtensionAttribute()> <ElementsNotNullAttribute()> <NotNullAttribute()> Public Overloads Shared Function BrowseProperties( _ ByVal client As IEasyUAClient, _ ByVal endpointDescriptor As UAEndpointDescriptor, _ ByVal nodeDescriptor As UANodeDescriptor _ ) As UANodeElementCollection
'Usage
Dim client As IEasyUAClient Dim endpointDescriptor As UAEndpointDescriptor Dim nodeDescriptor As UANodeDescriptor Dim value As UANodeElementCollection value = IEasyUAClientExtension.BrowseProperties(client, endpointDescriptor, nodeDescriptor)
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. |
OpcLabs.EasyOpc.UA.OperationModel.UAException | The OPC UA operation has failed. This operation exception in uniformly used to allow common handling of various kinds of errors. The System.Exception.InnerException always contains information about the actual error cause. This is an operation error that depends on factors external to your program, and thus cannot be always avoided. Your code must handle it appropriately. |
// This example shows how to obtain properties under the "Server" node in the address space. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.AddressSpace; using OpcLabs.EasyOpc.UA.AddressSpace.Standard; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { class BrowseProperties { public static void Overload2() { 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 properties under "Server" node. UANodeElementCollection nodeElementCollection; try { nodeElementCollection = client.BrowseProperties(endpointDescriptor, UAObjectIds.Server); } catch (UAException uaException) { Console.WriteLine($"*** Failure: {uaException.GetBaseException().Message}"); return; } // Display results foreach (UANodeElement nodeElement in nodeElementCollection) { Console.WriteLine(); Console.WriteLine($"nodeElement.DisplayName: {nodeElement.DisplayName}"); Console.WriteLine($"nodeElement.NodeId: {nodeElement.NodeId}"); Console.WriteLine($"nodeElement.NodeId.ExpandedText: {nodeElement.NodeId.ExpandedText}"); } } // Example output: // //nodeElement.DisplayName: ServerArray //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 // //nodeElement.DisplayName: NamespaceArray //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 // //nodeElement.DisplayName: ServiceLevel //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 // //nodeElement.DisplayName: Auditing //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 } }
# This example shows how to obtain properties under the "Server" node in the address space. # # 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.Standard 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 objects under "Server" node. try { $nodeElementCollection = [IEasyUAClientExtension]::BrowseProperties($client, $endpointDescriptor, [UAObjectIds]::Server) } catch [UAException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } # Display results foreach ($nodeElement in $nodeElementCollection) { Write-Host Write-Host "nodeElement.DisplayName: $($nodeElement.DisplayName)" Write-Host "nodeElement.NodeId: $($nodeElement.NodeId)" Write-Host "nodeElement.NodeId.ExpandedText: $($nodeElement.NodeId.ExpandedText)" } # Example output: # #nodeElement.DisplayName: ServerArray #nodeElement.NodeId: Server_ServerArray #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 # #nodeElement.DisplayName: NamespaceArray #nodeElement.NodeId: Server_NamespaceArray #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 # #nodeElement.DisplayName: ServiceLevel #nodeElement.NodeId: Server_ServiceLevel #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 # #nodeElement.DisplayName: Auditing #nodeElement.NodeId: Server_Auditing #nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994
# This example shows how to obtain properties under the "Server" node in the address space. # # 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 .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.AddressSpace import * from OpcLabs.EasyOpc.UA.AddressSpace.Standard 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 objects under "Server" node. try: nodeElementCollection = IEasyUAClientExtension.BrowseProperties(client, endpointDescriptor, UANodeDescriptor(UAObjectIds.Server)) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for nodeElement in nodeElementCollection: print() print('nodeElement.DisplayName: ', nodeElement.DisplayName, sep='') print('nodeElement.NodeId: ', nodeElement.NodeId, sep='') print('nodeElement.NodeId.ExpandedText: ', nodeElement.NodeId.ExpandedText, sep='') print() print('Finished.')
' This example shows how to obtain properties under the "Server" node in the address space. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.AddressSpace Imports OpcLabs.EasyOpc.UA.AddressSpace.Standard Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Friend Class BrowseProperties Public Shared Sub Overload2() ' 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 properties under "Server" node Dim nodeElementCollection As UANodeElementCollection Try nodeElementCollection = client.BrowseProperties(endpointDescriptor, UAObjectIds.Server) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results For Each nodeElement As UANodeElement In nodeElementCollection Console.WriteLine() Console.WriteLine("nodeElement.NodeId: {0}", nodeElement.NodeId) Console.WriteLine("nodeElement.DisplayName: {0}", nodeElement.DisplayName) Next nodeElement ' Example output: ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: nsu=http://opcfoundation.org/UA/;i=2994 'nodeElement.DisplayName: Auditing } End Sub End Class End Namespace
// This example shows how to obtain properties under the "Server" node // in the address space. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . class procedure BrowseProperties.Main; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; Count: Cardinal; Element: OleVariant; EndpointDescriptor: string; NodeElement: _UANodeElement; NodeElementEnumerator: IEnumVariant; NodeElements: _UANodeElementCollection; ServerNodeId: _UANodeId; begin EndpointDescriptor := //'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'; // Instantiate the client object Client := CoEasyUAClient.Create; // Obtain properties under "Server" node ServerNodeId := CoUANodeId.Create; ServerNodeId.StandardName := 'Server'; try NodeElements := Client.BrowseProperties(EndpointDescriptor, ServerNodeId.ExpandedText); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); Exit; end; end; // Display results NodeElementEnumerator := NodeElements.GetEnumerator; while (NodeElementEnumerator.Next(1, Element, Count) = S_OK) do begin NodeElement := IUnknown(Element) as _UANodeElement; WriteLn; WriteLn('nodeElement.NodeId: ', NodeElement.NodeId.ToString); WriteLn('nodeElement.NodeId.ExpandedText: ', NodeElement.NodeId.ExpandedText); WriteLn('nodeElement.DisplayName: ', NodeElement.DisplayName); end; // Example output: // //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 //nodeElement.DisplayName: ServerArray // //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 //nodeElement.DisplayName: NamespaceArray // //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 //nodeElement.DisplayName: ServiceLevel // //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 //nodeElement.DisplayName: Auditing end;
// This example shows how to obtain properties under the "Server" node // in the address space. // // Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . $EndpointDescriptor = new COM("OpcLabs.EasyOpc.UA.UAEndpointDescriptor"); $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"; // Instantiate the client object $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); // Obtain variables under "Server" node $ServerNodeId = new COM("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId"); $ServerNodeId->StandardName = "Server"; try { $NodeElements = $Client->BrowseProperties($EndpointDescriptor, $ServerNodeId->ExpandedText); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); exit(); } // Display results foreach ($NodeElements as $NodeElement) { printf("\n"); printf("nodeElement.NodeId: %s\n", $NodeElement->NodeId); printf("nodeElement.NodeId.ExpandedText: %s\n", $NodeElement->NodeId->ExpandedText); printf("nodeElement.DisplayName: %s\n", $NodeElement->DisplayName); } // Example output: // //nodeElement.NodeId: Server_ServerArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 //nodeElement.DisplayName: ServerArray // //nodeElement.NodeId: Server_NamespaceArray //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 //nodeElement.DisplayName: NamespaceArray // //nodeElement.NodeId: Server_ServiceLevel //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 //nodeElement.DisplayName: ServiceLevel // //nodeElement.NodeId: Server_Auditing //nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 //nodeElement.DisplayName: Auditing
REM This example shows how to obtain properties under the "Server" node REM in the address space. REM REM Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Public Sub BrowseProperties_Main_Command_Click() OutputText = "" Dim endpointDescriptor As String 'endpointDescriptor = "http://opcua.demo-this.com:51211/UA/SampleServer" 'endpointDescriptor = "https://opcua.demo-this.com:51212/UA/SampleServer/" endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' Instantiate the client object Dim Client As New EasyUAClient ' Obtain properties under "Server" node Dim serverNodeId As New UANodeId serverNodeId.StandardName = "Server" On Error Resume Next Dim NodeElements As UANodeElementCollection Set NodeElements = Client.BrowseProperties(endpointDescriptor, serverNodeId.expandedText) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 ' Display results Dim NodeElement: For Each NodeElement In NodeElements OutputText = OutputText & vbCrLf OutputText = OutputText & "nodeElement.NodeId: " & NodeElement.NodeId & vbCrLf OutputText = OutputText & "nodeElement.NodeId.ExpandedText: " & NodeElement.NodeId.expandedText & vbCrLf OutputText = OutputText & "nodeElement.DisplayName: " & NodeElement.DisplayName & vbCrLf Next ' Example output: ' 'nodeElement.NodeId: Server_ServerArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: Server_NamespaceArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: Server_ServiceLevel 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: Server_Auditing 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 'nodeElement.DisplayName: Auditing End Sub
Rem This example shows how to obtain properties under the "Server" node in the address space. Rem Rem Find all latest examples here : https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Option Explicit Dim endpointDescriptor: endpointDescriptor = _ "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" '"http://opcua.demo-this.com:51211/UA/SampleServer" '"https://opcua.demo-this.com:51212/UA/SampleServer/" ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") ' Obtain properties under "Server" node Dim ServerNodeId: Set ServerNodeId = CreateObject("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId") ServerNodeId.StandardName = "Server" On Error Resume Next Dim NodeElementCollection: Set NodeElementCollection = Client.BrowseProperties(endpointDescriptor, ServerNodeId.ExpandedText) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' Display results Dim NodeElement: For Each NodeElement In NodeElementCollection WScript.Echo WScript.Echo "nodeElement.NodeId: " & NodeElement.NodeId WScript.Echo "nodeElement.NodeId.ExpandedText: " & NodeElement.NodeId.ExpandedText WScript.Echo "nodeElement.DisplayName: " & NodeElement.DisplayName Next ' Example output: ' 'nodeElement.NodeId: Server_ServerArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2254 'nodeElement.DisplayName: ServerArray ' 'nodeElement.NodeId: Server_NamespaceArray 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2255 'nodeElement.DisplayName: NamespaceArray ' 'nodeElement.NodeId: Server_ServiceLevel 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2267 'nodeElement.DisplayName: ServiceLevel ' 'nodeElement.NodeId: Server_Auditing 'nodeElement.NodeId.ExpandedText: nsu=http://opcfoundation.org/UA/ ;i=2994 'nodeElement.DisplayName: Auditing
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.