Programmbeispiel: Schattenbahnhof

Als Beispiel für ein Programm der automatischen Steuerung von {\slbf TrainControl\/} sei hier die Steuerung eines dreigleisigen Schattenbahnhofs aufgeführt. Das entsprechende Programm finden Sie auch auf der {\slbf TrainControl\/} -Diskette unter dem Namen ``AutoSchattenbhf.''. Sie können es als Grundlage für eigene Entwicklungen verwenden und ausbauen.

Abbildung: Dreigleisiger Schattenbahnhof mit Einfahrsignal und Kontaktgleisen
\begin{figure}\begin{center}
\framebox (11.7,6){\epsffile{BspSchatten.eps}}
\end{center}
\end{figure}

Ziel des Programms ist es, anhand der Kontaktgleise K1 bis K3 selbständig ein freies Gleis im Schattenbahnhof zu suchen, die Fahrstraße dorthin zu schalten, das entsprechende Signal auf ``Halt'' zu stellen und den Zug einfahren zu lassen. Danach soll das Einfahrsignal wieder auf Rot gestellt werden. Die Aufgabe ist rein gleisbezogen, damit jede Lokomotive in den Schattenbahnhof einfahren kann. Es ist deshalb unbedingt notwendig, die Signale im Schattenbahnhof mit einer Zugbeeinflussung auszustatten.

Das Programm sieht wie folgt aus:

=AutoSchattenbhf.asc

Die Variable Nummer 1 im Programm werden gesetzt, um anderen ggf. laufenden Programmen mitzuteilen, auf welchem Gleis als nächstes ein Zug einfährt. Ist die Variable 1 gleich Null, ist der Bahnhof besetzt. Das Programm kann für Schattenbahnhöfe mit mehr als drei Gleisen ausgebaut werden, indem weitere WennEnde-Wenn-Bedingungen angefügt und die Schaltfunktionen der Weichen und Signale entsprechend korrigiert werden.

;''