AlarmManagerHandler

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:

Scope
Name
Type
Comment

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