User Tools

Site Tools


Action disabled: index
userpages:peter-basti:fp-display2

zurück zu Peter&Basti's Userpage Index



Neue Version Taktfahrplan mit Ansteuerung von RocDisplays

Stand März 2018

Das RocDisplay macht vor allem Freude, wenn dieses durch RocRail auch automatisch angesteuert wird.
Durch die Entwicklung des Fahrplananzeigers werden auch die wesentlichen Daten für die Bahnsteigdisplays nun nativ in Rocrail vorbereitet. Dies ermöglicht eine neue Art der Informationsbereitstellung auf Basis der identischen Daten aus dem Fahrplananzeiger.
Grundlage ist prinzipiell der gleiche Demoplan wie im ersten Beispiel.

Folgende Anpassungen wurden durchgeführt:

  1. Es gibt jetzt Textfelder für eine Vorschau der Bahnsteiganzeiger ohne Bahnsteigdisplays. Dies kann in jedem Plan auch ohne angeschlossene RocDisplay Hardware verwendet werden, zur Visualisierung einer Bahnsteiganzeige im Plan.
  2. Die Aufbereitung der Inhalte aus dem Fahrplananzeiger für diese Visualisierung erfolgt per Script
  3. Zusätzliche Textfelder für die Ausgabe auf die Hardware-Displays
  4. Die Aufbereitung für die Hardwareausgabe (Anreicherung mit Steuerzeichen, Auswahl von Symbolen für bestimmte Zugtypen) erfolgt im gleichen Script wie für die Visualisierung im Plan.
  5. Alle bisher notwendigen Texteinträge in den Fahrplänen und Aktionen sind entfernt.
  6. Neue Aktionen, siehe weiter unten erläutert

Kurzbeschreibung

Vorausgesetzt wird, dass der Fahrplananzeiger angelegt wurde, also mit Ortschaft und zugeordneten Bahnsteigblöcken, sowie alle zusätzlichen (Fake) Informationen eingetragen sind.

Aus den Bahnhofsblöcken werden durch Textvariablen folgende Informationen bereitgestellt:

%calleruserdata% ….. Die Abfahrtszeit inkl. allfälliger Verspätungen
%callertext% ………… Zugziel, Zwischenziele, Zusatzinformation (aus der FP Zeile)
%callerdesc% ……….. Zugnummer (aus dem FP)

Es werden getrennte Textfelder mit diesen Informationen versorgt, der %callertext% noch in ein zusätzliches Zwischenfeld, weil für den Bahnsteiganzeiger nur das Zugziel relevant und die weiteren Informationen welche nur für den FPA relevant sind, abgetrennt werden müssen.

Für die drei Bahnsteiggleise resultieren nun 9 Text-Update-Aktionen (3 Gleise x 3 Textfelder)
Diese Aktionen sind wie folgt in die Ortschaft einzutragen:



Somit sind alle Informationen für die Bahnsteiganzeiger bereits grundsätzlich vorhanden, in die Textfelder eingestellt und werden auch automatisch (jede Modellminute) synchron zum Fahrplananzeiger aktualisiert.

Weitere Textaufbereitung per Script

Hiermit das (hoffentlich) selbsterklärende Script:

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
<!-- Dieses Script separiert das Fake Ziel aus dem Fahrplan-Textfeld -->
<!-- und generiert aus der Zugnummer des FP für RocDisplay eine Anzeige mit Symbol und Nummer -->
<!-- Die Zugnummer muss der Nomenklatur entsprechen-->
<!-- Diese Script wird per Aktion aufgerufen, in den Textfeldern BB1-BA bis BB3-BA (Zwischentextfeld) bei Update -->
<!-- (c) peter&basti 02/2018 -->
<!-- 1. Separieren des Fake Zieles aus dem Text -->
	<vr id="%callerid%VAR" text="@%callerid%"/>
	<tx id="%callerid%-Z" format="@@0%callerid%VAR"/>
<!-- (nur das Zugziel wird in das Textfeld xxxxx-Z ausgegeben) -->
<!-- -->
<!-- 2. Aufbereitung der Ausgabe auf RocDisplay mit Symbol und Nummer -->
	<!-- Abfrage erste Stelle der Zugnummer -->
	<vr id="%callerid%VAR-N0" text="@%callerid%-N" start="0" length="1"/>
		<if condition="@%callerid%VAR-N0 = S">
			<then>
				<!-- Schnellbahn Symbol Schnellbahn B0 -->
				<vr id="%callerid%VAR-N1" text="{EB0}"/>
				<vr id="%callerid%VAR-N2" text="@%callerid%-N" start="1"/>
				<tx id="%callerid%-A" format="@%callerid%VAR-N1 @%callerid%VAR-N2 {F1}{T0L1F0} @%callerid%-Z {T1L0B10L1F2} @%callerid%-T {P}"/>
				<exit/>
			</then>
		</if>
	<!-- Abfrage erste drei Stellen der Zugnummer -->
	<vr id="%callerid%VAR-N0" text="@%callerid%-N" start="0" length="3"/>
		<if condition="@%callerid%VAR-N0 = REX">
			<then>
				<!-- Regional-Express Symbol REX B7 -->
				<vr id="%callerid%VAR-N1" text="{EB7}"/>
				<vr id="%callerid%VAR-N2" text="@%callerid%-N" start="3"/>
				<tx id="%callerid%-A" format="@%callerid%VAR-N1 @%callerid%VAR-N2 {F1}{T0L1F0} @%callerid%-Z {T1L0B10L1F2} @%callerid%-T {P}"/>
				<exit/>
			</then>
		</if>
	<!-- Abfrage erste Stelle der Zugnummer -->
	<vr id="%callerid%VAR-N0" text="@%callerid%-N" start="0" length="1"/>
		<if condition="@%callerid%VAR-N0 = R">
			<then>
				<!-- Regionalzug - nur Buchstabe R -->
				<vr id="%callerid%VAR-N1" text="R"/>
				<vr id="%callerid%VAR-N2" text="@%callerid%-N" start="1"/>
				<tx id="%callerid%-A" format="@%callerid%VAR-N1 @%callerid%VAR-N2 {F1}{T0L1F0} @%callerid%-Z {T1L0B10L1F2} @%callerid%-T {P}"/>
				<exit/>
			</then>
		</if>
<!-- mit weiteren Abfragen beliebig erweiterbar für RJ, ICE, IC, westbahn, etc. fuer alle verfuegbaren Symbole -->
</xmlscript>



Download Demo-Arbeitsbereich

userpages/peter-basti/fp-display2.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1