0

I'm writing a OPC proxy program in C#. I want to get the list of all OPC-Server on localhost or remote of the machine. I'm using OPC UA .NET from OPC foundation V1.26

I inspired me from the "sampleDiscovery-Programm" of Softing and I have now my list of servers as ApplicationDescription.

Now I want to see the connected client of a specified server. With the sample "servers_control-Programm" from Softing, I can see all client of a server. But the constructor of this class need servers as StandardServer and the ApplicationConfiguration

    public ServerForm(StandardServer server, ApplicationConfiguration configuration)
    {
        InitializeComponent();

        m_server = server;

        m_configuration = configuration;
        this.ServerDiagnosticsCTRL.Initialize(m_server, m_configuration);

        TrayIcon.Text = this.Text = m_configuration.ApplicationName;
        this.Icon = TrayIcon.Icon = ConfigUtils.GetAppIcon();
    }

How can I use main servers as ApplicationDescription for a servers as StandardServer?

Jawa
  • 2,336
  • 6
  • 34
  • 39
Brigitte
  • 3
  • 4

1 Answers1

1

You can use OPC Labs Quick OPC Calssic to get the list od OPC UA servers list in VB.NET.

Download and install QuickOPC 5.23(.NET Framework 3.5 or 4.0) or QuickOPC 5.31(.NET Framework 4.5) from http://opclabs.com/products/quickopc/downloads

VB.NET Code:

' Instantiate the client object
 Dim easyUAClient = New EasyUAClient()
    
' Obtain collection of server elements
Dim applicationElementCollection As UAApplicationElementCollection = easyUAClient.DiscoverServers()
    
' Display results
For Each applicationElement As UAApplicationElement In applicationElementCollection
    Console.WriteLine("applicationElementCollection[""{0}""].ApplicationUriString: {1}", _
                                  applicationElement.DiscoveryUriString, applicationElement.ApplicationUriString)
Next applicationElement

enter image description here

Timo Salomäki
  • 7,099
  • 3
  • 25
  • 40
Saravana Kumar
  • 3,669
  • 5
  • 15
  • 35