Alarme mit API-Aufruf programmatisch steuern
Hinweis
Alarme des Überwachungstyps Alarm (API) werden programmatisch im Applikationscode mithilfe der Funktionalität der Bibliothek AlarmManager und der Schnittstelle IAlarmHandler9 ausgelöst. Über die Schnittstelle können Alarme aktiviert (ActivateAlarm) oder deaktiviert (DeactivateAlarm) werden. Die Zustandsübergänge können wie gewünscht gesetzt werden. Solche Alarme werden entweder direkt in einer Alarmgruppe oder als Alarminstanz in einer Alarmgruppenvorlage definiert.
Im Unterschied zur Überwachung per Ereignisses (Event (API)) können Alarme für alle Alarmklassen mit allen Bestätigungsmethoden verwendet werden.
Wichtig
Je nach Alarmklasse und deren Bestätigungsmethoden kann es dann sein, dass zur Laufzeit der Alarm noch vom Visualisierungsbenutzer quittiert werden muss.
Per API alarmieren
Alarm mit Typ Alarm (API) definieren
Legen Sie unter
Alarm Configurationeine Alarmgruppe an.Definieren Sie in der Alarmgruppe einen Alarm des Überwachungstyps Alarm (API).
Wählen Sie in der Spalte Klasse beispielsweise die Alarmklasse
Warnung Orangeund geben Sie unter Nachricht die gewünschte Alarmmeldung an.
Der per API auslösender Alarm ID_20 ist definiert.

Sie können einen solchen Alarm mit einer beliebigen Alarmklasse definieren. Die Angabe von Details entfällt, das heißt es wird keine Alarmbedingung angegeben. Der Alarm wird per API-Aufruf ausgelöst.
API-Aufruf implementieren
Setzen Sie den Cursor an die Programmstelle, an der der API-Aufruf stattfinden soll.
Fügen Sie den API-Aufruf ein.
Tipp
Lassen Sie sich von der Eingabehilfe (F2) unterstützen.
Implementierung
Dieser Code aktiviert den Alarm
ID_20in der AlarmgruppeAlarms1Line.// Activate by API Call Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);
Dieser Code deaktiviert den Alarm
ID_20in der AlarmgruppeAlarms1Line.// Deactivate by API Call Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);
Mit Alarm (API) per Alarminstanz alarmieren
Dies ist insbesondere für Bibliotheksentwickler relevant. Zudem lassen sich die Alarmzustände programmgesteuert über die bereitgestellten API-Methoden explizit setzen.
Alarm mit Typ Alarm (API) definieren
Legen Sie unter
Alarm Configurationeine Alarmgruppenvorlage an.Definieren Sie in der Alarmgruppe einen Alarm des Überwachungstyps Alarm (API).
Wählen Sie in der Spalte Klasse beispielsweise die Alarmklasse
Warningund geben Sie unter Nachricht die gewünschte Alarmmeldung an.
Der per API auslösende Alarm ID_0 ist definiert.
Tipp
Sie können einen API-Alarm auch in einer Alarmgruppe definieren.
Implementieren von Funktionsbaustein und API-Aufruf
Fügen Sie Ihrer Applikaiton einen Funktionsbaustein hinzu, um damit die Alarmzustände des neu definierten Alarms im IEC-Code zu setzen.
Selektieren Sie den Applikationsknoten und wählen Sie den Befehl Objekt hinzufügen → POU.
Konfigurieren Sie die POU wie folgt: Name
MyAlarmFB, Typ Funktionsbaustein, Implementierungssprache ST.Deklaration
FUNCTION_BLOCK MyAlarmFB VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR
Selektieren Sie den Baustein und fügen Sie die Methoden
ActivateAlarmundDeactrivateAlarmhinzu.Öffnen Sie den ST-Editor von der Methode
ActivateAlarmund programmieren Sie den Bibliotheksaufruf.Tipp
Lassen Sie sich von der Eingabehilfe (F2) unterstützen.
Dieser Code aktiviert den Alarm
ID_0aus der Alarmgruppenvorlage.METHOD ActivateAlarm : BOOL VAR_INPUT END_VAR
// Activate Alarm Instance Alarm by API Call Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarmInstance(THIS, Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);
Öffnen Sie den ST-Editor von der Methode
DesctivateAlarmund programmieren Sie den Bibliotheksaufruf.Dieser Code deaktiviert den Alarm
ID_0aus der AlarmgruppenvorlageAGT.METHOD DeactivateAlarm : BOOL VAR_INPUT END_VAR
// Deactivate Alarm Instance Alarm by API Call Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarmInstance(THIS,Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);
Objektnavigator

Instanzieren Sie den Funktionsbaustein in der Alarmgruppenvorlage.
Öffnen Sie den Editor von
AlarmgruoubTemplateund klicken Sie in der Zeile Typ für Alarmdefinition auf die Drei-Punkte-Schaltfläche.Die Einhabehilfe öffnet sich.
Wählen Sie unter
Applicationden FunktionsbausteinMyAlarmFBaus.
Die Alarmdefinition ist instanziert.

Implementieren Sie den API-Aufruf im IEC-Code und fügen Sie die Alarmaufrufe an der gewünschten Stelle hinzu.
Deklaration
PROGRAM PLC_PRG VAR alarmTemplateInstance : MyAlarmFB; END_VARImplementierung
// Deactivate by API Call alarmTemplateInstance.DeactivateAlarm();// Activate by API Call alarmTemplateInstance.ActivateAlarm();Erstellen Sie die Alarminstanzen.
Öffnen Sie den Editor
Alarm Configurationund dort die Registerkarte Alarminstanzen.Klicken Sie auf die Schaltfläche Alarminstanzen erstellen oder aktualisieren.
Die Alarminstanzen innerhalb der
Alarm Configurationbekannt und aktualisiert.
