Skip to main content

Alarme in Bibliotheken verwalten

Als Bibliotheksentwickler können Sie für einen bestimmten Funktionsbaustein oder einen Struktur-Typen Alarmbedingungen definieren.

Konkret bedeutet dies, dass Sie für die Variablen solcher Programmierbausteine ein Alarmgruppenvorlage-Objekt erstellen und darin Alarmdefinitionen konfigurieren. Für das Programmierbaustein-Objekt liegt dann im POUs- oder Gerätebaum parallel das Alarmgruppenvorlage-Objekt. Die Alarmdefinitionen daraus werden später in der Applikation im Objekt Alarmkonfiguration instanziiert, um zur Laufzeit eine Alarmprüfung durchzuführen.

Als Benutzer können Sie Bibliotheksbausteine, die Alarmdefinitionen mitbringen, für die unterstützte Erstellung einer Alarmkonfiguration verwenden. Sie werden übrigens bei der Alarmkonfiguration in Ihrer Applikation während des gesamten Entwicklungsablaufs unterstützt. Fügen Sie unterhalb Ihrer Applikation eine Alarmkonfiguration ein. Ein spezieller Generierungslauf erzeugt dann die Alarme für die Instanzen von Funktionsbausteinen mit Alarmdefinition. Rufen Sie dafür den Befehl Alarminstanzen erstellen und aktualisieren auf, so dass für alle Instanzen auch Alarminstanzen erstellt werden.

Die Alarmkonfiguration kann von Ihnen weiter bearbeitet werden. So können Sie beispielsweise einzelne Alarminstanzen abwählen.

Um den Applikationscode konsistent mit der Alarmkonfiguration zu halten, wird während der Kompilierung des IEC-Codes die Vollständigkeit und Korrektheit der Alarminstanzen überprüft. Das Ergebnis wird im Meldungsfenster ausgegeben, so dass sie immer über den Zustand der Alarmkonfiguration informiert sind. Wenn Sie dies nicht wünschen, können Sie die Option Alarminstanzen während der Kompilierung prüfen in der Alarmkonfiguration deaktivieren.

Mit Hilfe des Attributpragmas alarm_creation_default können Sie steuern, wie der Default für diese Instanz bezüglich der Erzeugung sein soll.

Abbildung 3. Alarmkonfiguration
Alarmkonfiguration


Für weitere Informationen siehe: Alarmgruppenvorlage, Alarmkonfiguration, alarm_creation_default

Alarmklassen zentral in Bibliothek definieren

Sie können Alarmklassen zentral in einer eigenen Bibliothek definieren. Das hat den Vorteil, dass Sie die Eigenschaften und das Verhalten der Alarmklassen zentral definieren, ändern und verwalten können. Die Alarmklassen werden dann in Implementierungsbibliotheken, die aus Bausteinen mit den jeweiligen Alarmgruppenvorlagen bestehen, referenziert.

Alarmklassen aus anderen Bibliotheken müssen mit Namensräumen aufgeführt werden, um Mehrdeutigkeiten mit gleichnamigen lokalen Alarmklassen zu vermeiden.

Da es derzeit nur einen Alarmspeicher gibt, entfällt die Konfiguration in der Alarmgruppe. Die Alarmklasse entscheidet, ob ein Alarm gespeichert wird oder nicht.

_vis_img_library_alarmclass.png

Das Verhalten von Alarmklassen kann zentral in Bibliotheken definiert werden, wenn Bibliotheksalarmklassen implementiert werden, die dann in Implementierungsbibliotheken referenziert werden können.

Anmerkung

Die bisher vordefinierten Alarmklassen Error, Info und Warnung unterhalb der Alarmkonfiguration können gelöscht werden, wenn nur Alarmklassen aus Bibliotheken verwendet werden sollen.

Bausteine mit Alarmgruppenvorlage in Bibliothek verwenden

In den Alarmgruppenvorlagen können die Alarmbedingungen für Variablen des Typen definiert werden.

  1. Selektieren Sie ihre Applikation.

    Wählen Sie den Befehl Objekt hinzufügen → Alarmgruppenvorlage und geben Sie im Dialog Alarmgruppenvorlage hinzufügen einen Namen ein.

    Das neue Alarmgruppenvorlage-Objekt AGT_FB_DoIT ist unter Ihrer Applikation angelegt.

    Tipp: Das Objekt kann auch unter POUs abgelegt werden.

  2. Wählen Sie in Typ für Alarmdefinition den Typen (Funktionsbaustein oder Struktur) aus, für den Sie Alarme definieren möchten.

    FB_DoIt

  3. Definieren Sie unter Details einen Alarm für den Typen:

    • Programmieren Sie unter den Details eine Alarmbedingung.

    • Geben Sie unter Klasse eine Alarmklasse an, idealerweise eine aus einer Alarmklassenbibliothek.

    _vis_img_alarm_group_template.png

Funktionsbaustein mit Vererbung

Falls Sie einen Basisbaustein haben, der andere Bausteine erweitert, können Sie auch für diesen Basisbaustein eine Alarmgruppenvorlage erstellen und dort Alarmdefinitionen vornehmen.

Alternativ können Sie eine Alarmgruppenvorlage für einen abgeleiteten Baustein erstellen. Dabei ist auch der Zugriff auf die Variablen des Basisbausteins möglich, so dass Sie Alarmdefinitionen für die geerbten Variablen programmieren können.

_vis_img_library_alarmgroup.png

Alarminstanzen erstellen und erneuern

Sie können die Alarmkonfiguration aktualisieren, so dass daraufhin alle applikationsweit deklarierten Instanzen dort gelistet sind.

  1. Öffnen Sie in CODESYS unterhalb der Applikation das Objekt Alarmkonfiguration.

  2. Wählen Sie die Schaltfläche Alarminstanzen erstellen oder aktualisieren.

    In der Tabelle Alarminstanzen werden alle Instanzen mit Alarmgruppenvorlage der Applikation aktuell gelistet.

Projekt prüfen

Sie können die Erzeugung von Alarmen für Instanzen aktivieren und deaktivieren. Standardmäßig werden alle Alarminstanzen in der Alarmkonfiguration eingefügt. Unter der Spalte Erzeugen können Sie einzelne Instanzen abwählen, so dass für diese Instanz keine Alarmauswertung erfolgt.

Wenn Sie die Alarminstanzen auf verschiedene Gruppen aufteilen möchten, können Sie die Zuordnung in der Spalte Alarmgruppe vornehmen. Zuvor müssen die Alarmgruppen unterhalb der Alarmkonfiguration angelegt worden sein.

Für weitere Informationen siehe: Alarmkonfiguration, alarm_creation_default