// This example shows information available about OPC event condition. using System; using System.Diagnostics; using System.Collections.Generic; using OpcLabs.EasyOpc.AlarmsAndEvents; using OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples.AlarmsAndEvents._AEConditionElement { class Properties { static void DumpSubconditionNames(IEnumerable<string> subconditionNames) { foreach (string name in subconditionNames) Console.WriteLine(" {0}", name); } public static void Main1() { // Instantiate the client object. var client = new EasyAEClient(); AECategoryElementCollection categoryElements; try { categoryElements = client.QueryEventCategories("", "OPCLabs.KitEventServer.2"); } catch (OpcException opcException) { Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message); return; } foreach (AECategoryElement categoryElement in categoryElements) { Debug.Assert(categoryElement != null); Console.WriteLine("Category {0}:", categoryElement); foreach (AEConditionElement conditionElement in categoryElement.ConditionElements) { Debug.Assert(conditionElement != null); Console.WriteLine(" Information about condition \"{0}\":", conditionElement); Console.WriteLine(" .Name: {0}", conditionElement.Name); Console.WriteLine(" .SubconditionNames:"); DumpSubconditionNames(conditionElement.SubconditionNames); } } } } }
# This example shows information available about OPC event condition. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.AlarmsAndEvents import * from OpcLabs.EasyOpc.OperationModel import * def dumpSubconditionNames(subconditionNames): for name in subconditionNames: print(' ', name, sep='') # Instantiate the client object. client = EasyAEClient() try: categoryElements = IEasyAEClientExtension.QueryEventCategories(client, '', 'OPCLabs.KitEventServer.2') except OpcException as opcException: print('*** Failure: ' + opcException.GetBaseException().Message, sep='') exit() # Display results for categoryElement in categoryElements: assert categoryElement is not None print('Category ', categoryElement, sep='') for conditionElement in categoryElement.ConditionElements: assert conditionElement is not None print(' Information about condition "', conditionElement, '":', sep='') print(' .Name: ', conditionElement.Name, sep='') print(' .SubconditionNames:') dumpSubconditionNames(conditionElement.SubconditionNames)
' This example shows information available about OPC event condition. Imports OpcLabs.EasyOpc.AlarmsAndEvents Imports OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace Imports OpcLabs.EasyOpc.OperationModel Namespace AlarmsAndEvents._AEConditionElement Friend Class Properties Private Shared Sub DumpSubconditionNames(ByVal subconditionNames As IEnumerable(Of String)) For Each name As String In subconditionNames Console.WriteLine(" {0}", name) Next name End Sub Public Shared Sub Main1() Dim client = New EasyAEClient() Dim categoryElements As AECategoryElementCollection Try categoryElements = client.QueryEventCategories("", "OPCLabs.KitEventServer.2") Catch opcException As OpcException Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message) Exit Sub End Try For Each categoryElement As AECategoryElement In categoryElements Debug.Assert(categoryElement IsNot Nothing) Console.WriteLine("Category {0}:", categoryElement) For Each conditionElement As AEConditionElement In categoryElement.ConditionElements Debug.Assert(conditionElement IsNot Nothing) Console.WriteLine(" Information about condition ""{0}"":", conditionElement) Console.WriteLine(" .Name: {0}", conditionElement.Name) Console.WriteLine(" .SubconditionNames:") DumpSubconditionNames(conditionElement.SubconditionNames) Next conditionElement Next categoryElement End Sub End Class End Namespace
Rem This example shows information available about OPC event condition. Option Explicit Const AEEventTypes_All = 7 Dim ServerDescriptor: Set ServerDescriptor = CreateObject("OpcLabs.EasyOpc.ServerDescriptor") ServerDescriptor.ServerClass = "OPCLabs.KitEventServer.2" Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient") On Error Resume Next Dim CategoryElements: Set CategoryElements = Client.QueryEventCategories(ServerDescriptor, AEEventTypes_All) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Dim CategoryElement: For Each CategoryElement In CategoryElements WScript.Echo "Category " & CategoryElement & ":" With CategoryElement Dim ConditionElement: For Each ConditionElement In .ConditionElements WScript.Echo Space(4) & "Information about condition """ & ConditionElement & """:" With ConditionElement WScript.Echo Space(8) & ".Name: " & .Name WScript.Echo Space(8) & ".SubconditionNames:" Dim subconditionNames: subconditionNames = .SubconditionNames ' Note: In VBScript, cannot directly write .SubconditionNames(i); it considers it an indexed property instead. Dim i: For i = LBound(subconditionNames) To UBound(subconditionNames) WScript.Echo Space(12) & subconditionNames(i) Next End With Next 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.