Ergänzungen zum TCP-Protokoll: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== 11.3.3.6 Befehl 01 0A – INPUT (Client → Zusi) == === Tastaturzuordnung, Tastaturaktion, Tastaturkommando === anhand des Dialogs Konfiguration -> Einga…“) |
(→11.3.3.3.1 Führerstands-IDs: 0x35 (UTM-Zone 2)) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 42: | Zeile 42: | ||
Auch Schalter und Taster lassen sich über die Angabe einer absoluten Rastenstellung ansteuern. Die Positionsangabe 1 (oder höher) schaltet den Schalter ein, die Positionsangabe 0 schaltet ihn aus. | Auch Schalter und Taster lassen sich über die Angabe einer absoluten Rastenstellung ansteuern. Die Positionsangabe 1 (oder höher) schaltet den Schalter ein, die Positionsangabe 0 schaltet ihn aus. | ||
Achtung: Da die Angleicher-Baugruppe im Führerstand ein Taster mit Tastaturzuordnung "Führerbremsventil" ist, führt daher eine Ansteuerung des Fbv per Angabe einer absoluten Rastenstellung derzeit immer zur Betätigung des Angleichers (Nr. 481 in der Liste der bekannten Programmfehler). | Achtung: Da die Angleicher-Baugruppe im Führerstand ein Taster mit Tastaturzuordnung "Führerbremsventil" ist, führt daher eine Ansteuerung des Fbv per Angabe einer absoluten Rastenstellung derzeit immer zur Betätigung des Angleichers (Nr. 481 in der Liste der bekannten Programmfehler). Ebenso ist die Baugruppe "Dynamische Bremse deaktivieren" ein Taster mit Tastaturzuordnung "Dynamische Bremse". Eine Ansteuerung der dynamischen Bremse mit absoluter Rastenstellung führt zur Betätigung dieses Schalters. | ||
=== Angabe der Rastennummer bei Kombischaltern === | === Angabe der Rastennummer bei Kombischaltern === | ||
Dokumentiert ist: "Bei den Schaltern mit mehr als einer Schaltstellung gibt der Wert 0 immer die Grundstellung an." Das scheint so nicht zu stimmen. Die Zählung entspricht der Zählung der Rasten (beginnend bei 0), wie sie im Führerstand konfiguriert ist. Die Grundstellung spielt keine Rolle. | Dokumentiert ist: "Bei den Schaltern mit mehr als einer Schaltstellung gibt der Wert 0 immer die Grundstellung an." Das scheint so nicht zu stimmen. Die Zählung entspricht der Zählung der Rasten (beginnend bei 0), wie sie im Führerstand konfiguriert ist. Die Grundstellung spielt keine Rolle. | ||
== 11.3.3.3.1 Führerstands-IDs == | |||
=== 0x35 (UTM-Zone 2) === | |||
Der gesendete Wert muss zunächst als Gleitkommazahl interpretiert und in eine Ganzzahl konvertiert werden. Diese Ganzzahl kann dann als ASCII-Wert interpretiert werden (z.B. 85=U). | |||
=== 0x55 (Stromabnehmer) === | |||
Der gesendete Wert muss zunächst als Gleitkommazahl interpretiert und in eine Ganzzahl konvertiert werden. Diese Ganzzahl kann dann bitweise interpretiert werden als: | |||
* Bit 1 gesetzt ⇔ Stromabnehmer 1 ist oben oder hebt sich gerade | |||
* Bit 2 gesetzt ⇔ Stromabnehmer 2 ist oben oder hebt sich gerade | |||
* Bit 3 gesetzt ⇔ Stromabnehmer 3 ist oben oder hebt sich gerade | |||
* Bit 4 gesetzt ⇔ Stromabnehmer 4 ist oben oder hebt sich gerade | |||
* Bit 5 gesetzt ⇔ Stromabnehmer 1 hebt sich gerade | |||
* Bit 6 gesetzt ⇔ Stromabnehmer 2 hebt sich gerade | |||
* Bit 7 gesetzt ⇔ Stromabnehmer 3 hebt sich gerade | |||
* Bit 8 gesetzt ⇔ Stromabnehmer 4 hebt sich gerade | |||
wobei Bit 1 das niedrigstwertige Bit ist. |
Aktuelle Version vom 20. April 2021, 18:10 Uhr
11.3.3.6 Befehl 01 0A – INPUT (Client → Zusi)
Tastaturzuordnung, Tastaturaktion, Tastaturkommando
anhand des Dialogs Konfiguration -> Eingabegeräte -> Tastatur:
Tastaturzuordnung: Entspricht den "Kategorien" in der linken Spalte (z.B. Fahrschalter, Führerbremsventil). Jeder Schalter/Kombischalter im Führerstand hat eine Tastaturzuordnung, auf die er reagiert. Daher muss im TCP-Protokoll die Tastaturzuordnung auch dann angegeben werden, wenn ein Tastaturkommando angegeben wird (aus dem die Tastaturzuordnung ja eigentlich auch hervorginge).
Tastaturkommando: Entspricht den Tabelleneinträgen. Für die meisten Einträge gibt es separate Kommandos für "Taste gedrückt" und "Taste losgelassen".
Tastaturaktion: Eine gleichzeitige Angabe von Tastaturkommando und Tastaturaktion ist nicht sinnvoll. Hier die möglichen Kombinationen:
Was soll erreicht werden? | Tastaturkommando | Tastaturaktion |
---|---|---|
Kombischalter (z.B. Fahrschalter, Fbv) -- Auf-/Abschalten | ignoriert | Ab_Down, Ab_Up, Auf_Down, Auf_Up, Absolut, Absolut1000er |
Kombischalter (z.B. Fahrschalter, Fbv) -- Spezialfunktionen | Kommando ohne "Up"/"Down" im Namen, z.B. Fahrschalter_Grundstellung | ignoriert |
Einfacher Schalter (z.B. Angleicher) -- Schalterbetätigung | ignoriert | Down, Up (auch Absolut, siehe unten) |
Baugruppe mit mehreren Schaltern (z.B. PZB) -- Schalterbetätigung | Kommando, z.B. PZBWachsam_Down/PZBWachsam_Up | ignoriert |
Kurze Tastendrücke werden nicht erkannt
Schickt man einen "Down"- und einen "Up"-Befehl kurz hintereinander (z.B. im selben Paket), scheint Zusi ihn nicht immer zu erkennen.
Ansteuerung von Schaltern/Tastern per Absolutwert
Auch Schalter und Taster lassen sich über die Angabe einer absoluten Rastenstellung ansteuern. Die Positionsangabe 1 (oder höher) schaltet den Schalter ein, die Positionsangabe 0 schaltet ihn aus.
Achtung: Da die Angleicher-Baugruppe im Führerstand ein Taster mit Tastaturzuordnung "Führerbremsventil" ist, führt daher eine Ansteuerung des Fbv per Angabe einer absoluten Rastenstellung derzeit immer zur Betätigung des Angleichers (Nr. 481 in der Liste der bekannten Programmfehler). Ebenso ist die Baugruppe "Dynamische Bremse deaktivieren" ein Taster mit Tastaturzuordnung "Dynamische Bremse". Eine Ansteuerung der dynamischen Bremse mit absoluter Rastenstellung führt zur Betätigung dieses Schalters.
Angabe der Rastennummer bei Kombischaltern
Dokumentiert ist: "Bei den Schaltern mit mehr als einer Schaltstellung gibt der Wert 0 immer die Grundstellung an." Das scheint so nicht zu stimmen. Die Zählung entspricht der Zählung der Rasten (beginnend bei 0), wie sie im Führerstand konfiguriert ist. Die Grundstellung spielt keine Rolle.
11.3.3.3.1 Führerstands-IDs
0x35 (UTM-Zone 2)
Der gesendete Wert muss zunächst als Gleitkommazahl interpretiert und in eine Ganzzahl konvertiert werden. Diese Ganzzahl kann dann als ASCII-Wert interpretiert werden (z.B. 85=U).
0x55 (Stromabnehmer)
Der gesendete Wert muss zunächst als Gleitkommazahl interpretiert und in eine Ganzzahl konvertiert werden. Diese Ganzzahl kann dann bitweise interpretiert werden als:
- Bit 1 gesetzt ⇔ Stromabnehmer 1 ist oben oder hebt sich gerade
- Bit 2 gesetzt ⇔ Stromabnehmer 2 ist oben oder hebt sich gerade
- Bit 3 gesetzt ⇔ Stromabnehmer 3 ist oben oder hebt sich gerade
- Bit 4 gesetzt ⇔ Stromabnehmer 4 ist oben oder hebt sich gerade
- Bit 5 gesetzt ⇔ Stromabnehmer 1 hebt sich gerade
- Bit 6 gesetzt ⇔ Stromabnehmer 2 hebt sich gerade
- Bit 7 gesetzt ⇔ Stromabnehmer 3 hebt sich gerade
- Bit 8 gesetzt ⇔ Stromabnehmer 4 hebt sich gerade
wobei Bit 1 das niedrigstwertige Bit ist.