Alarme

Der Editor eines Alarms: Identität und Adresse, die Bedingung, die Karte Verhalten mit Priorität, Meldung, Verzögerungen, Text und Quittierung, die Schiene Zustand, der Zustandsautomat, die Meldung sowie Quittieren und Alle quittieren.

Als Markdown ansehen

Ein Alarm beobachtet eine Bedingung vom Typ Wahrheitswert und treibt einen Zustandsautomaten für die Quittierung, damit eine Bedingung, auf die es ankam, nie ungesehen kommen und gehen kann. Wählen Sie einen Alarm unter der Wurzel Alarms der Spalte von Logic, oder drücken Sie Öffnen in seiner Zeile in der Tabelle seines Ordners oder der Wurzel seines Abschnitts, um seinen Editor zu öffnen (ein mit Neu… > Neuer Alarm angelegter Alarm wird nicht geöffnet, sondern in dieser Tabelle markiert, siehe Anlegen und Kopieren); Lesen setzt Logic anzeigen voraus, Bearbeiten Logic konfigurieren, Quittieren Logic bedienen.

Die Kopfzeile zeigt die Marke des Alarms (klingelnd, solange der Alarm ansteht), den Namen, die Zeile "Eine Bedingung, die diese Station überwacht: Solange sie ansteht, meldet sich der Alarm und wartet auf seine Quittierung.", eine Pille mit dem aktuellen Zustand (Normalzustand; Aktiv, unquittiert; Aktiv, quittiert; Gegangen, unquittiert) und eine Pille Deaktiviert, solange der Alarm aus ist. Die Spalte des Formulars enthält IDENTITÄT, BEDINGUNG und VERHALTEN; die Schiene enthält ZUSTAND.

Identität

Feld Was es ist Werte / Standard Wirkung
Bezeichnung Der angezeigte Name; sein bereinigtes Segment ist die Adresse unter Alarms. Freier Text; ein neuer Alarm heißt AlarmN. Wird über das sichere Umbenennen übernommen wie der Name einer Variablen: eine Vorschau der Verweise, die mitgehen, die Eingabetaste oder das Verlassen des Feldes zum Übernehmen, "Alarm umbenannt und N Verweise aktualisiert." Das Umbenennen bewahrt den laufenden Zustand und eine ausstehende Quittierung. Ein zusammenstoßender Name wird an Ort und Stelle abgelehnt.
Zeile mit der Adresse Alarms.<Ordner>.<Segment>, unter dem Namen wiederholt. Wird nur gelesen. Ausdrücke und Skripte lesen den Zustand des Alarms darüber (Alarms.HighLevel.IsActive).
Beschreibung (optional) Freier Text. Leer. Keine.

Bedingung

Die Karte BEDINGUNG ist der Editor für Skripte mit dem Hinweis "Ein einzelner JavaScript-Ausdruck vom Typ Wahrheitswert über dem Adressraum, z. B. Connector.Simulated.Pump.Temp.ValueToReal() > Variables.SetpointHigh.ValueToReal(). Bedingungen dürfen keine anderen Alarme verwenden." Die Bedingung folgt jeder Regel für Ausdrücke: ein einzelner, nur lesender Ausdruck, statische Adressen, das Tor der Qualität, die Grenze von 250 ms. Sie darf auf Tags, auf Variablen beider Arten, auf Punkte von Process, auf Assets und auf die Diagnosewerte verweisen, nie auf Alarms.*, und sie muss einen Wahrheitswert ergeben ("Die Bedingung muss einen Wahrheitswert ergeben, sie hat aber '…' ergeben."). Eine Bedingung, die sich in einem Zyklus nicht auswerten lässt (ein genannter Punkt ist schlecht, fehlt oder ist leer), ist Ungewissheit: Der Zustandsautomat hält seinen letzten Zustand.

Verhalten

Feld Was es ist Werte / Standard Wirkung
Priorität Der Schweregrad. Kritisch, Hoch, Mittel (Standard), Niedrig; jede Wahl wird in ihrer Farbe für den Schweregrad gezeichnet. Auf dem Punkt im Baum gezeigt, in jeder Zusammenfassung, auf der Snackbar-Karte, im Journal und an der Anzeige der Statusleiste; auf den geteilten Marken gewinnt die schlimmste anstehende Priorität.
Meldung Wie sich ein Kommen über die immer sichtbare Anzeige der Statusleiste hinaus meldet. Bleibend (Standard), Zeitlich begrenzt, Statusleiste. Der Tooltip des Feldes: "Wie sich eine Aktivierung meldet: Bleibend = Snackbar, bis quittiert oder wieder normal; Zeitlich begrenzt = Snackbar für einige Sekunden; Statusleiste = nur eine Anzeige in der Statusleiste." Siehe den Abschnitt Die Meldung.
Einschaltverzögerung (ms) Wie lange die Bedingung wahr bleiben muss, bevor der Alarm kommt. Eine nicht negative ganze Zahl; 0 lässt ihn sofort kommen. Anhaltend beobachtete Zeit, in der Auflösung des Zyklus von 100 ms.
Ausschaltverzögerung (ms) Wie lange die Bedingung falsch bleiben muss, bevor der Alarm geht. Eine nicht negative ganze Zahl; 0 lässt ihn sofort gehen. Dieselbe Auflösung.
Text (wird bei anstehendem Alarm gezeigt, optional) Text, den die Meldung trägt. Freier Text, leer. Die Karte und die Benachrichtigung des Systems lesen "<Text> (Priorität)"; ohne einen: "Alarm <Priorität> steht an."
Quittierung erforderlich: Ein gegangener Alarm bleibt gespeichert, bis der Bediener quittiert Ob ein Kommen eine Antwort verlangt. Standardmäßig ein. Aus: Der Alarm geht unmittelbar auf Aktiv, quittiert und von dort unmittelbar auf Normal; er meldet sich, wird aber nie gespeichert und wartet nie.

Eine Verzögerung, die negativ ist oder sich nicht lesen lässt, behält den gespeicherten Wert und zeigt "Verzögerungen müssen nicht negative ganze Zahlen sein (ms; die Auflösung ist der Zyklus von 100 ms)." Eine Verzögerung ist anhaltend beobachtete Zeit: Solange sich die Bedingung nicht auswerten lässt, laufen beide Uhren der Verzögerungen neu an, ein blindes Fenster wird also nie auf das Kommen oder Gehen angerechnet.

Eine Änderung an der Bedingung, an einer Verzögerung, an Quittierung erforderlich oder an Aktiviert zu speichern setzt den Automaten auf Normal zurück (ein veralteter Zustand zu einer anderen Regel würde lügen); das Zurücksetzen wird mit der Quelle Konfiguration protokolliert und schließt die Snackbar-Karte des Alarms. Den Namen, die Beschreibung, die Priorität, den Text oder die Meldung zu ändern oder den Alarm in einen anderen Ordner zu legen bewahrt den Zustand.

Die Schiene Zustand

ZUSTAND zeigt den aktuellen Zustand in Worten, "Priorität: <Priorität>", Aktiv seit (ein Strich, solange die Bedingung nicht ansteht) und Letzter Übergang (ein Strich vor dem ersten Zustandswechsel) und den Hinweis "Jeder Übergang erscheint auf der Seite Ereignisse und in der dauerhaften Historie der Alarme. Der Zustand eines Alarms liegt im Adressraum, z. B. Alarms.X.IsActive in einem Ausdruck oder einem Skript." Der Bereich der Wurzel Alarms führt jeden Alarm mit "<Zustand> · <Priorität> · seit <wann>" in seiner Spalte Wert auf und je Zeile eine Schaltfläche Quittieren.

Der Zustandsautomat

Zustand Bedeutung
Normalzustand Bedingung falsch, nichts steht an.
Aktiv, unquittiert Bedingung wahr, noch nicht quittiert.
Aktiv, quittiert Bedingung wahr, quittiert (oder der Alarm verlangt nie eine Quittierung).
Gegangen, unquittiert Die Bedingung ist in den Normalzustand zurückgekehrt, während sie unquittiert war: gespeichert, bis der Bediener quittiert.

Eine Bedingung, die über die Einschaltverzögerung hinweg wahr bleibt, lässt den Alarm aus Normal oder aus Gegangen, unquittiert auf Aktiv, unquittiert kommen (unmittelbar auf Aktiv, quittiert, wenn Quittierung erforderlich aus ist). Eine Bedingung, die über die Ausschaltverzögerung hinweg falsch bleibt, lässt ihn gehen: auf Normal, wenn er schon quittiert ist, auf Gegangen, unquittiert, wenn nicht. Das Quittieren bringt Aktiv, unquittiert auf Aktiv, quittiert und gibt die Haltung zurück auf Normal frei. Der Zyklus wertet alle 100 ms zuerst die Variablen und dann die Alarme aus, auf der Warteschlange der Logik. Der Zustand eines Alarms lebt im Arbeitsspeicher: Nach einem Neustart beginnt jeder Automat bei Normal, und der erste Zyklus leitet die Wirklichkeit aus den laufenden Bedingungen neu ab, eine Haltung oder eine ausstehende Quittierung übersteht einen Neustart also nicht. Jeder Übergang, welchen Ursprung er auch hat (der Zyklus, eine Quittierung, ein Zurücksetzen beim Speichern, Deaktivieren oder Löschen), wird protokolliert und in der dauerhaften Alarmhistorie der Seite Ereignisse festgehalten.

Die Meldung

Die Statusleiste der Oberfläche trägt immer die Anzahl und den schlimmsten anstehenden Schweregrad (das Fenster). Darüber hinaus entscheidet die Art der Meldung:

Meldung Verhalten
Bleibend Eine Snackbar-Karte beim Kommen, mit dem Namen des Alarms als Titel und nach Priorität gefärbt (Kritisch als Fehler, Hoch und Mittel als Warnung, Niedrig als Information), die Quittieren trägt, solange nicht quittiert ist, und Alarme öffnen. Sie bleibt stehen, bis der Alarm quittiert ist oder auf Normal zurückgeht; die Haltung Gegangen, unquittiert hält sie auf dem Bildschirm, und ein erneutes Kommen ersetzt sie.
Zeitlich begrenzt Dieselbe Karte, die sich nach 8 Sekunden von selbst ausblendet.
Statusleiste Keine Karte und keine Benachrichtigung des Systems; nur die Anzeige der Statusleiste.

Eine Karte von Hand auszublenden ist keine Quittierung. Solange das Fenster in den Infobereich ausgeblendet oder minimiert ist, löst ein Kommen mit Bleibend oder Zeitlich begrenzt außerdem eine Benachrichtigung des Systems mit demselben Text aus.

Quittieren

Quittieren ist ein Befehl zum Bedienen und geschieht dort, wo der Alarm Ihnen begegnet: der Befehl Quittieren über einem offenen Alarm, Alle quittieren über der Wurzel Alarms, die Schaltfläche Quittieren jeder Zeile im Bereich der Wurzel Alarms, das Quittieren im Rechtsklickmenü einer Alarmzeile, das Quittieren der Snackbar-Karte, die Seite Ereignisse, ein Alarmhinweis auf einem Dashboard und der Agent (protokolliert als MCP). Jede Quittierung läuft über die Warteschlange der Logik, wird mit ihrer Quelle protokolliert und schließt die Karte des Alarms.

Wo immer sie erscheint, wird die Antwort nur dort angeboten, wo es eine zu geben gibt. Ein Alarm auf Normal oder ein bereits quittierter behält seinen Befehl an Ort und Stelle, ausgegraut, mit "Dieser Alarm wartet auf keine Antwort."; Alle quittieren über einem Verzeichnis, in dem nichts ansteht, sagt "Kein Alarm wartet auf eine Antwort." Und das Aktionsprotokoll bestätigt nur, was sich bewegt hat: Eine Antwort zu drücken, die nichts ändert, meldet denselben Satz und nie "Quittiert.", denn ein Journal der Station, das eine Handlung eines Bedieners festhält, die niemand vorgenommen hat, ist schlimmer als ein Befehl, der kurz nicht erreichbar ist.

Befehl Wirkung Ausgegraut, wenn Nicht gezeichnet, wenn
Quittieren Quittiert den offenen Alarm; das Aktionsprotokoll sagt "Quittiert." "Dieser Alarm wartet auf keine Antwort.", wenn er auf Normal oder schon quittiert ist; "Runtime gestoppt", solange nur lesend. Der Rolle fehlt Logic bedienen.
Alle quittieren Quittiert jeden Alarm, bei dem etwas ansteht, als einen Eintrag in der Warteschlange; das Aktionsprotokoll sagt "Alle Alarme quittiert." "Kein Alarm wartet auf eine Antwort.", wenn nichts ansteht; "Runtime gestoppt", solange nur lesend. Der Rolle fehlt Logic bedienen.
Aktivieren / Deaktivieren Legt Aktiviert um; das Deaktivieren setzt den Automaten auf Normal zurück und hält die Auswertung an. Station gesperrt oder nur lesend. Der Rolle fehlt Logic konfigurieren.
Kopieren Verdoppelt den Alarm an die Wurzel Alarms unter einem freien Namen und markiert die Kopie in der Tabelle dieser Wurzel, statt sie zu öffnen (Anlegen und Kopieren); die Kopie beginnt bei Normal. Station gesperrt oder nur lesend. Der Rolle fehlt Logic konfigurieren.
Alarm löschen Fragt "'X' löschen? Damit verschwindet der Alarm. Das lässt sich nicht rückgängig machen.", setzt den Automaten zuerst zurück (damit eine Meldung nie ihren Alarm überlebt) und entfernt ihn; Verweise auf Alarms.X werden unauflösbar. Station gesperrt oder nur lesend. Der Rolle fehlt Logic konfigurieren.

Verwendet von

Die Karte VERWENDET VON am Fuß der Formularspalte führt alles auf der Station auf, was den Alarm liest, damit Sie sehen, was von ihm abhängt, bevor Sie ihn umbenennen oder löschen. Sie wird gelesen, wenn Sie den Alarm auswählen, und nach einer Umbenennung erneut.

Art Ort Bezeichnung
Modbus-Server Leer Die Zeile der Registertabelle des Modbus-Servers, die einen der Zustände des Alarms bereitstellt, mit Registerklasse und Register (Coil 0)
OPC UA-Server Leer Die Zeile der Bereitgestellten Knoten des OPC UA-Servers, die den Alarm bereitstellt: immer Nur lesen
MQTT-Veröffentlichung Der Broker Das Topic der Zeile der Karte Veröffentlichen des Brokers, die den Alarm veröffentlicht
Variable, Aktion Leer Die Variable der Art Ausdruck oder die Aktion, deren Text eines der Mitglieder des Alarms liest (Alarms.HighLevel.IsActive), mit den Ordnern, in denen sie abgelegt ist
Dashboard Das Dashboard Die Komponente, deren Adresseigenschaft den Alarm nennt

Eine Bedingung liest nie einen anderen Alarm, daher wird kein Alarm aufgeführt. Eine Zeile eines Servers hält den Alarm über seine feste Identität: Eine Umbenennung lässt sie denselben Alarm bereitstellen, und nach dem Löschen bleibt die Zeile stehen und nennt, was ihr fehlt. Die Zeile eines Brokers tut dasselbe und behält ihr Topic. Solange die Suche läuft, steht auf der Karte "Verweise werden gelesen…"; verwendet nichts den Alarm, "Nichts auf der Station verwendet diesen Alarm."; schlägt die Suche fehl, "Die Verweise konnten nicht gelesen werden" mit Erneut versuchen, nie eine leere Liste. Die Karte liest nur: Jede Rolle, die den Editor öffnet, sieht sie, auch während die Station gesperrt ist, und sie bietet keinen Befehl.

Was Alarme nicht tun

Keine Hysterese und kein Totband über das hinaus, was die Bedingung ausdrückt, kein Stilllegen, kein Ton, keine Quittierung aus einem Skript, kein gespeicherter Zustand über Neustarts hinweg und keine Auswertung, solange der Alarm deaktiviert oder die Runtime gestoppt ist. Ein Alarm ist kein Ereigniseintrag von Process: Die werden auf der Seite Process eingerichtet und beurteilt.