Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| stellwerksim:erbauer:zugbau:zugscript [2016/03/13 11:58] – Externe Bearbeitung 127.0.0.1 | stellwerksim:erbauer:zugbau:zugscript [2026/05/23 20:54] (aktuell) – Doku für neue Tools in Zugscript-Editor DevonFrosch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| {{indexmenu_n> | {{indexmenu_n> | ||
| - | ==== Zugscript ==== | + | ===== Zugscript |
| - | Für das Zugscript gibt es zwei verschiedene Möglichkeiten. Dabei handelt es sich um den Takt und den Loop Befehl. | + | Zugscripte (kurz ZS) werden mit dem Takt-Befehl |
| - | **Es sollte nur noch der Takt Befehl | + | |
| - | + | ||
| - | <note warnung> | + | |
| Die Taktbefehle sehen wie folgt aus: | Die Taktbefehle sehen wie folgt aus: | ||
| - | < | + | |
| + | |||
| + | Der <Takt in Minuten> muss immer als erstes im Befehl stehen und einen Mindestwert von 1 haben. Auf keinen Fall darf der <Takt in Minuten> weg gelassen werden. Sollte es sich nur um eine Einzelfahrt handeln, so ist der Wert 60 oder ähnliches einzugeben. | ||
| + | |||
| + | Das Wort '' | ||
| Die weiteren Parameter werden dabei im Format " | Die weiteren Parameter werden dabei im Format " | ||
| - | ^ Befehl ^ Zuweisung ^ Bemerkung ^ obligatorisch | + | ^ Befehl ^ Zuweisung ^ Bemerkung ^ Pflichtangabe ^ Anzahl pro Zugscript |
| - | | ID | Referenz AID | Hier wird die AID des Referenz Stellwerks (in welchem die Zeiten des Script gelten) angegeben | Ja | | + | | [[# |
| - | | GLEIS | Referenz Bahnsteig | + | | [[# |
| - | | STUNDE | std oder std1..std2 | Fährt | + | | [[# |
| - | | MILZEIT | + | | [[# |
| - | | MULTI | Referenz Flag | Wird wird das Multiflag eingetragen welches | + | | [[# |
| - | | NAME | [[stellwerksim: | + | | [[# |
| + | | [[# | ||
| + | |||
| + | <note warnung> | ||
| + | <note hinweis> | ||
| + | |||
| + | ==== Referenzbahnsteig (ID und GLEIS) ==== | ||
| + | |||
| + | Der Referenzbahnsteig wird genutzt, um die Fahrplanzeile festzulegen, | ||
| + | |||
| + | Der Referenzbahnsteig darf nicht mehrfach im Fahrplan vorkommen, außer an im jeweiligen Zugscript nicht genutzten MULTI-Zeilen. | ||
| + | |||
| + | == Beispiel == | ||
| + | Zugscript: | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | |||
| + | Fahrplan: | ||
| + | ^ an ^ ab ^ AID ^Gleis ^ Flag ^ | ||
| + | | 05:00 | 05:00 | 123 | A1 | E1(1234) | ||
| + | | 05:00 | 05:00 | 123 | A1 | E2(4321) | | ||
| + | |||
| + | Hier darf Gleis A1 als Referenzbahnsteig verwendet werden, weil es zusammen mit dem MULTI eindeutig ist (die andere Zeile wird entfernt). Das Gleis A1 darf dann aber außerhalb der MULTI-Verknüpfung nicht auftreten. | ||
| + | |||
| + | Haben die MULTI-Verknüpfungen unterschiedliche Bahnsteige, muss natürlich der Referenzbahnsteig ebenfalls unterschiedlich sein. | ||
| + | |||
| + | ==== Abfahrtszeit (STUNDE und MILZEIT) ==== | ||
| + | |||
| + | Mit den Parametern STUNDE und MILZEIT | ||
| + | |||
| + | STUNDE=hh | ||
| + | MILZEIT=hhmm | ||
| + | |||
| + | Zeitangaben nach 23:59 (also z. B. '' | ||
| + | |||
| + | Folgendes sind also valide Beispiele: | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | |||
| + | Innerhalb eines takt()-Befehls dürfen mehrere STUNDE und MILZEIT vorkommen und auch gemischt werden: | ||
| + | takt(60, | ||
| + | \\ | ||
| + | |||
| + | === Zeitbereiche === | ||
| + | |||
| + | Es können mit einem STUNDE oder MILZEIT mehrere Züge im Takt erzeugt werden: | ||
| + | takt(60, | ||
| + | |||
| + | Folgende Besonderheiten sind hier zu beachten: | ||
| + | |||
| + | * zwischen Start- und Endzeit sind genau 2 Punkte '' | ||
| + | * Der letzte Zug fährt __vor__ | ||
| + | |||
| + | Im obrigen Beispiel werden also folgende Züge erzeugt: | ||
| + | | ||
| + | Zug 2 (07:25) | ||
| + | Zug 3 (08:25) | ||
| + | Zug 4 (09:25) | ||
| + | Zug 5 (10:25) | ||
| + | Zug 6 (11:25) | ||
| + | |||
| + | In MILZEIT könnte das Ganze so aussehen: | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | |||
| + | Alle Zugscripte erzeugen | ||
| + | |||
| + | Bei Takten kleiner 60 Minuten spielt MILZEIT sein Können aus: | ||
| + | |||
| + | takt(20, | ||
| + | |||
| + | Erzeugt werden folgende Züge: | ||
| + | |||
| + | | ||
| + | Zug 2 (06:45) | ||
| + | Zug 3 (07:05) | ||
| + | Zug 4 (07:25) | ||
| + | Zug 5 (07:45) | ||
| + | Zug 6 (08:05) | ||
| + | |||
| + | STUNDE fängt | ||
| + | |||
| + | takt(20, | ||
| + | takt(20, | ||
| + | |||
| + | === MILZEIT vs. STUNDE === | ||
| + | |||
| + | Grundsätzlich ließen sich alle Züge mit MILZEIT bauen. Allerdings ergeben sich bei kleinen Zeit-Verschiebungen am Referenzbahnsteig schnell Fehler, weil der gesamte restliche Fahrplan verschoben wird. Deshalb soll nur in folgenden Fällen MILZEIT verwendet werden: | ||
| + | |||
| + | * Mehrere Zugfahrten sollen in einem Takt unter 60 Minuten erzeugt werden. | ||
| + | Beispiel: Eine S-Bahn verkehrt im 20 Minuten-Takt | ||
| + | * Mehrere Zugfahrten sollen zu wechselnden Ankunfts- oder Abfahrtzeiten in einem nicht synchronen Takt erzeugt werden | ||
| + | Beispiel: Eine RB verkehrt von 8 Uhr bis 20 Uhr im Stundentakt am Referenzbahnsteig zur Minute 16, jedoch zur Stunde | ||
| + | takt(60, | ||
| + | |||
| + | Trotzdem kann es zu diesen Verschiebungseffekten auch bei STUNDE kommen! | ||
| + | |||
| + | == Beispiel == | ||
| + | |||
| + | Eine RB fährt wie folgt: | ||
| + | |||
| + | ^ an ^ ab ^ Gleis ^ | ||
| + | | 09:30 | 09:30 | A-Dorf | ||
| + | | 09:40 | 09:40 | B-Stadt | | ||
| + | | 09:50 | 09:50 | C-Heim | | ||
| + | | 10:00 | 10:00 | D-Kirchen | | ||
| + | |||
| + | Zugscript: | ||
| + | takt(60, | ||
| + | |||
| + | Wird jetzt der Zugtemplate-Fahrplan | ||
| + | |||
| + | ^ an ^ ab ^ Gleis ^ | ||
| + | | 09:28 | 09:28 | A-Dorf | ||
| + | | 09:38 | 09:38 | B-Stadt | | ||
| + | | 09:50 | 09:50 | C-Heim | | ||
| + | | 09:58 | 09:58 | D-Kirchen | | ||
| + | |||
| + | Dadurch ergeben sich insbesondere Änderungen in anderen Stellwerken und Regionen. | ||
| + | |||
| + | ==== Mehrfache Verknüpfungen (MULTI) ==== | ||
| + | |||
| + | Wenn in einem Zugtemplate mehrere Züge vorhanden sind, die auf unterschiedliche Nachfolger verknüpft werden sollen, kann pro Zugscript-Zeile festgelegt werden, welche Verknüpfung verwendet werden soll. Die Beschreibung und Regeln dafür finden sich beim [[stellwerksim: | ||
| + | |||
| + | ==== Themamarker (MARKER) ==== | ||
| + | |||
| + | Ist ein MARKER gesetzt, werden für den Zug nur diejenigen Fahrplanhalte übernommen, | ||
| + | |||
| + | * Jeder Zug kann höchstens einen MARKER haben. | ||
| + | * Hat mindestens ein Zugscript einen MARKER gesetzt, muss jedes Zugscript in diesem Zugtemplate einen MARKER gesetzt haben. Es müssen also entweder alle Zugscripte oder kein Zugscript MARKER enthalten. | ||
| + | * Wird MARKER verwendet müssen alle Referenzgleise Themamarker A-Z gesetzt hat. | ||
| + | * Die Zug-QS stellt [[stellwerksim: | ||
| + | |||
| + | Der Zugscriptlauf übernimmt dann pro Zug nur diejenigen Fahrplaneinträge, | ||
| + | |||
| + | < | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | == Beispiel == | ||
| + | Ein Zug im Zugtemplate soll an einem Halt einen anderen Bahnsteig verwenden. Im [[stellwerksim: | ||
| + | * Ein Fahrplanhalt mit dem Standard-Gleis mit Themamarker A und C-Z | ||
| + | * Ein Fahrplanhalt mit dem abweichenden Gleis mit Themamarker B | ||
| + | |||
| + | Im Zugscript gibt es dann folgende Zeilen: | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | takt(60, | ||
| + | |||
| + | Damit hat der Zug zur Stunde 8 den abweichenden Bahnsteig, alle anderen den normalen Bahnsteig. | ||
| + | |||
| + | ==== Namensmuster im Zugscript (NAME) ==== | ||
| + | |||
| + | Mit dem Parameter NAME kann das Namensmuster in die Zugscript-Zeile aufgenommen werden. Dadurch ist es möglich, verschiedene Namen oder Lücken innerhalb eines Zugtemplates darzustellen. | ||
| + | |||
| + | Die genaue Erklärung steht auf der Seite des [[stellwerksim: | ||
| + | |||
| + | ==== Tools für das Zugscript ==== | ||
| + | |||
| + | === Zugscript prüfen === | ||
| + | |||
| + | Rechts neben jedem Eingabefeld für das Zugscript gibt es ein kleines i in einem grauen Kreis. Ein Klick darauf prüft das Zugscript auf häufige Fehler und gibt Tipps für Korrekturen. | ||
| + | |||
| + | Diese Prüfung wird auch jedes Mal ausgeführt, | ||
| - | <note warnung> | + | === Automatische Referenzgleisänderung === |
| - | === Loop === | + | Rechts neben jedem Eingabefeld für das Zugscript gibt es ein kleines Icon mit zwei verzweigten Pfeilen. Mit diesem kann das Referenzgleis des Zugscripts verschoben werden, ohne dass sich die erzeugten Züge ändern - STUNDE und MILZEIT werden entsprechend angepasst. |
| - | <note verbot> | + | Bei Klick auf das Icon öffnet sich darunter ein Eingabefeld, |
| - | Die Loops wurden nach folgendem Muster (Reihenfolge zwingend) angegeben: | + | {{:stellwerksim: |
| - | < | + | |
| - | loop(Bahnhof, | + | |
| - | Die Zahl bei der Schiebung gibt den Takt der Züge vor. Ist ein Offset angegeben worden, | + | Mit Klick auf " |
| {{tag> | {{tag> | ||