// Shows how to find server applications that meet the specified filters, using the global discovery client.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
using System;
using OpcLabs.EasyOpc.UA.Discovery;
using OpcLabs.EasyOpc.UA.Gds;
using OpcLabs.EasyOpc.UA.OperationModel;
namespace UADocExamples.Gds._EasyUAGlobalDiscoveryClient
{
class QueryServers
{
public static void Main1()
{
// Instantiate the global discovery client object
var globalDiscoveryClient = new EasyUAGlobalDiscoveryClient();
// Find all servers registered in the GDS.
UAServerOnNetwork[] serverOnNetworkArray;
try
{
globalDiscoveryClient.QueryServers(
gdsEndpointDescriptor:"opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer",
startingRecordId:0,
maximumRecordsToReturn:0,
applicationName:"",
applicationUriString:"",
productUriString:"",
serverCapabilities:new string[0],
lastCounterResetTime:out _,
serverOnNetworkArray:out serverOnNetworkArray);
}
catch (UAException uaException)
{
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message);
return;
}
// Display results
foreach (UAServerOnNetwork serverOnNetwork in serverOnNetworkArray)
{
Console.WriteLine();
Console.WriteLine("Server name: {0}", serverOnNetwork.ServerName);
Console.WriteLine("Discovery URL string: {0}", serverOnNetwork.DiscoveryUrlString);
Console.WriteLine("Server capabilities: {0}", serverOnNetwork.ServerCapabilities);
}
}
}
}
# Shows how to find server applications that meet the specified filters, using the global discovery client.
#
# 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 System import *
from OpcLabs.EasyOpc.UA import *
from OpcLabs.EasyOpc.UA.Discovery import *
from OpcLabs.EasyOpc.UA.Gds import *
from OpcLabs.EasyOpc.UA.OperationModel import *
# Define which GDS we will work with.
gdsEndpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer')
# Instantiate the global discovery client object.
globalDiscoveryClient = EasyUAGlobalDiscoveryClient()
# Find all servers registered in the GDS.
try:
_, _, serverOnNetworkArray = globalDiscoveryClient.QueryServers(
gdsEndpointDescriptor,
0, # startingRecordId
0, # maximumRecordsToReturn
'', # applicationName
'', # applicationUriString
'', # productUriString
Array.Empty[String](), # serverCapabilities
DateTime(), # out lastCounterResetTime
Array.Empty[UAServerOnNetwork]()) # out serverOnNetworkArray
except UAException as uaException:
print('*** Failure: ' + uaException.GetBaseException().Message)
exit()
# Display results.
for serverOnNetwork in serverOnNetworkArray:
print()
print('Server name: ', serverOnNetwork.ServerName, sep='')
print('Discovery URL string: ', serverOnNetwork.DiscoveryUrlString, sep='')
print('Server capabilities: ', serverOnNetwork.ServerCapabilities, sep='')
print()
print('Finished.')
' Shows how to find server applications that meet the specified filters, using the global discovery client.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
Imports OpcLabs.EasyOpc.UA.Discovery
Imports OpcLabs.EasyOpc.UA.Gds
Imports OpcLabs.EasyOpc.UA.OperationModel
Namespace Gds._EasyUAGlobalDiscoveryClient
Friend Class QueryServers
Public Shared Sub Main1()
' Instantiate the global discovery client object
Dim globalDiscoveryClient = New EasyUAGlobalDiscoveryClient()
' Find all servers registered in the GDS.
Dim serverOnNetworkArray() As UAServerOnNetwork = Nothing
Try
Dim lastCounterResetTime As DateTime
globalDiscoveryClient.QueryServers(
gdsEndpointDescriptor:="opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer",
startingRecordId:=0,
maximumRecordsToReturn:=0,
applicationName:="",
applicationUriString:="",
productUriString:="",
serverCapabilities:=New String() {},
lastCounterResetTime:=lastCounterResetTime,
serverOnNetworkArray:=serverOnNetworkArray)
Catch uaException As UAException
Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message)
Exit Sub
End Try
' Display results
For Each serverOnNetwork As UAServerOnNetwork In serverOnNetworkArray
Console.WriteLine()
Console.WriteLine("Server name: {0}", serverOnNetwork.ServerName)
Console.WriteLine("Discovery URL string: {0}", serverOnNetwork.DiscoveryUrlString)
Console.WriteLine("Server capabilities: {0}", serverOnNetwork.ServerCapabilities)
Next serverOnNetwork
End Sub
End Class
End Namespace