// This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. using System; using OpcLabs.EasyOpc.DataAccess; using OpcLabs.EasyOpc.DataAccess.AddressSpace; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples.DataAccess._EasyDAClient { class BrowseProperties { public static void Main1() { // Instantiate the client object. var client = new EasyDAClient(); DAPropertyElementCollection propertyElements; try { propertyElements = client.BrowseProperties("OPCLabs.KitServer.2", "Simulation.Random"); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } foreach (DAPropertyElement propertyElement in propertyElements) Console.WriteLine($"PropertyElements(\"{propertyElement.PropertyId.NumericalValue}\").Description: {propertyElement.Description}"); } // Example output: // //PropertyElements("15008").Description: Visible //PropertyElements("5").Description: Item Access Rights //PropertyElements("2").Description: Item Value //PropertyElements("7").Description: Item EU Type //PropertyElements("15001").Description: Item Name //PropertyElements("4").Description: Item Timestamp //PropertyElements("1").Description: Item Canonical Data Type //PropertyElements("103").Description: Low EU //PropertyElements("15009").Description: Addable //PropertyElements("6").Description: Server Scan Rate //PropertyElements("15000").Description: Item ID //PropertyElements("3").Description: Item Quality } }
# This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. #requires -Version 5.1 using namespace OpcLabs.EasyOpc.OperationModel using namespace OpcLabs.EasyOpc.DataAccess # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassicCore.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassic.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassicComponents.dll" # Instantiate the client object. $client = New-Object EasyDAClient try { $propertyElements = $client.BrowseProperties("OPCLabs.KitServer.2", "Simulation.Random") } catch [OpcException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } Foreach ($propertyElement in $propertyElements) { Write-Host "PropertyElements(`"$($propertyElement.PropertyId.NumericalValue)`").Description: $($propertyElement.Description)" } # Example output: # #PropertyElements("15008").Description: Visible #PropertyElements("5").Description: Item Access Rights #PropertyElements("2").Description: Item Value #PropertyElements("7").Description: Item EU Type #PropertyElements("15001").Description: Item Name #PropertyElements("4").Description: Item Timestamp #PropertyElements("1").Description: Item Canonical Data Type #PropertyElements("103").Description: Low EU #PropertyElements("15009").Description: Addable #PropertyElements("6").Description: Server Scan Rate #PropertyElements("15000").Description: Item ID #PropertyElements("3").Description: Item Quality
# This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and # description. # 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: propertyElements = IEasyDAClientExtension.BrowseProperties(client, '', 'OPCLabs.KitServer.2', 'Simulation.Random') except OpcException as opcException: print('*** Failure: ' + opcException.GetBaseException().Message) exit() # Display results. for propertyElement in propertyElements: print('PropertyElements[', propertyElement.PropertyId.NumericalValue, '].Description: ', propertyElement.Description, sep='')
// This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. class procedure BrowseProperties.Main; var Client: OpcLabs_EasyOpcClassic_TLB._EasyDAClient; Count: Cardinal; Element: OleVariant; ServerDescriptor: _ServerDescriptor; NodeDescriptor: _DANodeDescriptor; PropertyElement: _DAPropertyElement; PropertyElementEnumerator: IEnumVariant; PropertyElements: _DAPropertyElementCollection; begin ServerDescriptor := CoServerDescriptor.Create; ServerDescriptor.ServerClass := 'OPCLabs.KitServer.2'; NodeDescriptor := CoDANodeDescriptor.Create; NodeDescriptor.ItemId := 'Simulation.Random'; // Instantiate the client object Client := CoEasyDAClient.Create; try PropertyElements := Client.BrowseProperties( ServerDescriptor, NodeDescriptor); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); Exit; end; end; PropertyElementEnumerator := PropertyElements.GetEnumerator; while (PropertyElementEnumerator.Next(1, Element, Count) = S_OK) do begin PropertyElement := IUnknown(Element) as _DAPropertyElement; WriteLn('PropertyElements("', PropertyElement.PropertyId.NumericalValue, '").Description: ', PropertyElement.Description); end; end;
// This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. $ServerDescriptor = new COM("OpcLabs.EasyOpc.ServerDescriptor"); $ServerDescriptor->ServerClass = "OPCLabs.KitServer.2"; $NodeDescriptor = new COM("OpcLabs.EasyOpc.DataAccess.DANodeDescriptor"); $NodeDescriptor->ItemID = "Simulation.Random"; $Client = new COM("OpcLabs.EasyOpc.DataAccess.EasyDAClient"); try { $PropertyElements = $Client->BrowseProperties($ServerDescriptor, $NodeDescriptor); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); Exit(); } foreach ($PropertyElements as $PropertyElement) { printf("PropertyElements(\"s\").Descriptions\n", $PropertyElement->PropertyID->NumericalValue, $PropertyElement->Description); }
Rem This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. Private Sub BrowseProperties_Main_Command_Click() OutputText = "" Dim serverDescriptor As New serverDescriptor serverDescriptor.ServerClass = "OPCLabs.KitServer.2" Dim nodeDescriptor As New DANodeDescriptor nodeDescriptor.itemId = "Simulation.Random" ' Instantiate the client object Dim client As New EasyDAClient On Error Resume Next Dim propertyElements As DAPropertyElementCollection Set propertyElements = client.BrowseProperties(serverDescriptor, nodeDescriptor) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 Dim propertyElement: For Each propertyElement In propertyElements OutputText = OutputText & "propertyElements(""" & propertyElement.propertyId.NumericalValue & """).Description: " & propertyElement.Description & vbCrLf Next End Sub
Rem This example shows how to enumerate all properties of an OPC item. For each property, it displays its Id and description. Option Explicit Dim ServerDescriptor: Set ServerDescriptor = CreateObject("OpcLabs.EasyOpc.ServerDescriptor") ServerDescriptor.ServerClass = "OPCLabs.KitServer.2" Dim NodeDescriptor: Set NodeDescriptor = CreateObject("OpcLabs.EasyOpc.DataAccess.DANodeDescriptor") NodeDescriptor.ItemID = "Simulation.Random" Dim EasyDAClient: Set EasyDAClient = CreateObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient") On Error Resume Next Dim PropertyElements: Set PropertyElements = EasyDAClient.BrowseProperties(ServerDescriptor, NodeDescriptor) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Dim PropertyElement: For Each PropertyElement In PropertyElements WScript.Echo "PropertyElements(""" & PropertyElement.PropertyID.NumericalValue & """).Description: " & PropertyElement.Description 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.