Ein Fahrplan fuer die Gartenbahn




Die Frage nach einer Automatisierung des Betriebs stellte sich, nachdem sich die Eigenentwicklung von Hardware und Software zur Steuerung der Modellbahn im Garten auf Basis eines iPAQs und eines SingleChip PCs im Betrieb bewaehrt hatte. Eine Automatisierung mit den vorhandenen Mitteln erschien machbar...

Was generell es zu automatisieren galt, findet sich unter Gartenbahn und deren Steuerung.

Da die Entwicklung der HTML-Benutzeroberflaeche fuer die Gartenbahnsteuerung mittels des iPAQs auf meinen VMS Maschinen stattgefunden hatte, lag nichts naeher, als diese prozessorientierte Umgebung auch fuer eine automatische Steuerung des Betriebs der Gartenbahn zu nutzen - schliesslich lagen dort schon alle Daten (Geraeteadressen, Funktionsdefinitionen, etc.) herum, die fuer eine Automatisierung noetig waren.

Betriebsablaeufe und deren Logik sollten recht simpel mit "DCL", der (fuer prozessorientierte Zwecke gut geeignete) Kommandozeilensprache des Betriebssystems abzubilden sein. Die Umsetzung in fuer den Webserver des SingleChip PC verstaendliche Befehle sollte durch den command line browser "LYNX" erfolgen.

Bei diesem Prozedere handelt es sich um ein "skript"-gesteuertes Absetzen von parametrisierten HTML-Befehlen zum Empfang durch den SingleChip PC, der in Folge die Endgeraete (Weichen, Beleuchtung, Lokomotiven...) der Gartenbahn steuert.

Fuer einen ersten Versuch musste das Glockenklang Soundmodul der Kirche herhalten - es sollte passend zur realen Zeit vom Modellkirchturm schlagen. Der Rechner weiss ja, was die Stunde geschlagen hat - also laesst man ihn dieses Wissen auch der "Uhr" draussen mitteilen. Damit es dort alle 1/4-Stunde bimmelt, wurde eine Prozedur geschrieben, die viertelstuendlich laeuft und einen passenden Befehl fuer das Soundmodul draussen im Garten zusammenbaut und absetzt - sofern die Anlage draussen eingeschaltet ist. Was zunaechst als Test gedacht war, lief so reibungslos, dass die urspruengliche Prozedur zur Steuerung des Gelaeuts noch heute ohne Aenderung in Betrieb ist.


Nach dem erfolgreich verlaufenen Test mit der Kirche war die Beleuchtung der Anlage dran...
Diese sollte mit der Abenddaemmerung ein- und mit der Morgendaemmerung wieder ausgeschaltet werden. In Ermangelung eines Daemmerungsschalters mit serieller Schnittstelle oder Netzwerkanschluss, wurde kurzerhand eine Prozedur zur Berechnung der Sonnenauf- und -untergaenge erstellt.
Das Ergebnis in Form des jeweiligen Zeitpunktes wurde als Basis fuer das Scheduling der Ein- und Ausschaltjobs benutzt. Auch das funktionierte reibungslos.

Auf derselben Basis wurde dann eine Prozedur fuer einen Zugumlauf geschrieben, welche die Funktionen von Beschleunigung ueber das Schalten der Weichen sowie der Signale bis hin zur Bremsung des Zuges an einem definierten Punkt beinhaltete. Das Beispiel zeigt, dass ohne jegliche Rueckmeldung gearbeitet wird und ausschliesslich Zeitglieder den Ablauf bestimmen. Dieses ist nur dadurch moeglich, dass saemtliche Zielpunkte eines Ablaufes in abschaltbaren Abschnitten liegen und der Zug verzoegernd in diesen einfaehrt. Waehlt man die Parametrierung der Zeitglieder falsch, bleibt der Zug vor einem roten Signal stehen oder kommt abrupt (ohne Bremsung) am Zielpunkt zum Stehen - oder er kommt erst gar nicht am Zielpunkt an...

Da sich die Zeitglieder sowohl fuer jede Lok als auch fuer die jeweilige Anhaengelast als unterschiedlich herausstellten, war klar, dass starre Ablaufprozeduren fuer einzelne Streckenabschnitte nicht zum Erfolg fuehren wuerden.
Um diesem Dilemma zu entgehen, wurden saemtlichen Streckenabschnitten normierte Zeitglieder zugewiesen und den einzelnen Triebfahrzeugen entsprechende Korrekturglieder. Anschliessend wurde fuer jeden Strecken- abschnitt eine Ablaufprozedur erstellt, welche die Zeit- und Korrekturglieder als Parameter verwendet.

Nach dieser zeitintensiven Forschungs- und Vorarbeit sind beliebige Zugumlaeufe nun durch eine Verkettung vorhandener Prozeduren auf recht einfache und schnelle Weise moeglich und ein Tagesfahrplan fuer den automatischen Betrieb von bspw. fuenf beliebigen Zuegen ist binnen 10 Minuten zusammengestellt.