Handbuch

STS Handbuch

Stellwerksim Handbuch

Webseiten-Werkzeuge


stellwerksim:erbauer:tutorials:bauen:zuege:zugscript1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
stellwerksim:erbauer:tutorials:bauen:zuege:zugscript1 [2019/01/21 09:32] billystellwerksim:erbauer:tutorials:bauen:zuege:zugscript1 [2019/01/21 09:53] billy
Zeile 1: Zeile 1:
 ====== Zugscript (1) ====== ====== Zugscript (1) ======
  
-Erbauer bearbeiten also Templates, aus denen dann Züge erzeugt werden. Aber wie funktioniert diese Erzeugung eigentlich?+Erbauer bearbeiten also Zugtemplates, aus denen dann Züge erzeugt werden. Aber wie funktioniert diese Erzeugung eigentlich?
  
-Dafür gibt es eine eigene Sprache, das Zugscript. Darüber teilt man dem Server mit, wie und welche Züge er erzeugen soll. Die Erzeugung findet dann im Zugscriptlauf statt. Dort schaut sich der Server die Zugscript von allen vorgemerkten Templates an und erzeugt anhand dessen Züge, die anschließend in den Stellwerken fahren können.+Dafür gibt es eine eigene Sprache, das Zugscript. Darüber teilt man dem Server mit, wie und welche Züge er erzeugen soll. Die Erzeugung findet dann im Zugscriptlauf statt. Dort schaut sich der Server die Zugscript von allen vorgemerkten Zugtemplates an und erzeugt anhand dessen Züge, die anschließend in den Stellwerken fahren können.
  
 Im Folgenden soll das anhand einer Strecke von A-Dorf nach B-Hausen erklärt werden. Im Folgenden soll das anhand einer Strecke von A-Dorf nach B-Hausen erklärt werden.
Zeile 22: Zeile 22:
   takt(60,ID=123,GLEIS=A-Dorf,STUNDE=5);   takt(60,ID=123,GLEIS=A-Dorf,STUNDE=5);
  
-GLEIS und STUNDE erkennt man relativ leicht wieder. Die ID bezeichnet die Anlage (das Stellwerk), in dem sich das Gleis A-Dorf befindet. Alle Anlagen haben eine eindeutige Anlagen-ID (AID). Als Beispiel wurde hier 123 genommen. Die Zahl hinter der öffnenden Klammer ist der einzige Wert im Zugscript ohne Name und gibt an, in welchem Takt das Template fährt (hier 60 Minute = alle Stunde). Dieser Wert muss immer ganz vorne stehen und immer angegeben werden, auch wenn wie hier nur ein Zug erzeugt werden soll. Bei Einzelzügen ist der Wert natürlich unwichtig und kann prinzipiell frei gewählt werden, typischerweise wird hier aber auf 60 Minuten zurückgegriffen.+GLEIS und STUNDE erkennt man relativ leicht wieder. Die ID bezeichnet die Anlage (das Stellwerk), in dem sich das Gleis A-Dorf befindet. Alle Anlagen haben eine eindeutige Anlagen-ID (AID). Als Beispiel wurde hier 123 genommen. Die Zahl hinter der öffnenden Klammer ist der einzige Wert im Zugscript ohne Name und gibt an, in welchem Takt das Zugtemplate fährt (hier 60 Minute = alle Stunde). Dieser Wert muss immer ganz vorne stehen und immer angegeben werden, auch wenn wie hier nur ein Zug erzeugt werden soll. Bei Einzelzügen ist der Wert natürlich unwichtig und kann prinzipiell frei gewählt werden, typischerweise wird hier aber auf 60 Minuten zurückgegriffen.
  
   takt(<Takt in Minuten>,ID=<AnlagenID>,GLEIS=<Gleisname>,STUNDE=<Abfahrtsstunde>);   takt(<Takt in Minuten>,ID=<AnlagenID>,GLEIS=<Gleisname>,STUNDE=<Abfahrtsstunde>);
Zeile 36: Zeile 36:
 ==== Zugscriptlauf ==== ==== Zugscriptlauf ====
  
-Im Zugscriptlauf legt der Server nun Fahrplan und Zugscript nebeneinander und sucht das Gleis, das im Zugscript steht, im Fahrplan. Anschließend vergleicht er die Zeiten: 5:30 Uhr im Fahrplan und 5:xx Uhr im Zugscript (die Minuten sind ja unerheblich). Da die Zeiten übereinstimmen, braucht er nicht mehr zu machen, als einen Zug mit den Fahrplan des Templates zu erzeugen.+Im Zugscriptlauf legt der Server nun Fahrplan und Zugscript nebeneinander und sucht das Gleis, das im Zugscript steht, im Fahrplan. Anschließend vergleicht er die Zeiten: 5:30 Uhr im Fahrplan und 5:xx Uhr im Zugscript (die Minuten sind ja unerheblich). Da die Zeiten übereinstimmen, braucht er nicht mehr zu machen, als einen Zug mit den Fahrplan des Zugtemplates zu erzeugen.
  
 ===== Ein zweiter Zug ===== ===== Ein zweiter Zug =====
Zeile 48: Zeile 48:
   takt(60,ID=123,GLEIS=A-Dorf,STUNDE=6);   takt(60,ID=123,GLEIS=A-Dorf,STUNDE=6);
  
-Wir haben also nur das Zugscript angepasst, nicht den Fahrplan des Templates.+Wir haben also nur das Zugscript angepasst, nicht den Fahrplan des Zugtemplates.
  
-Im Zugscriptlauf vergleicht der Server wieder die Zeiten im Fahrplan (5:30) und im Zugscript (6:xx) und bemerkt eine Differenz von 1 Stunde (+1:00, da er ja nur auf die Stunde schaut und die Minuten ignoriert). Daher rechnet er diese Stunde beim Erstellen des Zuges auf den Template-Fahrplan auf:+Im Zugscriptlauf vergleicht der Server wieder die Zeiten im Fahrplan (5:30) und im Zugscript (6:xx) und bemerkt eine Differenz von 1 Stunde (+1:00, da er ja nur auf die Stunde schaut und die Minuten ignoriert). Daher rechnet er diese Stunde beim Erstellen des Zuges auf den Zugtemplate-Fahrplan auf:
  
   5:30 + 1:00 = 6:30 A-Dorf   5:30 + 1:00 = 6:30 A-Dorf
   6:00 + 1:00 = 7:00 B-Hausen   6:00 + 1:00 = 7:00 B-Hausen
  
-Damit fährt der Zug um eine Stunde versetzt zum ersten Zug, aber unabhängig von dessen Zugscript. Außerdem ist es __für die erzeugten Züge egal, wann der Template-Fahrplan liegt - entscheidend ist das Zugscript!__ Wenn der Template-Fahrplan mit einem der erzeugten Zug-Fahrpläne übereinstimmt, ist das aber überichtlicher und vermeidet Fehler.+Damit fährt der Zug um eine Stunde versetzt zum ersten Zug, aber unabhängig von dessen Zugscript. Außerdem ist es __für die erzeugten Züge egal, wann der Zugtemplate-Fahrplan liegt - entscheidend ist das Zugscript!__ Wenn der Zugtemplate-Fahrplan mit einem der erzeugten Zug-Fahrpläne übereinstimmt, ist das aber überichtlicher und vermeidet Fehler.
  
 ===== Weitere Züge ===== ===== Weitere Züge =====
Zeile 103: Zeile 103:
 ... geht es mit weiteren Parametern für das Zugscript weiter. ... geht es mit weiteren Parametern für das Zugscript weiter.
  
-| [[.:templates|Zurück: Templates]] | [[..:zuege|Nach oben: Züge]] | [[.:zugscript2|Weiter: ZugScript (2)]] |+| [[.:templates|Zurück: Zugtemplate]] | [[..:zuege|Nach oben: Züge]] | [[.:zugscript2|Weiter: Zugscript (2)]] |
stellwerksim/erbauer/tutorials/bauen/zuege/zugscript1.txt · Zuletzt geändert: 2020/05/19 17:56 von fablu97