I/O-Gruppenfunktionalität: Unterschied zwischen den Versionen
K (→Heartbeat-Überwachung: typo; Kategorie hinzugefügt) |
K (typo, Formatierung angepasst) |
||
| Zeile 1: | Zeile 1: | ||
== Implementierung der Gruppenfunktion für Außenrufe im Tableau-Knoten (input/ouput panel unit) == | == Implementierung der Gruppenfunktion für Außenrufe im Tableau-Knoten (input/ouput panel unit) == | ||
=== Bedeutung des Parameters lift bei den virtuellen Ein- und Ausgängen === | === Bedeutung des Parameters ''lift'' bei den virtuellen Ein- und Ausgängen === | ||
====Virtueller Eingang==== | |||
''lift'' - Aufzüge, die gerufen werden, d. h. der Aufzug oder einer der entprechenden Aufzüge sollen kommen: | |||
z. B. normaler Außenruf - lift = 0xFF -> alle Aufzüge sind gerufen | z. B. normaler Außenruf - ''lift'' = 0xFF -> alle Aufzüge sind gerufen | ||
normaler Außenruf - lift = 0x02 -> nur Aufzug 2 wird gerufen | normaler Außenruf - ''lift'' = 0x02 -> nur Aufzug 2 wird gerufen | ||
(z. B. weil nur dieser eine | (z. B. weil nur dieser eine bestimmte Etage anfahren kann) | ||
priorisierter Außenruf - lift = 0x04 -> nur Aufzug 3 wird gerufen | priorisierter Außenruf - ''lift'' = 0x04 -> nur Aufzug 3 wird gerufen | ||
Die Aufzugsteuerung kann so die Rufe (bzw. alle Eingänge) vorfiltern. | Die Aufzugsteuerung kann so die Rufe (bzw. alle Eingänge) vorfiltern. | ||
====Virtueller Ausgang==== | |||
''lift'' - der Ausgang wird nur aktiv, wenn der entsprechende Aufzug diesen aktiviert hat | |||
z. B. normaler Außenruf - lift = 0xFF -> alle Aufzüge dürfen quittieren | z. B. normaler Außenruf - ''lift'' = 0xFF -> alle Aufzüge dürfen quittieren | ||
normaler Außenruf - lift = 0x02 -> nur Aufzug 2 kann quittieren | normaler Außenruf - ''lift'' = 0x02 -> nur Aufzug 2 kann quittieren | ||
priorisierter Außenruf - lift = 0x04 -> nur Aufzug 3 kann quittieren | priorisierter Außenruf - ''lift'' = 0x04 -> nur Aufzug 3 kann quittieren | ||
Jeder Ausgang hat dazu ein zusätzliches Byte (hier vo_lift genannt), wobei jedes Bit den Zustand des Ausgangs bezogen auf den Aufzug darstellt. Alle Bits sind | Jeder Ausgang hat dazu ein zusätzliches Byte (hier vo_lift genannt), wobei jedes Bit den Zustand des Ausgangs bezogen auf den Aufzug darstellt. Alle Bits sind ODER-verknüpft, d. h. ist das Byte ''vo_lift'' Null, so ist der Ausgang aus, ist das Byte ''vo_lift'' ungleich Null, so ist der Ausgang ein. | ||
====Funktionsweise==== | |||
Ein Aufzug setzt den Ausgang: | Ein Aufzug setzt den Ausgang: | ||
| Zeile 35: | Zeile 35: | ||
vo_lift &= (~(Quelle lift & Parameter lift)) | vo_lift &= (~(Quelle lift & Parameter lift)) | ||
wobei Quelle lift das Byte lift im Telegramm virtueller Ausgang von der Steuerung ist, Parameter lift ist das Byte lift des virtuellen Ausgangs im Knoten | wobei Quelle ''lift'' das Byte ''lift'' im Telegramm virtueller Ausgang von der Steuerung ist, Parameter ''lift'' ist das Byte ''lift'' des virtuellen Ausgangs im Knoten. | ||
''Wichtig:'' | '''Wichtig:''' | ||
Beim Verlust des Heartbeats eines Aufzugs ist ein gesetztes Bit für diesen Aufzug im Byte ''vo_lift'' zu löschen! | |||
====Ein Beispiel:==== | |||
(1) Ein Knoten sendet einen Eingang mit der Funktion Außenruf für Aufzug 1 und 2: | (1) Ein Knoten sendet einen Eingang mit der Funktion Außenruf für Aufzug 1 und 2: | ||
| Zeile 70: | Zeile 70: | ||
Ein Aufzug löscht alle Quittungen: Byte lift = 0x03 -> vo_lift = 0x00 -> Ausgang aus | Ein Aufzug löscht alle Quittungen: Byte lift = 0x03 -> vo_lift = 0x00 -> Ausgang aus | ||
Noch einmal zusammengefasst: | |||
Wenn ein Ausgang mehreren Aufzügen zugeordnet ist (Gruppenfunktionalität), dann ist der virtuelle Ausgang solange aktiv, wie mindestens ein Aufzug diesen eingeschaltet hat ( | Wenn ein Ausgang mehreren Aufzügen zugeordnet ist (Gruppenfunktionalität), dann ist der virtuelle Ausgang solange aktiv, wie mindestens ein Aufzug diesen eingeschaltet hat (ODER-Verknüpfung aller Aufzüge) und der Heartbeat aktiv ist. | ||
=== Heartbeat-Überwachung === | === Heartbeat-Überwachung === | ||
Das virtuelle Gerät Ausgang muss den Heartbeat der Steuerung (Aufzug) überwachen, dem er (via lift Byte) zugeordnet ist. | Das virtuelle Gerät Ausgang muss den Heartbeat der Steuerung (Aufzug) überwachen, dem er (via ''lift''-Byte) zugeordnet ist. | ||
Fällt der Heartbeat einer Steuerung aus, so sind folgende Aktionen durchzuführen: | Fällt der Heartbeat einer Steuerung aus, so sind folgende Aktionen durchzuführen: | ||
* Alle virtuellen Ausgänge (bis auf das Außer-Betrieb-Signal) für diesen Aufzug sind zu löschen (für Rufe siehe oben, vo_lift) | * Alle virtuellen Ausgänge (bis auf das Außer-Betrieb-Signal) für diesen Aufzug sind zu löschen (für Rufe siehe oben, ''vo_lift'') | ||
* Alle Anzeigen für diesen Aufzug sind zu deaktivieren | * Alle Anzeigen für diesen Aufzug sind zu deaktivieren | ||
Aktuelle Version vom 13. Oktober 2008, 08:15 Uhr
Implementierung der Gruppenfunktion für Außenrufe im Tableau-Knoten (input/ouput panel unit)
Bedeutung des Parameters lift bei den virtuellen Ein- und Ausgängen
Virtueller Eingang
lift - Aufzüge, die gerufen werden, d. h. der Aufzug oder einer der entprechenden Aufzüge sollen kommen:
z. B. normaler Außenruf - lift = 0xFF -> alle Aufzüge sind gerufen
normaler Außenruf - lift = 0x02 -> nur Aufzug 2 wird gerufen
(z. B. weil nur dieser eine bestimmte Etage anfahren kann)
priorisierter Außenruf - lift = 0x04 -> nur Aufzug 3 wird gerufen
Die Aufzugsteuerung kann so die Rufe (bzw. alle Eingänge) vorfiltern.
Virtueller Ausgang
lift - der Ausgang wird nur aktiv, wenn der entsprechende Aufzug diesen aktiviert hat
z. B. normaler Außenruf - lift = 0xFF -> alle Aufzüge dürfen quittieren
normaler Außenruf - lift = 0x02 -> nur Aufzug 2 kann quittieren
priorisierter Außenruf - lift = 0x04 -> nur Aufzug 3 kann quittieren
Jeder Ausgang hat dazu ein zusätzliches Byte (hier vo_lift genannt), wobei jedes Bit den Zustand des Ausgangs bezogen auf den Aufzug darstellt. Alle Bits sind ODER-verknüpft, d. h. ist das Byte vo_lift Null, so ist der Ausgang aus, ist das Byte vo_lift ungleich Null, so ist der Ausgang ein.
Funktionsweise
Ein Aufzug setzt den Ausgang:
vo_lift |= (Quelle lift & Parameter lift)
Ein Aufzug löscht den Ausgang:
vo_lift &= (~(Quelle lift & Parameter lift))
wobei Quelle lift das Byte lift im Telegramm virtueller Ausgang von der Steuerung ist, Parameter lift ist das Byte lift des virtuellen Ausgangs im Knoten.
Wichtig:
Beim Verlust des Heartbeats eines Aufzugs ist ein gesetztes Bit für diesen Aufzug im Byte vo_lift zu löschen!
Ein Beispiel:
(1) Ein Knoten sendet einen Eingang mit der Funktion Außenruf für Aufzug 1 und 2:
Byte lift = 0x03; vo_lift = 0x00 -> Ausgang aus
(2) Aufzug 1 sendet seine Quittung:
Byte lift = 0x01 -> vo_lift = 0x01 -> Ausgang ein
(3) Aufzug 2 sendet seine Quittung:
Byte lift = 0x02 -> vo_lift = 0x03 -> Ausgang ein
(4) Aufzug 1 erreicht die Etage und löscht die Quittung:
Byte lift = 0x01 -> vo_lift = 0x02 -> Ausgang ein
(5) Aufzug 2 erhält von Aufzug 1 die Nachricht, löscht seine Quittung:
Byte lift = 0x02 -> vo_lift = 0x00 -> Ausgang aus
Es sind folgende Variationen möglich:
Ein Aufzug löscht alle Quittungen: Byte lift = 0x03 -> vo_lift = 0x00 -> Ausgang aus
Noch einmal zusammengefasst:
Wenn ein Ausgang mehreren Aufzügen zugeordnet ist (Gruppenfunktionalität), dann ist der virtuelle Ausgang solange aktiv, wie mindestens ein Aufzug diesen eingeschaltet hat (ODER-Verknüpfung aller Aufzüge) und der Heartbeat aktiv ist.
Heartbeat-Überwachung
Das virtuelle Gerät Ausgang muss den Heartbeat der Steuerung (Aufzug) überwachen, dem er (via lift-Byte) zugeordnet ist.
Fällt der Heartbeat einer Steuerung aus, so sind folgende Aktionen durchzuführen:
- Alle virtuellen Ausgänge (bis auf das Außer-Betrieb-Signal) für diesen Aufzug sind zu löschen (für Rufe siehe oben, vo_lift)
- Alle Anzeigen für diesen Aufzug sind zu deaktivieren
- Die Ausgänge mit der Funktion Außer Betrieb für diesen Aufzug sind zu aktivieren.