WWW.TKURZ.NET - Basteleien und mehr!
Artikel  
29.06.2006

Artikel MBV-Magazin - Elekdra

Der Modellbahnverein Graz, kurz MBV, veröffentlicht zwei mal im Jahr in unregelmäßigen Abständen sein Mitgliedermagazin. Im Heft 01/06 wurde von mir folgender Artikel veröffentlicht:

Artikel

Als ich im Jahr 2002 begann, meinen Bahnhof zu bauen, war für mich von Anfang an klar: "Kippschalter sind mir zu wenig". Damals hatte ich bereits das Studium der Elektronik begonnen und wollte das Wissen auch in meinem Hobby einsetzen. Der Plan war, ein Stellwerk für meinen Bahnhof zu entwickeln, das neben einer vorbildgerechten Bedienung keine Einbußen im Betrieb erfordert.

Schnell war für mich klar, dass Relaisschaltungen diesen Anforderungen nicht gerecht werden. Ist doch die Signalisierung mit all ihren Tücken so komplex, dass man alleine für meinen kleinen Bahnhof Oberwart vermutlich einen halben Schrank an Relais gebraucht hätte. Damals war ich schon ein Freund
von Mikrocontrollern und Software. Frei nach dem Motto "Die Software kann alles" begann ich ziemlich schnell, ein erstes Programm, damals in der Programmiersprache Visual Basic, zu schreiben. Über die Ansteuerung der Weichen usw. machte ich mir erstmals keine Gedanken. Die Software war damals sehr einfach gehalten. Im Prinzip war es nichts anderes, als das klassische Kippschalterpult in den Computer übertragen.

Heute sehe ich es als den ersten Schritt, es war aber ziemlich schnell klar, dass mir das zu wenig ist. Übrigens war der Grund, warum ich diesen Ansatz aufgegeben habe die Ansteuerung der Hardware. Ich hatte damals von einem größeren Elektronik Konzern eine fertige Platine gekauft, die über die serielle Schnittstelle des PCs 8 Relais ansteuern kann. Wenn man aber 10 Weichen hat, hilft einen das nicht viel. Die Stellwerksthematik ist dann einmal ein wenig auf Eis gelegen.

Im 6. Semester meines Studiums mussten wir in Teams im Fach Informatik eine Semesterarbeit erstellen. Das war im Jahr 2004. Das Ganze sah die Erstellung einer komplexeren Software vor. Mein Team bestand aus 3 Leuten und ich konnte meine Kollegen glücklicherweise davon Überzeugen, mit mir gemeinsam eine bessere Stellwerkssoftware zu schreiben. Dieser Ansatz sah zwei Programme vor. Ein Programm, das die eigentliche Logik darstellte und den Bahnhof ansteuerte, das zweite Programm diente der Bedienung und kommunizierte mit der Logik. Der Logikteil war modular aufgebaut und konnte bereits konfiguriert werden, um verschiedene Bahnhöfe steuern zu können. Geschrieben waren die Programme bereits in einer Programmiersprache, die die heutigen Standards erfüllt: Java. Am Ende des Semesters war das Projekt so weit gediehen, dass ein Steuern meines Bahnhofes möglich war. Es fehlten eigentlich nur mehr kleine Platinen, die die Steuersignale, die aus dem PC herauskamen, auf die Antriebe umsetzten. Das wäre eigentlich kein großer Aufwand gewesen.

Ein Semester später hatte ich die Möglichkeit, Einblicke in ein reales Stellwerk zu gewinnen. Dabei durfte ich auch im Labor im Testbetrieb ein Stellwerk, das 3 Wochen später an die SBB ausgeliefert wurde, bedienen. Dadurch gewann ich Erkenntnisse, was die einzelnen Elemente eines Bahnhofes alles können müssen. Da stellte sich dann schnell heraus, dass z.B. eine Weiche viel mehr können muss, als links oder rechts zu schalten. Plötzlich wurde mir klar, dass die aktuelle Version meines Stellwerks den Anforderungen bei weitem nicht genügte. In gewohnter Manier machte ich dann folgendes: "Weg damit, neu machen".

Der August 2004 war dann die Geburtsstunde des Stellwerks, wie es heute meinen Bahnhof steuert. Bis es das konnte, war es aber noch ein weiter Weg. Voller Tatendrang, da ich ja jetzt "endlich" wusste, was so ein Stellwerk wirklich können soll, machte ich mich also an die Arbeit, das Stellwerk neu zu schreiben. Allerdings übernahm ich aus der vorangegangenen Version die grobe Struktur und die Programmiersprache Java: Es sollte ein Stellwerksteil sein, der selbständig agiert. Die Bedienung sollte über ein separates Programm erfolgen. Das Ganze sollte modular sein und auch leicht für andere Bahnhöfe einsetzbar sein. Zusätzlich sollte es auch möglich sein, ein Drucktastenpult mit dem Stellwerk zu verbinden und dies als Eingabemöglichkeit zu verwenden. In diesem Fall würde das Stellwerk die Regeln überprüfen. Auch einen Namen hatte ich bereits damals. In Anlehnung an den bekannten Namen des "großen" Stellwerks der Firma Alcatel, "Elektra", nannte ich mein Stellwerk "Elekdra MB", wobei MB für Modellbahn steht.

Das Fremo-Modultreffen in Hammelburg im Herbst 2004 war dann ein zusätzlicher Ansporn für mich. Damals lernte ich Stefan Bormann kennen, der gemeinsam mit Martin Pischky den Fred entwickelt hat. Stefan überzeugte mich von zwei Dingen. Erstens brachte er mich dazu, die Ansteuerung der Hardware über das bewährte LocoNet zu realisieren. Dies brachte erhebliche Vorteile. Zum einen kann man auf fertige Hardware wie Weichendecoder usw. zurückgreifen, zum anderen kann man dann die Weichen auch ohne Elekdra mit Zentralen wie der Intellibox von Uhlenbrock schalten. Außerdem ist die Schnittstelle am PC durch "LocoBuffer" (kleiner Baustein, mit dem man den PC an das Loconet anschließen kann) und "LbServer" (Programm, dass die Befehle über den LocoBuffer ausgibt) sehr einfach. Der zweite Anstoß war die Veröffentlichung des Quellcodes an Sourceforge und dadurch die Vergrößerung des Entwicklerkreises durch die Einbringung der Elekdra in das Projekt "Fremo-Stellwerk". Dadurch hatte ich über die Zeit viele nützliche Ideen und Anregungen aus der Gruppe erhalten.

Heute ist die Entwicklung von "Elekdra" zwar bei weitem nicht abgeschlossen, der Status ist aber so weit gediehen, dass ein Steuern von Bahnhöfen bereits möglich ist. Zur Bedienung der Elekdra wurde von mir parallel ein Programm entwickelt, das dem Aussehen der neuen einheitlichen Benutzeroberfläche der ÖBB nachempfunden sein soll. Das Programm "ELUI" (Elekdra User Interface) kommuniziert mit Elekdra und ermöglicht es dem Fahrdienstleiter, den Bahnhof mit allen Möglichkeiten, die Elekdra derzeit bietet, zu bedienen.

Nachdem bis jetzt auf die Geschichte von "Elekdra" eingegangen wurde, möchte ich mich jetzt auf die Möglichkeiten, die das Packet Elekdra - ELUI bieten beziehen. Wie bereits erwähnt ist Elekdra, wie auch ELUI, so offen gestaltet, dass es für sämtliche Bahnhöfe einsetzbar ist. Grundsätzlich kann jeder ohne große Kenntnisse über die Elektronik seinen Bahnhof damit ausrüsten. Alles was er dafür braucht ist ein Computer (zB. ein alter Laptop), ein LocoBuffer und z.B. kommerzielle Weichen- oder Schaltdecoder auf LocoNet Basis. Als Beispiel möchte ich hier den H0- Bahnhof Märwil von Stefan Christen (CH) anführen. Dieser Bahnhof ist mit Weichen- und Schaltdecodern der Firma Uhlenbrock ausgerüstet und war der erste Bahnhof der Elekdra im Probebetrieb eingesetzt hat.

Die Konfiguration der Software auf einen neuen Bahnhof erfolgt über ein Set aus Text-Dateien, die im Klartext (XML-Format) verfasst werden. Jeder, der sich kurz damit beschäftigt, kann diese Files selbst mit einem normalen Text-Editor erstellen. Ich muss aber zugeben, dass durch die Komplexität der Betrieblichen Abläufe die Abhängigkeiten in den Dateien durchaus anspruchsvoll werden können. Je nach Größe des Bahnhofs werden die Dateien auch recht umfangreich.

Nun. Was kann Elekdra nun eigentlich, wenn es einmal ordnungsgemäß konfiguriert wurde? Einen Zug über einen Bahnhof fahren zu lassen ist schnell möglich. Weichen können einfach und direkt sofort gestellt werden. Damit ist der Betrieb einmal grundsätzlich ermöglicht. Will man den Bahnhof aber betrieblich korrekt betreiben, muss man schon ein wenig mehr machen. Elekdra stellt Fahrstraßen zur Verfügung. Diese sind aber nicht nur möglich, sondern für einen korrekten Betrieb notwendig. So gilt z.B. die Forderung, dass ein Signal nur in einer festgelegten Fahrstraße einen Fahrbegriff zeigen darf. Aber ich kann alle beruhigen. Jemand, der mit einem Computer umgehen und eine Maus bedienen kann, wird keine Probleme haben. Elekdra überwacht zwar betriebliche Bedingungen, erleichtert allerdings auf der anderen Seite die Bedienung. Mann muss sich nicht mehr über die Stellungen der Weichen Gedanken machen oder welches Signal frei gestellt werden darf. Alles was man machen muss ist á la "Drag&Drop" vom Start zum Ziel zu ziehen. Den Rest erledigt Elekdra.

Um dem Fahrdienstleiter das Leben auch in einer anderen Hinsicht zu erleichtern, bietet Elekdra mit ELUI die Möglichkeit, Gleise als besetzt oder Frei darzustellen. Da derzeit aber noch keine Funktionen zur realen Überwachung realisiert sind, gilt dies als reine "Merkerfunktion" und wird vom Fdl direkt gesetzt. Es können in ein besetztes Gleis auch Zugnummern eingewählt werden.

Ich gebe zu, dass es für jemanden, der so ein Stellwerk noch nie bedient hat, eine Umstellung ist, und eventuell am Anfang anspruchsvoll ist. Ich biete aber jedem, der Interesse hat, als Fahrdienstleiter eine Elekdra zu bedienen, meine Hilfe an. Natürlich helfe ich auch gerne allen, die gerne den eigenen Bahnhof mit Elekdra ausrüsten wollen. Ich bin für alle Fragen offen.

Ich bin schon neugierig, wie sich Elekdra beim ersten Einsatz auf einem Treffen schlagen wird. Spezielle Neugier weckt bei mir die Frage, wie das System und die Bedienung bei den Benutzern ankommen. In diesem Sinne wünsche ich einen spaßvollen und frustlosen Umgang mit Elekdra.