# Verriegelungen

> Die dauerhafte Historie des Stopp-Verriegelungsspeichers jeder Einheit: Auslösungen, die wieder sichere Quelle und die von Hand ausgeführten Zurücksetzungen mit ihrem Verfasser.

Die Registerkarte Verriegelungen von [Ereignisse](events) (`/events?view=interlocks`) ist der
dauerhafte Verlauf der **Stopp-Verriegelung**: des booleschen Signals, das ein Modell je Einheit
beobachtet, um einen Lauf zu beenden, wenn die Maschine von außen gestoppt wurde. Sie zu sehen setzt
**Ereignisse anzeigen** voraus; das Exportieren setzt **Historien exportieren/importieren** voraus.
Die Verriegelung wird unter [Process > Definition > Automatik](process-automation)
konfiguriert und über die Komponente Verriegelung auf einem Dashboard oder über die Ansicht der
Einheit zurückgesetzt; diese Registerkarte zeichnet auf und ändert nichts.

Sie folgt dem gemeinsamen Verhalten der drei Verläufe auf
[Ereignisse](events#how-the-three-timelines-behave).

## Die drei Übergänge {#the-three-transitions}

Die Verriegelungsüberwachung fragt die konfigurierte Quelle alle 100 ms ab und liest dabei nur Wert
und Qualität, die Connector oder Logic ohnehin veröffentlichen, ohne Ausdruck und ohne Entprellung.
Der Speicher einer Einheit durchläuft Nicht verfügbar (noch kein gültiger Messwert), Normal,
Ausgelöst und Warten auf Rücksetzung; drei seiner Wechsel werden ins Journal geschrieben:

| Übergang | Wann er aufgezeichnet wird | Meldung |
| --- | --- | --- |
| Ausgelöst | Die Quelle meldet, nachdem ein erster guter Messwert sie scharfgeschaltet hat, die konfigurierte Auslösepolarität oder verliert ihre Qualität. Der Speicher wird gesichert, jede neue Ausführung auf der Einheit wird abgewiesen, ihre schreibbaren Quellen werden gesperrt, und ein laufender Lauf endet als Abgebrochen / NOK mit dem Grund StopInterlock. Eine Einheit, die auf eine Rücksetzung wartete und erneut auslöst, zeichnet ein neues Ausgelöst auf. | "Die Quelle meldet den konfigurierten aktiven Wert (True)." (oder "(False)") oder "Die Quelle ist nicht verfügbar oder hat schlechte Qualität, seit die Verriegelung scharf ist." |
| Quelle sicher | Während der Speicher steht, kehrt die Quelle zu einem guten Messwert des sicheren Werts zurück. Die Einheit bleibt gesperrt, bis jemand sie zurücksetzt. | "Die Quelle ist wieder sicher; ein manuelles Zurücksetzen ist erforderlich." |
| Zurückgesetzt | Eine Person löst den Speicher, während die Quelle gut und sicher ist und die Einheit nicht damit beschäftigt ist, ihren Lauf zu beenden. Wird mit dem Namen der Person aufgezeichnet. | "Die Verriegelung wurde von Hand zurückgesetzt." |

Ein Übergang, der beobachtet wird, während die Überwachung startet oder fortsetzt (wenn sie abfragt,
ohne zu veröffentlichen), wird aufgehoben und beim nächsten veröffentlichenden Abfragen geschrieben
oder im Augenblick der Rücksetzung, die darauf folgt, so dass eine Rücksetzung nie vor der sicheren
Flanke aufgezeichnet wird, die sie beantwortet. Innerhalb einer Einheit ist jeder aufgezeichnete
Zeitpunkt streng später als der vorherige, um mindestens eine Millisekunde, die Reihenfolge der
Zeilen ist also nie mehrdeutig.

## Suche und Filter {#search-and-filter}

| Bedienelement | Werte | Was es tut |
| --- | --- | --- |
| Suche | Platzhalter "Modell, Einheit, Quelle, Verfasser oder Text durchsuchen" | Vergleich auf "enthält" mit dem Namen des Modells, dem Namen der Einheit, dem Schlüssel und dem Namen der Quelle, dem Verfasser einer Rücksetzung und der Meldung. |
| Übergang | **Alle Übergänge** (Vorgabe), **Ausgelöst**, **Quelle sicher**, **Zurückgesetzt** | Behält eine Art von Übergang. |
| Aktualisieren | | Liest das Journal neu; Tooltip "Verriegelungsereignisse aktualisieren". |
| Exportieren | **Als CSV exportieren…**, **Als JSON exportieren…** | Schreibt jedes Ereignis, auf das Suche, Übergangsfilter und Zeitraum passen, Seite um Seite und nicht nur die gerade aufgelisteten Zeilen. Nur mit **Historien exportieren/importieren** gezeichnet; ausgegraut, solange die Liste leer ist. |

## Die Zeilen {#the-rows}

| Teil der Zeile | Inhalt |
| --- | --- |
| Zeit | Datum und Uhrzeit des Übergangs. |
| Punkt | Kritisch für Ausgelöst, warnend für Quelle sicher, neutral für Zurückgesetzt. |
| Name | Der damalige Name der Einheit. |
| Zusammenfassung | "Übergang · Modell / Einheit · Quelle = Wert · Qualität Gut", zum Beispiel "Ausgelöst · Presse 40 / Zelle A · EmergencyStop = True · Qualität Gut". Der Wert lautet True, False oder Nicht verfügbar; die Qualität lautet Gut oder Nicht verfügbar. |
| Stufe | Das Wort des Übergangs: Ausgelöst, Quelle sicher oder Zurückgesetzt. |

## Der Detailbereich {#the-detail-panel}

Das Auswählen einer Zeile öffnet den Bereich mit dem Abzeichen des Übergangs und dem Namen der
Einheit, dem vollständigen Zeitstempel, der Zusammenfassungszeile, der Meldung und drei Karten:

| Karte | Feld | Inhalt |
| --- | --- | --- |
| EREIGNIS | Stufe | Der Übergang. |
| EREIGNIS | Ereignis-ID | Die Kennung dieses Übergangs im Journal. |
| MOMENTAUFNAHME DER VERRIEGELUNG | Übergang | Ausgelöst, Quelle sicher oder Zurückgesetzt. |
| MOMENTAUFNAHME DER VERRIEGELUNG | Laufende Nummer im Journal | Die Einfügenummer der Zeile im Journal. |
| MOMENTAUFNAHME DER VERRIEGELUNG | Modell, Modell-ID | Der damalige Name des Modells und seine stabile Kennung. |
| MOMENTAUFNAHME DER VERRIEGELUNG | Einheit, Einheiten-ID | Der damalige Name der Einheit und ihre stabile Kennung. |
| EINGEFRORENE QUELLE | Quelle | Der damalige Name des beobachteten Tags oder der beobachteten Variable ("Nicht verfügbare Quelle", wenn er nicht gelesen werden konnte; "Entfernte Variable", wenn es die Variable nicht mehr gab). |
| EINGEFRORENE QUELLE | Schlüssel der Quelle | Die vom Namen unabhängige Kennung der Quelle, `tag:<id>` oder `var:<id>`, so dass eine umbenannte Quelle weiterhin zu ihrer Historie passt; `unit:<id>`, wenn für die Einheit keine Quelle konfiguriert war. |
| EINGEFRORENE QUELLE | Polarität der Auslösung | "Auslösen bei Wahr" oder "Auslösen bei Falsch": welcher Messwert des Wahrheitswerts den Lauf beendet. |
| EINGEFRORENE QUELLE | Beobachteter Wert | True, False oder Nicht verfügbar (die Quelle konnte nicht gelesen oder nicht in einen booleschen Wert umgewandelt werden). |
| EINGEFRORENE QUELLE | Qualität | Gut oder Nicht verfügbar. |
| EINGEFRORENE QUELLE | Verfasser | Bei Zurückgesetzt der Anzeigename des Benutzers, der auf dem zurücksetzenden Bildschirm angemeldet war ("Nicht angemeldet", wenn es niemand war; "Unbekannter Bediener", wenn kein Name durchkam). "Automatisch" bei Ausgelöst und Quelle sicher. |

**Ereignis kopieren** kopiert eine Zeile: "Zeitstempel | Verriegelung | Übergang | Einheit |
Zusammenfassung | Meldung | EventId=… | ModelId=… | UnitId=… | SourceKey=… | SourceName=… |
TripWhenTrue=… | QualityGood=… | ObservedValue=… | Author=…".

## Spalten des Exports {#export-columns}

CSV und JSON tragen dieselben Felder, in dieser Reihenfolge: `Timestamp` (die CSV-Kopfzeile ergänzt
den Zeitbezug, "Timestamp (UTC-03:00)"), `JournalSequence`, `Transition` (mit dem rohen Namen
`SourceSafe` geschrieben), `Model`, `ModelId`, `Unit`, `UnitId`, `SourceKey`, `SourceName`,
`TripWhenTrue`, `QualityGood`, `ObservedValue` (leer, wenn nicht verfügbar), `Author` (leer bei
einem automatischen Übergang), `Message` und `EventId`. Die JSON ist ein Umschlag mit `TimeZone` und
`Events`. Die Dateinamen lauten `interlock-history-<yyyyMMdd-HHmmss>.csv` und `.json`. Die CSV folgt
der Einstellung der Station für das Dezimaltrennzeichen wie jeder andere Export: Bei Dezimalpunkt
ist das Listentrennzeichen `,`, bei Dezimalkomma ist es `;`. Einer Zelle, die mit `=`, `+`, `-` oder
`@` beginnt, wird ein Apostroph vorangestellt, damit eine Tabellenkalkulation sie als Text liest.

## Wo ein Übergang sonst noch aufgezeichnet wird {#where-else-a-transition-is-recorded}

Jeder Übergang hinterlässt außerdem eine Konsolenzeile im Bereich Process: "Verriegelung
ausgelöst: …" als Warnung, "Verriegelungsquelle wieder sicher: …" und "Verriegelung
zurückgesetzt: …" als Information, jeweils mit Modell, Einheit, Quelle, Polarität, Qualität und
Wert. Der Lauf, den eine Auslösung beendet hat, behält seine eigene Aufzeichnung in den
[Historien](histories) mit dem Grund StopInterlock. Der gesicherte Speicher selbst ist eine eigene
Zeile, die die Überwachung bis zur Rücksetzung hält; sie wird auf dieser Registerkarte nicht
gezeigt.

## Leerzustände und die Statuszeile {#empty-states-and-the-status-line}

- "Noch keine Verriegelungsereignisse" mit "Auslösungen von Verriegelungen, Flanken einer sicheren
  Quelle und manuelle Rücksetzungen erscheinen hier."
- "Keine Verriegelungsereignisse passen zu diesen Filtern" mit "Ändern Sie den Übergang oder die
  Suchbegriffe, um diese Historie zu erweitern."
- Die Statuszeile lautet "N angezeigt · Seite 1", dann " · gefiltert", wenn eine Suche, ein
  Übergang oder ein Zeitraum wirkt; rechts "1 ausgewählt" und
  "Aktualisiert hh:mm:ss".

## Was die Registerkarte Verriegelungen nicht tut {#what-the-interlocks-tab-does-not-do}

- Sie aktiviert die Verriegelung nicht, wählt weder ihre Quelle noch ihre Polarität und löst eine
  Einheit nicht von der Vorgabe des Modells
  ([Process > Definition > Automatik](process-automation)).
- Sie setzt nicht zurück: Der Befehl Zurücksetzen wohnt auf der Komponente Verriegelung und in der
  Ansicht der Einheit und verlangt eine gute und sichere Quelle sowie eine Einheit, die ihren Lauf
  nicht noch beendet.
- Sie zeigt nicht den laufenden Zustand eines Speichers (Nicht verfügbar, Normal, Ausgelöst, Warten
  auf Rücksetzung); das tun der Bereich der Einheit und die Komponente Verriegelung. Eine Einheit,
  die noch auf eine Rücksetzung wartet, erkennt man hier nur an einer Zeile Quelle sicher ohne ein
  späteres Zurückgesetzt.
- Der Zustand Nicht verfügbar vor dem ersten guten Messwert ist kein Übergang und hinterlässt keine
  Zeile.
- Sie hat keinen Filter für Einheit oder Zeitraum; suchen Sie nach dem Namen der Einheit oder des
  Modells.
