Traincontroller – Dateien synchronisieren und sichern

Wer als Steuerungssoftware die Software Traincontroller von Herrn Freiwald verwendet, der wird häufiger mit dem Problem konfrontiert, wichtige Programmdateien zu sichern und zu synchronisieren.

Traincontroller kann automatisch Dateien sichern und synchronisieren – die dazu notwendigen Anpassungen findet ihr im folgenden beschrieben

Eine Sicherung hilft generell – Backup ist immer gut. Sei es weil der PC mal nicht mehr will, oder man auf eine alte Version zurückgreifen will, oder, oder…

Eine Synchronisation ist dagegen erforderlich, wenn wir an mehreren Endgeräten die Dateien bearbeiten.

Oft steht die Moba im Keller oder unterm Dach – auf dem Schreibtisch im Büro ist aber ein voll ausgestatteter PC oder Laptop vorhanden, an welchem es sich viel angenehmer im s.g. „Offline-Modus“ arbeiten lässt.

Allerdings müssen wir die Datei dann jedes Mal vom Moba-PC auf den Arbeits-PC hin- und zurück kopieren. Außerdem sieht die Oberfläche dann jedes Mal anders aus, da jeder PC andere Layoutdateien für die jeweilige Programmdatei verwendet. Wer sich dafür interessiert, was es mit den verschiedenen Dateien bei Traincontroller auf sich hat, dem empfehle ich meinen Bericht zum Dateimanagement von TC zu lesen.

Ich habe daher ein einfaches Windows Batchprogramm geschrieben, welches dieses Problem löst und sowohl mit einem zentralen Speicher alle relevanten Daten synchronisiert, als auch eine Sicherung der aktuellen Datei durchführt.

Bitte beachten: Zur Nutzung ist Traincontroller Gold erforderlich, da nur dort Layoutdateien gespeichert werden können. Die Anpassung an Traincontroller basiert auf der Version V11.

Die Sicherungsfunktion innerhalb der Skripte wurde der Modellbahn-Anlage GbR (Modellbahn Miningen) entliehen. Dankenswerterweise haben die Kollegen mir erlaubt die dortige Idee der Datensicherung zu verwenden.

Alle relevanten Dateien und auch eine detaillierte Bediungsanleitung und Installationsbeschreibung findet sich unter diesem Link im Downloadbereich in der Rubrik Traincontroller. Die Programmdateien sind Windows-Batchdateien – können als solche also auch ohne Risiko unter Windows ausgeführt werden.

Die Nutzung ist für Privatanwender kostenlos unter Beachtung der Haftung und Gewährleistungsbedingungen und Nutzungsbedingungen wie im beiliegenden PDF Dokument beschrieben.

Views: 37

Realistische Lichtfunktionen mit Traincontroller

Artikel aktualisiert am 02.03.2026

Auf der Modellbahn will man oftmals einen möglichst realistischen Betrieb machen, aber gerade beim Thema der Beleuchtung unserer Triebfahrzeuge macht es einem die Industrie nicht besonders leicht – wie kann man also eine realistische Lichtfunktion mittels der Steuerungssoftware – in unserem Falle Traincontroller erreichen?

Gerade in den letzten Jahren sind durch die fortschreitende Miniaturisierung im Bereich der Decodertechnik immer mehr zusätzliche Funktionen hinzu gekommen – gerade die Anzahl an Soundfunktionen ist immer mehr gewachsen. Leider gilt das nicht unbedingt für die Möglichkeiten der vorbildorientierten Lichtfunktionen.

Mit der Version 11 von Traincontroller ist es nun wesentlich einfacher geworden, vorbildorientierte Spitzenbeleuchtungen auf der Modellbahnanlage darzustellen. Aber was heisst überhaupt „vorbildgerecht“ . Dazu mal eine Übersicht der Lichtfunktionen der DB in der frühen Epoche IIIa – entnommen aus dem „Bundesgesetztblatt 1021 Nr42 von 1959“, die mir ein befreundeter Modellbahner dankenswerterweise zur Verfügung gestellt hatte:

  • Spitzensignal Zg1 – Vorn am ersten Fahrzeug in Form eines A – wobei bis 1959 auch noch die Version mit 2 Lichtern erlaubt war – das hiess dann Zg 101 und galt bis 1961. Bei geschobenen Zugverbänden sind am Stuerwagen oder am ersten Fahrzeug zwei Lichter in gleicher Höhe erfordderlich
  • Falschfahrtsignal Zg2 – hier ist die linke Laterne des Spitzensignals des vordersten Fahrzeugs rot, wenn auf dem falschen Gleis gefahren wird.
  • Schlusssignal Zg3 – Am letzten Fahrzeug zwei von vorn weiss (bei luftgebremstenZügen bis 250m kein weiss erforerlich) , von  hinten rote Lichter. Wird der Zug gezogen, reicht hinten rot
  • Einfaches Schlussignal Zg4 – am Letzten Fahrzeug ein rotes Licht (bei Loks  rechts)
  • Rangierlicht Fz1: vorn und hinten ein weißes Licht. Alternativ kann auch Zg1 geführt werden.

Und das sind nur die Lichtsignale! Und wer macht das bitte alles noch von Hand! Die folgende Beschreibung realisiert daher folgende Funktionen:

  • Über eine Funktion „Licht Zugverband“ wird das Licht so eingeschaltet, dass es für den gesamten Zugverband gültig ist – in Abhängigkeit von den vorhandenen, technischen Funktionen.  
  • Wenn ein Zugfahrzeug als Sandwich im Zug ist, also im Zugverband weder an der Spitze, noch am Ende, so  wird die Front- und Rückbeleuchtung komplett ausgeschaltet. Als Sandwich zählt in diesem Falle auch die 2. Lok einer Doppeltraktion – es sei denn diese ist gleichzeitig auch Schlusslok (also eine doppelte Schublok)
  • Ein Zugfahrzeug, bei dem Front und Rücklicht getrennt geschaltet werden kann, schaltet dieses in Abhängigkeit von den angehängten Wagen ein: Sind Wagen hinter der Lok, so wird dieser Teil des Lokführerstands kein Licht zeigen. Auf der anderen Seite (von den Wagen weg) wird das Licht in Abhängigkeit von der Fahrtrichtung rot (geschobener Zugverband) oder weiss  (gezogener Zugverband) zeigen.
  • Falls vorhanden wird der Zugschluss eingeschaltet bzw. Spitzenbeleuchtung am letzten Wagen falls es sich um einen Wendezug handelt der geschoben wird.
  • Die Funktion „Licht Zugverband“ wird in jedem Fahrzeug konfiguriert – also in den Loks und in evtl. vorhandenen Steuerwagen – damit ist es auch möglich bei Wechsel des Fahrzeuges (z.B. Entkupplung) – die Funktion erneut aufzurufen um eine neue Lichtkonfiguration zu erhalten.
  • Solo fahrende Loks haben hinten ein einzelnes rotes Licht (falls vorhanden). Andernfalls Licht vorne und hinten in Abhängigkeit der Fahrtrichtung.
  • Bis 1970 wurde tagsüber auch ohne Licht gefahren – wobei es auf stark „tunnellastigen“ Strecken auch durchgehenden Fahrbetrieb mit Licht gab.  Daher sollte die Beleuchtung von 2 Schaltern abhängig sein: Ein Schalter für den reinen Nachtbetrieb – dann wird immer das Licht auch eingeschaltet. Ein zweiter Schalter, welcher – bei ausgeschaltetem ersten Schalter – auch über Tag die Beleuchtung einschaltet. 
  • Die Zugfunktionen sollen davon aber unbeeinflusst sein – d.h. es gibt einen Unterschied, ob eine Lokfunktion eingeschaltet wird, oder ob die Funktion über einen Automatismus (z.B. Ausfahrt aus Tunnel) eingeschaltet wird.

Funktionen im Decoder

Um es gleich vorwegzunehmen: In den meisten Fällen werden wir um eine Änderung der Verschaltung im Decoder nicht drumherum kommen, wenn wir eine vorbildorientierte Lichtfunktion umsetzen wollen. Es reicht allerdings, wenn der Decoder selbstständig bei F0 das weisse Licht anhand der Fahrtrichtung ändert und rot ebenfalls mit der Fahrtrichtung.

Problem dabei: Wir benötigen mindestens 4 AUX Anschlüsse im Decoder!

Wer jetzt einen Schreck bekommen hat: Keine Angst – auch wenn ihr nur Licht weiss hinten/vorne habt, könnt ihr ziemlich vorbildnah arbeiten: Die meisten Züge kommen ja mit Wagen einher – und rotes Licht brauchen wir nur bei Loks die ihre Wagen schieben oder alleine unterwegs sind.

Falls ihr aber den Umbau in Erwägung zieht, schaltet die Ausgänge bitte so, dass weiss jeweils von der Fahrtrichtung abhängig mit Funktionstaste Fx geschaltet wird und rot ebenfalls (und unabhängig von weiss) mit der Funktionstaste Fy. Und wer als Goodie die Option eines Rangierlichts haben will bekommt das einfach damit hin, das er eine Funktionstaste Fz mit Licht weiss vorne und hinten dauerhaft eingeschaltet im Decoder konfiguriert.

Umsetzung in Traincontroller

Zum Testen und für die Ersteinrichtung nehmt eine Lok, welche auch das Rücklicht beschaltet hat. Habt Ihr keine solche Lok, so tut einfach als ob die Lok dies Funktion hätte. Ihr könnt als Funktionstaste eine vom Decoder nicht verwendete Taste verwenden (oder F32).

  1. Zunächst laden  wir die folgenden Lichtsymbole in unsere Bibliothek . Wer diese nicht zur Hand hat, kann sie gerne im Downloadbereich herunterladen (siehe Beschreibung in diesem Beitrag):

Licht weiss mit Fahrtrichtung wechselnd

Licht rot mit Fahrtrichtung wechselnd

Licht für den gesamten Zugverband

  • Eingangs nehmen wir eine Lok zum Testen und fügen obige Lichtsymbole dort wie folgt ein:
    • Licht vorne (Typ Decoder -i n der Regel F0)
    • Licht hinten (Typ Decoder)
    • Licht gesamter Verband (Typ Liste)

Alle Funktionen sollten als Ein/Ausschalter definiert sein.

  • Wir benötigen einige Variablen:
  • 831 Vzn Funktion Zugverband aktiv, Typ Objekt Zugverband, Zahl
  • 831 Vzz aktueller Zugverband, Typ Zugverband, Gültigkeit Zug
  • 831 Vpn aktuelle Position im Zugverband, Typ Zahl, Privat
  • Wir erstellen jetzt ein Makro, welches wir später in die Funktion „Licht gesamter Verband“ starten – Bei mir heisst das Makro „831i XM Lokfkt Licht Zugverband automatisch EIN“.

Wichtig: Dieses Makro darf nur 1x innerhalb eines Zugverbandes gestartet werden! Dazu dient die Variable 831 Vzn…  Gleich bei Aufruf wird überprüft, ob diese Variable gesetzt ist. Als Absicherung können wir auch in der Bedingung des Makros als Bedingung formulieren, dass diese Variable NULL ist.

Hintergrund: Da unser Makro das Licht für alle Fahrzeuge innerhalb eines Zugverbandes schaltet, würde es zu Problemen kommen, wenn wir beispielsweise die Funktion „Licht Verband aktivieren“ für alle Fahrzeuge (eine Funktion in den Systemroutinen) starten würden.

In dem Makro schalte ich als erstes die Lichtfunktionen für alle Fahrzeuge (!) aus. Damit stellen wir sicher, dass wir einen geregelten Anfangszustand haben. Ich unterscheide hier noch danach, ob eine Lok alleine fährt – also solo unterwegs ist, oder ob es sich um eine Lok mit Wagen handelt. Bei Solo fahrenden Loks schalten wir nämlich das Licht weiss + Licht rot an der Lok ein. Wir können auch dazu die Funktion auf „Alle Fahrzeuge“ anwenden – es gibt schliesslich nur die Lok.

Die Funktion des Ausschaltens sieht dann wie folgt aus:

Das Einschalten dagegen ist der eigentlich wirklich wichtige Punkt – hier wird für Licht rot das Fahrzeug am Schluss des Zugverbandes ausgewählt. Entsprechend für die Zeile danach – Licht J weiss – das Fahrzeug am Anfang des Zugverbandes.

Fügt dieses Makro jetzt in die Lokfunktion für den gesamten Verband ein und testet es. Verschiebt auch mal die Lok im Fenster „Loks und Züge“ von links nach rechts und schaut, ob das Licht richtig geschaltet wird.

Wenn alles wie gewollt funktioniert, schaltet euer Licht nur noch über die Funktion „Licht Verband“ 

ein!  

Fahrtrichtungswechsel

Was jetzt nur ein Problem sein könnte: Wenn die Fahrtrichtung wechselt, dann soll ja auch das Licht wechseln! Ein Beispiel:

Lok zieht den Zug, Licht vorne weiss ist eingeschaltet. Jetzt macht der Zug Kopf am Bahnhof und der Zug wird geschoben. Der Decoder weiss nur, dass jetzt ein Richtungswechsel stattgefunden hat und schaltet Licht hinten weiss. Grober Fehler! Wir müssen also sicherstellen, dass die obige Funktion „Licht Verband“ bei jedem Richtungswechsel mit aktiviert wird. Das wiederum geht in dein Eigenschaften des Fahrzeugs:

Bei mir ist das auch ein Makro – aber in der Regel reicht es, hier einfach die Lokfunktion für den Verband aufzurufen. Dies funktioniert aber nur, wenn ihr nicht im Editiermodus seid.

Steuerwagen und Schlußwagen

Noch ein Wort zu Steuerwagen: Ihr könnt diese genauso behandeln wie eine Lok. Da die Richtungswechsel sich auf den Zugverband beziehen, wird auch am Steuerwagen das Licht gewechselt.

Ein Sonderfall stellen Wagen am Schluss dar, welche nur rotes Licht zeigen können. Und das rote Licht sollte natürlich an der richtigen Seite des Wagens erscheinen. Ein Fahrzeug mit rotem Licht vorne und hinten ist hier ein Problem, da die meist in Wagen verbauten Funktionsdecoder nicht zwischen Vorwärts- und Rückwärtsfahrt unterscheiden können. In diesem Falle macht euch einfach  die Tatsache zu nutze, dass die Funktion  Licht rot wechselnd bei jedem Richtungswechsel des Zugverbandes aufgerufen wird. Ihr müsst dann Licht rot an diesem Wagen nur eine Operationsliste zuweisen und dem Wagen zwei Funktionen, z.B.

Licht rot vorne – F3

Licht rot hinten – F4

Und Licht rot schaltet dann über die Operationsliste vorne und hinten in Abhängigkeit von der aktuellen Fahrtrichtung

Auch hier schalten wir wieder zuerst alle Rücklichter aus. Wichtig ist aber jetzt die Unterscheidung, ob der Zug gezogen oder geschoben wird! Und das können wir anhand Ausrichtung und Position bestimmen. Die obige Voraussetzung hat folgenden Inhalt:

Bei der Funktion das Licht zu schalten, müssen wir als Fahrzeug mit der Option „Beschreibung“ arbeiten um den hinteren Wagen zu identifizieren. Wichtig hierbei die blaue Markierung, die festlegt, dass die Funktion für nur genau diesen Wagen gilt. Die Beschreibung ist für beide Fälle Licht Q und Licht R identisch.

Nun müssen wir nur noch darauf achten, dass unser Wagen auch richtig herum auf dem Gleis steht, weil es bei Personenwagen manchmal schwierig ist zu erkennen, wo der „vordere“ und wo der „hintere“ Zugteil ist, habe ich mir angewöhnt, im Wagenkasten ein Symbol zu machen damit ich den Zug richtig herum aufs Gleis stelle. Das gleiche Symbol verwende ich in Traincontroller für diesen Wagen.

Das wars – und als Ergebnis habt ihr eine garantiert immer richtige

Views: 164

Traincontroller: Abläufe hinter der Haltmarkierung

Signale - Ausfahrt Nhsn

In letzter Zeit habe ich mich mal wieder intensiver mit der Steuerungssoftware beschäftigt.

Dazu muss man sagen, dass Traincontroller ein sehr mächtiges Programm ist, welches man inzwischen (aktuell verwende ich Version 11 des Programms) schon als eigenständige Programmiersprache beschreiben kann – gibt es doch diverse Optionen was IF-THEN-ELSE Konstrukte, Makros, Schleifen etc. anbelangt.

Problembeschreibung

Mein aktuelles Problem war dabei folgendes:

Wenn ein Zug in einem Block anhält, so werden Aktionsmarkierungen, welche entfernungsmäßig hinter der Haltmarkierung liegen bei erneuter Anfahrt des Zugverbandes nicht mehr ausgelöst.

Das hört sich auf den ersten Blick jetzt nicht so tragisch an, kann aber ziemlich nervend werden, wenn z.B. nach dem Halt noch Aktionen im Block durchgeführt werden sollen – hier mal ein paar Beispiele:

  • Ein Zug soll vor der Ausfahrt auf dem Tunnel noch warten, bis z.B. die Zeit für die offizielle Einfahrt im Bahnhof erreicht ist. Der Block endet aber nicht vor der Tunnelausfahrt. Nach dem Halt soll der Zug einen entsprechenden Sound abspielen, weil z.B. noch ein Überweg nach dem Tunnel passiert wird.
  • Ein Zug hält vor dem Einfahrtssignal. Dieses soll – wie beim Vorbild – auf Halt zurückfallen, sobald der Zug das Signal passiert hat.
  • usw.

Ihr seht, es gibt viele Anwendungsbeispiele für eine solche Funktion – aber wie lösen wir es?

Lösungsbeschreibung

Dieses Problem lässt sich mittels eines Bahnwärters lösen, welcher in den Block eingefügt wird. Als Beispiel wird die Konfiguration meiner Anlage Nächternhausen verwendet – wer will kann die Originaldatei hier herunterladen.

Man beachte hierbei Block FB 2 (Freiburg) – hier findet sich im Block folgender Bahnwärter 819 AM Block „%B“/\   – Verlängerung Markierungen über Haltepunkt hinaus“ 1(das ist der oberste hier im Bild).Dieser Bahnwärter stellt – auch bei Weiterfahrt nach Halt am Haltmelder sicher, das alle hier stehenden Aktionsmarkierungen unter allen Umständen – auch nach Halt des Zuges – ausgelöst werden

Wier erstellen diesen Bahnwärter zunächst außerhalb des Blocks als ganz normalen Bahnwärter und fügen ihn erst hinterher in den Block ein (einfach mit der Maus reinziehen, oder manuell hinzufügen)

Konfiguration des Bahnwärters in Traincontroller

Bei der Memory des Bahnwärters reicht es, diesen ca. 8 Sek. nach Einschalten auszuschalten und Ausschalten erzwingen zu aktivieren. Wichtiger ist aber der Auslöser, der da wie folgt ausschaut:

Hier ist besonders die Combibedingung wichtig, nämlich eine erweiterte Zugbeschreibung, die wir als noch erstellen müssen:

Der Bahnwärter kann erstmal ohne diese Beschreibung bleiben – wir fügen sie hinterher ein

Erstellung einer erweiterten Zugbeschreibung

Die erweiterte Zugbeschreibung können wir auch direkt unter der Kombibedingung oben anlegen – ich habe mir aber angewöhnt, diese als eigenständige Beschreibung zu erstellen (geht in den TC-Explorer und erstellt ein neues Objekt von Typ Zugbeschreibung).

Wichtig ist hier nur, das wir in der erweiterten Zugbeschreibung im Reiter Allgemeines V-Min=1km/h und unter Züge „Alle Lokomotiven“ wählen.

Als Name habe ich die Zugbeschreibung „93 alle sich bewegenden Züge (mit Lok)“ genannt, denn sie gilt nur, wenn:

Ein Zugverband mit einer Lok sich mit mindestens 1km/h im Block bewegt.

Erweiterte Zugbeschreibung einbauen

Ihr geht also jetzt wieder in den Bahnwärter und fügt die erweiterte Zugbeschreibung dort im Combi-Block beim Reiter „Züge“ mit ein. Unser Bahnwärter wird also jetzt utner folgenden Bedingugnen auslösen:

  1. Ein Zugverband bewegt sich im Block UND
  2. Die Haltmarkierung wurde aktiviert 2(falls ihr euch wundert was jetzt bei Zügen passiert, welche gar nicht halten: Die Haltmarkierung wird immer aktiviert – es handdelt sich um eine Markierung und nicht um eine Haltaktion!) UND
  3. Das Signal ist gerade nicht mehr auf Rot UND
  4. Der Block ist reserviert für einen Zugverband mit Fahrtrichtung nach oben aus dem Block heraus in den Folgeblock

Haltmarkierung anpassen

Der Haltmelder kann bleiben wie er ist – wichtig ist hier nur, das wir die Memory ändern auf „Mit Melder – wenn der unten angegebene Melder ausgeschaltet wird“ – als Melder wählen wir den „Bezugsmelder“ aus. So ist sichergestellt, das die Haltmarkierung auch nach Halt des Zuges noch eingeschaltet bleibt – so lange bis der zugehörige Blockmelder auch ausgeschaltet ist.

Einschränkungen

Obiges Verfahren funktioniert eigentlich immer – allerdings (danke an die Spezialisten vom TC Forum) sollte man folgendes beachten:

  • Beim Wechsel in den Editermodus werden die Aktionsmarkierungen ebenfalls beendet. Wird der Zugbetrieb danach wieder gestartet, so werden die Aktionsmarkierungen nicht mehr mit abgearbeitet.
  • Ausserdem muss natürlich der Zug auch bei Vmin=1 km/h losfahren! Hier ist die Decodereinstellung wichtig: Denkt TC der Zug würde sich bereits bewegen, der Zug fährt aber erst bei Vmin=10km/h so stimmen die Entfernungsangaben natürlich nicht mehr. Deshalb ist es wichtig, die Loks richtig einzumessen. Ggfs. vielleicht dann auch eher Vmin auf 2km/h setzen und die Entfernungsangaben entsprechend anpassen.
  • Wechselt man nach dem Halt die Fahrtrichtung, dann stimmt natürlich unser Auslöser nicht mehr – das dürfte allerdings eher selten der Fall sein – und wenn wir den Block danach in die andere Richtung verlassen, dann solllten die Aktionsmarkierungen ja auch gar nicht aktiv werden.

Wie gesagt – es gibt diverse Anwendungsfälle dafür. Wichtig:

Mit dieser Methodik ist sichergestellt, dass Aktionsmarkierungen nach einer Haltmarkierung auch ausgeführt werden, wenn der Zugverband an der Haltmarkierung zum Stehen kam.

Views: 442

Traincontroller: Aktionen hinter Haltmarkierungen

In einem der letzten Stammtische der Anwender der Steuerungssoftware Traincontroller wurde folgende Lösung gezeigt, um Aktionen durchzuführen, welche auch nach Halt und erneutem Anfahren eines Zugverbandes im jeweiligen Block ablaufen können.

Hintergrund:

Wenn ein Zug in einem Block anhält, so werden Aktionsmarkierungen, welche entfernungsmäßig hinter der Haltemarkierung liegen bei erneuter Anfahrt des Zugverbandes nicht mehr ausgelöst.

Dieses Problem lässt sich mittels eines Bahnwärters lösen, welcher in den Block eingefügt wird.

Als Beispiel wird die Konfiguration meiner Anlage Nächternhausen verwendet – wer will kann die Originaldatei im Downloadbereich unter https://www.naechternhausen.de/tipps-und-tricks/downloadliste/  laden.

TC - Haltmarkierung - Bild1

Man beachte hierbei Block FB 2 (Freiburg) in nebenstehendem Bild – hier findet sich im Block folgender Bahnwärter „819 AM Block „%B“/\   – Verlängerung Markierungen über Haltepunkt hinaus“ . Dieser Bahnwärter stellt – auch bei Weiterfahrt nach Halt an der Haltmarkierung sicher, das die hier stehenden Aktionsmarkierungen ausgelöst werden.

Wir erstellen diesen Bahnwärter zunächst außerhalb des Blocks – als „ganz normalen Bahnwärter“ und fügen ihn hinterher in den Block ein (einfach rein ziehen).

1. Konfiguration der Haltmarkierung

Der (rot dargestellte) Haltmarkierung kann bleiben wie er ist – wichtig ist hier nur, das wir die Memory ändern auf „Mit Melder – wenn der unten angegebene Melder ausgeschaltet wird“ – als Melder wählen wir den „Bezugsmelder“ aus. So ist sichergestellt, das die Haltmarkierung auch nach Halt des Zuges noch eingeschaltet bleibt – so lange bis der zugehörige Blockmelder auch ausgeschaltet ist.

2. Konfiguration des Bahnwärters

Bei der Memory des Bahnwärters reicht es, diesen ca. 8 Sek. nach Einschalten auszuschalten und Ausschalten erzwingen zu aktivieren. Wichtiger ist aber der Auslöser, der da wie folgt ausschaut:

Man beachte die Combi-Bedingung:

TC - Haltmarkierung - Bild3
TC – Haltmarkierung – Bild3

Diese Erweiterte Zugbeschreibung können wir auch direkt in der Kombibedingung anlegen – wesentliches Element ist im Reiter „Allgemeines“ V-Min=1km/h und unter Züge „Alle Lokomotiven“ wählen.

Unser Bahnwärter wird also unter folgenden Bedingungen auslösen:

  • Ein Zugverband bewegt sich im Block UND
  • Die Haltmarkierung wurde aktiviert UND
  • Das Signal ist nicht Rot UND
  • Der Block ist reserviert für einen Zugverband mit Fahrtrichtung aufwärts (also zum Signal hin)

Diese Bedingungen gelten auch, wenn der Zug nicht am Signal halten muss – auch dann ist ja die Haltmarkierung aktiviert.

Anwendungsfälle

Ich habe aktuell zwei Anwendungsfälle:

  1. Aktivierung von Soundfunktionen nach der Haltmarkierung
  2. Reservierung eines nachfolgenden Blocks, ohne dafür einen (teuren) S88 Melder zu verwenden), wenn der nachfolgende Block in einem Stumpfgleis endet (siehe Block NB70b in der Projektdatei)

Sicher lassen sich noch andere Anwendungsfälle finden. Wer seine Weichenstraßen nicht überwacht könnte z.B. einen Schalter verwenden, der bei Beginn der Weichenstraße einschaltet und – in Abhängigkeit von der Zuglänge – am Ende der Weichenstraße ausschaltet. Ein weiterer Bahnwärter könnte dann auf diese Schalter reagieren und somit als Melder für die Weichenstraße dienen.

Einschränkungen

Nachstehende Einschränkungen (Danke, Silvio!), sollen nicht unerwähnt bleiben:

  • Beim Wechsel in den Editermodus werden die Aktionsmarkierungen ebenfalls beendet. Wird der Zugbetrieb danach wieder gestartet, so werden die Aktionsmarkierungen nicht mehr mit abgearbeitet.
  • Außerdem muss natürlich der Zug auch bei Vmin=1 km/h losfahren! Hier ist die Decodereinstellung wichtig: Denkt TC der Zug würde sich bereits bewegen, der Zug fährt aber erst bei Vmin=10km/h so stimmen die Entfernungsangaben natürlich nicht mehr.
  • Beim Wechsel der Fahrtrichtung innerhalb des Blocks sind die Aktionsmarkierungen natürlich nicht mehr gültig.

Views: 146

Traincontroller: Dateimanagement

Hintergrund

Ein großer Vorteil der Steuerungssoftware Traincontroller ist die Möglichkeit, am Arbeitsplatz PC – im s.g. Offline Modus – die Programmdatei zu bearbeiten. Dabei ist die Simulation von Zugfahrten, Events usw. möglich, ohne dass wir dazu die reale Anlage in Betrieb nehmen müssen.

Eine der Nachteile: An den unterschiedlichen Endgeräten haben wir unterschiedliche Benutzer, Datenstrukturen und Verzeichnisse.

Ein Beispiel: Traincontroller verwendet für die Darstellung der Wagen und Züge die Dateien von Trainanimator (Dateityp .yra). Die Lokation dieser Dateien ist in der Programmdatei verlinkt. Haben wir nun am Moba PC (nennen wir ihn der Einfachheit PC A), nur eine Festplatte/SSD/Partition, am Arbeitsplatz PC (PC B) aber 2 Festplatten1oder unterschiedlichen Partitionen, so verweisen die Verzeichnisse u.U. auf unterschiedliche Dateien. Auf PC A sind die Benutzer unter Laufwerk C:\…., auf PC B aber unter Laufwerk D:\….

Noch extremer ist das Problem, wenn auch die Option 4D Sound verwendet wird: Hier verweisen die Dateien von Trainanimator auf absolut adressierte Audiodateien.

Wenn unterschiedliche PCs für Traincontroller genutzt werden, so sind mit hoher Wahrscheinlichkeit die Icons der Wagen an einem der PCs nicht lesbar. Je nach verwendeter Software können auch andere Probleme auftauchen.

Der Grund dafür: Traincontroller verwendet zwar meistens s.g. relative Adressierung (also immer Dokumente/Eigene Dateien/…), aber leider an einigen Stellen auch eine absolute Adressierung (also C:\Benutzer\…).

Es gibt aber einfache Lösung für das Problem! Doch dazu müssen wir uns zunächst das Dateimanagement von Traincontroller anschauen

Die Programmdatei

Die Programmdatei (.yrrg) wird immer im Home Directory – und dort unter „Railroad & Co/TrainController“ gespeichert.

Der Hersteller empfiehlt diesen Speicherort nicht zu ändern. Die Programmdatei hat die Erweiterung yrrg. Beim Namen selbst ist man frei einen beliebigen Namen zu verwenden. Ich habe mir angewöhnt den Namen nach einem Schema zu beschreiben: G10A7 bezeichnet die aktuelle Version von TC unter der die Datei gespeichert wurde (in diesem Falle also TC Gold Version 10 A 7). Dann folgt eine Nummer und zum Schluss eine Gedächtnisstütze für mich die beschreibt, was die letzte grössere Änderung war. Am Anfang steht der (gekürzte) Name meiner Anlage – also z.B.

Speichern Sie Ihre Programmdateien ausschließlich im Standardverzeichnis. Gleiches gilt auch für Dateien von Trainanimator oder Trainprogrammer. Unter „Dieser PC/Dokumente/Railroad & Co“ sollten immer mindestens die Ordner TrainAnimator, TrainController und Trainprogrammer vorhanden sein.

Und verwenden Sie ein Namensschema beim Abspeichern von Dateien. Ich selbst habe mir ff. Schema angewöhnt:

<LAYOUTNAME> G<HAUPTVERSION><UNTERVERSION> <DATEIVERSION> <HAUPTAENDERUNG>
wobei:
<LAYOUTNAME> z.B. Nhsn für das konkrete Projekt - hier Nächternhausen
<HAUPTVERSION> die Traincontrollersion - hier aktuell10
<UNTERVERSION> aktuell die Version B1
<DATEIVERSION> die Version meiner Programmdatei
<HAUPTAENDERUNG> die wichtigste Änderung die ich zuletzt gemacht habe
 

hier ein Beispiel:

Nhsn G10B1 58.8 Ansagen

Ich kann hier am Namen der Datei sofort erkennen, mit welcher TC-Version die Datei zuletzt bearbeitet wurde, und was meine Hauptänderungen waren. 58.8. ist die Version meiner Änderung, bei der ich mich hauptsächlich mit Ansagen beschäftigt hatte.

Laufwerk R erstellen

Auch wenn man keine Ahnung von Computerprogrammierung hat, ist die Lösung einfach zu bewerkstelligen. Zunächst einmal gibt es einen einfachen Befehl mit dem wir unter Windows unser Dokumentenverzeichnis als Laufwerksbuchstaben zuordnen können.

Dazu solltet ihr als erstes euren Windows Explorer (Windows Taste + E) öffnen und dort unter Dokumente -> Railroad & Co -> Traincontroller nachsehen, ob dort auch wirklich eure Traincontrollerdateien liegen.

Nun öffnen wir eine s.g. „Shell“ indem wir die Windows Taste (die mit dem Windows Symbol auf eurer Tastatur) + die Taste R gleichzeitig drücken. In dem sich öffnenden Feld geben wir unter öffnen „cmd“ ein und dann folgende Zeile:

subst R: "%USERPROFILE%""Railroad & Co""
DIR R:

Es gibt leider einen Sonderfall: Wenn ihr euer Windowsprofil auf ein anderes Laufwerk verschoben habt (seltener Fall, aber kam bei mir an einem PC so vor), dann funktioniert die Variable USERPROFILE nicht. Dann müsst ihr dies durch den Ort ersetzen, den ihr auch bei der Verschiebung verwendet habt.

Achtet auf die Leerzeichen und die doppelten Anführungszeichen. Das sollte dann folgendes Bild ergeben.

Ihr könnt nun an beliebiger Stelle das Laufwerk R verwenden um direkt zu allen Dokumenten von Traincontroller zu springen. Und natürlich können wir diese Information auch in Traincontroller nutzen, indem wir im Suchfeld das R Laufwerk (Suchen in) angeben. Das Laufwerk erscheint hier direkt mit dem Namen des Directories – also Railroad & Co.

R Laufwerk verwenden

In TC verwenden wir jetzt immer das R Laufwerk, wenn es darum geht auf eine Datei in Trainanimator zu verweisen. Dazu im Feld „Suchen in“ einfach nur R eingeben – in der Regel sollte dann schon das richtige Laufwerk angezeigt werden:

Hilfreich ist dies vor allem, wenn wir Dateien die Icons unserer Fahrzeuge in Trainanimator auswählen. Egal auf welchen Endgerät wir uns also nun befinden. Überall wo das R Laufwerk existiert, verweist es auf die dann richtige Adresse! Hier ein Beispiel aus Traincontroller:

Laufwerk R dauerhaft zuweisen

Ein Nachteil allerdings hat unser Verfahren bis jetzt noch: Die Änderung ist nicht permanent!

Das heißt: Bei jedem Reboot unseres Rechners ist das R Laufwerk wieder weg. Die Lösung ist auch hier wieder einfach: Wir erstellen eine Datei, welche bei jedem Systemstart ausgeführt wird, und mit der wir sicherstellen, dass das Laufwerk auch nach Reboot immer wieder richtig zugeordnet wird.

Dazu öffnet ihr als erstes Einen Editor und fügt folgende Zeilen ein

subst R: "%USERPROFILE%""Railroad & Co""
EXIT /B

Die Datei speichern wir unter einem fest definierten Namen an einer bestimmten Stelle. Um diese Stelle zu finden, drückt ihr wieder die Taste WINDOWS+R und gebt folgendes Kommando ein:

shell:startup

Jetzt öffnet sich ein Explorer Window und genau an diese Stelle speichern wir unsere oben erstellte Datei unter dem Namen autostart.bat mittels „Speichern unter…“. Unter Umständen gibt es diese Datei schon, dann solltet ihr die oberen Zeilen mit subst…. am Ende dieser Datei anfügen.

Wenn ihr dies auf allen PCs macht, mit denen ihr auch eure TC Dateien bearbeitet, so werdet ihr immer – auch nach Reboot – ein Laufwerk mit Namen R haben, welches dann auch immer an die richtige Stelle verweist.

Ich habe hier meine eigenen Erfahrungen dokumentiert – sicher habt ihr auch Erfahrungen gemacht – nutzt doch bitte das Kommentarfeld und helft so auch anderen. Damit es in Zukunft nicht mehr zu solchen „Fakenews“ kommt, man könne eine Modellbahn nicht ohne dauernde Probleme betreiben!

Views: 133

Translate »