'Declaration
<NotNullAttribute()> Property Name As String
'Usage
Dim instance As _AEConditionElement Dim value As String instance.Name = value value = instance.Name
[NotNull()] string Name {get; set;}
'Declaration
<NotNullAttribute()> Property Name As String
'Usage
Dim instance As _AEConditionElement Dim value As String instance.Name = value value = instance.Name
[NotNull()] string Name {get; set;}
Condition names are server specific.
The number of condition names returned will vary depending on the sophistication of the server, but is expected to be less than 30 for most servers.
The Server is in fact allowed to change the available selection at any time. Therefore, a Client should do (or at least allow as an option) a fresh Query every time a selection is to be presented to the end user.
// 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