Ereignisalarme im Programm aufrufen
Für die Definition eines Alarms in einer Alarmgruppe steht unter anderem der Überwachungstyp Ereignis (API) zur Verfügung. Im Gegensatz zu den Überwachungstypen, bei denen der Alarm in Abhängigkeit von Bedingungen ausgelöst wird, kann bei diesem Überwachungstyp der Alarm durch den Aufruf einer Funktionsbaustein-Instanz ausgelöst werden.
Definieren des Ereignisalarms in der Alarmgruppe
Legen Sie eine Alarmgruppe an.
Definieren Sie in der Alarmgruppe einen Alarm vom Überwachungstyp Ereignis (API).
Wählen Sie in der Spalte Klasse eine Alarmklasse mit der Bestätigungsmethode ACK oder legen Sie eine neue Alarmklasse an.
Programmaufruf zum Auslösen des Ereignisalarms
Setzen Sie den Cursor an die Programmstelle, an der der Funktionsbaustein-Aufruf stattfinden soll.
Verwenden Sie die Funktion
RaiseEvent
aus der BibliothekAlarmManager
:Geben Sie „AlarmManager“ ein, gefolgt von einem Punkt.
Es öffnet sich ein Fenster mit einer Liste aller einfügbaren Elemente (Funktionalität „Komponenten auflisten“).
Wählen Sie
AlarmGlobals
und geben Sie einen Punkt ein.Fügen Sie in der gleichen Weise die Elemente
g_AlarmHandler
undRaiseEvent
ein.Sie erhalten folgende Zeile:
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent
.Legen Sie nun die Übergabevariablen
AlarmGroup_ID
undAlarm_ID
fest. Dazu geben Sie eine öffnende Klammer ein.Es erscheint ein Tooltip mit Informationen zu den Übergabevariablen
Drücken Sie F2
Es öffnet sich die Eingabehilfe
Wählen Sie in der Registerkarte Kategorien (
) die Kategorie Variablen (
).
Wählen Sie die gewünschte Gruppen-ID-Variable (
) aus.
Die Variable wird in die Programmzeile übernommen.
Geben Sie ein Komma ein und fügen Sie analog zum Schritt 7 die gewünschte Alarm-ID-Variable (2) ein. Geben Sie eine schließende Klammer und einen Strichpunkt ein.
Sie erhalten folgende Programmzeile:
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_AlarmGroup1, Alm_AlarmGroup1_Alarm_IDs.ID_0);
Ereignisse von Alarmvorlageninstanzen auslösen
Ereignisse von Instanzalarmen können ausgelöst werden, indem die Adresse der Instanz übergeben wird, zu der der Alarm gehört.
Beim Auslösen des Ereignisses wird die Latch-Variable, die auf die Instanz zeigt, automatisch korrekt beschrieben.
Dafür stehen in der Bibliothek AlarmManager
die Schnittstelle IAlarmHandler7
mit folgenden Funktionen zur Verfügung.
RaiseEventAlarmInstance
RaiseEventAlarmInstanceByName

Funktionsbaustein MyalarmFB
mit Methode RaiseEvent
FUNCTION_BLOCK MyAlarmFB VAR_INPUT xCondition : BOOL; END_VAR
METHOD RaiseEvent : BOOL VAR_INPUT END_VAR
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstance(THIS, Alm_AlarmGroupTemplate_Alarm_IDs.ID_3);
Programm PLC_PRG
PROGRAM PLC_PRG VAR // Alarm Instances myInst : MyAlarmFB; myInst2 : MyAlarmFB; END_VAR
Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstance(ADR(myInst), Alm_AlarmGroupTemplate_Alarm_IDs.ID_3); Alarmmanager.AlarmGlobals.g_AlarmHandler.RaiseEventAlarmInstanceByName(ADR(pouInst), Alm_AlarmGroupTemplate2_Alarm_IDs.ID_0, 'AlarmGroupTemplate2');