Table of Contents

zurück zu Peter&Basti's Userpage Index



Taktfahrplan mit Ansteuerung von RocDisplays


Das RocDisplay macht vor allem Freude, wenn dieses durch RocRail auch automatisch angesteuert wird. Die Entwicklung wurde ja grundsätzlich für diesen Zweck gemacht und das Display kommuniziert mit Rocrail über den Rocnetnode. Walter hat da so viel Möglichkeiten für die Ansteuerung vorgesehen, dass nahezu alle beim realen Vorbild möglichen Anzeigevarianten dargestellt werden können.

Grundlegendes Szenario

Dieser Beitrag geht von folgenden Annahmen und Rahmenbedingungen für das Betriebsszenario aus:

  1. Zugziele - Der Personenverkehr findet beim Vorbild in der Regel nach einem Fahrplan statt. Also S-Bahn alle 20 oder 3 Minuten, Regionalzüge alle Stunden, Fernzüge alle 2 Stunden usw. Wenn nun das tatsächliche Ziel angezeigt werden würde, also "Schattenbahnhof links" oder "Schattenbahnhof rechts", dann wäre das wohl langweilig. Eine Modellbahn soll ja als ein (gedachter) Ausschnitt aus der Wirklichkeit wirken, also S-Bahn Ziel "Mödling" oder "Gänserndorf", Regionalziel "Krems" oder "Tulln", Fernziel "München" oder "Budapest" (alles von Wien aus gedacht…)
  2. Zugnummer - jeder Zug hat im Vorbild eine Nummer, zum Beispiel S80, REX211, RJ45,…
  3. Abfahrtszeit - jeder Zug hat eine planmäßige Abfahrtszeit aus dem Bahnhof (manchmal wird diese auch eingehalten ;-))


Diese Informationen sind Bestandteil der Anzeige am Bahnsteig. Die Anzeige soll zeitgerecht anzeigen - bevor der Zug einfährt - und wenn der Zug den Bahnhof verlässt wieder erlöschen.

dsc_0712_s.jpg

Realisierung in Rocrail

  1. Die erste Vorarbeit ist die Erstellung der Fahrpläne und Touren. Eine Denksportaufgabe, die diversen Fahrplan-Lagen ohne Blockade zu gestalten…
  2. Die Displayausgabe ist als Textfeld im Plan anzulegen
  3. Einige Aktionen, die das Textfeld mit den Informationen versorgt.

Ab Rocrail Version 10.722 kann die oben dargestellte und durchaus gewünschte "Fantasie-Ziel-Information" direkt in einer Zeile des Fahrplanes eingegeben werden.
Die Display-Ausgabe wird zusammengestellt aus dem Text in der Fahrplanzeile (Variable %callertext%), und Abfahrtszeit aus der aktuellen Stunde (Variable %hour%) und der Fahrplan-Abfahrtsminute (Variable %lcscmin%).

Für eine zeitgerechte Anzeige des Zuges am Bahnsteig wird der Text und die Aktion zur Generierung des Textes in der Zeile vor dem Haltepunkt eingetragen und in der Zeile nach dem Haltepunkt dann die Aktion und der Inhalt für das Löschen der Anzeige.

Ein kleiner Bug dieser Lösung: wenn z.b. die Durchfahrt durch den Vorblock um 6:59 erfolgt und die Abfahrt um 07:03 geplant ist, dann wird mit %hour% die Stunde 6 gezogen und mit %lcscmin% die Minute 03. Vorschläge zur Behebung werden gerne entgegen genommen ;-)

Es hat sich herausgestellt, dass bei dichtem Zugverkehr (es fährt ein Zug in den Block vor dem Bahnhofsblock und hält dort, während im Bahnhofsblock noch ein Zug auf die Abfahrt wartet, die Anzeige an diesem Block/Bahnsteig) zu früh überschrieben wird, bzw. diese dann vom ausfahrenden Zug dann gelöscht wird, bevor der Folgezug in den Bahnsteig einfährt.
Darum wurden zwei weitere Textfelder eingebaut wo der Text vorgespeichert wird und dann mit einer Aktion zum richtigen Zeitpunkt an das Display geschickt wird. Das Timing im Demoplan ist wie folgt:

[EDIT 2018-03: Es gibt eine neue Version für die Display-Ansteuerung, siehe gesonderter Beitrag]

Beispielplan

Hier unser virtuelles Test-Beispiel mit 2 pendelnden S-Bahn Zügen und einem ebenfalls pendelnden Regionalzug. Dieser Plan verwendet auch die Funktion "lookup" in den Lokeigenschaften und Classes für die Fahrplanauswahl.

Arbeitsbereich Taktplan

Dieser Demoplan läuft bei uns virtuell mit real angeschlossenen Displays einwandfrei, die Syntax der Displaybefehle ist korrekt.