qrailway 0.9

Kapitel 4.a. Abbildung des Gleisnetzes

Der Gleisplan setzt sich aus sogenannten Sektionen zusammen, die durch sogenannte Konnektoren verknüpft werden. In der folgenden Darstellung sind die Konnektoren mit 1 bis 9 durchnummeriert, die Sektionen mit 31 bis 38.

gleisplan-schema.png

Jede der Sektionen verbindet zwei Konnektoren. Diese Konnektoren (bzw. die numerischen Identifier) werden für jede Sektion in den Feldern conleft und conright abgelegt. Welcher der beiden Konnektoren conleft und welcher conright ist, ergibt sich durch den Stromanschluss. Grundsätzlich gilt: Wenn die Reglerrichtung 0 angelegt ist (z.B. nachprüfbar über die Reglerkarte), dann fährt der Zug von Konnektor conleft in Richtung Konnektor conright. Sektionen werden in der Tabelle sections angelegt.

Typen von Konnektoren

Es gibt unterschiedliche Typen von Konnektoren:

Ein Konnektor ist mit einer (Endpunkte), zwei (Hilfskonnektoren, Stromtrenner und Reedkontakte), drei (Weiche) oder vier (Doppelkreuzungsweichen, Dreiwege-Weiche) verbunden. Die Nummern der Identifier dieser Sektion sind für jeden Konnektor in den Feldern secL, secR, secM und secX abgelegt. Konnektoren werden in der Tabelle connectors angelegt.

Die Nummernkreise von Konnektoren (sogenannte conid) und Sektionen (secid) sind voneinander unabhängig, so dass man aufpassen muss, ob es sich gerade um einen Konnektor/eine Sektion handelt. Da es zwecks eines einfacheren Überblicks hilfreich ist, die Konnektoren-IDs gleichartiger Konnektoren beisammen zu halten, wurden für das Projekt Weichen mit der Konnektor-ID 400+x und Reedkontakte mit der Konnektor-ID 100+x versehen.

Der Konnektor 1 (rot dargestellt) ist ein Endpunkt (z.B. ein Prellbock etc.). Von ihm aus geht nur ein Gleis (Sektion 31) zu einem anderen Konnektor (Konnektor 2). Die Sektion (hier Nr. 31) wird dazu im Feld secl eingetragen. Endpunkte haben die interne Kennung (contype "E").

Konnektor 2 ist ein Reedkontakt. Reedkontakte spielen eine essentielle Rolle für das Programm. Grundsätzlich befindet sich jede Lok auf einem Reedkontakt, da nur dort Beobachtungen (Überfahrten des Reedkontakts) möglich sind. Der Zug kann entweder in Reglerrichtung stehen (d.h. wenn der Regler in Richtung 0 Strom erhält, fährt die Lok vorwärts; in diesem Fall ist die Zugrichtung - auch trainrichtung im Programm genannt - 0) oder umgekehrt (trainrichtung 1). Reedkontakte werden über qrailway scharf geschaltet, warten damit auf eine Überfahrt und liefern den Status bei regelmäßigen Statusabfragen an qrailway zurück. Ein Reedkontakt ist mit zwei Gleisen verbunden, die in secL und secR abgelegt sind. In welcher Reihenfolge die beiden Gleise (hier 31 und 32) diesen beiden Feldern zugeordnet werden ist dabei unerheblich. Reedkontakte haben die interne Kennung (contype "R"). Die Verbindung von Reedkontakten im Gleisplan mit der Hardware erfolgt über die Tabelle hardware.

Konnektor 3 ist ein Hilfskonnektor. Hilfskonnektoren helfen lediglich der Darstellung des Gleisplans und haben keine weitere Funktion. Hilfskonnektoren haben die interne Kennung (contype "H").

Konnektor 4 ist ein Stromtrenner. Innerhalb eines Stromkreises muss ein- und dieselbe Reglerrichtung zur selben Fahrtrichtung führen muss (bei Strom in Reglerrichtung 0 fährt eine Lok von 1 zu 2, von 2 zu 3 und von 3 zu 4), d.h. conleft/conright bei Sektion 31 ist 1/2, bei Sektion 32 ist 2/3 und bei Sektion 33 ist 3/4. Sobald ein neuer Regler beginnt (hier im Beispiel für die Sektionen 34 bis 38), kann die Reglerrichtung zu einer anderen Fahrtrichtung führen. Das heißt, dass conleft/conright für Sektion 34 auch 5/4, für Sektion 35 auch 8/5 usw. seien dürfte. Hauptsache ist, innerhalb eines Reglers ist die Richtung einheitlich. Der "Stromanschluss" von Reglern im Gleisplan erfolgt über die Tabelle hardwarepower. Stromtrenner haben die interne Kennung (contype "C").

Konnektor 5 ist eine Weiche. Hier wird die mittlere Sektion (hier Sektion 34) im Feld secM abgelegt. Die Abzweige nach links in secL (hier Sektion 35) und nach rechts in secR (hier Sektion 36). Weichen haben die interne Kennung (contype "W"). Die Verbindung von Weichen im Gleisplan mit der Hardware erfolgt über die Tabelle hardware. Innerhalb des Programms sind alle Weichen so ausgeführt, dass Strom nur bei entsprechender Weichenstellung durchgeleitet wird. Sollte es sich um eine Stop-Weiche handeln, ist im Gleisplan ein Stromkreistrenner zu nutzen. Leitet die Weiche unerheblich von der Weichenstellung ist ein weiterer Stromanschluss in hardwarepower aufzunehmen.

Neben Weichen gibt es auch Doppelkreuzungsweichen (contype "D") und Dreiwegeweichen (contype "3"), welche die zusätzliche Sektion in secX ablegen. Ist eine Doppelkreuzungsweiche auf links/across geschaltet, so fährt der Zug von secL nach secM, bzw. bei rechts/bend von secL nach secX (die andere Sektionen sind entsprechend verbunden). Bei einer Dreiwegeweiche gibt es eine weitere Richtung (Mitte), die von secM nach secX führt.

Beispiel

Zur Veranschaulichung zeigt das folgende Bild den Hauptbahnhofsbereich des Projekts.

gleisplan-bahnhof.png

Damit die Weichen besser erkennbar sind, wurde das Bild gemacht, als die Anlage ausgeschaltet war, d.h. alle Weichen werden mit Fehler dargestellt (rot). Stromkreistrenner sind als kleine schwarze Punkte dargestellt, Reedkontakte als große graue Punkte und Endpunkte als große schwarze Punkte. Sektionen, die Strom haben sind dunkelgrau/hellgrau/dunkelgrau dargestellt, Sektionen ohne Strom nur dunkelgrau (Abstellgleise). Die Abstellgleise erhalten erst Strom bei entsprechender Weichenstellung.

Einstellungen von Konnektoren

Jeder Konnektor verfügt über Einstellungen und Status, die in der Datenbank, Tabelle connectors gespeichert sind. Die Einstellungen umfassen die Felder

Zusätzlich werden folgende Status gespeichert:

Einstellungen von Sektionen

Jede Sektion verfügt über Einstellungen, die in der Datenbank, Tabelle sections gespeichert sind. Die Einstellungen umfassen die Felder

Empfehlungen für die Gestaltung von Gleisplänen

Es ist empfehlenswert, Blockstrecken zumindest am Anfang, am Ende und in der Mitte mit einem Reedkontakt zu versehen. Zwischen diesem Reedkontakt und dem nächsten Reedkontakt bzw. dem nächsten Stromtrenner sollte jeweils ein Hilfskonnektor gesetzt werden. Die Strecken sollten sorgfältig gemessen werden, damit Züge nicht unnötig in Weichen stehend angezeigt werden und damit das Schalten dieser Weichen verhindert wird.

Um Loks besser auf der Anlage wiederzufinden, hilft es, die Reedkontakte mit Beschriftungen (context) zu versehen.

Innerhalb des Programms wird angenommen, dass der Neodym-Magnet eines jeden Zugs in Fahrtrichtung vorne ist. Sobald ein Reedkontakt überfahren wird, wird somit ein kurzes Stück vor dem Reedkontakt und die Zuglänge hinter (in Fahrtrichtung) dem überfahrenen Reedkontakt durch den Zug belegt.

Achtung: Dadurch, dass für jede Sektion die angrenzenden Konnektoren und für jeden Konnektor die angeschlossenen Sektionen gespeichert werden, ergibt sich eine redundante Datenhaltung, die eine große Sorgfalt erfordert, damit sich ein konsistentes, fehlerfreies Gleisbild ergibt.

Für die Erstellung eines solchen Gleisbilds empfiehlt es sich, mit einem sehr einfachen Gleisplan zu beginnen (z.B. einem Kreis) und diesen mit Hilfe des Edit-Modus zu erweitern. Für das Einfügen von Weichen sowie das Setzen von Reedkontakten und Stromtrennern etc. ist ein direkter Zugriff auf die Datenbank notwendig. Der Edit-Modus hilft bei der Positionierung von Konnektoren (also dem Layout) sowie dem Teilen von Strecken. qrailway startet im Edit-Modus durch einen Aufruf von qrailway --edit

Im Edit-Modus können Konnektoren mit der linken Maustaste verschoben werden. Durch Rechts-Klick auf eine Sektion kann die Stromrichtung der Sektion, Länge und Beschreibung geändert werden. Durch Rechts-Klick auf einen Konnektor kann dieser enfernt werden. Durch Auswählen des Buttons "Einfuegen/Loeschen von Konnektoren" wird die Rechts-Klick-Funktion auf eine Sektion geändert: statt der Änderung von Einstellungen kann nun ein neuer Konnektor in diese Sektion eingefügt werden.