I/O-Gruppenfunktionalität: Unterschied zwischen den Versionen

Aus CANopen-Lift
Zur Navigation springen Zur Suche springen
K (I/O-Gruppenfuktionalität wurde nach I/O-Gruppenfunktionalität verschoben)
K (→‎Heartbeat-Überwachung: typo; Kategorie hinzugefügt)
Zeile 77: Zeile 77:
=== Heartbeat-Überwachung ===
=== Heartbeat-Überwachung ===


Das virtuelle Gerät Ausgang muß 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:
Zeile 85: Zeile 85:
* Alle Anzeigen für diesen Aufzug sind zu deaktivieren
* 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.
* Die Ausgänge mit der Funktion ''Außer Betrieb'' für diesen Aufzug sind zu aktivieren.
 
[[Kategorie:Erweiterungen des Profils]]

Version vom 13. Oktober 2008, 08:56 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 best. 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:

Bei dem 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

Nocheinmal zusammengefaßt:

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.