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:31] – 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, genau einmal | | + | | [[# |
| - | | GLEIS | Referenzbahnsteig | Name des Referenz-Bahnsteiges | Ja, genau einmal | | + | | [[# |
| - | | STUNDE | std1 oder std1..std2 | std1 = Stunde der ersten Abfahrt, std2 = Stunde __vor__ der letzten Abfahrt | Ja, mindestens eins, beliebig viele | | + | | [[# |
| - | | MILZEIT | stdmin1 oder stdmin1..stdmin2 | stdmin1 = Stunde und Minute der ersten Abfahrt, | + | | [[# |
| - | | MULTI | Referenz-Flag | Wird wird das Multiflag eingetragen welches in den durch diese Scriptzeile erzeugten Züge verwendet wird | Nein, beliebig viele | | + | | [[# |
| - | | 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 == |
| Zugscript: | Zugscript: | ||
| takt(60, | takt(60, | ||
| Zeile 43: | 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 62: | 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 83: | Zeile 85: | ||
| In MILZEIT könnte das Ganze so aussehen: | In MILZEIT könnte das Ganze so aussehen: | ||
| - | |||
| takt(60, | takt(60, | ||
| takt(60, | takt(60, | ||
| Zeile 108: | 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 120: | 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 133: | 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 143: | 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> | ||