// This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI // strings. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Discovery; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { class FindLocalApplications { public static void Main1() { string[] discoveryUriStrings = { "opc.tcp://opcua.demo-this.com:4840/UADiscovery", "http://opcua.demo-this.com/UADiscovery/Default.svc", "http://opcua.demo-this.com:52601/UADiscovery" }; // Instantiate the client object. var client = new EasyUAClient(); // Obtain collection of application elements. UADiscoveryElementCollection discoveryElementCollection; try { discoveryElementCollection = client.FindLocalApplications(discoveryUriStrings, UAApplicationTypes.Server); } catch (UAException uaException) { Console.WriteLine($"*** Failure: {uaException.GetBaseException().Message}"); return; } // Display results. foreach (UADiscoveryElement discoveryElement in discoveryElementCollection) Console.WriteLine($"discoveryElementCollection[\"{discoveryElement.DiscoveryUriString}\"].ApplicationUriString: {discoveryElement.ApplicationUriString}"); // Example output: //discoveryElementCollection["http://opcua.demo-this.com:62543/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server //discoveryElementCollection["opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server //discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server //discoveryElementCollection["http://opcua.demo-this.com:51211/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server //discoveryElementCollection["https://opcua.demo-this.com:51212/UA/SampleServer/"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server //discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:Test-PC:UA Sample Server } } }
# This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI # strings. #requires -Version 5.1 using namespace OpcLabs.EasyOpc.UA using namespace OpcLabs.EasyOpc.UA.Discovery 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" $discoveryUriStrings = @( "opc.tcp://opcua.demo-this.com:4840/UADiscovery", "http://opcua.demo-this.com/UADiscovery/Default.svc", "http://opcua.demo-this.com:52601/UADiscovery") # Instantiate the client object. $client = New-Object EasyUAClient # Obtain collection of application elements. try { $discoveryElementCollection = [IEasyUAClientExtension]::FindLocalApplications($client, $discoveryUriStrings, [UAApplicationTypes]::Server) } catch [UAException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } # Display results. foreach ($discoveryElement in $discoveryElementCollection) { Write-Host "discoveryElementCollection[`"$($discoveryElement.DiscoveryUriString)`"].ApplicationUriString: $($discoveryElement.ApplicationUriString)" } # Example output: # #discoveryElementCollection["http://opcua.demo-this.com:62543/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server #discoveryElementCollection["opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server #discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server #discoveryElementCollection["http://opcua.demo-this.com:51211/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server #discoveryElementCollection["https://opcua.demo-this.com:51212/UA/SampleServer/"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server #discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:Test-PC:UA Sample Server
# This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery # URI strings. # 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.Discovery import * from OpcLabs.EasyOpc.UA.OperationModel import * discoveryUriStrings = [ 'opc.tcp://opcua.demo-this.com:4840/UADiscovery', 'http://opcua.demo-this.com/UADiscovery/Default.svc', 'http://opcua.demo-this.com:52601/UADiscovery' ] # Instantiate the client object. client = EasyUAClient() # Obtain collection of application elements. try: discoveryElementCollection = IEasyUAClientExtension.FindLocalApplications(client, discoveryUriStrings, UAApplicationTypes.Server) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for discoveryElement in discoveryElementCollection: print('DiscoveryElementCollection["', discoveryElement.DiscoveryUriString, '"].ApplicationUriString: ', discoveryElement.ApplicationUriString, sep='')
' This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI strings. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Friend Class FindLocalApplications Public Shared Sub Main1() Dim discoveryUriStrings() As String = { _ "opc.tcp://opcua.demo-this.com:4840/UADiscovery", _ "http://opcua.demo-this.com/UADiscovery/Default.svc", _ "http://opcua.demo-this.com:52601/UADiscovery" _ } ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain collection of application elements Dim discoveryElementCollection As UADiscoveryElementCollection Try discoveryElementCollection = client.FindLocalApplications(discoveryUriStrings, UAApplicationTypes.Server) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results For Each discoveryElement As UADiscoveryElement In discoveryElementCollection Console.WriteLine("discoveryElementCollection[""{0}""].ApplicationUriString: {1}", _ discoveryElement.DiscoveryUriString, discoveryElement.ApplicationUriString) Next discoveryElement ' Example output: 'discoveryElementCollection["http://opcua.demo-this.com:62543/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server 'discoveryElementCollection["opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer"].ApplicationUriString: urn:opcua.demo-this.com:Quickstart Alarm Condition Server 'discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server 'discoveryElementCollection["http://opcua.demo-this.com:51211/UA/SampleServer"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server 'discoveryElementCollection["https://opcua.demo-this.com:51212/UA/SampleServer/"].ApplicationUriString: urn:opcua.demo-this.com:UA Sample Server 'discoveryElementCollection["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:Test-PC:UA Sample Server End Sub End Class End Namespace
// This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI strings. class procedure FindLocalApplications.Main; const UAApplicationTypes_Server = 1; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; Count: Cardinal; Element: OleVariant; DiscoveryElement: _UADiscoveryElement; DiscoveryElementEnumerator: IEnumVariant; DiscoveryElements: _UADiscoveryElementCollection; DiscoveryUriStrings: OleVariant; begin DiscoveryUriStrings := VarArrayCreate([0, 2], varVariant); DiscoveryUriStrings[0] := 'opc.tcp://opcua.demo-this.com:4840/UADiscovery'; DiscoveryUriStrings[1] := 'http://opcua.demo-this.com/UADiscovery/Default.svc'; DiscoveryUriStrings[2] := 'http://opcua.demo-this.com:52601/UADiscovery'; // Instantiate the client object Client := CoEasyUAClient.Create; // Obtain collection of application elements try DiscoveryElements := Client.FindLocalApplications(DiscoveryUriStrings, UAApplicationTypes_Server); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); Exit; end; end; // Display results DiscoveryElementEnumerator := DiscoveryElements.GetEnumerator; while (DiscoveryElementEnumerator.Next(1, Element, Count) = S_OK) do begin DiscoveryElement := IUnknown(Element) as _UADiscoveryElement; WriteLn( 'DiscoveryElements["', DiscoveryElement.DiscoveryUriString, '".ApplicationUriString: ', DiscoveryElement.ApplicationUriString); end; VarClear(DiscoveryUriStrings); end;
Rem This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI strings. Public Sub FindLocalApplications_Main_Command_Click() OutputText = "" Dim DiscoveryUriStrings(2) DiscoveryUriStrings(0) = "opc.tcp://opcua.demo-this.com:4840/UADiscovery" DiscoveryUriStrings(1) = "http://opcua.demo-this.com/UADiscovery/Default.svc" DiscoveryUriStrings(2) = "http://opcua.demo-this.com:52601/UADiscovery" ' Instantiate the client object Dim Client As New EasyUAClient ' Obtain collection of application elements On Error Resume Next Dim DiscoveryElementCollection As UADiscoveryElementCollection Set DiscoveryElementCollection = Client.FindLocalApplications(DiscoveryUriStrings, UAApplicationTypes_Server) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 ' Display results Dim DiscoveryElement As UADiscoveryElement: For Each DiscoveryElement In DiscoveryElementCollection OutputText = OutputText & "DiscoveryElementCollection[""" & DiscoveryElement.DiscoveryUriString & """].ApplicationUriString: " & _ DiscoveryElement.applicationUriString & vbCrLf Next End Sub
Rem This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery URI strings. Option Explicit Const UAApplicationTypes_Server = 1 Dim discoveryUriStrings(2) discoveryUriStrings(0) = "opc.tcp://opcua.demo-this.com:4840/UADiscovery" discoveryUriStrings(1) = "http://opcua.demo-this.com/UADiscovery/Default.svc" discoveryUriStrings(2) = "http://opcua.demo-this.com:52601/UADiscovery" ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") ' Obtain collection of application elements On Error Resume Next Dim DiscoveryElementCollection: Set DiscoveryElementCollection = Client.FindLocalApplications(discoveryUriStrings, UAApplicationTypes_Server) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' Display results Dim DiscoveryElement: For Each DiscoveryElement In DiscoveryElementCollection WScript.Echo "DiscoveryElementCollection[""" & DiscoveryElement.DiscoveryUriString & """].ApplicationUriString: " & _ DiscoveryElement.ApplicationUriString Next
Copyright © 2004-2023 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Send Documentation Feedback. Resources: Knowledge Base. Technical support: Online Forums, FAQ.