// This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. using System; using OpcLabs.EasyOpc; using OpcLabs.EasyOpc.DataAccess; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples.DataAccess._EasyDAClient { class BrowseServers { public static void Main1() { // Instantiate the client object. var client = new EasyDAClient(); ServerElementCollection serverElements; try { serverElements = client.BrowseServers(""); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } foreach (ServerElement serverElement in serverElements) Console.WriteLine($"ServerElements(\"{serverElement.ClsidString}\").ProgId: {serverElement.ProgId}"); } // Example output: // //ServerElements("c8a12f17-1e03-401e-b53d-6c654dd576da").ProgId: OPCLabs.KitServer.2 } }
# This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.DataAccess import * from OpcLabs.EasyOpc.OperationModel import * # Instantiate the client object client = EasyDAClient() # Perform the operation try: serverElements = IEasyDAClientExtension.BrowseServers(client, '') except OpcException as opcException: print('*** Failure: ' + opcException.GetBaseException().Message) exit() # Display results for serverElement in serverElements: print('ServerElements("' + serverElement.ClsidString + '"): ' + serverElement.ProgId)
// This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. var Client = new ActiveXObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient"); var ServerElements = Client.BrowseServers("") for (var objEnum = new Enumerator(ServerElements) ; !objEnum.atEnd() ; objEnum.moveNext()) { var ServerElement = objEnum.item(); WScript.Echo("ServerElements(\"" + ServerElement.UrlString + "\").ProgId: " + ServerElement.ProgId); }
// This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. $Client = new COM("OpcLabs.EasyOpc.DataAccess.EasyDAClient"); try { $ServerElements = $Client->BrowseServers(""); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); Exit(); } foreach ($ServerElements as $ServerElement) { printf("ServerElements(\"s\").ProgIds\n", $ServerElement->ClsidString, $ServerElement->ProgId); }
# This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. # The Python for Windows (pywin32) extensions package is needed. Install it using "pip install pypiwin32". # CAUTION: We now recommend using Python.NET package instead. Full set of examples with Python.NET is available! import win32com.client from pywintypes import com_error # Instantiate the client object client = win32com.client.Dispatch('OpcLabs.EasyOpc.DataAccess.EasyDAClient') # Perform the operation try: serverElements = client.BrowseServers('') except com_error as e: print('*** Failure: ' + e.args[2][1] + ': ' + e.args[2][2]) exit() # Display results for serverElement in serverElements: print('ServerElements("' + serverElement.ClsidString + '"): ' + serverElement.ProgId)
Rem This example shows how to obtain all ProgIDs of all OPC Data Access servers on the local machine. Option Explicit Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient") On Error Resume Next Dim ServerElements: Set ServerElements = Client.BrowseServers("") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Dim ServerElement: For Each ServerElement In ServerElements WScript.Echo "ServerElements(""" & ServerElement.ClsidString & """).ProgId: " & ServerElement.ProgId Next
// This example shows all information available about categories that particular OPC servers do support. using System; using OpcLabs.EasyOpc; using OpcLabs.EasyOpc.AlarmsAndEvents; using OpcLabs.EasyOpc.DataAccess; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples._ServerCategories { class General { public static void Main1() { // Instantiate the OPC-DA client object. var daClient = new EasyDAClient(); Console.WriteLine(); Console.WriteLine("OPC DATA ACCESS"); ServerElementCollection daServerElements; try { daServerElements = daClient.BrowseServers(); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } DumpServerElements(daServerElements); // Instantiate the OPC-A&E client object. var aeClient = new EasyAEClient(); Console.WriteLine(); Console.WriteLine("OPC ALARMS AND EVENTS"); ServerElementCollection aeServerElements; try { aeServerElements = aeClient.BrowseServers(); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } DumpServerElements(aeServerElements); } private static void DumpServerElements(ServerElementCollection serverElements) { foreach (ServerElement serverElement in serverElements) { Console.WriteLine($"Categories of \"{serverElement.ProgId}\":"); ServerCategories serverCategories = serverElement.ServerCategories; Console.WriteLine($" .OpcAlarmsAndEvents10: {serverCategories.OpcAlarmsAndEvents10}"); Console.WriteLine($" .OpcDataAccess10: {serverCategories.OpcDataAccess10}"); Console.WriteLine($" .OpcDataAccess20: {serverCategories.OpcDataAccess20}"); Console.WriteLine($" .OpcDataAccess30: {serverCategories.OpcDataAccess30}"); Console.WriteLine($" .ToString(): {serverCategories}"); } } // Example output: // //OPC DATA ACCESS //Categories of "OPCLabs.KitServer.2": // .OpcAlarmsAndEvents10: False // .OpcDataAccess10: True // .OpcDataAccess20: True // .OpcDataAccess30: True // .ToString(): (OpcDataAccess10, OpcDataAccess20, OpcDataAccess30) // //OPC ALARMS AND EVENTS //Categories of "OPCLabs.KitEventServer.2": // .OpcAlarmsAndEvents10: True // .OpcDataAccess10: False // .OpcDataAccess20: False // .OpcDataAccess30: False // .ToString(): (OpcAlarmsAndEvents10) } }
Rem This example shows all information available about categories that particular OPC servers do support. Option Explicit Sub DumpServerElements(ByVal ServerElements) Dim ServerElement: For Each ServerElement In ServerElements WScript.Echo "Categories of """ & ServerElement.ProgID & """:" With ServerElement.ServerCategories WScript.Echo Space(4) & ".OpcAlarmsAndEvents10: " & .OpcAlarmsAndEvents10 WScript.Echo Space(4) & ".OpcDataAccess10: " & .OpcDataAccess10 WScript.Echo Space(4) & ".OpcDataAccess20: " & .OpcDataAccess20 WScript.Echo Space(4) & ".OpcDataAccess30: " & .OpcDataAccess30 WScript.Echo Space(4) & ".ToString(): " & .ToString() End With Next End Sub Dim DAClient: Set DAClient = CreateObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient") WScript.Echo WScript.Echo "OPC DATA ACCESS" On Error Resume Next Dim DAServerElements: Set DAServerElements = DAClient.BrowseServers("") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 DumpServerElements DAServerElements Dim AEClient: Set AEClient = CreateObject("OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient") WScript.Echo WScript.Echo "OPC ALARMS AND EVENTS" On Error Resume Next Dim AEServerElements: Set AEServerElements = AEClient.BrowseServers("") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 DumpServerElements AEServerElements
// This example shows all information available about OPC servers. using System; using OpcLabs.EasyOpc; using OpcLabs.EasyOpc.DataAccess; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples._ServerElement { class General { public static void Main1() { // Instantiate the client object. var client = new EasyDAClient(); ServerElementCollection serverElements; try { serverElements = client.BrowseServers(); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } foreach (ServerElement serverElement in serverElements) { Console.WriteLine($"Information about server \"{serverElement}\":"); Console.WriteLine($" .ServerClass: {serverElement.ServerClass}"); Console.WriteLine($" .ClsidString: {serverElement.ClsidString}"); Console.WriteLine($" .ProgId: {serverElement.ProgId}"); Console.WriteLine($" .Description: {serverElement.Description}"); Console.WriteLine($" .Vendor: {serverElement.Vendor}"); Console.WriteLine($" .ServerCategories: {serverElement.ServerCategories}"); Console.WriteLine($" .VersionIndependentProgId: {serverElement.VersionIndependentProgId}"); } // Example output: // //Information about server "opcda:OPCLabs.KitServer.2%7Bc8a12f17-1e03-401e-b53d-6c654dd576da%7D": // .ServerClass: OPCLabs.KitServer.2 // .ClsidString: c8a12f17-1e03-401e-b53d-6c654dd576da // .ProgId: OPCLabs.KitServer.2 // .Description: OPC Labs Kit Server // .Vendor: OPC Labs, http://www.opclabs.com // .ServerCategories: (OpcDataAccess10, OpcDataAccess20, OpcDataAccess30) // .VersionIndependentProgId: OPCLabs.KitServer } } }
Rem This example shows all information available about OPC servers. Option Explicit Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient") On Error Resume Next Dim ServerElements: Set ServerElements = Client.BrowseServers("") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Dim ServerElement: For Each ServerElement In ServerElements WScript.Echo "Information about server """ & ServerElement & """:" With ServerElement WScript.Echo Space(4) & ".ServerClass: " & .ServerClass WScript.Echo Space(4) & ".ClsidString: " & .ClsidString WScript.Echo Space(4) & ".ProgId: " & .ProgId WScript.Echo Space(4) & ".Description: " & .Description WScript.Echo Space(4) & ".Vendor: " & .Vendor WScript.Echo Space(4) & ".ServerCategories.ToString(): " & .ServerCategories.ToString() WScript.Echo Space(4) & ".VersionIndependentProgId: " & .VersionIndependentProgId End With 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.