Table of Contents

Router/Prüfer

Inhalt Rocrail-Server


:!: Wichtiger Hinweis:
Ab Rev. 2.1.2736 ist die Registerkarte "Router/Prüfer" der Rocrail-Eigenschaften entfernt!

Die Optionen werden in den Aufruf-Dialogen von Router und Prüfer für die laufende Sitzung eingestellt.
Siehe: Router/Prüfer-Optionen


Eigenschaften


Hinweis:
Der Router wurde entwickelt, um Einsteigern eine Hilfestellung für einen einfachen und schnellen Einstieg an die Hand zu geben, indem viele Eintragungen automatisch vorgenommen werden.
Bei komplexen oder ungewöhnlichen Szenarien kann der Router jedoch an seine Grenzen gelangen oder es werden nicht alle oder unerwünschte Fahrstraßen angelegt.
In solchen Fällen müssen die Eintragungen von Hand korrigiert bzw. ergänzt werden, wobei durch den Router korrekt angelegte Fahrstraßen als Vorbild dienen können.
Siehe auch Abschnitt Einschränkungen.


Bedienung

Voraussetzungen

  1. Der Gleisplan muss vor der Analyse gesund sein!
  2. Alle Gleisplan-Symbole, die eine Fahrstraße bilden sollen, müssen ohne Zwischenraum aneinander gefügt sein. Ausnahme: Der Verbinder.
  3. Der Router basiert auf den Symbolgrößen im voreingestellten SpDrS60-Thema. (Siehe auch Themen-Eigenschaften)


Aktivierung

Die Analyse wird manuell ausgelöst. Dies geschieht

oder


Bereinigung

Wenn der Router nach Veränderungen am Gleisplan erneut aufgerufen wird, werden alle Fahrstraßen mit gesetzter Option Automatisch erzeugt gelöscht.
Damit wird sichergestellt, dass keine ungültig gewordenen Fahrstraßen im Plan enthalten sind, bevor Fahrstraßen neu bzw. wieder neu erzeugt werden.
Dazu musss natürlich bei allen Fahrstraßen für die Änderungen erwartet werden oder die bearbeitet werden sollen, die Option "Automatisch erzeugt" aktiviert sein.

Von Hand hinzugefügte Fahrstraßen ohne Option "Automatisch erzeugt" verbleiben unverändert in der Liste.

Konfiguration der Rückmelder und Signale

Die Grafik zeigt die Positionierung von Rückmeldern (fb) sowie Vor- (sgv) u. Haupt- (sgh) Signalen für einen Block (bk).
Die Rückmelder und Signale werden damit dem Block und den Fahrstraßen beider Blockseiten korrekt zugeordnet.
Auf beiden Blockseiten müssen die Rückmelder und Signale zwischen dem Block und der nächsten Weiche (sw) positioniert sein.
Die Reihenfolge der Objekte zwischen Block und Weiche ist beliebig.
:!: Die Signale müssen - wie dargestellt - mit dem "Symbol in Fahrtrichtung rechts vom Gleis" ausgerichtet sein. (Ausnahme z.B.: SBB-L-Signale)
:!: Enthält die Fahrstraße zwischen zwei Blöcken keine Weiche, kann es sein, dass der Router die Signale dem nächsten Block zuordnet.

Rückmelder

Die Rückmelder werden den allgemeinen Fahrstraßen all enter + bzw. all enter - zugeordnet.
Die all enter +-Fahrstraße wird für alle Fahrstraßen verwendet, über die in die + Seite des Blocks eingefahren wird (angezeigt durch das kleine + im Blocksymbol).
Die all enter - -Fahrstraße wird dementsprechend für alle Fahrstraßen verwendet, über die in die - Seite des Blocks eingefahren wird.
Die Zuordnung ist auf der Registerkarte Block: Fahrstraßen ersichtlich und kann bei Bedarf manuell geändert werden.
Hinweis:
Die Zuordnung durch den Router funktioniert nur, wenn mit "enter"- und "in"-Rückmeldern gearbeitet wird.
Außerdem muss je ein Rückmelder auf jeder Seite zwischen Block und nächster Weiche positioniert sein.
Für Blöcke mit ein, drei oder vier-Meldern ergeben sich keine nutzbaren Einträge.
Bei mehreren Rückmeldern auf einer Blockseite wird nur der dem Block nächstgelegene Rückmelder berücksichtigt.

Signale

Das zu einem Hauptsignal einer Blockseite gehörende Vorsignal muss an der anderen Seite des Blocks positioniert sein.
Die Zuordnung ist auf der Registerkarte Block: Signale ersichtlich und kann bei Bedarf manuell geändert werden.

Richtungsgleise

Richtungsgleise (s. auch Gleise: Typ) können dazu verwendet werden, die vom Router zu erstellenden Fahrstraßen auf eine bestimmte Richtung zu beschränken. Dazu wird das Richtungsgleis zwischen zwei oder mehreren Blöcken angeordnet:

Beispiel Beschreibung Durch den Router erstellte Fahrstraßen
Zwei durch Gleise verbundene Blöcke Von A nach B und von B nach A
Zwei Blöcke mit einem Richtungsgleis dazwischen, Pfeil nach rechts zeigend Nur von A nach B
Zwei Blöcke mit einem Richtungsgleis dazwischen, Pfeil nach links zeigend Nur von B nach A
Abzweigung ohne Richtungsgleise A nach B, A nach C, B nach A, C nach A
Richtungsgleis in einer Abzweigung A nach B, A nach C und B nach A
Richtungsgleis vor einer Abzweigung A nach B und A nach C


Tipp: Wenn in einem Gleisabschnitt in beiden Richtungen keine Fahrstraße erzeugt werden soll, kann das durch zwei entgegengesetzte Richtungsgleis-Symbole erreicht werden. Alternativ kann für die Zeit der Router-Aktivität ein Gleis-Symbol aus dem Abschnitt entfernt werden.

Siehe auch: Router Richtungs-Ausnahmen

Verbinder

Änderung ab Rev. 2.0.1564+
:!: Es müssen immer eindeutig mit 0…655351) nummerierte Verbinder-Paare gebildet werden.
Die zuvor mögliche Verwendung der Nummern 0…9 für mehrere Verbinder-Paare führt zum Abbruch des Routerlaufs.
Die orthogonale Positionierung und zueinander zeigende Schnittflächen beider Symbole werden nicht mehr berücksichtigt.
Dies gilt auch für das geteilte Brückenelement (tracknr 2).
Damit der Gleisplan für den Router "gesund" ist
und bisherige Paarungen auch zukünftig gültig bleiben, müssen die "alten" Verbinder-Paare 0…9
auf eine im gesamten Gleisplan über alle Ebenen eindeutige Nummerierung geändert werden.
Änderung ab Rev. 2.1.1593+
:!: Die Brückenelemente (tracknr 2 + 3) werden vom Router nicht mehr unterstützt.
Hinweis:
Die SVG-Dateien dieser Symbole wurden ins User-SVG-Thema verschoben. Sollen diese Symbole weiterhin verwendet werden, muss das User-Thema zusätzlich ausgewählt werden. Das Einrichten und Ändern von Fahrstraßen (inkl. Ausleuchtungen), die über diese Gleiselemente verlaufen, muss manuell erfolgen.

Wozu Verbinder ?

Über Verbinder können voneinander entfernte Objekte miteinander verbunden werden: Der Router sucht nach einem Gegenstück (zweiter Verbinder) und ignoriert sowohl leere Felder als auch andere, zwischen diesen beiden liegende Objekte.
Mit Verbindern ist es einfach, Gleisabschnitte verschiedener Ebenen eines Gleisplans miteinander zu verbinden.

Beispiele für Verbinder
Vermeiden von Gleiselementen ohne Funktion
Schematische Darstellung
von Brücken bzw. Tunnel
Zwei "Gleisverbinder"
Typ = "connector"


Verbinder bei Modulanlagen vermeiden

Bei Modulplänen können an den Modul-Übergängen Verbinder verwendet werden, wenn sie paarweise mit derselben Nummer definiert sind.

Nachteile:
Verbinder am Modul-Übergang ohne Partner mit derselben Nummer meldet der Router als Fehler.
Wird die Modul-Anlage in einer anderen Zusammenstellung aufgebaut, muss die Nummerierung betroffener Verbinder-Paare angepasst werden.
Werden dabei in der Zusammenstellung zwei Verbinder mit derselben Nummer irgendwo - auch in beliebig weit voneinader entfernten Modulen - vergessen, können "seltsame" Fahrstraßen entstehen.

Empfehlung:
Um die genannten Nachteile - u.a. Fehler, hohe Aufwände bei Änderungen usw. - zu vermeiden, wird empfohlen, auf Verbinder an den Modul-Übergängen zu verzichten.
Anstelle der Verbinder sollten "gerade Gleiselemente" so positioniert werden, dass sie bei der Zusammenstellung der Module unterbrechungsfrei zueinander passen.
Dadurch ergeben sich aus Sicht des Router durchgehende Gleisverbindungen, aus denen problemlos Fahrstraßen erzeugt werden können.

Mit dieser Methode entfallen auf sehr einfache Weise alle Nachteile mit Verbindern an Modul-Übergängen.

An Modul-Übergängen gerade Gleiselemente verwenden :!:

Siehe auch: Meldungen im Server-Trace

Einschränkungen

Weichentyp "Zubehör"
Zubehör# Beschreibung
1 doppelgleisiger Bahnübergang, veraltet
10 eingleisiger Bahnübergang, unbeschrankt
11 eingleisiger Bahnübergang, einseitig beschrankt
12 eingleisiger Bahnübergang, beidseitig beschrankt
40 doppelgleisige Klappbrücke
41 eingleisige Klappbrücke

Andere Zubehör- u. Gleis- Nummern werden vom Router nicht unterstützt. Der Router kennt die unterschiedlichen Raster-Größen und Ausrichtungen der Symbole nicht. Deshalb müssen diese Objekte vor einem Routerlauf temporär (evtl. auch später wieder) durch normale Gleis-Objekte ersetzt werden.


Beispiel


demo-plan.zip

Automatisch erzeugte Fahrstraßen

<stlist>
  <st id="[01+]-[02+]" generated="true" bka="01" bkb="02" bkaside="true" bkbside="true" show="false" x="0" y="0">
    <swcmd id="sw1" cmd="straight"/>
  </st>
  <st id="[01+]-[03+]" generated="true" bka="01" bkb="03" bkaside="true" bkbside="true" show="false" x="0" y="0">
    <swcmd id="sw1" cmd="turnout"/>
  </st>
  <st id="[04+]-[01-]" generated="true" bka="04" bkb="01" bkaside="true" bkbside="false" show="false" x="0" y="0"/>
  <st id="[02-]-[04-]" generated="true" bka="02" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0">
    <swcmd id="sw2" cmd="straight"/>
  </st>
  <st id="[03-]-[04-]" generated="true" bka="03" bkb="04" bkaside="false" bkbside="false" show="false" x="0" y="0">
    <swcmd id="sw2" cmd="turnout"/>
  </st>
</stlist>


Tipps und Tricks

Fahrstraßen beibehalten

Frage: Warum überschreibt der Router meine Änderungen an den Fahrstraßen?
Antwort: Der Router löscht zunächst alle Fahrstraßen mit gesetzter Option "Automatisch erzeugt" und erzeugt dann die Fahrstraßen neu.

Frage: Wie kann man verhindern, daß eine Fahrstraße neu erzeugt wird?
Antwort: Indem die Option "Automatisch erzeugt" dieser Fahrstraße deaktiviert wird.

Alternative Fahrstraßen

Verhinderung der alternativen Fahrstraßen von A- nach B+ mit Gleiswechsel



Meldungen im Server-Trace

Zur Anzeige der Router-Ergebisse im Server-Trace und der Meldungen im Popup-Dialog muss Traces: Berechnungen aktiviert sein.

Beispiele

Hinweis: Die jeweils letzte Aktion steht oben im Log.

Server-Trace bei "Router" mit typischem Fehler beim Entwurf des Gleisplans:

17:23:09 route generator (re)created routes (0 -> 8)
17:23:08 Router: max. recursion depth (101 > 100) reached
  1. Bei der Suche von Verbindungen zwischen 2 Blöcken wurden mehr als 100 Gleisplanelemente gefunden. (Zwei Meldungen = Suche in beiden Richtungen)
    Siehe diesen Forumbeitrag
  2. Der Router hat 8 Fahrstraßen erzeugt

Server-Trace bei "Router zurücksetzen" und anschließendem "Routen":

23:45:36 route generator (re)created routes (0 -> 4)
23:45:35 starting router...
23:45:25 route generator cleanup removed 4 routes (4 -> 0)
23:45:24 starting router cleanup...
  1. Es wurden 4 Fahrstraßen gelöscht
  2. Es wurden 4 Fahrstraßen neu erzeugt

Server-Trace bei "Router -> Routing" mit typischen Fehlern bei Verbindern:

14:08:06 Router skipped because plan has ERRORs
14:08:06 ERROR: connector [tk5] at (6-5-1) number[3] : Too many counterparts (total 3)
14:08:06 WARNING: connector [tk4] at (14-3-0) with number[2] : no counterpart found.
14:08:06 ERROR: connector [tk3] at (14-1-0) number[3] : Too many counterparts (total 3)
14:08:06 ERROR: connector [tk2] at (6-3-0) number[3] : Too many counterparts (total 3)
  1. Es gibt mehr als die zwei zu einem Paar gehörenden Verbinder mit Nummer 3 an den angegebenen Positionen. (Beispiel: 6-3-0 = x-y-z)
  2. Dem Verbinder mit Nummer 2 fehlt der Partner.
  3. Der Routerlauf wurde wegen der gelisteten Fehler im Gleisplan abgebrochen.


Meldungen im Popup-Dialog

Die wichtigsten Meldungen des Routers werden in einem Popup-Dialog angezeigt.
Traces: Berechnungen muss aktiviert sein.

Fahrstraßen erzeugt (ohne Fehler):
Fehlermeldung mit Trace-Zeilen:


Wichtige Hinweise zu Neustarts von Rocrail und Rocview

Während des Routerlaufs werden die Daten im Rocrail-Server aktuell gehalten. Ein Neustart des Rocrail-Servers ist deshalb nicht erforderlich.
Die Daten werden auch zu den Objekten in Rocview-Clients übertragen, sind aber in Einzelfällen nicht in allen Objekt-Dialogen aktualisiert.
Um die Daten auch hier zu aktualisieren, sollte grundsätzlich nach jedem Routerlauf, der Rocview-Client neu gestart werden.

:!: Vor einem Neustart von Rocview dürfen keinesfalls die Schaltflächen [ < ], [ > ], [ Übernehmem ] und [ OK ] in den Dialogen bedient werden.
Anderenfalls werden die aktuellen Daten im Rocrail-Server durch ggf. nicht mehr aktuelle Daten der Dialog-Felder überschrieben.
1)
=16Bit-Wert
2)
Siehe Wichtige Änderung oben auf dieser Seite.