Virtuelle Etagenanzeige

Aus CANopen-Lift
Version vom 13. Oktober 2008, 07:59 Uhr von WikiSysop (Diskussion | Beiträge) (Kategorie hinzugefügt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Neues virtuelles Gerät Etagenanzeige

Allgemeines

In diesem Artikel wird das neue virtuelle Gerät Etagenanzeige vorgestellt.

Dabei wird zwischen zwei Klassen von virtuellen Etangenanzeigen unterschieden:

  1. einfache Etagenanzeigen
  2. erweiterte Etagenanzeigen mit Textspeicher und virtuellen Ausgängen

Komplexere Etagenanzeigen (grafikfähig, grafische Objekte, Objektverwaltung) werden in der Spezifikation CiA-417 nicht beschrieben. Das ist herstellerspezifisch oder Aufgabe der CiA (HMI).


Einfache Etagenanzeige

Eine einfache Etagenanzeige ist ein Gerät ohne Speicher für Texte.

Alle Texte werden von der Steuerung als MPDO (wie virtuelle Konsole, siehe Virtuelle Konsole) mittels Objekt 0x62A0 gesendet. Die Subindexe sind wie folgt belegt:

Objekt 0x62A0, Subindex 1 (reserviert für Kommando an Steuerung)
               Subindex 2 Etagenstand
               Subindex 3 Sondertext

Alle Texte werden mit <CR> abgeschlossen, sodass das Display das Ende eines Textes (Strings) erkennen kann.

Beispiel neuer Etagenstand "EG" von Steuerung (mit Knotennummer 1):

 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x02 0x45 0x47 0x0D 0x00

Beispiel kein Etagenstand:

 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x02 0x0D 0x00 0x00 0x00

Beispiel Sondertext "Überlast":

 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x03 0xDC 0x62 0x65 0x72
 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x03 0x6C 0x61 0x73 0x74
 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x03 0x0D 0x00 0x00 0x00

Beispiel Sondertext aus:

 COB-Id: 0x501  Daten: 0x01 0xA0 0x62 0x03 0x0D 0x00 0x00 0x00

Überschreitet der Text den Speicher der Etagenanzeige, so werden die bisher empfangenen Zeichen trotzdem ausgegen. Wir die Displayfläche überschritten, so wird automatisch gescrollt.

Sind Zeichen nicht darstellbar, so werden sie durch darstellbare ersetz. Der Anwender muss selbst auf fehlerhafte Parametrierung achten.

Ein Punkt zur Diskussion wäre, ob man die Richtungsanzeige/Weiterfahrtsanzeige ebenfalls vorsieht:

  • als MPDO (Subindex 2, andere Subindexe verschieben sich), Zeichen '+', '-', '±', Etage für Weiterfahrt, mit <CR> abgeschlossen
  • als Sonderzeichen im MPDO Etagenstand (z. B. '!' (0x21) -> auf, '­¡' (0xA1) -> ab, '±' (0xB1) -> auf und ab, sonst Richtunspfeil aus)
  • das Gerät muss den virtuellen Ausgäng für die Richtung empfangen.

Bei den Varianten eins und zwei könnnte die Anzeige auf PDOs verzichten und müßte nur das MPDO empfangen können.

Eine weitere Frage ergibt sich: Die Etagenanzeige benötigt einen Parameter Aufzug (oder Knotennummer Aufzug) sowie bei Weiterfahrt die Etage. Sollen diese Objekt auch definiert werden?


Erweiterte Anzeige

Diese Anzeige besitzt Speicher, um Texte abzulegen und selbständig den virtuellen Ausgängen zu zuordnen.

Etagentexte:

 Objekt-Index:	62B0h
 Object-Type:	Array
 Data-Type:	Visible-String

Jeder Subindex entspricht dabei der Etage, so wie sie im virtuellen Ausgang Position Indicator bereitgestellt wird. (Theoretisch kann man jedem Text einen virtuellen Ausgang mit fester Programmierung Etagenstand 1-aus-n zuordnen.)

Sondertexte:

 Objekt-Index:	62B1h
 Object-Type:	Array
 Data-Type:	Visible-String

Für die Sondertexte gelten folgende Regeln:

  • Text 1 (Subindex 1) hat die höchste Priorität, der letzte Text in der Liste hat die niedrigste Priorität. Der Anwender legt bei der Parametrierung die Reihenfolge der Texte selbst fest und bestimmt somit selbst die Priorität. Dem Hersteller der Etagenanzeige ist es überlassen, wieviele Texte er vorsieht und wie lang sie sein dürfen.
  • Jedem Text ist im Gerät ein virtueller Ausgang zugeordnet, wo die Funktion eingestellt wird. So kann jedem Text ein beliebiger virtueller Ausgang zugeordnet werden. (Man könnte fest die Gruppe 6201h festlegen.)

Oder anders formuliert:

Die Zuordnung 'special indication' zu 'text special indication' geschieht über den Sub-Index.

Beispiel:

Output group (Objekt 62xxh):                     'text special indication' (Objekt 62B1h)
----------------------------                     ----------------------------------------
Sub-Index 1: bf: 43h, sf: 04h (fire)              Sub-Index 1: "FEUER"
Sub-Index 2: bf: 43h, sf: 0Ah (out of order)      Sub-Index 2: "AUSSER BETRIEB"
Sub-Index 3: bf: 43h, sf: 03h (overload)          Sub-Index 3: "UEBERLAST"

Die Steuerung der Prioritäten definiert sich ebenfalls durch den Sub-Index: je tiefer der Sub-Index, desto höher die Priorität (Sub-Index 1 hat die höchste Priorität).


Offene Punkte:

  • Objekt für Aufzug bei den Etagentexten.
  • Sollten weitere Parameter spezifiert werden? Z. B. Etagenanzeige Kabine/Schacht, Überblendeffekt, usw.