Anbindung in ein Modellbahnsteuerungsprogramm wie TrainController™, iTrain oder Rocrail

Um meine Displays in Modellbahnsteuerungsprogramme wie TrainController™ , iTrain oder Rocrail einbinden zu können, habe ich ein Windows-Terminal-Programm entwickelt. Dieses Tool kann im Windows-Explorer über den Befehl „Ausführen“ oder über ein Modellbahnsteuerungsprogramm, aufgerufen werden. Dazu muß das Modellbahnsteuerungsprogramm in der Lage sein, ein externes Programm aufrufen zu können.

Voraussetzung ist auch hier, dass der Controller sowie TrainController™ in das gleiche heimische WLAN integriert sind. Denn alle Befehle werden, wie auch das Webinterface, über WLAN an das Display gesendet.

Installationsschritte

Zugzielanzeiger (ZZA) einbauen und anschließen

Zuerst sollte der Zugzielanzeiger (ZZA) gemäß Anleitung in die Anlage eingebaut und installiert werden. Das Webinterface ist bereits im ZZA installiert und wird einfach über die Eingabe der IP-Adresse in einem beliebigen Browser (z.B. MS Edge) aufgerufen.

Software installieren

Die neueste Version des Terminalprogramms kann man sich unter Releases auf der Github-Seite des Programms herunterladen.
In dem heruntergeladenen Paket gibt es die beiden über die Command-Line ausführbaren Programme mbc-tc-hidden.exe und mbd-tc.exe.

https://github.com/webfraggle/modellbahn-displays-traincontroller/releases

In der readme auf Github sind alle Optionen des Tools erklärt.

https://github.com/webfraggle/modellbahn-displays-traincontroller

Ich habe mir auf dem Desktop einen Ordner „Zugzielanzeige“ angelegt. Dort wird die der config-Ordner mit den beiden Dateien „default.json“ & „gleis1.json“ hineinkopiert.
Zusätzlich habe ich in diesen Ordner das Terminalprogramm „mbd-tc-hidden.exe“ installiert. Alternativ kann man dort auch mbd-tc.exe installieren. Dann erscheint allerdings bei jedem Programmaufruf das Popup des Befehlzeilenfensters.
Als nächstes sollte die IP-Adresse des auf der Anlage installierten Zugzielanzeiger in den beiden json -Dateien in die tatsächliche IP-Adresse umbenannt werden (z.B. mit Hilfe von Editor oder Notepad):

Es ist auch möglich mehrere Displays auf der Anlage anzusteuern. Dazu legt man für jeden ZZA eine config-Datei an und ändert jeweils die IP-Adresse. Beim Aufruf muss man dann den Namen der config angeben.

Die tatsächliche Adresse findet sich im Webinterface (hier z.B. 192.168.178.96): 

Ansteuerung des Zugzielanzeigers über Train Controller

Es gibt zwei Möglichkeiten, den ZZA über TrainController anzusteuern: 

Entweder man ruft die Uhrzeit der im Webinterface hinterlegten Zugfahrten in TrainController™ auf, um die entsprechende Anzeige an den ZZA auf der Anlage zu senden oder man sendet den gewünschten Text direkt aus TrainController™ an den ZZA. 

Bei der Eingabe über das Webinterface sind nachträgliche Änderungen, z.B. im Zugverlauf, einfach vorzunehmen. In beiden Fällen wird die Anzeige vom ZZA parallel auch in den ersten drei Zeilen (Zug 1, Zug 2, Zug 3) im Webinterface angezeigt, so daß man hier immer auch eine Kontrollmöglichkeit hat. 

Der Programmaufruf in TrainController™ kann z.B. über Taster oder Makros erfolgen. Hier bietet TrainController™ zahlreiche Möglichkeiten zur individuellen Steuerung.

Der Programmaufruf erfolgt im Menü „Operationen“ über das Untermenü „System-Operationen“. Dort wird die System-Operation „Programm“ durch Hinzufügen (unten links) ausgewählt:

Zuerst sollte der korrekte Pfad zur Installation des Terminalprogramms eingerichtet werden. Dazu über den Button „Suchen“ über den Button „Ändern“ den Pfad zu mbd-tc.exe bzw. mbd-tc-hidden.exe durch Anklicken auswählen.

Anschließend wird dieser Pfad durch den gewünschten Befehl ergänzt.

Z.B.: C:\Users\abcde\Desktop\Zugzielanzeige\mbd-tc.exe –setTime „15:30“

Darauf achten, dass alle Leerzeichen korrekt eingegeben werden.

Im ZZA wird dann der Zug angezeigt, welcher auf 15:30 Uhr entsprechend im Webinterface hinterlegt ist.

Weitere Beispiele für mögliche Befehle finden sich hier:

https://github.com/webfraggle/modellbahn-displays-traincontroller/blob/main/README.md

Anschließend wird der gewünschte Befehl durch Klicken auf „OK“ bestätigt. Auslösender Zustand des Tasters hier ist „Ein“.

Um z.B. eine Leeranzeige am ZZA zu erzeugen, gibt man im gleichen Schalter (im Zustand „Aus“) z.B. den Befehl mbd-tc.exe –-gleis B –setTrain1 „||||| ein. Nun wird die Anzeige des Zugziels im oberen Block der Anzeige gelöscht, die Folgezüge bleiben aber weiterhin stehen.

Natürlich sind auch weitergehende Automatisierungen über TrainController™ möglich. So z.B. eine automatische Anzeige des einfahrenden Zuges im entsprechenden Zugzielanzeiger fahrstraßengesteuert mit Hilfe von Makros. Das lässt sich relativ einfach in TrainController™ realisieren.

Hier ist geplant, in Kürze ein entsprechendes Tutorial auf YouTube bereitzustellen. 

Für fortgeschrittene TrainController™-Anwender sind auch komplexere Automatisierungen über Variable denkbar. Die Möglichkeiten von TrainController™ sind hier nahezu unbegrenzt.

Viel Spaß bei der Ansteuerung meiner Zugzielanzeiger mittels TrainController™.

In der Steuersoftware iTrain sollte die Anbindung ähnlich funktionieren. In der Anleitung unter „Aktionen“ gibt es eine Anleitung um Programme über die „Befehlszeile“ ausführen zu können. Dies ist mit meinem Zugzielanzeiger im Moment noch ungetestet.