AlarmManagerHandler
AlarmManagerHandler (FB)
AlarmManagerHandler (FB)FUNCTION_BLOCK AlarmManagerHandler
Dieser Funktionsbaustein stellt für jeden Alarm, der in der Konfigurationsliste konfiguriert wurde, eine Alarmpufferliste zur Verfügung. Er ist unabhängig vom Alarmzustand; selbst inaktive Alarme und Alarme im Normalzustand werden angezeigt.
Der „AlarmTraversalConsumer“ wird verwendet, um alle Alarmdaten abzurufen. Die Daten werden nicht direkt über diesen Funktionsbaustein selbst gelesen; der „AlarmTraversalConsumer“ kann als Listener verstanden werden. Auf die Daten wird ausschließlich über den Zeiger auf den „AlarmManagerBuffer“ zugegriffen. Dieser Zeiger wird vom „AlarmTraversalConsumer“ zurückgegeben, der dafür eine Get-Methode bereitstellt.
Sämtliche Daten für jede Alarmzeile werden in der „stAlarmRowStructure“ gehalten, und jede Zeile wird im Buffer-Array „m_paAlarmBuffer“ abgelegt. Auf den Buffer kann über den „ppaFilterAlarms“-Zeiger zugegriffen werden. Nur die gefilterten Daten werden in diesem Buffer bereitgestellt.
Bitte beachten Sie, dass nur die Daten innerhalb der maximal konfigurierten Alarmanzahl gelesen werden. Dies führt zu einem deutlichen Performancegewinn. Die Daten werden außerdem nur einmal im „AlarmManagerBuffer“ gespeichert; der Buffer wird ausschließlich über den Zeiger angesprochen.
Mit diesem Funktionsbaustein sind alle Alarme per IEC-Code zugreifbar, was Ihnen die Möglichkeit gibt, sie für weitere Zwecke zu verwenden oder Verhaltensregeln zu definieren. Es gibt einige Standardregeln, die verwendet werden können. Unterschiedliche Feldinformationen können zur Filterung aller Alarme herangezogen werden. Die „IMessageExecution“ kann implementiert werden, um eigene Alarmregeln zu definieren.
InOut:
Input
xForceDeactivateAlarmMessages
BOOL
Deactivate Alarm Messages (deactivates all alarm messages and ignores the last state of them)
Input
itfMessageExecution
IMessageExecution
Interface to define message execution rules.
Input
paPolicyList
POINTER TO ARRAY [0..ConstantParameters.gc_iMaxPolicyRules] OF stPolicy
The list which holds all policy rules.
Input
paGroupList
POINTER TO ARRAY [0..ConstantParameters.gc_iMaxGroupRules] OF stGroup
The list which holds all groups.
Input
xCreateFilterList
BOOL
On raising edge the “ppaFilteredAlarms” list will be created with the configured parameters “sFilterByType” and “sFilterString”.
Input
sFilterByType
eFilterType
Filter by type (e.g.: “AlarmClass” or “AlarmGroup”)
Input
sFilterString
STRING
Filter the list with the configured type and the matching filter string
Inout
ppaFilteredAlarms
POINTER TO POINTER TO ARRAY [0..ConstantParameters.gc_iMaxAlarms] OF POINTER TO stAlarmRowStructure
The filtered list, which is dynamicly created by the given filter parameters.
Output
iFilteredAlarmRows
INT
the upper border to the size of the filtered alarm buffer list.
Output
eError
ERROR
Output
stEmailStateInfo
stEmailState
Output
sAlarmTextPortal
STRING(255)
Zuletzt aktualisiert

