Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| stellwerksim:erbauer:zugbau:zugscript [2019/01/19 18:25] – DevonFrosch | 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 |
| Zugscripte (kurz ZS) werden mit dem Takt-Befehl geschrieben. Jeder Befehl bekommt eine eigene Zeile, am Schluss jeder Zeile muss ein Semikolon gesetzt werden. | Zugscripte (kurz ZS) werden mit dem Takt-Befehl geschrieben. Jeder Befehl bekommt eine eigene Zeile, am Schluss jeder Zeile muss ein Semikolon gesetzt werden. | ||
| Zeile 9: | Zeile 9: | ||
| 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. | 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 Word '' | + | Das Wort '' |
| Die weiteren Parameter werden dabei im Format " | Die weiteren Parameter werden dabei im Format " | ||
| - | ^ Befehl ^ Zuweisung ^ Bemerkung ^ Pflichtangabe ^ | + | ^ Befehl ^ Zuweisung ^ Bemerkung ^ Pflichtangabe |
| - | | ID | Referenz-AID | AID des Referenz-Stellwerks (in welchem die Zeiten des Script gelten) angegeben | Ja | | + | | [[# |
| - | | GLEIS | Referenzbahnsteig | Name des Referenz-Bahnsteiges | Ja | | + | | [[# |
| - | | STUNDE | hh oder hh..hh | Fährt der Zug nur in einer Stunde | + | | [[# |
| - | | MILZEIT | hhmm oder hhmm..hhmm | Die Milzeit wird im Format stdmin angegeben (kein Leerzeichen oder Doppelpunkt zwischen | + | | [[# |
| - | | MULTI | Referenz Flag | Wird wird das Multiflag eingetragen welches in den durch diese Scriptzeile erzeugten Züge verwendet wird | Nein | | + | | [[# |
| - | | NAME | [[stellwerksim: | + | | [[# |
| + | | [[# | ||
| <note warnung> | <note warnung> | ||
| <note hinweis> | <note hinweis> | ||
| - | ===== Referenzbahnsteig (ID und GLEIS) | + | |
| + | ==== Referenzbahnsteig (ID und GLEIS) ==== | ||
| Der Referenzbahnsteig wird genutzt, um die Fahrplanzeile festzulegen, | Der Referenzbahnsteig wird genutzt, um die Fahrplanzeile festzulegen, | ||
| Zeile 29: | Zeile 31: | ||
| Der Referenzbahnsteig darf nicht mehrfach im Fahrplan vorkommen, außer an im jeweiligen Zugscript nicht genutzten MULTI-Zeilen. | Der Referenzbahnsteig darf nicht mehrfach im Fahrplan vorkommen, außer an im jeweiligen Zugscript nicht genutzten MULTI-Zeilen. | ||
| - | Beispiel: | + | == Beispiel |
| - | ^ an ^ ab ^ AID ^Gleis ^ Flag ^ | + | |
| - | | 05:00 | 05:00 | 123 | A1 | E1(1234) | | + | |
| - | | 05:00 | 05:00 | 123 | A1 | E2(4321) | | + | |
| Zugscript: | Zugscript: | ||
| takt(60, | takt(60, | ||
| 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. | 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. | ||
| Zeile 42: | Zeile 45: | ||
| Haben die MULTI-Verknüpfungen unterschiedliche Bahnsteige, muss natürlich der Referenzbahnsteig ebenfalls unterschiedlich sein. | Haben die MULTI-Verknüpfungen unterschiedliche Bahnsteige, muss natürlich der Referenzbahnsteig ebenfalls unterschiedlich sein. | ||
| - | ===== Abfahrtszeit (STUNDE und MILZEIT) | + | ==== Abfahrtszeit (STUNDE und MILZEIT) ==== |
| Mit den Parametern STUNDE und MILZEIT wird festgelegt, zu welche Uhrzeit die erzeugten Züge am Referenzbahnsteig **abfahren** sollen. Dabei haben sie folgendes Format (hh ist die Stunde, mm die Minute): | Mit den Parametern STUNDE und MILZEIT wird festgelegt, zu welche Uhrzeit die erzeugten Züge am Referenzbahnsteig **abfahren** sollen. Dabei haben sie folgendes Format (hh ist die Stunde, mm die Minute): | ||
| Zeile 61: | Zeile 64: | ||
| Innerhalb eines takt()-Befehls dürfen mehrere STUNDE und MILZEIT vorkommen und auch gemischt werden: | Innerhalb eines takt()-Befehls dürfen mehrere STUNDE und MILZEIT vorkommen und auch gemischt werden: | ||
| takt(60, | takt(60, | ||
| + | \\ | ||
| - | ==== Zeitbereiche | + | === Zeitbereiche === |
| Es können mit einem STUNDE oder MILZEIT mehrere Züge im Takt erzeugt werden: | Es können mit einem STUNDE oder MILZEIT mehrere Züge im Takt erzeugt werden: | ||
| - | |||
| takt(60, | takt(60, | ||
| Zeile 81: | Zeile 84: | ||
| Zug 6 (11:25) | Zug 6 (11:25) | ||
| - | In MILZEIT könnte das Ganze so aus: | + | In MILZEIT könnte das Ganze so aussehen: |
| takt(60, | takt(60, | ||
| takt(60, | takt(60, | ||
| Zeile 107: | Zeile 109: | ||
| takt(20, | takt(20, | ||
| - | ==== MILZEIT vs. STUNDE | + | === 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: | 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: | ||
| Zeile 119: | Zeile 121: | ||
| Trotzdem kann es zu diesen Verschiebungseffekten auch bei STUNDE kommen! | Trotzdem kann es zu diesen Verschiebungseffekten auch bei STUNDE kommen! | ||
| - | === Beispiel | + | == Beispiel == |
| - | Beispiel: | + | Eine RB fährt wie folgt: |
| ^ an ^ ab ^ Gleis ^ | ^ an ^ ab ^ Gleis ^ | ||
| Zeile 132: | Zeile 134: | ||
| takt(60, | takt(60, | ||
| - | Wird jetzt der Template-Fahrplan in C-Heim auf 09:52 geändert, fahren die erzeugten Züge nicht um 09:52 in C-Heim ab, sondern nach Zugscript um 09:50 - und dafür an allen anderen Halten 2 Minuten früher: | + | Wird jetzt der Zugtemplate-Fahrplan in C-Heim auf 09:52 geändert, fahren die erzeugten Züge nicht um 09:52 in C-Heim ab, sondern nach Zugscript um 09:50 - und dafür an allen anderen Halten 2 Minuten früher: |
| ^ an ^ ab ^ Gleis ^ | ^ an ^ ab ^ Gleis ^ | ||
| Zeile 142: | Zeile 144: | ||
| Dadurch ergeben sich insbesondere Änderungen in anderen Stellwerken und Regionen. | Dadurch ergeben sich insbesondere Änderungen in anderen Stellwerken und Regionen. | ||
| - | ===== Mehrfache Verknüpfungen (MULTI) | + | ==== Mehrfache Verknüpfungen (MULTI) ==== |
| - | Wenn in einem Template | + | Wenn in einem Zugtemplate |
| - | ===== Namensmuster im Zugscript | + | ==== Themamarker |
| - | 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 Templates | + | 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 | ||
| Die genaue Erklärung steht auf der Seite des [[stellwerksim: | 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, | ||
| + | |||
| + | === Automatische Referenzgleisänderung === | ||
| + | |||
| + | 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. | ||
| + | |||
| + | Bei Klick auf das Icon öffnet sich darunter ein Eingabefeld, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Mit Klick auf " | ||
| {{tag> | {{tag> | ||