Alarm-Server und Alarm-Clients

Alarm-Server sind Einheiten, die einen Alarm produzieren können. Alarm-Clients sind Einheiten, die einen Alarm empfangen können.

Bei den Alarm-Clients gibt es zwei Typen: Die temporären und die konfigurierten Alarmempfänger. Das nachfolgende Konzept temporärer Alarmempfänger ist nur für Desigo PX gültig.

Temporäre Alarmempfänger

Temporäre Alarmempfänger werden beim Engineering nicht definiert. Sie können zu irgendeinem Zeitpunkt der Betriebsphase an das Netzwerk angeschlossen und auch wieder entfernt werden. Wird ein temporärer Alarmempfänger an das Netzwerk angeschlossen, dann führt er für jeden Alarm-Server folgende Aktionen aus:

  • Der Alarmempfänger trägt seine Adresse in das BACnet-Property Empfängerliste [RecpList] des BACnet Device Objects der Automationsstation mit dem BACnet Service AddListElement ein.
  • Der Alarmempfänger liest Informationen über alle momentan bestehenden Alarme sowie alle momentan benötigten Bestätigungen von der Automationsstation (BACnet Service GetEventInformation). Damit wird sichergestellt, dass der Alarmempfänger – ganz gleich, wann er angeschlossen wurde – den aktuellen Alarmzustand des Systems anzeigt.

Ist diese Eintragung erfolgt, dann erhält der temporäre Alarmempfänger – solange er erreichbar ist – alle Alarmmeldungen der Automationsstation gemäss den nachstehend beschriebenen Weiterleitungsmechanismen.

Kann eine Automationsstation eine Alarmmeldung nicht mehr an einen temporären Alarmempfänger weiterleiten (weil dieser z. B. nicht mehr am Netzwerk ist), dann wird die Adresse dieses Empfängers aus der [RecpList] ausgetragen und alle für den ausgetragenen Empfänger bestimmten Alarmmeldungen werden gelöscht.

Konfigurierte Alarmempfänger

Die konfigurierten Alarmempfänger werden im Meldungsklassen-Objekt:

  • Bei Desigo PX in der [DestList] eingetragen
  • Bei Desigo Raumautomation in der [RecpList] eingetragen

Zeitlicher Ablauf im Netzwerk

Die Weiterleitung aller Alarm- und Quittierungsmeldungen zwischen Alarm Server und Alarm Clients erfolgt über das BACnet-Netzwerk mit folgenden speziellen BACnet Services:

  • Confirmed Event Notification für alle Änderungen des Alarmzustandes eines alarmfähigen Objekts (TO_OFFNORMAL, TO_NORMAL, TO_FAULT), sowie für Meldungen über erfolgte lokale Quittierungen. Richtung: Vom Alarm Server zum Alarm Client.
  • AcknowledgeAlarm für die Weiterleitung von Acknowledgements (Quittieren, Rücksetzen), die ein Benutzer auf einem Alarm Client vorgenommen hat. Richtung: Vom Alarm Client zum Alarm Server.

Bei beiden Services handelt es sich um so genannte Confirmed Services, das heisst, das Empfängergerät bestätigt jeweils den Empfang eines Services durch das sofortige Zurückschicken einer SimpleAck-Meldung. Dadurch weiss das Sendegerät, dass seine Meldung beim Empfängergerät angekommen ist. Falls SimpleAck ausbleibt, versucht das Sendegerät mehrmals (3x) die Meldung erneut zu schicken.

Ein Alarm geht immer von genau einem Alarm Server aus. Im Allgemeinen sind jedoch mehrere Alarm Clients am Netz. Es müssen immer alle Alarm Clients den gleichen Alarmzustand anzeigen (Konsistenz). Deshalb müssen alle alarmrelevanten Funktionen immer an alle Alarm Clients weitergeleitet werden. Die Abläufe sind für temporäre und konfigurierte Alarmempfänger gleich.

Die nachfolgenden Zeitdiagramme beschreiben den Ablauf der Kommunikation über das Netzwerk für die verschiedenen alarmrelevanten Ereignisse:

Änderung eines Alarmzustandes

Dieser Ablauf wird für alle Änderungen des Alarmzustandes auf einem Alarm Server ausgeführt: TO_OFFNORMAL, TO_FAULT und TO_NORMAL. Der Datensatz Confirmed Event Notification enthält dabei folgende Informationen:

  • BACnet-Adresse des Alarm-Servers
  • Object ID des alarmierenden Objekts
  • Zeitstempel
  • Alarmpriorität
  • Ausgangs- und Endzustand des gemeldeten Zustandsüberganges (daraus lässt sich ableiten, ob es sich um einen TO_OFFNORMAL, TO_FAULT oder TO_NORMAL-Zustandsübergang handelt).
  • Bestätigung erforderlich [AckReq]: Muss der gemeldete Zustandsübergang bestätigt werden oder nicht?
  • Alarmtext
  • Weitere technische Detailinformationen

Aufgrund dieser Informationen kann der Alarm Client den Alarm verständlich darstellen, eventuell zusätzliche Informationen automatisch vom Alarm Server lesen und allfällige Quittierungen an die richtige Adresse zurückschicken.

Falls ein temporärer Alarmempfänger keine Empfangsbestätigung mit SimpleAck gibt (einfache Bestätigung über den Eingang der Confirmed Event Notification), versucht der Alarm Server noch drei Mal den Alarm an den betreffenden Alarmempfänger zu übermitteln. Danach geht die Meldung für diesen Alarm Client verloren und seine Referenz wird aus der [RecpList] des BACnet Device Objects gelöscht.

Bestätigung eines Alarms über Netzwerk

Dieser Ablauf wird für alle Quittierungen ausgeführt, die auf einem Alarm Client vorgenommen werden.

Quittieren und Rücksetzen

Der Alarm kann von einem beliebigen Alarm Client bestätigt werden. Im Datensatz AcknowledgeAlarm befindet sich die Information, welcher Alarm bestätigt wird sowie weitere Spezifikationen, die den Alarm und die bestätigten Alarm Clients betreffen. Die Alarmbestätigung wird vom Alarm-Server, der den Alarm ausgelöst hat, mit einem SimpleAck bestätigt. Danach werden alle anderen Alarm Clients im Netzwerk mit einer Confirmed Event Notification über die Alarmbestätigung informiert. Deren Empfang wird wiederum mit SimpleAck quittiert, mit dem Ziel, dass alle Clients über eine aktuelle und konsistente Information verfügen.

Lokales Quittieren eines Alarms

Alarme können auch lokal auf dem Alarm-Server quittiert und zurückgesetzt werden. Der Alarm wird im Alarm Server, der den Alarm ausgelöst hat, intern bestätigt. Nun werden allen Alarm Clients Confirmed Event Notifications gesendet, um sie von der Bestätigung zu unterrichten. Der Empfang dieser Confirmed Event Notification wiederum wird mit SimpleAck von den Alarm Clients bestätigt.

Abschalten der Alarmweiterleitung

Jedes alarmfähige Objekt verfügt über einen Parameter [EnEvt] vom Typ Boolean. Alarmmeldungen (und System-Events) werden nur dann über das Netzwerk verschickt, wenn [EnEvt=TRUE] ist. Die Alarmüberwachung des Objekts wird dadurch nicht beeinflusst, das heisst, die Alarmzustandsmaschine wird immer nachgeführt.