

'Declaration<CLSCompliantAttribute(True)> <ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement)> <ComVisibleAttribute(True)> <FacetAttribute("OpcLabs.EasyOpc.UA.Forms.Implementation.UADiscoveryElementContent, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", OpcLabs.BaseLib.Media.IContent, "{A1DB0591-3E22-43A2-A072-2B76C04BE0C0}")> <GuidAttribute("0CE96037-6560-4EF7-9879-66FE2F65A7C8")> <TypeConverterAttribute(System.ComponentModel.ExpandableObjectConverter)> <ValueControlAttribute("OpcLabs.EasyOpc.UA.Forms.Implementation.UAApplicationElementControl, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", CanChangeReadWrite=True)> <SerializableAttribute()> Public NotInheritable Class UADiscoveryElement Inherits UAApplicationElement Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationElement, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement, IUAReadOnlyApplicationElement, IUAReadOnlyDiscoveryElement, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
'UsageDim instance As UADiscoveryElement
[CLSCompliant(true)] [ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement)] [ComVisible(true)] [Facet("OpcLabs.EasyOpc.UA.Forms.Implementation.UADiscoveryElementContent, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", OpcLabs.BaseLib.Media.IContent, "{A1DB0591-3E22-43A2-A072-2B76C04BE0C0}")] [Guid("0CE96037-6560-4EF7-9879-66FE2F65A7C8")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [ValueControl("OpcLabs.EasyOpc.UA.Forms.Implementation.UAApplicationElementControl, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", CanChangeReadWrite=true)] [Serializable()] public sealed class UADiscoveryElement : UAApplicationElement, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationElement, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement, IUAReadOnlyApplicationElement, IUAReadOnlyDiscoveryElement, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[CLSCompliant(true)] [ComDefaultInterface(OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement)] [ComVisible(true)] [Facet("OpcLabs.EasyOpc.UA.Forms.Implementation.UADiscoveryElementContent, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", OpcLabs.BaseLib.Media.IContent, "{A1DB0591-3E22-43A2-A072-2B76C04BE0C0}")] [Guid("0CE96037-6560-4EF7-9879-66FE2F65A7C8")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [ValueControl("OpcLabs.EasyOpc.UA.Forms.Implementation.UAApplicationElementControl, OpcLabs.EasyOpcForms, Version=5.84.192.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", CanChangeReadWrite=true)] [Serializable()] public ref class UADiscoveryElement sealed : public UAApplicationElement, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UAApplicationElement, OpcLabs.EasyOpc.UA.Discovery.ComTypes._UADiscoveryElement, IUAReadOnlyApplicationElement, IUAReadOnlyDiscoveryElement, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
This object is filled in and returned e.g. when you discover the OPC servers.
There are implicit conversions from this type to:
// This example shows how to obtain application URLs of all OPC Unified Architecture servers on a given machine. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-CSharp . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Discovery; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { class DiscoverLocalServers { public static void Overload1() { // Instantiate the client object. var client = new EasyUAClient(); // Obtain collection of server elements. UADiscoveryElementCollection discoveryElementCollection; try { discoveryElementCollection = client.DiscoverLocalServers("opcua.demo-this.com"); } 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["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn: DEMO - 5:UA Sample Server //discoveryElementCollection["http://opcua.demo-this.com:51211/UA/SampleServer"].ApplicationUriString: urn: DEMO - 5:UA Sample Server //discoveryElementCollection["https://opcua.demo-this.com:51212/UA/SampleServer/"].ApplicationUriString: urn: DEMO - 5:UA Sample Server //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 } } }
# This example shows how to obtain application URLs of all OPC Unified Architecture servers on a given machine. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in PowerShell on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-PowerShell . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. #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.EasyOpcUAPrimitives.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUACore.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" # Instantiate the client object. $client = New-Object EasyUAClient # Obtain collection of server elements. try { $discoveryElementCollection = [IEasyUAClientExtension]::DiscoverLocalServers($client, "opcua.demo-this.com") } 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["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:DEMO-5:UA Sample Server #discoveryElementCollection["http://opcua.demo-this.com:51211/UA/SampleServer"].ApplicationUriString: urn:DEMO-5:UA Sample Server #discoveryElementCollection["https://opcua.demo-this.com:51212/UA/SampleServer/"].ApplicationUriString: urn:DEMO-5:UA Sample Server #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
' This example shows how to obtain application URLs of all OPC Unified Architecture servers on a given machine. ' ' Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Global.UADocExamples._EasyUAClient Friend Class DiscoverLocalServers Public Shared Sub Overload1() ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain collection of server elements Dim discoveryElementCollection As UADiscoveryElementCollection Try discoveryElementCollection = client.DiscoverLocalServers("opcua.demo-this.com") 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["opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"].ApplicationUriString: urn:Test-PC:UA Sample Server 'discoveryElementCollection["http://opcua.demo-this.com:51211/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 on the specified host. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-Python . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # 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.OperationModel import * # Instantiate the client object. client = EasyUAClient() # Obtain collection of server elements. try: discoveryElementCollection = IEasyUAClientExtension.DiscoverLocalServers(client, 'opcua.demo-this.com') 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. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-CSharp . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. 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. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in PowerShell on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-PowerShell . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. #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.EasyOpcUAPrimitives.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUACore.dll" 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. ' ' Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Global.UADocExamples._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. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-OP . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure FindLocalApplications.Main; const UAApplicationTypes_Server = 1; var Client: OpcLabs_EasyOpcUACore_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. REM REM Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . REM OPC client and subscriber examples in Visual Basic on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VB . REM Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own REM a commercial license in order to use Online Forums, and we reply to every post. 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
# This example shows how to obtain application URLs of all OPC Unified Architecture servers, using specified discovery # URI strings. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-Python . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # 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 information about OPC UA servers available on the network. // The result is flat, i.e. each discovery URL is returned in separate element, with possible repetition of the servers. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-CSharp . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Discovery; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { partial class DiscoverNetworkServers { public static void Main1() { // Instantiate the client object. var client = new EasyUAClient(); // Obtain collection of application elements. UADiscoveryElementCollection discoveryElementCollection; try { discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com"); } catch (UAException uaException) { Console.WriteLine($"*** Failure: {uaException.GetBaseException().Message}"); return; } // Display results. foreach (UADiscoveryElement discoveryElement in discoveryElementCollection) { Console.WriteLine(); Console.WriteLine($"Server name: {discoveryElement.ServerName}"); Console.WriteLine($"Discovery URI string: {discoveryElement.DiscoveryUriString}"); Console.WriteLine($"Server capabilities: {discoveryElement.ServerCapabilities}"); Console.WriteLine($"Application URI string: {discoveryElement.ApplicationUriString}"); Console.WriteLine($"Product URI string: {discoveryElement.ProductUriString}"); } } } }
# This example shows how to obtain information about OPC UA servers available on the network. # The result is flat, i.e. each discovery URL is returned in separate element, with possible repetition of the servers. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in PowerShell on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-PowerShell . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. #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.EasyOpcUAPrimitives.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUACore.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" # Instantiate the client object. $client = New-Object EasyUAClient # Obtain collection of application elements. try { $discoveryElementCollection = [IEasyUAClientExtension]::DiscoverNetworkServers($client, "opcua.demo-this.com") } catch [UAException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } # Display results. foreach ($discoveryElement in $discoveryElementCollection) { Write-Host Write-Host "Server name: $($discoveryElement.ServerName)" Write-Host "Discovery URI string: $($discoveryElement.DiscoveryUriString)" Write-Host "Server capabilities: $($discoveryElement.ServerCapabilities)" Write-Host "Application URI string: $($discoveryElement.ApplicationUriString)" Write-Host "Product URI string: $($discoveryElement.ProductUriString)" }
' This example shows how to obtain information about OPC UA servers available on the network. ' The result is flat, i.e. each discovery URL is returned in separate element, with possible repetition of the servers. ' ' Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Global.UADocExamples._EasyUAClient Partial Friend Class DiscoverNetworkServers Public Shared Sub Main1() ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain collection of application elements Dim discoveryElementCollection As UADiscoveryElementCollection Try discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com") 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() Console.WriteLine("Server name: {0}", discoveryElement.ServerName) Console.WriteLine("Discovery URI string: {0}", discoveryElement.DiscoveryUriString) Console.WriteLine("Server capabilities: {0}", discoveryElement.ServerCapabilities) Console.WriteLine("Application URI string: {0}", discoveryElement.ApplicationUriString) Console.WriteLine("Product URI string: {0}", discoveryElement.ProductUriString) Next discoveryElement End Sub End Class End Namespace
// This example shows how to obtain information about OPC UA servers available on the network. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-OP . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure DiscoverNetworkServers.Main; var Client: OpcLabs_EasyOpcUACore_TLB._EasyUAClient; Count: Cardinal; Element: OleVariant; DiscoveryElement: _UADiscoveryElement; DiscoveryElementEnumerator: IEnumVariant; DiscoveryElements: _UADiscoveryElementCollection; begin // Instantiate the client object Client := CoEasyUAClient.Create; // Obtain collection of application elements try DiscoveryElements := Client.DiscoverNetworkServers(Unassigned, 'opcua.demo-this.com'); 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; WriteLn('Server name: ', DiscoveryElement.ServerName); WriteLn('Discovery URI string: ', DiscoveryElement.DiscoveryUriString); WriteLn('Server capabilities: ', DiscoveryElement.ServerCapabilities.ToString); end; end;
REM This example shows how to obtain information about OPC UA servers available on the network. REM REM Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . REM OPC client and subscriber examples in Visual Basic on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VB . REM Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own REM a commercial license in order to use Online Forums, and we reply to every post. Public Sub DiscoverNetworkServers_Main_Command_Click() OutputText = "" ' 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.DiscoverNetworkServers(Nothing, "opcua.demo-this.com") 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 & vbCrLf OutputText = OutputText & "Server name: " & DiscoveryElement.ServerName & vbCrLf OutputText = OutputText & "Discovery URI string: " & DiscoveryElement.DiscoveryUriString & vbCrLf OutputText = OutputText & "Server capabilities: " & DiscoveryElement.serverCapabilities.ToString & vbCrLf Next End Sub
# This example shows how to obtain information about OPC UA servers available on the network. # The result is flat, i.e. each discovery URL is returned in separate element, with possible repetition of the servers. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-Python . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # 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 * # Instantiate the client object. client = EasyUAClient() # Obtain collection of application elements. try: discoveryElementCollection = IEasyUAClientExtension.DiscoverNetworkServers(client, 'opcua.demo-this.com') except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for discoveryElement in discoveryElementCollection: print() print('Server name: ', discoveryElement.ServerName, sep='') print('Discovery URI string: ', discoveryElement.DiscoveryUriString, sep='') print('Server capabilities: ', discoveryElement.ServerCapabilities, sep='') print('Application URI string: ', discoveryElement.ApplicationUriString, sep='') print('Product URI string: ', discoveryElement.ProductUriString, sep='') print() print('Finished.')
// This example shows how to obtain information about OPC UA servers available on the network. // The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery URLs. // // Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-CSharp . // Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Discovery; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { partial class DiscoverNetworkServers { public static void Hierarchical() { // Instantiate the client object var client = new EasyUAClient(); // Obtain collection of application elements UADiscoveryElementCollection discoveryElementCollection; try { discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com", flat:false); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); return; } // Display results foreach (UADiscoveryElement discoveryElement in discoveryElementCollection) { Console.WriteLine(); Console.WriteLine("Server name: {0}", discoveryElement.ServerName); Console.WriteLine("Discovery URI strings:"); foreach (string discoveryUriString in discoveryElement.DiscoveryUriStrings) Console.WriteLine(" {0}", discoveryUriString); Console.WriteLine("Server capabilities: {0}", discoveryElement.ServerCapabilities); } } } }
' This example shows how to obtain information about OPC UA servers available on the network. ' The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery URLs. ' ' Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Global.UADocExamples._EasyUAClient Partial Friend Class DiscoverNetworkServers Public Shared Sub Hierarchical() ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain collection of application elements Dim discoveryElementCollection As UADiscoveryElementCollection Try discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com", flat:=False) 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() Console.WriteLine("Server name: {0}", discoveryElement.ServerName) Console.WriteLine("Discovery URI strings:") For Each discoveryUriString As String In discoveryElement.DiscoveryUriStrings Console.WriteLine(" {0}", discoveryUriString) Next discoveryUriString Console.WriteLine("Server capabilities: {0}", discoveryElement.ServerCapabilities) Next discoveryElement End Sub End Class End Namespace
# This example shows how to obtain information about OPC UA servers available on the network. # The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery # URLs. # # Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-Python . # Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # 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 * # Instantiate the client object. client = EasyUAClient() # Obtain collection of application elements. try: discoveryElementCollection = IEasyUAClientExtension.DiscoverNetworkServers(client, 'opcua.demo-this.com', False) # flat=False except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for discoveryElement in discoveryElementCollection: print() print('Server name: ', discoveryElement.ServerName, sep='') print('Discovery URI strings:') for discoveryUriString in discoveryElement.DiscoveryUriStrings: print(' ', discoveryUriString, sep='') print('Server capabilities: ', discoveryElement.ServerCapabilities, sep='') print() print('Finished.')
System.Object
OpcLabs.BaseLib.Object2
OpcLabs.BaseLib.Info
OpcLabs.EasyOpc.UA.Discovery.UAApplicationElement
OpcLabs.EasyOpc.UA.Discovery.UADiscoveryElement