Virtuelles Gerät Anzeige

Aus CANopen-Lift
Version vom 12. Dezember 2008, 13:05 Uhr von Werner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: == Neues virtuelles Gerät Anzeige == === Allgemeines === Das Steuern einer Anzeige über virtuelle Ausgänge ist besonders für Text mit hohem Konfigurationsaufwand ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Neues virtuelles Gerät Anzeige

Allgemeines

Das Steuern einer Anzeige über virtuelle Ausgänge ist besonders für Text mit hohem Konfigurationsaufwand verbunden. Es müssen auf allen Netzwerkknoten die Objekte 62B0h und 62B1h konsistent konfiguriert werden. Der Bedarf für ein einfacheres Verfahren ist offensichtlich.

Das hier vorgestellte virtuelle Gerät kommt in der Kabine und auf der Etage zum Einsatz. Es kann einen Text und ein Symbol parallel darstellen.

Konfiguration

Mit dem persistenten Objekt 0x62C0 (Display Location) wird der Einbauort der virtuellen Anzeige konfiguriert.

Objekt 0x62C0, Subindex 1, UNSIGNED8, Lift  [0x00|0x01|0x02|0x04|0x08|0x10|0x20|0x40|0x80]
               Subindex 2, UNSIGNED8, Floor [0x00|...|0xFE]
               Subindex 3, UNSIGNED8, Door  [0x00|0x01|0x02|0x04|0x08]

Der Wert 0x00 in Lift bedeutet, dass die Anzeige keinem Aufzug zugeordnet ist. In allen anderen Fällen ist die Anzeige genau einem Aufzug zugeordnet.

Der Wert 0x00 in Floor bedeutet, dass die Anzeige der Kabine zugeordnet ist. In allen anderen Fällen ist die Anzeige genau einer Etage zugeordnet.

Der Wert 0x00 in Door bedeutet, dass die Anzeige keiner Tür zugeordnet ist. In allen anderen Fällen ist die Anzeige genau einer Tür zugeordnet.

Betrieb

Steuern der Symbolanzeige

Das Objekt 0x62C1 (Icon Trigger) dient der Auswahl des anzuzeigenden Symbols.

Objekt 0x62C1, UNSIGNED32, Icon Trigger
               Byte 0, Icon
               Byte 1, Door  [0x00|...|0x0F]
               Byte 2, Floor [0x00|...|0xFF]
               Byte 3, Lift  [0x00|...|0xFF]

Icon:

  • 0x00 kein Symbol soll angezeigt werden
  • 0x01 statischer Pfeil Aufwärts
  • 0x02 statischer Pfeil Abwärts
  • 0x03 statische Pfeile Auf- und Abwärts
  • 0x10 bewegter Pfeil Aufwärts
  • 0x20 bewegter Pfeil Abwärts
  • 0x7F statisches Symbol KEIN ZUTRITT nach EN 81-73
  • 0x80...0xFF herstellerspezifisch

Um festzustellen, ob das Symbol für die Anzeige relevant ist, werden Lift, Floor und Door mit den entsprechenden Werten in Objekt 0x62C0 verglichen. Der Vergleich muss für alle drei Subindizes erfolgreich sein:

  1. ( 0x62C0.Lift == 0x62C1.Lift ) || ( ( 0x62C0.Lift & 0x62C1.Lift ) != 0 )<br\>Auf 0x62C1.Lift == 0x00 reagiern nur Anzeigen, die keinem Aufzug zugeordent sind.
  2. ( 0x62C0.Floor == 0x62C1.Floor ) || ( ( 0x62C0.Floor != 0 ) && ( 0x62C1.Floor == 0xFF ) )<br\>Auf 0x62C1.Floor == 0xFF reagieren nur Anzeigen auf den Etagen, nicht aber solche in der Kabine. So können die Anzeigen in der Kabine separat gesteuert werden.
  3. ( 0x62C0.Door == 0x62C1.Door ) || ( ( 0x62C0.Door & 0x62C1.Door ) != 0 )<br\>Auf 0x62C1.Door == 0x00 reagiern nur Anzeigen, die keiner Tür zugeordent sind.

Steuern der Textanzeige

Die beiden Objekte 0x62C3 und 0x62C4 erlauben in unterschiedlicher Form den Zugriff auf den einen Textbuffer der Geräte.

Die Steuerung sendet jeden Text per Broadcast über MPDO an die Objekte 0x62C3 aller Anzeigen.

Objekt 0x62C3, Subindex 1,  VISIBLE_STRING, Text Buffer Fragment 1
               Subindex 2,  VISIBLE_STRING, Text Buffer Fragment 2
               Subindex 3,  VISIBLE_STRING, Text Buffer Fragment 3
               Subindex 4,  VISIBLE_STRING, Text Buffer Fragment 4
               Subindex 5,  VISIBLE_STRING, Text Buffer Fragment 5
               Subindex 6,  VISIBLE_STRING, Text Buffer Fragment 6
               Subindex 7,  VISIBLE_STRING, Text Buffer Fragment 7
               Subindex 8,  VISIBLE_STRING, Text Buffer Fragment 8
               Subindex 9,  VISIBLE_STRING, Text Buffer Fragment 9
               Subindex 10, VISIBLE_STRING, Text Buffer Fragment 10

Die Fragmente können bis zu 4 Zeichen fassen und müssen dies auch, wenn sie nicht des Ende des Texts beinhalten. Um den gesamten Text zu erhalten, werden die Fragmente aneinander gehängt. Das Ende des Texts ist durch ein '\0'-Zeichen gekennzeichnet. Der Inhalt der weiteren Subindizes ist in diesem Fall nicht mehr relevant. Der höchste Subindex kann mit 4 Zeichen gefüllt werden. Das Ende des Texts ist dann implizit gegeben.

Das Objekt 0x62C4 ist die Schnittstelle für den Zugriff über SDO.

Objekt 0x62C4, VISIBLE_STRING, Text Buffer

Das Objekt 0x62C2 (Text Trigger) steuert die Textanzeige.

Objekt 0x62C2, UNSIGNED32, Text Trigger
               Byte 0, State [0x00|0x01]
               Byte 1, Door  [0x00|...|0x0F]
               Byte 2, Floor [0x00|...|0xFF]
               Byte 3, Lift  [0x00|...|0xFF]

State:

  • 0x00 kein Text soll angezeigt werden
  • 0x01 der Text aus Objekt 0x62C4 wird in die Anzeige kopiert

Der Vergleich von Lift, Floor und Door entspricht dem, was unter Objekt 0x62C1 beschrieben ist.

Der Inhalt von Objekt 0x62C3 (und 0x62C4) ist für die Anzeige nur zum Zeitpunkt des Empfangs des Objekts 0x62C2 relevant.

MPDO

Die Objekte 0x62C1, 0x62C2 und 0x62C3 können über MPDO beschrieben werden. Es kommen ausschliesslich Broadcasts über DAM-MPDO zur Anwendung. Alle Anzeigen speichern daher die selben Texte in ihren Objekten 0x62C3, auch wenn sie diese nicht selbst benötigen.

Beispiel Text "Überlast" in der Kabine von Aufzug 8:

 COB-Id: 0x501  Daten: 0x80 0xC3 0x62 0x01 0xDC 0x62 0x65 0x72
 COB-Id: 0x501  Daten: 0x80 0xC3 0x62 0x02 0x6C 0x61 0x73 0x74
 COB-Id: 0x501  Daten: 0x80 0xC3 0x62 0x03 0x00 0x00 0x00 0x00
 COB-Id: 0x501  Daten: 0x80 0xC2 0x62 0x00 0x01 0x0F 0x00 0x80

Beispiel Etagenstand "EG" an alle Anzeigen von Aufzug 4:

 COB-Id: 0x501  Daten: 0x80 0xC3 0x62 0x01 0x45 0x47 0x00 0x00
 COB-Id: 0x501  Daten: 0x80 0xC2 0x62 0x00 0x01 0x0F 0xFF 0x08 (Etagen)
 COB-Id: 0x501  Daten: 0x80 0xC2 0x62 0x00 0x01 0x0F 0x00 0x08 (Kabine)

Beispiel Text an allen Etagen von Aufzug 1 ausschalten:

 COB-Id: 0x501  Daten: 0x80 0xC2 0x62 0x00 0x00 0x0F 0xFF 0x01

Beispiel Symbol "KEIN ZUTRITT" an alle Etagen von Aufzug 1:

 COB-Id: 0x501  Daten: 0x80 0xC1 0x62 0x00 0x7F 0x0F 0xFF 0x01

Abgrenzung

Die Methoden, wie die Anzeige den Text und das Symbol darstellt, wird nicht spezifiziert. Es wird nicht zwischen Sondertext, Etagentext etc. unterschieden. Die Steuerung entfernt also z.B. einen Sondertext durch das Schreiben der Etage.