Handbuch

STS Handbuch

Stellwerksim Handbuch

Webseiten-Werkzeuge


stellwerksim:erbauer:zugbau:zugscript

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
stellwerksim:erbauer:zugbau:zugscript [2020/10/08 22:28] M8DNFstellwerksim:erbauer:zugbau:zugscript [2026/05/23 20:54] (aktuell) – Doku für neue Tools in Zugscript-Editor DevonFrosch
Zeile 1: Zeile 1:
 {{indexmenu_n>20}} {{indexmenu_n>20}}
-==== 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 13: Zeile 13:
 Die weiteren Parameter werden dabei im Format "Befehl=Zuweisung" angegeben. Einzelne Parameter werden voneinander mit einem Komma getrennt und können in beliebiger Reihenfolge angegeben werden. Die weiteren Parameter werden dabei im Format "Befehl=Zuweisung" angegeben. Einzelne Parameter werden voneinander mit einem Komma getrennt und können in beliebiger Reihenfolge angegeben werden.
  
-^ Befehl ^ Zuweisung ^ Bemerkung ^ Pflichtangabe ^ +^ Befehl ^ Zuweisung ^ Bemerkung ^ Pflichtangabe ^ Anzahl pro Zugscript 
-| ID | Referenz-AID | AID des Referenz-Stellwerks (in welchem die Zeiten des Script gelten) angegeben | Ja, genau einmal | +| [[#referenzbahnsteig_id_und_gleis|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 | +| [[#referenzbahnsteig_id_und_gleis|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 | +| [[#abfahrtszeit_stunde_und_milzeit|STUNDE]] | std1 oder std1..std2 | std1 = Stunde der ersten Abfahrt, std2 = Stunde __vor__ der letzten Abfahrt | Ja | Mindestens einmal, beliebig viele, auch gemischt 
-| MILZEIT | stdmin1 oder stdmin1..stdmin2 | stdmin1 = Stunde und Minute der ersten Abfahrt, std2 = Stunde und Minute __vor__ der letzten Abfahrt | ::: | +| [[#abfahrtszeit_stunde_und_milzeit|MILZEIT]] | stdmin1 oder stdmin1..stdmin2 | stdmin1 = Stunde und Minute der ersten Abfahrt, stdmin2 = Stunde und Minute __vor__ der letzten Abfahrt | ::: | ::: | 
-| MULTI | Referenz-Flag | Wird das Multiflag eingetragen welches in den durch diese Scriptzeile erzeugten Züge verwendet wird | Nein, beliebig viele +| [[#mehrfache_verknuepfungen_multi|MULTI]] | Referenz-Flag | Wird das Multiflag eingetragen welches in den durch diese Scriptzeile erzeugten Züge verwendet wird | Nein | Höchstens zweimal (1x für [[stellwerksim:erbauer:zugbau:flags:f-flag|F-Flag]]1x für [[stellwerksim:erbauer:zugbau:flags:k-flag|K-Flag]] oder [[stellwerksim:erbauer:zugbau:flags:e-flag|E-Flag]]) 
-| NAME | [[stellwerksim:erbauer:zugbau:namensmuster|Namensmuster]] | Namensmuster anstatt der Stammdaten. Muss entweder nie oder in jedem Zugscript definiert sein. | Nein, maximal einmal |+| [[#themamarker_marker|MARKER]] | Ein Großbuchstabe | Nur Fahrplaneinträge mit diesem Themamarker werden für den Zug übernommen | Nein | Höchstens einmal | 
 +| [[#namensmuster_im_zugscript_name|NAME]] | [[stellwerksim:erbauer:zugbau:namensmuster|Namensmuster]] | Wenn vorhanden, muss der Parameter in jedem Zugscript vorhanden und das Namensmuster-Feld des Zugtemplates leer sein. | Nein | Höchstens einmal |
  
 <note warnung>Der im Zugscript angegebene Referenzbahnsteig darf nur einmal als Fahrplaneintrag enthalten sein!</note> <note warnung>Der im Zugscript angegebene Referenzbahnsteig darf nur einmal als Fahrplaneintrag enthalten sein!</note>
 <note hinweis>Das Zugscript darf nicht aus der Historie oder einem Textverarbeitungsprogramm wie Word kopiert werden! Ansonsten kann es sein, dass das Zugscript in mehrere Teile zerrissen wird, da hier nicht sichtbare Zeichen mitkopiert werden.</note> <note hinweis>Das Zugscript darf nicht aus der Historie oder einem Textverarbeitungsprogramm wie Word kopiert werden! Ansonsten kann es sein, dass das Zugscript in mehrere Teile zerrissen wird, da hier nicht sichtbare Zeichen mitkopiert werden.</note>
  
-===== Referenzbahnsteig (ID und GLEIS) =====+==== Referenzbahnsteig (ID und GLEIS) ====
  
 Der Referenzbahnsteig wird genutzt, um die Fahrplanzeile festzulegen, auf die sich die STUNDE bzw. MILZEIT beziehen. Angegeben wird hier die Anlagen-ID (in ID) und der Name des Bahnsteig- bzw. Haltepunktelements. Die Schreibweise muss dabei genau so wie im Fahrplan sein. Der Referenzbahnsteig wird genutzt, um die Fahrplanzeile festzulegen, auf die sich die STUNDE bzw. MILZEIT beziehen. Angegeben wird hier die Anlagen-ID (in ID) und der Name des Bahnsteig- bzw. Haltepunktelements. Die Schreibweise muss dabei genau so wie im Fahrplan sein.
Zeile 30: 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,ID=123,GLEIS=A1,STUNDE=5,MULTI=E1);   takt(60,ID=123,GLEIS=A1,STUNDE=5,MULTI=E1);
Zeile 44: 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 65: Zeile 66:
 \\ \\
  
-==== 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:
Zeile 108: Zeile 109:
   takt(20,ID=123,GLEIS=A1,MILZEIT=625..800);   takt(20,ID=123,GLEIS=A1,MILZEIT=625..800);
  
-==== 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 ==
  
 Eine RB fährt wie folgt: Eine RB fährt wie folgt:
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 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:erbauer:zugbau:flags:multi|Multi-Flag]]. 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:erbauer:zugbau:flags:multi|Multi-Flag]].
  
-===== Namensmuster im Zugscript (NAME) =====+==== Themamarker (MARKER) ==== 
 + 
 +Ist ein MARKER gesetzt, werden für den Zug nur diejenigen Fahrplanhalte übernommen, die diesen Themamarker gesetzt haben. Damit kann für einzelne Züge ein abweichender Fahrplan definiert werden, ohne ein eigenes Zugtemplate verwenden zu müssen - auf Kosten der Lesbarkeit des Fahrplans. Dabei sind folgende Regeln zu beachten: 
 + 
 +  * 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:erbauer:zug-qs:fuererbauer:templateregeln#verwendung_von_marker|konkretere Regeln für die Verwendung von MARKER]] auf 
 + 
 +Der Zugscriptlauf übernimmt dann pro Zug nur diejenigen Fahrplaneinträge, die den gewählten Marker gesetzt haben, und setzt im Zug den Themamarker A-Z.  
 + 
 +<note>Die Züge haben also andere Themamarker als das Zugtemplate. Damit ist das [[stellwerksim:erbauer:themascripte:sim_befehle|Setzen eines Themamarkers per ThemaScript (Befehl themamarker)]] ohne Auswirkung, weil der Fahrplan des Zuges für alle Themamarker gleich ist.</note> 
 + 
 +<note important>Die Regeln für Verknüpfungsbahnsteige gelten unabhängig von MARKER - Verknüpfungsbahnsteige müssen also auch im Zugtemplate immer Themamarker A-Z gesetzt haben. Das gilt insbesondere auch für Zielbahnsteige von E/F/K-Flags!</note> 
 + 
 +== Beispiel == 
 +Ein Zug im Zugtemplate soll an einem Halt einen anderen Bahnsteig verwenden. Im [[stellwerksim:erbauer:zugbau:fahrplan|Fahrplaneditor]] werden zwei Fahrplanhalte für diesen Bahnhof angelegt: 
 +  * 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,ID=123,GLEIS=A1,STUNDE=6..8,MARKER=A); 
 +  takt(60,ID=123,GLEIS=A1,STUNDE=8,MARKER=B); 
 +  takt(60,ID=123,GLEIS=A1,STUNDE=9..20,MARKER=A); 
 + 
 +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. 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:erbauer:zugbau:namensmuster|Namensmusters]]. Die genaue Erklärung steht auf der Seite des [[stellwerksim:erbauer:zugbau:namensmuster|Namensmusters]].
 +
 +==== 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, wenn das Zugscript geändert wird.
 +
 +=== 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, wo das neue Referenzgleis ausgewählt werden kann. 
 +
 +{{:stellwerksim:erbauer:zugbau:referenzgleis_verschieben.png}}
 +
 +Mit Klick auf "verschieben" werden ID, GLEIS sowie alle STUNDE und MILZEIT an das neue Referenzgleis angepasst. Die Funktion berücksichtigt dabei eventuell vorhandenes MULTI.
  
 {{tag>Werte, Zugbau}} {{tag>Werte, Zugbau}}
stellwerksim/erbauer/zugbau/zugscript.1602188928.txt.gz · Zuletzt geändert: 2020/10/08 22:28 von M8DNF