Homepage Stefan Krauß
Modellbahn

Das Programm GBox2Eth

Funktionalität

Das Programm ermöglicht es, die Gleisbox über das Tiny-CAN-Interface am PC wie (ähnlich, nicht gleich!) eine Märklin CentralStation 2 zu betreiben. Dazu werden die von der Gleisbox über CAN kommenden Botschaften auf Ethernet-UDP-Frames umgesetzt und umgekehrt. Für ein Steuerprogramm wie WinDigipet stellt sich die Gleisbox somit wie eine CS2 dar, die selbst intern eine solche Umsetzung vornimmt und über Ethernet an den Steuerrechner angeschlossen wird. Damit wird die Kommunikation zwischen dem Gleisformatprozessor (GFP), also dem Teil, der das Schienensignal erzeugt, und dem Steuerprogramm hergestellt.

Das Programm könnte man sicher noch um viele Funktionen erweitern und damit zum Beispiel die CS2 auf der Computer-Oberfläche mit allen Funktionen nachbilden. Dies ist aber nicht Ziel des Programms, sondern kann im Wesentlichen von einem Steuerprogramm auf dem PC übernommen werden.

Die Beschreibung hier bezieht sich auf den Einsatz mit dem Tiny-CAN-Interface. Es gibt auch eine Variante für die CC-Schnitte des CAN-Digital-Bahn-Projekts. Die Voraussetzungen sind, abgesehen vom Interface selbst und dem Treiber, dieselben; und auch die Bedienung unterscheidet sich nicht. Die Programmvariante für die CC-Schnitte ist auf einer eigenen Unterseite beschrieben und dort herunterladbar.

Voraussetzungen

Der Einsatz von GBox2Eth erfordert:

Das Tiny-CAN-Interface kann von MHS Elektronik direkt bezogen werden. Es reicht das einfache und kostengünstige Tiny-CAN I, das allerdings keine galvanische Trennung aufweist. Dieses Interface wird auch vom Elektor-Verlag vertrieben, da es vor einiger Zeit in der Zeitschrift Elektor vorgestellt wurde.

Auf die Bedienung und die Einrichtung der CS2/Gleisbox im Steuerprogramm wird hier nicht weiter eingegangen. Das ist vom jeweiligen Steuerprogramm abhängig und muss selbst ausprobiert werden. Die Versuche mit WinDigipet haben aber gezeigt, dass es zumindest mit diesem weitverbreiteten Programm geht.

Installation

Vor Inbetriebnahme von GBox2Eth müssen die folgenden Schritte ausgeführt werden:

  1. Installation des Steuerprogramms - hier nicht weiter beschrieben.
  2. Installation des USB-Treibers (USB-Serial-Treiber für den Chip FTDI232RL) für das Tiny-CAN-Interface nach der Beschreibung des Interfaces.
  3. Anlegen eines Verzeichnisses für das Programm. Das Verzeichnis sollte nicht unter C:\Programme liegen, da in das Verzeichnis auch die Konfigurationsdatei geschrieben (und laufend verändert) wird. Neuere Windows-Versionen lassen dies aus Sicherheitsgründen nicht zu. C:\moba ist aber zum Beispiel eine gute Wahl.
  4. Alle Dateien aus dem GBox2Eth-Installationspaket werden in dieses Verzeichnis kopiert. Eine weitere Installation, zum Beispiel mittels Installationsprogramm, ist nicht erforderlich.
  5. Die Datei mhstcan.dll aus dem Tiny-CAN-Treiberpaket für Windows wird ebenfalls in das Verzeichnis kopiert. Aktuell ist zur Zeit das Treiberpaket tiny_can_210.zip, das auf der MHS-Homepage im Download-Bereich zu finden ist. In der ZIP-Datei liegt die DLL im Verzeichnis tiny_can\can_api. Es muss diese Version verwendet werden, sonst muss GBox2Eth aus den Quellen neu übersetzt werden.
  6. Falls nicht bereits auf dem System vorhanden, sind noch die Redistributables, also die Systembibliotheken, von VisualStudio C++ 2010 zu installieren. Dies ist insbesondere dann der Fall, wenn beim Start des Programms Fehlermeldungen auf fehlende DLLs hinweisen.

Für die Installation benötigt man Administrator-Rechte auf dem PC.

Das Programm verewigt sich nicht in der Windows-Registry o.ä. Es kann daher durch einfaches Lösches des Installationsverzeichnisses wieder entfernt werden.

GBox2Eth-Installationspaket (Version 1.3, ZIP-Paket, etwa 8 kByte)

Update

Falls bereits eine Vorgängerversion von GBox2Eth installiert war, müssen nur das Programm selbst (gbox2eth.exe) und ggf. die Tiny-CAN-DLL (mhstcan.dll, es ist wichtig, dass die richtige Version dieser DLL verwendet wird) ersetzt werden. Außerdem muss die Konfigurationsdatei beim Übergang von Version 1.1 auf 1.2 gelöscht werden, da sich das Format geändert hat.

Hat man bereits mfx-Loks angelegt, sollte man nach dem ersten Aufruf von GBox2Eth die neue Konfigurationsdatei anpassen. Dazu fügt man mit einem Texteditor die letzte Zeile der alten Konfigurationsdatei in die neue Konfigurationsdatei ein (ans Ende). In dieser Zeile steht eine Zahl, die die letzte verwendete mfx-Nummer angibt.

Alternativ kann man auch die alte Konfigurationsdatei übernehmen, muss dann aber vor dem ersten Aufruf die Zeile mit der IP-Adresse verdoppeln.

Bedienung

Die Nutzung von GBox2Eth ist sehr einfach, sie wird auf einer eigenen Seite erklärt.

Limitierungen und bekannte Probleme

Das Programm zeigt, dass die Märklin-Gleisbox nicht nur im Kontext einer Selbstbausteuerung zur Schienensignalerzeugung eingesetzt werden kann, sondern auch als Mini-Zentrale für ein PC-Steuerprogramm. Da ich selbst diese Konfiguration nicht nutze, implementiert das Programm nur die Grundfunktionalität und ist nicht sehr tief getestet. Ich denke, dass es trotzdem nützlich ist, deshalb ist es auf dieser Seite zu finden. Man sollte aber keine Produktreife erwarten, das Ganze als Bastelarbeit betrachten und in etwa wissen, was man tut. Durchdachte, einigermaßen ausgereifte und einfach anzuwendende Produkte mit entsprechendem Support bleiben den kommerziellen Modellbahnherstellern vorbehalten, die für ihre Mühen allerdings auch einen gewissen Obulus verlangen. Man sollte dies im Hinterkopf behalten, wenn man sich auf GBox2Eth einlässt.

Dass ein PC-Steuerprogramm tatsächlich die Gleisbox als CS2 erkennt, kann nicht sichergestellt werden. Das Programm wäre theoretisch durchaus in der Lage, zwischen der Gleisbox und einer echten CS2 zu unterscheiden. Mit WinDigipet in der aktuellen Version 2009.3 habe ich Gbox2Eth ausprobiert - und es hat funktioniert. Allerdings habe ich nur die wichtigsten Funktionen in der Demo-Version getestet, da ich eigentlich kein WinDigipet-Benutzer bin. Bisher habe ich keine Probleme entdecken können, was aber nicht garantiert, dass es nicht doch irgendwelche Nachteile gibt.

Das Programm enthält in der derzeitigen Version fast keine "Zentralenfunktionalität", sondern vermittelt im Wesentlichen nur die Daten zwischen Gleisbox und Steuerprogramm auf dem PC. Die Verwaltung von mfx-Loks, die bei der CS2 vom Zentralenprozessor durchgeführt wird, entfällt damit weitest gehend. Es wird lediglich eine einfache Zuweisung der nächsten SID, der internen Adresse, durchgeführt. Außerdem kann ein Fahrtrichtungswechsel für eine mfx-Lok durchgeführt werden, was für das Anlegen von mfx-Loks in WinDigipet notwendig ist. Andere Steuerprogramme haben aber unter Umständen andere Anforderungen und können deshalb eventuell nicht mit mfx-Loks umgehen.

Varianten und Weiterentwicklungen

Inspiriert durch GBox2Eth hat Gerhard Bertelsmann ein kleines Programm namens can2udp geschrieben, das unter Linux läuft und ungefähr das gleiche wie GBox2Eth macht. Informationen und der Quellcode von can2udp sind auf seiner can2udp-Seite zu finden.

Wie erwähnt gibt es eine Variante für das CAN-Interface CC-Schnitte.

Lizenz und Haftungsausschluss

Das Programm GBox2Eth wird von mir frei, aber ohne jede Gewähr zur Verfügung gestellt. Ich hoffe, dass es nützlich ist, übernehme aber keinerlei Verantwortung für die Fehlerfreiheit oder auch nur Funktionstüchtigkeit für einen bestimmten Zweck (siehe GPL-Lizenz). Ich übernehme ebenso wenig eine Haftung für Probleme und Schäden, die mittelbar oder unmittelbar durch die Nutzung des Programms entstehen. Es besteht keinerlei Anspruch gegen mich, das Programm zu warten oder zum Laufen zu bringen.

GBox2Eth darf unter den Bedingungen der GNU General Public License Version 3 (GPL3, inoffizielle deutsche Übersetzung) weiter verbreitet und verändert werden.