Inhaltsverzeichnis

Über Variable abfragen, ob Zug im Bahnhof oder auf Strecke steht - ab TrainController Version 11 Gold

Jede Lokomotive soll eine Lokfunktion bekommen (quasi eine F-Funktion), die aussagt, ob ein Zug gerade in einem Bahnhof steht oder nicht bzw. ob der Zug „zurecht“ im Bahnhof steht, also geplant, oder ob er nur zufällig hält, z.B. wegen einem roten Signal voraus. Darüber soll gesteuert werden, ob beim Abfahren des Zuges die Sounds (Tür zu, Lokpfiff, Lautsprecheransage, …) ausgelöst werden soll, wenn es eine Soundlok ist. Natürlich darf dann aber auch ein ICE nicht an einem Bahnsteig für eine S-Bahn diese Prozedur beginnen, es muss also feingliedrig unterschieden werden.

Zudem soll das ganze auch funktionieren, wenn man mit einem Handsteuergerät fährt und es soll auch global ein- und ausschaltbar sein (nachts, wenn alle schlafen, müssen die Schaffner ja nicht unbedingt so laut Pfeifern, dass die Nachbarn in den Betten senkrecht stehen ;) ).

Seite ist im Aufbau

Hier beschreiben wir unsere Überlegungen dazu:

Variable anlegen

Wir beginnen das alles mit dem Anlegen einer Variable vom Typ „Zug“, d.h. jeder Zug kann hier seinen eigenen Wert hinterlegen:

Zum Beispiel kann die Variable im Explorer wie folgt angelegt werden:

Erstellung einer neuen Variable z.B. über die Ansicht im „Explorer“
Eigenschaften der neuen Variable

Danach wählt man in den Feldern folgende Werte aus. Der Name kann frei vergeben werden, ich finde es immer hilfreich, wenn der Typ der Variable bzw. deren Gültigkeit angegeben wird im Namen. Darum das „Zug.Name.“. Der Typ der Variable muss zwingend „Zeit“ sein. Die Gültigeit der Variable ist, wie schon oben beschrieben, Zug.

Ist diese Variable angelegt, dann müssen wir in jede Lokomotive die Startverzögerung ändern, nämlich auf die Variable!

Eintrag der Variable "Startverzögerung" in jeden Zug/jede Lok

Damit der Sound, die Funktionen, … (Türe schließen, Schaffnerpfiff, …) genug Zeit haben abzulaufen, bevor der Zug am Bahnhof losfährt, müssen wir die Startverzögerung in den Lokomotiven vor einem festen Wert auf eine Variable setzen. Über diese Variable steuern wir später, wie lange die „Abfertigung“ dauern soll. Und wenn der Sound komplett aus ist, dann brauch der Zug nicht ewig im Bahnhof stehen und „nichts tun“, dann kann er früher losfahren. Aber dazu später mehr.

Wenn wir die Variable funktional in die Lokomotiven einbauen wollen, müssen wir nun leider jede einzelne Lokomotive öffnen und im Reiter „Antrieb“ die Startverzögerung gesucht werden.

Hier muss die Variable der Startverzögerung eingetragen werden

Um hier nun statt einer Zahl die Variable eintragen zu können, klickt man mit der Maus in das Feld ind drückt auf der Tastatur die Taste „V“ für „Variable“. Sofort öffnet sich das Auswahlfenster der Variablen. Hier wählt man mit einem Doppelklick die erstellte Variable „Zug.Startverzögerung“ (in unserem Beispiel).

Auswahl der Variable

Nun nutzt der Zug bei der Startverzögerung nicht mehr einen festen Wert, sondern jenen, der in der Variable hinterlegt wird.