Mit dem Namensmuster wird jedem erzeugten Zug ein Name zugewiesen. Zugnamen müssen Systemweit einmalig sein. Diese werden vorzugsweise aus aus variablen Blöcken berechneten Zugnummern erzeugt (alle Rechenoperationen außer der Division stehen dafür zur Verfügung).
Die Zugnamen bzw. die Namensmuster zu deren Berechnung können entweder im Feld Namensmuster oder dem Zugscript angegeben werden.
Mit folgenden Variablen kann gerechnet werden:
Variable | Bedeutung |
---|---|
$zi | Laufende Nummer über alle erzeugten Züge des Zugtemplates (von 0 an gezählt) (Verwendung im Namensmusterfeld) |
$ti | Laufende Nummer über alle erzeugten Züge des aktuellen takt()-Befehls (von 0 an gezählt) (Verwendung nur im Taktbefehl) |
$zid | Die vom System vergebene eindeutige ID des Zuges (ungleich der Zugtemplate-ID (TID)) |
$sec | Die Minutenzahl seit 0:00, welche der Abfahrtszeit am ersten Halt im ersten Stellwerk entspricht. |
$time | Abfahrtszeit des Zuges am Referenzbahnsteig als vierstellige Zahl (z. B. 1252) |
Zusätzlich zu den variablen Blöcken können weitere fixe Blöcke eingefügt werden, welche für jeden Zug des Zugtemplates gleich sind.
Wird ein %-Zeichen eingefügt, wird alles dahinter im Fahrplan nicht dargestellt.
RB 12101
erzeugt
RB 12101
RB 12101+$zi*2
erzeugt
RB 12101 RB 12103 RB 12105
RB 12101+$ti*2
erzeugt ebenfalls
RB 12101 RB 12103 RB 12105
S 1 % A-B $time
erzeugt zum Beispiel
S 1 % A-B 0915 S 1 % A-B 0935 S 1 % A-B 0955 S 1 % A-B 1015 S 1 % A-B 1035
Im Feld Namensmuster kann ein Namensmuster festgelegt werden, welches dann für alle Züge des Zugtemplates gilt.
Alternativ kann das Namensmuster auch direkt im takt()-Befehl festgelegt werden. Somit können für das gleiche Zugtemplate mehrere Namensmuster verwendet werden. Dabei ist Folgendes zu Beachten:
Bei der Verwendung von Namensmustern im takt()-Befehl sollte als Variable für die laufende Nummer $ti
verwendet werden. Nur $ti
fängt für jeden Befehl neu zu zählen an.
Im folgenden Beispiel werden die nur zweistündig verkehrenden Zwischenzüge (06:30…) in das Nummernschema der stündlich verkehrenden Züge eingereiht:
takt(60,ID=1,GLEIS=1,MILZEIT=0600..1200,NAME=RB 2000+$ti*4); takt(120,ID=1,GLEIS=1,MILZEIT=0630..1230,NAME=RB 2002+$ti*8);
Es würden folgende Züge entstehen:
RB 2000 (06:00) ($ti = 0) RB 2004 (07:00) ($ti = 1) RB 2008 (08:00) ($ti = 2) RB 2012 (09:00) ($ti = 3) RB 2016 (10:00) ($ti = 4) RB 2020 (11:00) ($ti = 5) RB 2002 (06:30) ($ti = 0) RB 2010 (08:30) ($ti = 1) RB 2018 (10:30) ($ti = 2)
Die Verwendung von $zi würde hier unerwartete Ergebnisse produzieren:
takt(60,ID=1,GLEIS=1,MILZEIT=0600..1200,NAME=RB 2000+$zi*4); takt(120,ID=1,GLEIS=1,MILZEIT=0630..1230,NAME=RB 2002+$zi*8);
Es würden folgende Züge entstehen:
RB 2000 (06:00) ($zi = 0) RB 2004 (07:00) ($zi = 1) RB 2008 (08:00) ($zi = 2) RB 2012 (09:00) ($zi = 3) RB 2016 (10:00) ($zi = 4) RB 2020 (11:00) ($zi = 5) RB 2050 (06:30) ($zi = 6) !!! RB 2058 (08:30) ($zi = 7) !!! RB 2066 (10:30) ($zi = 8) !!!
Die laufenden Nummern beziehen sich auf die im Zugscriptlauf erzeugten Züge und sind damit nicht unbedingt zeitlich geordnet:
takt(60,ID=1,GLEIS=1,STUNDE=10,STUNDE=5,NAME=RB 2000+$ti*2); RB 2000 (10:00) ($zi = 0) RB 2004 (05:00) ($zi = 1)
Die folgenden Hinweise sollen denen dienen, die sich schon mit den grundlegenden Funktionen des Namensmusters vertraut gemacht haben und auch vor komplexeren Namensmustern nicht zurückschrecken.
Die Division (/) ist normalerweise beim Namensmuster nicht zugelassen, da hier Zahlen entstehen können, die keine ganze Zahl sind. Diese sind als Zugname nicht zulässig. In Zusammenhang mit dem Befehl floor() ist sie jedoch zulässig. Dieser Befehl schneidet die Nachkommastellen ab, so dass sich immer ganze Zahlen ergeben. Bei der Nutzung der Division sind zwei Punkte zu beachten:
Sinnvoll ist diese Möglichkeit z. B., wenn der Name anhand der Stunde berechnet werden soll, zu der er verkehrt. Der Befehl floor($time/100)
ergibt die Stunde am Referenzbahnsteig. Ein Beispiel:
Das Namensmuster IC 775+floor($time/100)*4
mit dem takt()-Befehl takt(120,ID=583,GLEIS=2,MILZEIT=0705..1106,MILZEIT=1705..2106);
ergibt folgende Züge:
IC 803 (07:05) IC 811 (09:05) IC 819 (11:05) IC 843 (17:05) IC 851 (19:05) IC 859 (21:05)
Am Beispiel des ersten Zuges sei das Verfahren erläutert:
$time
ist die Abfahrtszeit des Zuges am Referenzbahnsteig in der Form 0705
.$time/100
ergibt somit 7,05floor($time/100)
schneidet die Nachkommastellen ab, wir haben 7 als Ergebnisfloor($time/100)*4
multipliziert das mit 4 - also haben wir 28775+floor($time/100)*4
addiert dann 775 dazu - so dass sich die Zugnummer 803 ergibtWeitere Informationen zu diesem Berechnugnsverfahren gibt es im Tipps & Tricks-Forum.