'Declaration
Property CategoryId As Integer
'Usage
Dim instance As _AECategoryElement Dim value As Integer instance.CategoryId = value value = instance.CategoryId
int CategoryId {get; set;}
'Declaration
Property CategoryId As Integer
'Usage
Dim instance As _AECategoryElement Dim value As Integer instance.CategoryId = value value = instance.CategoryId
int CategoryId {get; set;}
Event categories are vendor-specific. Their category IDs can be used in the event subscription for specifying filters. Category IDs are unique across the server (e.g. if Category ID x is used for both simple events and condition events, then the ID references the exact same category.)
// This example shows information available about OPC event category. using System; using System.Diagnostics; using OpcLabs.EasyOpc.AlarmsAndEvents; using OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace; using OpcLabs.EasyOpc.OperationModel; namespace DocExamples.AlarmsAndEvents._AECategoryElement { class Properties { 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 is null)); Console.WriteLine("Information about category {0}:", categoryElement); Console.WriteLine(" .CategoryId: {0}", categoryElement.CategoryId); Console.WriteLine(" .Description: {0}", categoryElement.Description); Console.WriteLine(" .ConditionElements:"); if (!(categoryElement.ConditionElements.Keys is null)) foreach (string conditionKey in categoryElement.ConditionElements.Keys) Console.WriteLine(" {0}", conditionKey); Console.WriteLine(" .AttributeElements:"); if (!(categoryElement.AttributeElements.Keys is null)) foreach (long attributeKey in categoryElement.AttributeElements.Keys) Console.WriteLine(" {0}", attributeKey); } } } }
# This example shows information available about OPC event category. # 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 * # 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('Information about category ', categoryElement, sep='') print(' .CategoryId: ', categoryElement.CategoryId, sep='') print(' .Description: ', categoryElement.Description, sep='') print(' .ConditionElements:') if categoryElement.ConditionElements.Keys is not None: for conditionKey in categoryElement.ConditionElements.Keys: print(' ', conditionKey, sep='') print(' .AttributeElements:') if categoryElement.AttributeElements.Keys is not None: for attributeKey in categoryElement.AttributeElements.Keys: print(' ', attributeKey, sep='')
' This example shows information available about OPC event category. Imports OpcLabs.EasyOpc.AlarmsAndEvents Imports OpcLabs.EasyOpc.AlarmsAndEvents.AddressSpace Imports OpcLabs.EasyOpc.OperationModel Namespace AlarmsAndEvents._AECategoryElement Friend Class Properties 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("Information about category {0}:", categoryElement) Console.WriteLine(" .CategoryId: {0}", categoryElement.CategoryId) Console.WriteLine(" .Description: {0}", categoryElement.Description) Console.WriteLine(" .ConditionElements:") If categoryElement.ConditionElements.Keys IsNot Nothing Then For Each conditionKey As String In categoryElement.ConditionElements.Keys Console.WriteLine(" {0}", conditionKey) Next conditionKey End If Console.WriteLine(" .AttributeElements:") If categoryElement.AttributeElements.Keys IsNot Nothing Then For Each attributeKey As Long In categoryElement.AttributeElements.Keys Console.WriteLine(" {0}", attributeKey) Next attributeKey End If Next categoryElement End Sub End Class End Namespace