Inhaltsverzeichnis

Tutorial: Zugscript (2)

Wir können nun Züge erzeugen, die alle Stunde von A nach B fahren. Nun geht es um den Takt und Züge außerhalb des Taktes.

Es wird der gleiche Zugtemplate-Fahrplan wie letztes Kapitel verwendet:

5:30 A-Dorf
6:00 B-Hausen

Größere Takte

Ein Zug, der nicht alle Stunde, sondern alle 2 Stunden fährt? Kein Problem:

takt(120,ID=123,GLEIS=A-Dorf,STUNDE=5..21);

Der Zug fährt alle 60 * 2 = 120 Minuten immer zur ungeraden Stunde, der erste um 5 Uhr und der letzte um 19 Uhr (warum 19 und nicht 21? Siehe vorheriges Tutorial). Übersichtlicher ist es aber, wenn man die nächste Stunde nach dem letzten Zug schreibt - so bemerkt man schneller, wenn man falsch gelesen hat:

takt(120,ID=123,GLEIS=A-Dorf,STUNDE=5..20);

Kleiner Takte

Unsere Linie soll nun alle 20 Minuten fahren, der Übersichtlichkeit halber nur zwischen 6 und 9 Uhr. Auch das ist erstmal nur eine Anpassung es Taktes:

takt(20,ID=123,GLEIS=A-Dorf,STUNDE=6..9);

Wieviele Züge werden Erzeugt? Es sind 8:

6:30
6:50
7:10
7:30
7:50
8:10
8:30
8:50

Der erste Zug übernimmt die Minute des Zugtemplate-Fahrplans, hier 30. Danach wird alle 20 Minuten ein Zug erzeugt, bis 9 Uhr erreicht ist.

Genauer lässt sich nicht spezifizieren, wann genau ein Zug fahren soll. Wir brauchen eine neuen Möglichkeit dafür.

Ein neuer Parameter: MILZEIT

MILZEIT erlaubt uns, sowohl die Stunde als auch die Minute der Abfahrt festzulegen.

takt(20,ID=123,GLEIS=A-Dorf,MILZEIT=610..851);

Stunde und Minute werden einfach hintereinander geschrieben, auch hier können führende Nullen weggelassen werden. Wir fangen also um 6:10 Uhr mit dem ersten Zug an und hören mit 8:50 Uhr auf, insgesamt haben wir dann 9 Züge.

6:10
6:30
6:50
7:10
7:30
7:50
8:10
8:30
8:50

MILZEIT kann wie STUNDE beliebig oft innerhalb eines ZugScripts verwendet und nahezu beliebig getauscht werden:

takt(20,MILZEIT=1750..1931,GLEIS=A-Dorf,MILZEIT=6:10..8:51,ID=123);

Aber auch hier sollte man sich der Übersichtlichkeit halber an die übliche Sortierung halten.

Mischung von STUNDE und MILZEIT

Beide Zeitangabe können auch gemischt werden:

takt(60,ID=123,GLEIS=A-Dorf,STUNDE=5..21,MILZEIT=600);

Hier wird neben dem Stundentakt ein zusätzlicher Zug um 6:00 Uhr ab A-Dorf hinzugefügt.

Warum nicht immer MILZEIT?

Grundsätzlich wäre es doch möglich, ganz auf STUNDE zu verzichten und nur MILZEIT zu verwenden. Wieso gibt es dann STUNDE noch?

Die Antwort ist: Es gibt leichter Fehler. Nehmen wir an, wir ändern den Fahrplan des Zuges, weil er nun 1 Minute früher in A-Dorf abfahren soll. Bei STUNDE haben wir kein Problem damit, die Abfahrtsstunde ist gleich geblieben, die Minuten sind für das Zugscript unwichtig.

Da unser MILZEIT aber in A-Dorf eine Abfahrt um 6:30 vorschreibt, werden erzeugte Züge auch um 6:30 dort abfahren - obwohl sie doch eigentlich um 6:31 fahren sollten. Dadurch wird der gesamte Zuglauf um 1 Minute verschoben - auch in den anderen Stellwerken.

Hier ist das Problem: Ist die Verschiebung nicht nur um eine, sondern um 10 Minuten, ergeben sich in anderen Stellwerken sehr wahrscheinlich Konflikte mit anderen Züge, die aber nicht unbedingt auffallen (wir haben ja nur unser Stellwerk geändert). Dadurch ergeben sich immer wieder schwer auffindbare Fehler in Stellwerken, an denen seit Jahren nichts geändert wurde.

Grundsätzlich ist dieser Fehler auch bei STUNDE möglich - wenn die Verschiebung im Fahrplan über die volle Stunde hinaus stattfindet (z.B. von 6:04 auf 5:59), und der Zug fährt eine Stunde versetzt. Allerdings sind stundenweise Verschiebungen einfacher zu erkennen (z.B. wenn dann ein Zug außerhalb der Spielzeit von 5-21 Uhr fährt) und treten seltener auf (1/60 im Vergleich zur MILZEIT).

Bei Takten als Vielfaches von 60 (also 60, 120, 180, 240, …) sollte man daher bevorzugt STUNDE verwenden. Bei kleineren Takten ist es aber oft übersichtlicher, MILZEIT durchgehend zu verwenden, auch wenn einzelne ZS-Zeilen mit STUNDE möglich wären.

Weitere Parameter

Es gibt noch zwei weitere Parameter, die optional sind und maximal einmal pro ZugScript vorkommen: NAME und MULTI. NAME erlaubt die Angabe des Zugnames pro Zugscript und MULTI die Angabe der zu wählenden Verknüpfung für das Zugscript. Die Erklärungen finden sich auf den passenden Seiten:

Und im nächsten Kapitel...

… geben wir den Zügen Namen.