Rocrail - Blöcke

Blöcke


Blöcke sind die wichtigsten Elemente in Rocrail, denn der Zugverkehr findet zwischen nur ihnen statt.


Um das noch einmal klarzustellen: Ein Zug kann nur von Block zu Block fahren, alles dazwischen ist für Rocrail eigentlich egal.


Genau genommen kann ein Zug außerhalb eines Blockes gar nicht existieren. Die Schienen und Weichen die man zeichnet sind meines Wissens nur dafür da dem Analyser klarzumachen wie die Blöcke verbunden sind. Wenn man die Fahrstraßen per Hand einrichtet kann man die Züge beliebig von Block zu Block springen lassen.


Blöcke sind also Bereiche in denen ein Zug anhalten kann, und um den Zug anhalten zu lassen muss Rocrail wissen dass der Zug in den Block einfährt. Dazu dienen die Rückmelder. Das kann alles Mögliche sein, Magnetschalter, Lichtschranken, Stromfühler und vieles Andere. Wichtig ist nur dass dem Computer die Anwesenheit des Zuges mitgeteilt werden kann.


Grundsätzlich benötigt jeder Block zwei Melder: "enter", der besagt dass ein Zug gerade in den Block einfährt und "in" welcher signalisiert dass der Zug nun vollständig im Block steht und anhalten kann. Alle weiteren Rückmelder verfeinern dieses Konzept.


Reihenfolge der Rückmelder


Die Rückmelder müssen in einer bestimmten Reihenfolge ausgelöst werden. Wenn das nicht passiert kommt Rocrail schnell durcheinander. Zum Beispiel habe ich aus Versehen einen in-Rückmelder auf einem Gleis ausgelöst für das ein Zug erwartet wurde. Daraufhin ignorierte Rocrail das enter-Ereignis und der Zug fuhr eine weitere Runde über ungesicherte Strecken.


Zug fährt nach rechts ->
enter shortin pre2in / pre in exit
Der Zug fährt in den Block ein und nimmt die Geschwindigkeit an die im Block vorgegeben ist. Der Rückmelder "in" (d.h. \'Zug komplett im Block\') für kurze ("short") Züge. Am "pre2in"-Rückmelder kann man den Zug noch einmal abbremsen lassen damit er beim endgültigen "in" exakt zum Halten kommt. Der "in"-Rückmelder teilt Rocrail mit dass der Zug nun komplett im Zielblock angekommen ist. hält den Zug sofort an

Will man einen Zug auch von der anderen Seite in das Gleis einfahren lassen kann man die gleichen Rückmelder verwenden, wenn sie gut genug positioniert sind. Wenn man die shortin und pre2in-Melder benutzt wird man vermutlich nicht darum herumkommen diese doppelt anzulegen. Die Zuordnung erfolgt im "Fahrstrassen"-Reiter des Blockes.


Noch eine ausführlichere Erklärung der einzelnen Rückmelder. Das Auslösen eines Rückmelders nenne ich "Ereignis".



    • enter
      Dieses und das in-Ereignis sind die beiden wichtigsten Ereignisse, darum habe ich sie an den Anfang gestellt. Das enter-Ereignis sagt Rocrail dass ein Zug in einen Block einfährt. Die Markierung im Block färbt sich lila, der Zug wird abgebremst wenn er in diesem Block halten soll. Die genaue Geschwindigkeit kann pro Block geregelt werden, es ist auch möglich unterschiedliche Geschwindigkeiten für durchfahrtende und haltende Züge zu vergeben.

    • in
      Mit dem in-Ereignis wird Rocrail mitgeteilt dass der Zug vollständig im Block eingefahren ist. Wenn Rocrail dieses Ereignis erhält stoppt es den Zug (wenn dieser in diesem Block halten soll) und gibt den vorigen Block sowie die Strecke zwischen den beiden frei.

    • shortin
      Auch kurze Züge würden auf langen Bahnsteigen ganz am Ende der Strecke halten, eben dort wo der Rückmelder für in sitzt. Das sieht natürlich schlecht aus. Darum kann man einen eigenen Rückmelder setzen der quasi markiert "kurze Züge halten bitte hier". Ein Zug wird als "kurz" markiert indem man die oben erwähnte Eigenschaft "Verwende ShortIn" für diesen Zug ankreuzt. Man könnte damit evtl. auch Wendezüge besser anhalten deren Steuerwagen keine Rückmeldung auslöst, das ist aber recht ungenau. Abgesehen davon hängt das natürlich von der Fahrtrichtung ab.

    • pre2in
      Es kann (besonders bei langen Blöcken) sinnvoll sein den Zug erst einmal auf eine mittlere Geschwindigkeit zu reduzieren und erst kurz vor dem "in"-Rückmelder ganz langsam fahren zu lassen, denn sonst kann es sehr lange dauern bis der Zug anhält und die folgenden Blöcke freigegeben werden. Dazu dient der "pre2in"-Rückmelder.
      Das Ereignis pre2in wird einfacher wenn man den Namen genauer anschaut. Er soll wohl verdeutlichen dass er etwas vor dem in und damit dem Stop des Zuges kommt. Dieses Ereignis kann man nutzen um den Zug genauer anhalten zu lassen, denn wenn Rocrail den Zug in diesem Block anhält wird dessen Geschwindigkeit hier auf die Minimalgeschwindigkeit reduziert.
      pre2in kann auch als in bzw. Haltepunkt verwendet werden wenn man der Lokomotive das entsprechend mitteilt. Damit kann man "halblange" Züge genauer anhalten lassen.


    • Zeitgesteuerte, simulierte Ereignisse


      Wenn man weniger Rückmelder einbauen will kann man sich behelfen indem man eine zeitgesteuerte Auslösung der Ereignisse verwendet. Das ist allerdings nicht sehr genau, denn die Strecke die der Zug fährt hängt ja von seiner Geschwindigkeit ab. Im schlimmsten Fall bleibt der Zug dann irgendwo stehen wo er den Verkehr behindert.
      Es gibt pro Block zwei Eingabefelder für Zeiten die man verwenden kann, hinter dem Ereignis gibt es eine mit "T2" beschriftete Checkbox. Ist dort ein Haken wird der zweite Wert verwendet.


    • enter2in
      Bei der Auslösung des enter-Rückmelders beginnt ein Zähler zu laufen der dann das in-Ereignis erzeugt und damit den Zug anhält.
      Es wäre zu überlegen ob man dieses Signal generell statt des enters mit einer langen Wartezeit verwendet damit der Zug irgendwann immer anhält und der ursprüngliche Block freigegeben wird. Dadurch wird aber der Zug an einer für Rocrail unklaren Stelle angehalten und vermutlich nie wieder gestartet.

    • enter2pre
      Löst bei Ablauf des Timers das pre2in-Ereignis aus und bremst damit den Zug auf Minimalgeschwindigkeit ab.
      Bei meinen ersten Versuchen war der "in"-Rückmeldeabschnitt so kurz dass die Züge es bei Erreichen des "in" nicht schafften von der halben Geschwindigkeit bis zum Stillstand zu bremsen ohne über das Gleisende hinauszuschiessen. Habe ich die Geschwindigkeit im ganzen Block auf Minimum reduziert dauerte es unendlich lange bis der Zug einfuhr und die von ihm belegten Blöcke freigab. Also habe ich einen enter2pre-Rückmelder verwendet und die Zeit gemessen die der Zug für den halben Block braucht. Damit fährt der Zug einigermaßen schnell durch den Block und bremst kurz vor dem Endabschnitt.

    • enter2shortin
      Wie oben, dieser Pseudo-Rückmelder erzeugt ein shortin-Ereignis und bewirkt damit dass kurze Züge nach einiger Zeit anhalten.

    • enter2route
      Dieser ist laut Dokumentation eher für Car-Systeme gedacht und sendet einen zeitgesteuerten "enter" an RocRail. Der Gedanke ist hier wohl dass bekannt ist wie lange ein Fahrzeug auf einer Strecke braucht und man dann eine Zeit eingeben kann nach der es anfangen soll abzubremsen. Dadurch benötigt man nur einen Rückmelder der genau am Haltepunkt sitzt - die Alternative enter2in mit einem Rückmelder am Blockanfang kann nur mit sehr viel Aufwand sicherstellen dass das Fahrzeug genau hält.
      Mir ist nicht ganz klar warum es heißt das dieser Rückmelder speziell für Car-System da ist. Auch für Züge würde das theoretisch funktionieren - ich vermute aber dass das an den unterschiedlichen Geschwindigkeiten liegt mit denen Züge fahren können. Die meisten Car-System haben nur eine Geschwindigkeit: so schnell wie es der Akku hergibt. Dadurch lassen sich Zeiten besser bestimmen als mit Zügen die der Anwender evtl. noch abbremst.


    • Spezielle Rückmelder


    • exit
      Meldet dass die Lok den Block verlassen hat. Wenn ein exit kommt bevor der Zug hält schaltet Rocrail in den Panikmodus und hält alles an. Das ist etwas schade denn ich hatte gehofft dass ich einen gemeinsamen Rückmelder am Ausfahrgleis für mehrere Blöcke verwenden könnte um Blöcke noch schneller wieder frei zu geben. Dies würde aber nur zu Problemen führen wenn ein zweiter Zug ausfährt während der erste noch am Einfahren ist.

    • occupied
      bin nicht ganz sicher was das soll

    • ident
      Für Rückmelder die eine Lok erkennen können wie zum Beispiel RailCom-Rückmelder. Normalerweise akzeptiert Rocrail jeden Kontakt als den Zug der in dieses Gleis einfahren soll denn es kann ja nicht überprüfen wer kommt. Mit ident wäre das möglich, ich bin aber nicht sicher was Rocrail mit dieser Information anfangen kann.
      Schön wäre es wenn man (z.B. vor einem Schattenbahnhof) feststellen kann welcher Zug wirklich ankommt und so auch handgesteuerte Züge wieder ins Automatikschema eingliedern könnte