© Excellent backgrounds/Shutterstock.com
Java Magazin
Modellbahn powered by Java EE

Java on Tracks

Wenn man sich professionell mit der Entwicklung von Software befasst und dadurch Tastatur und Monitor tagsüber (und manchmal auch nachts) ständige Begleiter sind, nutzt man IT dann auch in der Freizeit? Man muss nicht, aber man kann - und im hier beschriebenen Fall liegt die Verbindung auch recht nahe: Ich baue und betreibe schon seit einigen Jahren eine Modellbahn im Keller. Die Betonung liegt hier auf „Modell“ als Abgrenzung zu den Spielzeugeisenbahnen, die zumindest in meiner Kinder- und Jugendzeit einige Kinderzimmer schmückten. Um bei der Modellbahn einen vorbildähnlichen Betrieb zu ermöglichen, ist sie mit einer Mehrzugsteuerung ausgestattet, die auch ein Computerinterface aufweist.

Dirk Weil


Natürlich kann man entsprechende Steuerungssoftware fertig erwerben, aber das ist ja langweilig. Also haben wir uns bei GEDOPLAN für eines unserer Code Camps die Aufgabe gestellt, die Modellbahn mit einer Java-EE-Anwendung zu steuern. Zunächst musste ein Projektname gefunden werden. Die Wahl fiel auf V5T11, was Visual Train Control bedeutet – analog zur bekannten Abkürzung I18n für Internationalization. In anderer Reihenfolge erhält man VT 11.5, was einen Triebzug bezeichnet, der sicher die Herzen vieler Modellbahner höher schlagen lässt.

Aufgabenstellung

Die vollständige Automatisierung des Anlagenbetriebs soll durch V5T11 nicht erreicht werden, schließlich möchte der Modellbahner seine Züge meist selbst aktiv steuern. Vielmehr soll V5T11 die Aufgaben lösen, die beim großen Vorbild im Stellwerk angesiedelt sind: Visualisierung des Gleisplans, Anzeige von Gleisbelegungen sowie Reservieren und Freigeben von Fahrstraßen inklusive der dazu nötigen Weichen- und Signalstellungen.

Für unser Code Camp war es darüber hinaus erwünscht, möglichst viele Teile der Plattform Java EE 6 sinnvoll einzusetzen. Dadurch finden sich in V5T11 neben der auf CDI basierenden Geschäftslogik ein Ressourcenadapter zur Anbindung der Mehrzugsteuerung, eine Webanwendung zur Administration und zum Monitoring, EJBs für die Versorgung eines Remote-Stellwerk-Clients sowie REST-Web-Services für die Fahrzeugsteuerung mit einer Android-App. Im Folgenden soll auf einige Details von V5T11 ein wenig Licht geworfen werden.

Systemaufbau

Zur Steuerung der Fahrzeuge wird eine Mehrzugsteuerung eingesetzt. Anders als bei der Spieleisenbahn benötigt man dann nicht mehrere Stromkreise, auf denen die Loks unabhängig voneinander fahren können. Vielmehr werden alle Fahrzeuge mit der gleichen Dauerspannung versorgt, auf die ein Digitalsignal für Geschwindigkeit, Richtung, Licht etc. aufgeprägt ist. Decoder in den Fahrzeugen setzen die so kodierten Befehle für die Fahrzeuge entsprechend um. In ähnlicher Weise werden Weichen und Signale angesteuert sowie umgekehrt die Belegung von Gleisabschnitten durch Stromfühler gemessen und an eine Zentrale gemeldet. Loks, Weichen, Signale und Gleisabschnitte sind somit an einen Kommandobus angeschlossen. Bei meiner Anlage kommt eine Mehrzugsteuerung des Systems Selectrix zum Einsatz, für das Komponenten von diversen Herstellern erhältlich sind (Abb. 1).

Abb. 1: Komponenten der Mehrzugsteuerung

Mit den beschriebenen Hardware- und Softwarekomponenten ergibt sich der in Abbildu...

Java Magazin
Modellbahn powered by Java EE

Java on Tracks

Wenn man sich professionell mit der Entwicklung von Software befasst und dadurch Tastatur und Monitor tagsüber (und manchmal auch nachts) ständige Begleiter sind, nutzt man IT dann auch in der Freizeit? Man muss nicht, aber man kann - und im hier beschriebenen Fall liegt die Verbindung auch recht nahe: Ich baue und betreibe schon seit einigen Jahren eine Modellbahn im Keller. Die Betonung liegt hier auf „Modell“ als Abgrenzung zu den Spielzeugeisenbahnen, die zumindest in meiner Kinder- und Jugendzeit einige Kinderzimmer schmückten. Um bei der Modellbahn einen vorbildähnlichen Betrieb zu ermöglichen, ist sie mit einer Mehrzugsteuerung ausgestattet, die auch ein Computerinterface aufweist.

Dirk Weil


Natürlich kann man entsprechende Steuerungssoftware fertig erwerben, aber das ist ja langweilig. Also haben wir uns bei GEDOPLAN für eines unserer Code Camps die Aufgabe gestellt, die Modellbahn mit einer Java-EE-Anwendung zu steuern. Zunächst musste ein Projektname gefunden werden. Die Wahl fiel auf V5T11, was Visual Train Control bedeutet – analog zur bekannten Abkürzung I18n für Internationalization. In anderer Reihenfolge erhält man VT 11.5, was einen Triebzug bezeichnet, der sicher die Herzen vieler Modellbahner höher schlagen lässt.

Aufgabenstellung

Die vollständige Automatisierung des Anlagenbetriebs soll durch V5T11 nicht erreicht werden, schließlich möchte der Modellbahner seine Züge meist selbst aktiv steuern. Vielmehr soll V5T11 die Aufgaben lösen, die beim großen Vorbild im Stellwerk angesiedelt sind: Visualisierung des Gleisplans, Anzeige von Gleisbelegungen sowie Reservieren und Freigeben von Fahrstraßen inklusive der dazu nötigen Weichen- und Signalstellungen.

Für unser Code Camp war es darüber hinaus erwünscht, möglichst viele Teile der Plattform Java EE 6 sinnvoll einzusetzen. Dadurch finden sich in V5T11 neben der auf CDI basierenden Geschäftslogik ein Ressourcenadapter zur Anbindung der Mehrzugsteuerung, eine Webanwendung zur Administration und zum Monitoring, EJBs für die Versorgung eines Remote-Stellwerk-Clients sowie REST-Web-Services für die Fahrzeugsteuerung mit einer Android-App. Im Folgenden soll auf einige Details von V5T11 ein wenig Licht geworfen werden.

Systemaufbau

Zur Steuerung der Fahrzeuge wird eine Mehrzugsteuerung eingesetzt. Anders als bei der Spieleisenbahn benötigt man dann nicht mehrere Stromkreise, auf denen die Loks unabhängig voneinander fahren können. Vielmehr werden alle Fahrzeuge mit der gleichen Dauerspannung versorgt, auf die ein Digitalsignal für Geschwindigkeit, Richtung, Licht etc. aufgeprägt ist. Decoder in den Fahrzeugen setzen die so kodierten Befehle für die Fahrzeuge entsprechend um. In ähnlicher Weise werden Weichen und Signale angesteuert sowie umgekehrt die Belegung von Gleisabschnitten durch Stromfühler gemessen und an eine Zentrale gemeldet. Loks, Weichen, Signale und Gleisabschnitte sind somit an einen Kommandobus angeschlossen. Bei meiner Anlage kommt eine Mehrzugsteuerung des Systems Selectrix zum Einsatz, für das Komponenten von diversen Herstellern erhältlich sind (Abb. 1).

Abb. 1: Komponenten der Mehrzugsteuerung

Mit den beschriebenen Hardware- und Softwarekomponenten ergibt sich der in Abbildu...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang