Alarms
Codesys-Back-End
Die Codesys-Integration steuert das Aktivieren und Deaktivieren von Alarmen innerhalb der SPS-Logik. Sie kommuniziert direkt mit dem Alarm-Frontend über die Variablenbindung.
Erforderliche Bibliotheken
Um Alarme in deinem Codesys-Projekt zu nutzen, müssen folgende Bibliotheken eingebunden werden:
- PLCVisu – Framework für Kommunikation und UI-Unterstützung
- ELA_MessageSystem – Die zentrale Bibliothek zur Alarmlogik → bereits in der PLCVisu-Bibliothek enthalten
Weitere Details siehe Screenshot:

Symbolkonfiguration in Codesys
Damit Alarme zwischen Codesys und dem HMI kommunizieren können, müssen alarmbezogene Variablen in der Symbolkonfiguration freigegeben werden. Diese Variablen müssen ausgewählt und für den externen Zugriff aktiviert sein.

Stelle sicher, dass alle benötigten Alarmstrukturen und Variablen für den externen Zugriff aktiviert sind – andernfalls werden die Alarme im HMI nicht korrekt angezeigt.
Alarm-Implementierung
alarmPrg
SPS-Programm, das für die Initialisierung der Alarme sowie die Ereignisverarbeitung zuständig ist. Es wird üblicherweise in PLC_PRG eingebunden oder in einem separaten Task ausgeführt.
alarmingManagerPrg
Das Programm, in dem die eigentliche Logik zum Aktivieren und Deaktivieren der Alarme implementiert ist.
setActive
Aktiviert einen Alarm mit optionalen Parametern und Übersetzungs-Platzhaltern:
setActive(msgId : UINT,
param1 : STRING := '',
param2 : STRING := '',
param3 : STRING := '',
param4 : STRING := '',
param5 : STRING := '',
trans1 : STRING := '',
trans2 : STRING := '',
trans3 : STRING := '',
trans4 : STRING := '',
trans5 : STRING := '',
moduleId : UINT := 0);
setInactive
Deaktiviert einen zuvor aktivierten Alarm:
setInactive(msgId : UINT,
moduleIndex : UINT := 0,
tag : STRING := '');
manage
Stellt einen Trigger als Eingangsparameter bereit und ersetzt setActive sowie setInactive:
alarmingPrg.alarming.manage(444, iErrorTrigger > 95);
Diese Methoden werden typischerweise aus einem strukturierten Alarmmanager-Programm wie alarmManagerPrg aufgerufen.
