TrainController – (fast)Universelles Makro für Zugfahrt-Start

Zum TrainController schreibe ich hier leider viel zu selten. Meine Ideen landen meist im Forum oder im privaten Wiki der TrainController Gemeinschaft.
http://www.tc-wiki.de/index.php/Hauptseite

Seit kurzem habe ich für meine Zugfahrten, die aus dem Bahnhof ausfahren, ein universelles Makro am Laufen, das jede Lok individuell behandeln kann. Bis jetzt gibt es 2 unterschiedliche Abläufe im Makro (erweiterbar):

  1. eine normale Lok soll starten, das Spitzenlicht wird eingeschaltet, der Fahrweg wird geprüft, wenn frei, wird die Weichenstraße gesetzt, das Signal geht auf grün, ein Schaffnerpfiff und ein Achtungspfiff vom Lokführere werden vom PC abgespielt, die Lok fährt los.
  2. eine Soundlok soll starten, vorhandene Lichter und das Betriebsgeräusch (Motor / Lüfter) werden eingeschaltet, Bahnhofsansage und sonstige Fähigkeiten der Lok eingestezt, der Fahrweg wird geprüft, wenn frei, wird die Weichenstraße gesetzt, das Signal geht auf grün, ein Schaffnerpfiff und ein Achtungspfiff werden von der Lok erzeugt, die Lok fährt los.

Zu diesem Makro gibt es 2 Vorgängervarianten, die noch in den Startaktionen der einzelnen Zugfahrten enthalten waren. Bei mehreren Zugfahrten ist das Makro die bessere Lösung, da Änderungen nur an einer Stelle erfolgen.
Diese Vorgänger hatten das Problem, dass die Zeit nach Freigabe der Blocksperre nicht mehr unter Kontrolle der Anweisungen war. Deshalb ist das neue Makro nur mehr „fast“ universell, da jetzt die maximal 8 Bahnhofsblöcke explizit einbezogen werden, um den Fahrweg zu prüfen.

Warum der Aufwand? Die Züge fuhren doch vorher auch auf Knopfdruck los und haben etwas gepfiffen.
Zum einen macht es manchmal Spaß, mit den vielen Möglichkeiten der Software zu spielen und die Grenzen auszuloten, zum anderen hab ich meine Zugbewegungen im Bahnhof beobachtet und festgestellt, das das Timing der einzelnen Aktionen manchmal komplett daneben liegt.
Dabei möchte ich hier dick anführen, ich halte mich nicht streng an das Vorbild, ich lehne mich nur an und mache was mir gefällt.
Das wichtigste für mich war hier das Berücksichtigen folgender Aktionen: Signal geht auf grün, Schaffner trillert, Lok macht einen Achtungspfiff (heute wohl nicht mehr üblich), der Zug fährt los.

Vorher konnte es sein, dass die Startaktionen durch waren, der Zug aber nicht ausfahren konnte, da der Fahrweg von weiterem Verkehr erst mal blockiert war (das Weichenvorfeld).

Der Trick ist aktuell der, die Weichestraße für den Fahrdienstleiter im Makro zu setzen, sobald der Weg frei ist, dann die restlichen Aktionen durchzuführen und als letztes die Blocksperre aufzuheben, die dem TrainController Fahrdienstleiter das Ausfahren des Zuges ermöglicht.

Die individuellen Einstellungen pro Lok sind in mehreren Lokfunktionen hinterlegt, die vom Makro abgerufen und auf die aktuell im Block stehende Lok angewandt werden. Das bedeutet natürlich, dass für jede neue Lok zunächst ein paar Vorarbeiten zu leisten sind, die aber bei normalen Loks einfach durch kopieren erledigt werden. Soundloks mit ihren vielen Funktionen sind von Haus aus eine Menge Arbeit bei der Einrichtung.

Ich verweise hier auf die TC-Wiki Artikel, auch auf die Vorgänger, denn dort ist z.B. das Arbeiten mit den notwendigen Variablen erklärt.

Erste Version der Startaktionen
Zweite Version der Startaktionen
Aktuelle Version des universellen Start-Makros
Blockdiagramm des universellen Makros

TrainController – fahren mit Doppeltraktion

Roco BB II - Mallet
Roco BB II – Mallet

Eigentlich mach ich das öfter mal und seit vielen Versionen, aber diesmal hat’s mich gerissen, und ich musste das Smartphone zücken und ein Video aufnehmen. Es ist wirklich einfach, wenn die Loks sauber eingemessen sind, diese in TrainController zu steuern.

Ich habe in der „Bucht“ zufällig 2 gleiche analoge Roco Loks der Königlich Bay. Sts. Bahn, Typ „Mallet“, Spitznahme „Zuckersusi“, ersteigert (die fuhren wohl später mal für Südzucker).
Beim Umbau der ersten hab ich mich für eine Nachrüstung mit Faulhaber entschieden, denn die lief nicht rund.
Die zweite wartete dann geduldig 1 Jahr, bis der Decoder eingebaut wurde (jeweils ESU LokPilot 4 micro). Hier hab ich noch einen Stützelko spendiert.
Die zweite Lok macht einen riesen Krach, fährt sonst aber anständig. Durch die unterschiedlichen Motoren haben die Lok auch ein ganz anderes Fahrverhalten am Handregler.

Die erste wurde noch auf meiner 260cm langen Messstrecke per Rückmelder eingemessen. Die zweite dann mit der neu erworbenen Speedbox von RZTec (Reflexlichtschranken System mit 10cm Messstrecke). Das spart jede Menge Zeit, vor allem bei so langsam laufenden Maschinen.
Ich dachte nicht, dass trotz unterschiedlicher Einmessprozeduren so perfekt gleiche Ergebnisse herauskommen. Das zeigt wieder, TrainController hat das super im Griff.

Flux beide aufs Gleis gestellt, TrainController Doppeltraktion gebildet, und komplett überrascht: über den gesamten Geschwindigkeitsbereich bis 45 km/h fahren die Loks absolut identisch. Nur bei einem Notstopp (Fahrstufe Null) rollt die Faulhaber Maschine wesentlich weiter. Aber das hat TrainController natürlich nicht im Griff, das ist die Mechanik bzw. Motorcharakteristik.

Das Geniale ist zudem, ich kann am Handregler des Digitalsystems eine beliebige Lok aus einer Mehrfachtraktion aufrufen, alle anderen folgen entsprechend der Einmessskurve in TrainController dieser Lok. Jede wird also mit der passenden Fahrstufe angesteuert.

Hier nun das Video. Ab Video-Zeit 06:17 wird die Einrichtung in TrainController erklärt. Man kann eine Doppeltraktion im Fenster Loks und Züge auch per Drag and Drop erstellen und nicht nur über das Menü.

TrainController 9 Gold – Doppeltraktion mit 2 Mallet

TrainController Einstellungen

Ich benutze schon seit „ewigen“ Zeiten die Modellbahn-Steuerungssoftware TrainController. Begonnen hab ich mit V 4.7, inzwischen ist die Version 8 gold aktuell und im Einsatz.
Leider schreitet der Bau der Anlage nicht so schnell voran wie der Programmierer mit den Versionen und Features :mrgreen:
Für meine wenigen Gleise und Fahrmöglichkeiten reicht deshalb eine vergleichsweise simple Implementierung. Vor allem möchte ich nicht zu viel Zeit in zu programmierende Automatiken investieren, die beim Weiterbau wieder hinfällig werden.
Trotzdem hab ich mich nun 1 Abend mit Änderungen beschäftigt.
1)
Die Kehrschleife, bei 2-Leiter Gleichstrombahnen ein ungebetener, ständig präsenter Begleiter, funktioniert bei mir mit einem sogenannten Kurzschluss Modul. Eine Elektronik erkennt einen auftretenden Kurzschluss und polt den Streckenabschnitt blitzschnell um. Das funktioniert, bedeutet aber trotzdem für die Loks (oder sonstigen Fahrzeuge) kurzzeitig hohe Ströme in den Rädern und Stromabnehmern.
Da von den Schaltdekodern für motorische Weichenantriebe noch 2 Ausgänge mit Relais übrig sind, nutze ich die, um die Kehrschleife im Vorfeld auf die richtige Polung zu schalten.
Findet also eine reguläre, vom PC gesteuerte Zugfahrt statt, wird kurz das entsprechende Relais aktiviert, das 1 Schiene der benachbarten Blöcke verbindet. Dieser gewollte Kurzschluss veranlasst das Kehrschleifenmodul, aktiv zu werden.
Die ganze Logik dahinter ist aber vor einiger Zeit schnell und ohne große Überlegungen entstanden. Manchmal haben sich die Objekte gegenseitig blockiert und es kam zu einem dauerkurzschluss 😦
Nun habe ich noch mal 2 Umschalter und 2 Bahnwärter in TrainController „bemüht“ und mit Bedingungen und Operationen verknüpft.
Mal sehen, wie sich das neue Konstrukt bewährt.
2)
In der Version 8 ist es möglich, in den Zugoperationen auch Zugfahrten zu starten. Zusätzlich kann noch ein Block der Anlage zugewiesen werden. Damit lässt sich folgendes elegant lösen:
1 Zugfahrt mit mehreren parallelen Startblöcken (z.B. alle Bahnhofsgleise) führt zu einem Ziel. An jedem Gleis ist 1 Taster. Das Betätigen eines Tasters startet den Zug, der in diesem Gleis steht, und keinen anderen.
In der Version 7 waren hier noch Weichenstraßen und Bedingungen kompliziert eingebunden.
Funktioniert prächtig. 😀
3)
Ich habe das neue Element „Zähler“ am Schattenbahnhof eingebaut. Die Einfahrt eines Zuges erhöht den Zähler, die Ausfahrt verringert ihn. Der Zähler zeigt damit immer den Füllstand in den SBH-Blöcken an. Zudem wird ein Zug rausgeschickt, wenn die 8 Blöcke alle belegt sind und ein 9ter Zug rein will.