Table of Contents
Rückmelder und Blöcke
Überblick
Rückmelder sind eine Kernkomponente jeder rechnergestützten Modellbahnsteuerung. Über die Rückmelder werden die Positionen der Züge auf der Anlage an die Software gemeldet. Rückmelder können Momentkontakte (z.B. Schaltgleise, Reed-Kontakte, Hall-Sensoren) oder Dauerkontakte (z.B. Kontaktgleise, sonstige Belegtmelder wie Stromfühler usw.) sein. Eine Übersicht über die Hardware und eine Einführung in die Verwendung von Rückmeldern vermittelt die Seite Rückmelder.
In Rocrail sind Rückmelder (softwareseitig) als Objekte definiert. Über die Einrichtung der Rückmelder informiert die Seite Objekte: Rückmelder und ihre Unterseiten.
Hinweis: Zur Vermeidung von Missverständnissen sollte beachtet werden, dass mit dem Wort "Rückmelder" sowohl physische (reale, Hardware-) Rückmelder, als auch Software-Objekte sowie manchmal auch Rückmelde-Ereignisse bezeichnet werden.
Rocrail benötigt für jeden Block zwei Rückmeldeereignisse, die definieren, wann ein Zug in den Block einfährt und wann er sich (fast)1) am Ende des Blocks befindet. Diese Ereignisse werden als enter (am Beginn des Blocks) und in (am Ende des Blocks) bezeichnet. Bei Bedarf können weitere Rückmelder wie pre2in, shortin usw. hinzu kommen.
Die Definition der Rückmelder erfolgt in den Fahrstraßeneigenschaften des Blocks und ist abhängig davon, von welchem Block der Zug kommt. Für alle möglichen Fahrstraßen müssen Rückmelde-Ereignisse definiert werden. Vor der Einrichtung von Rückmeldern in den Blockeigenschaften müssen daher zuvor alle Fahrstraßen festgelegt worden sein.
Rückmelde-Ereignisse in Rocrail
Alle Ereignis-Typen können zusätzlich bi-direktionale (ident) Informationen liefern.
Standard
Standard-Ereignisse | |
---|---|
enter | Erkennung eines in den Block einfahrenden Zuges. Die Geschwindigkeit wird reduziert auf V_mid2), falls kein Folge-Block frei ist oder der Zug hier halten soll. |
in | Falls der Zug halten soll, wird die Geschwindigkeit auf Null gesetzt. Dieses Ereignis gibt ebenfalls den vorhergehenden Block frei, der durch den Zug bisher belegt war. |
Zusätzlich
Optionale, zusätzliche Ereignisse | |
---|---|
shortin | In Verbindung mit der Lokeigenschaft “Verwende ShortIn Event” wird dies als in-Ereignis genutzt. Geeignet für Kurzzüge, die z.B. vor einem Bahnhofsgebäude halten sollen. |
pre2in | Reduziert die Geschwindigkeit des Zuges auf V_min, falls kein Folge-Block frei ist oder der Zug hier halten soll. In Verbindung mit der Lokeigenschaft “Stop bei pre2in” wird dies als in-Ereignis genutzt; Kann mit dieser Einstellung wie - oder zusätzlich zu - shortin verwendet werden. |
Spezielle Aufgaben
Ereignisse für spezielle Aufgaben | |
---|---|
occupied | Der Block wird ohne zusätzliches Ereignis als besetzt gemeldet. Im Falle eine Reservierungsanforderung durch einen Zug wird dieser Status überprüft, um sicherzustellen, dass der gesamte Block elektrisch frei ist. 3) |
ident | Einige Rückmeldesysteme liefern weitere Informationen, wie z.B. die Adresse der durchfahrenden Lokomotive. (Lissy, BarJut, RailCom, …). Diese Information wird im Automatikmodus verglichen mit dem Identifier in den Lok-Eigenschaften; Beim Handbetrieb wird dieser Identifier im Block-Symbol angezeigt. Dieses Ereignis nur verwenden, wenn der Rückmelder keine andere Funktion hat. |
exit | Das Ereignis dient zusätzlich der Sicherheit: Falls ein Zug im Abschnitt zwischen in und exit nicht hält, wird ein Zwangshalt ausgelöst, auf Handbetrieb umgeschaltet und eine Fehlermeldung erzeugt. Um das exit-Ereignis nach dem in-Ereignis zu verwenden, muss das exit-Ereignis den allgemeinen Fahrstraßen "all enter +/-" zugewiesen sein, weil der Von-Block nach dem in-Ereignis auf den aktuellen Block eingestellt wird. Von der Verwendung dieses Ereignisses wird abgeraten: Statt dessen BBT verwenden. |
free | Vorherigen Block und Fahrstraße freimelden. Wenn die Option Endimpuls gesetzt ist, muss das ENTER-Ereignis vor dem FREE-Ereignis liegen. Mit Vorsicht verwenden! Nur für kurze Züge und Autos. |
enter2free | Eine Kombination von enter und free. |
enter2route4) | Ist nicht mit einem realen Rückmelder verbunden, sondern wird vom in-Ereignis des vorhergehenden Blocks erzeugt. Dieses Ereignis ist weniger für Züge geeignet, sondern wird speziell bei Straßenfahrzeugen verwendet. |
[leer] | Rückmelder ohne Ereignis Wenn ein Rückmelder ohne Ereignis einem Block zugeordnet wird dann überträgt dieser die Lokkennung aus dem Block an eine durch diesen Rückmelder ausgelöste Aktion . |
Zeitgeber
Durch Zeitgeber gesteuerte Ereignisse | |
---|---|
enter2in | Eine Kombination von enter und in. Die Ereignisse werden sequentiell erzeugt; das in-Ereignis wird simuliert. Für die Nutzung in Blöcken mit nur einem realen Rückmelder. Das enter-Ereignis erzeugt automatisch nach einer in den Blockeigenschaften definierten Zeit das in-Ereignis |
enter2shortin | Eine Kombination von enter und shortin. Die Ereignisse werden sequentiell erzeugt; das shortin-Ereignis wird simuliert. Für Blöcke mit nur zwei physikalischen Rückmeldern |
enter2pre | Eine Kombination von enter und pre2in. Die Ereignisse werden sequenziell erzeugt; das pre2in-Ereignis wird simuliert. Das enter-Ereignis erzeugt automatisch nach einer in den Blockeigenschaften definierten Zeit das pre2in-Ereignis. |
Durch Zeitgeber gesteuerte Ereignisse werden nur begrenzt unterstützt. Lange Zeitgeber können bei Überlappung mit Folgeereignissen zu erheblichen Störungen des Automatik-Betriebs führen.
Von der Benutzung zeitgesteuerter Ereignisse wird abgeraten! Das gilt insbesondere in Blöcken mit aktiviertem BBT.
Zeitgeber über 100ms sind von der Unterstützung im Forum ausgeschlossen
Wie unten noch näher erläutert, ergibt sich als Auslösereihenfolge: enter → (shortin) → (pre2in) → in. Ereignisse in Klammern sind optional.
Für die entgegengesetzte Fahrtrichtung ist die Zuweisung in umgekehrter Reihenfolge zu wiederholen.
Typischerweise löst dann ein Rückmelder je nach Fahrtrichtung unterschiedliche Ereignisse aus.
Für korrektes Funktionieren des Automatikbetriebes muss in jedem Block mindestens das
enter- und das in-Ereignis ausgelöst werden.
Hinweis: Ein ausgebliebenes In-Ereignis wird mit dem Enter-Ereignis im Nach-Block automatisch erzeugt.
Verwendung
Nachfolgend werden die verschiedenen Rückmeldeereignisse näher betrachtet. Dabei wird davon ausgegangen, dass ein Zug in dem betreffenden Block halten muss, z. B. weil die Warteeigenschaften des Blocks entsprechend eingestellt sind, oder weil der nachfolgende Block belegt ist. Zur Bedeutung von V_min und V_mid siehe Lokomotiven: Schnittstelle
Zwei Rückmelder
- Seit Einführung des Block-Brems-Zeitgebers (BBT) ist die Verwendung der zwei Melder enter und in der empfohlene Standard. Damit werden mehr als diese zwei Rückmelder nur dann benötigt, wenn innerhalb eines Blockes mehr als ein Haltepunkt verwendet werden soll. Für das Bremsverhalten mit BBT siehe dort. Die folgenden Beschreibungen beziehen sich auf Fahren ohne BBT.
Tipp: Ob BBT benutzt wird oder nicht, kann individuell für jeden Block festgelegt werden. Diese Entscheidung muss nicht für die gesamte Anlage gefällt werden.
- Bei zwei Meldern - enter und in - fährt der Zug ab enter mit V_mid5) und bremst bei in ab bis zum Stillstand. Wenn die Kombination aus Bremsverhalten und V_mid bei allen Loks gleich ausfällt (entweder alle Loks mit gleicher Geschwindigkeit bei V_mid und gleiche Bremseigenschaften oder V_mid unterschiedlich, dann aber bei den schnelleren Loks auch schärferes Abbremsen), werden Anhaltegenauigkeiten im Bereich weniger Zentimeter erreicht.
Drei Rückmelder
- Bei drei Meldern, enter, pre2in und in, bremst der Zug bei enter auf V_mid6) ab, bei pre2in auf V_min.
Stellt man V_min ziemlich niedrig ein (Praxiswert: 10km/h), dann spielt die in der Lok eingestellte Bremseigenschaft keine große Rolle mehr. Es werden also alle Loks ziemlich schnell nach Erreichen von in anhalten. Dies führt dann zum sehr exakten Haltepunkten. Die Abweichung liegt bei deutlich unter 1cm!
Zusätzlich kann der pre2in-Rückmelder gewissermaßen missbraucht werden, damit kurze Züge früher halten: Dazu ist bei den entsprechenden Loks in den Eigenschaften die Option "Stop bei pre2in" einzustellen. Für diese Loks liefert dann der pre2in-Rückmelder das in-Ereignis. Entsprechend bremsen diese Loks bei enter auf V_mid7) ab und bei pre2in bis zum Stillstand.
- Eine weitere Kombination aus drei Meldern wäre enter, shortin und in. Es gilt das Gleiche wie bei der Kombination aus enter und in und zusätzlich: Loks mit der Einstellung "verwende shortIn Event" benutzen den shortin als in-Rückmelder. Andere Loks ignorieren shortin und verwenden in.
Vier Rückmelder
- Schließlich können auch vier Rückmelder in Kombination verwendet werden: enter, shortin, pre2in und in.
Diese Variante ermöglicht
- langen Zügen bis in durchzufahren (mit V_mid und V_min wie weiter oben beschrieben)
- kurzen Zügen schon am shortin zu halten (z. B. direkt am Bahnhofsgebäude)
- Zügen, die mit dem shortin zu früh, aber mit dem in zu spät halten würden, statt dessen am pre2in zu halten.
Ein Rückmelder
Die Verwendung eines einzigen physikalischen Rückmelders (enter2in) im Block ist zwar möglich, jedoch sollte diese Variante wegen des benötigten Zeitgebers nicht in Betracht gezogen werden und allenfalls ausnahmsweise eingesetzt werden. Siehe auch den Warnhinweis in der Ereignis-Tabelle oben. |
- Wird - z. B. aus Kostengründen, oder um den Verkabelungsaufwand gering zu halten - nur ein physischer Rückmelder verwendet, so wird dieser als enter2in definiert. Der physische Rückmelder löst das enter-Ereignis aus und startet einen Zeitgeber, der seinerseits nach dem Ablaufen das in-Ereignis generiert. Der Zug bremst beim Erreichen von enter auf V_mid8) ab und nach Ablauf des Zeitgebers (in-Ereignis) bis zum Stillstand.
Den Fahrstraßen kann individuell einer von zwei eingestellten Zeitgebern im Dialog Fahrstraßen der Blockeigenschaften unter Ereignis-Zeitgeber zugeordnet werden. Außerdem kann ein Zeitgeber lok-individuell in den Details der Lok-Eigenschaften eingestellt werden.
- Eine weitere Möglichkeit nur einen physischen Rückmelder zu benutzen stellt der enter2route-Rückmelder9) dar. Dieser ist jedoch ein Spezialfall, der in der Regel nur für Straßenfahrzeuge in Frage kommt. Wie der enter2route-Rückmelder eingerichtet wird, kann beim Dinamo-Fahrzeugsystem nachgelesen werden.
Weitere, durch Zeitgeber gesteuerte Ereignisse
Siehe Warnhinweis in der Ereignis-Tabelle! |
- Das pre2in-Ereignis kann in Blöcken mit zwei Rückmeldern (enter und in) auch simuliert werden. Dazu wird enter2pre statt enter verwendet (dem enter-Ereignismelder ist das Ereignis enter2pre zuzuordnen). Der physische Rückmelder löst das enter-Ereignis aus und startet einen Zeitgeber, der seinerseits nach dem Ablaufen das pre2in-Ereignis generiert. Der Zug bremst beim Erreichen von enter auf V_mid10) ab und nach Ablauf des Zeitgebers (pre2in-Ereignis) auf V_min.
Den Fahrstraßen kann individuell einer von zwei eingestellten Zeitgebern im Dialog Fahrstraßen der Blockeigenschaften unter Ereignis-Zeitgeber zugeordnet werden. Außerdem kann der Zeitgeber lok-individuell in den Details der Lok-Eigenschaften eingestellt werden.
Hinweis:
Weil die Ereignis-Zeitgeber nicht nur auf enter2in, enter2pre und enter2shortin wirken, sondern auch auf den realen in-Rückmelder (siehe auch Feineinstellung des Haltepunktes) ist folgendes unbedingt zu beachten:
Wenn ein enter2pre-Ereignis definiert wird und dieses z. B. Zeitgeber 1 zugeordnet wird, so muss dem in-Rückmelder der andere Zeitgeber (z. B. Zeitgeber 2, meist mit einer kleinen oder gar keiner Verzögerung) zugeordnet werden, damit die Auslösung des in-Ereignisses nicht in gleichem Maße verzögert wird.
- In gleicher Weise, wie pre2in bei enter2pre, kann auch auch das shortin-Ereignis simuliert werden, wenn dafür kein physikalischer Rückmelder zur Verfügung steht: Dazu dient enter2shortin.
Belegtmelder oder Punktmelder
Ob für die Rückmelder nun besser sog. Belegtmelder, welche einen ganzen Gleisabschnitt überwachen können oder Punktmelder 11), welche beim Passieren nur einen kurzen Impuls liefern, zu verwenden sind, hängt vom jeweiligen Verwendungszweck, dem Gleissystem und den Kosten ab: Der occupied-Rückmelder ist entsprechend seiner Funktion nur als Belegtmelder sinnvoll, ein exit-Melder kann hingegen problemlos als Punktmelder ausgeführt werden.
Empfehlenswert für 2-Leitersysteme könnte z.B. folgende Kombination sein:
Zur Generierung von enter einen Belegtmelder, für die anderen Ereignisse (shortin, pre2in, in) die günstigeren Punktmelder.
Tipp:
Der Aufwand lässt sich am Anfang gering halten, wenn jeder Block in ganzer Länge über einen Stromdetektor (2-Leiter) versorgt bzw. als Kontaktgleis (3-Leiter) gebaut wird.
Diese Belegtmelder werden in Rocrail als enter2in-Rückmelder konfiguriert und lösen auch das enter- u. in-Ereignis für den jeweiligen Block aus.
Selbstverständlich können auch einfache Punktmelder verwendet werden, dadurch wird lediglich auf die elektrische Belegtmeldung (z.B. bei verloren gegangen Wagen) verzichtet, die Automatik funktioniert dennoch reibungslos.
Bei Bedarf sind Blöcke auch später ohne großen Aufwand auf 2, 3 oder mehr Rückmelder zu erweitern. Dies kann z.B. mit einfach zu platzierenden Lichtschranken, Hallsensoren- oder Reedkontakten geschehen, ohne dass dafür zusätzliche Trennschnitte in den Block-Gleisen erforderlich sind. Die Positionen dieser Rückmelder können auch nachträglich relativ einfach geändert bzw. optimiert werden.
Der Anschluss und die Rückmeldung selbst kann dann z.B. mit GCA133 für Lichtschranken oder GCA173 für Hallsensoren- oder Reedkontakte als Schnittstelle zu GCA50 (LocoIO), CAN-GC2 (CBus) oder GCA_PI02 (Raspberry Pi) erfolgen.
Geschwindigkeitsverlauf
Die nachfolgende Tabelle fasst die Geschwindigkeiten in Abhängigkeit vom Rückmeldeereignis zusammen. Im Anschluss ist der Geschwindigkeitsverlauf am Beispiel eines Blocks mit drei Rückmeldern grafisch dargestellt.
Ereignis | Reaktion |
enter2route12) | ist der aktuelle Block belegt, so wird der Zug schon an diesem Melder auf V_mid abgebremst |
enter, enter2in, enter2shortin | ist der nächste Block belegt, oder der Zug soll in diesem Block halten so wird die Geschwindigkeit auf V_mid13) gesetzt |
pre2in | ist der nächste Block belegt, oder der Zug soll in diesem Block halten so wird die Geschwindigkeit auf V_min gesetzt |
in, shortin | ist der nächste Block belegt, oder der Zug soll in diesem Block halten so wird die Geschwindigkeit auf 0 gesetzt |
Hinweis: Gemäß Blöcke: Einzelheiten, Geschwindigkeiten können auch andere Geschwindigkeiten eingestellt werden.
Grafische Darstellung
Blöcke mit 3 Rückmeldern
Rocrail sendet für Brems- und Beschleunigungsvorgänge standardmäßig nicht jede Fahrstufe an den Dekoder.
Deshalb muss der Dekoder entsprechend eingestellt werden, um eine weiches Fahrverhalten zu ermöglichen.
Blöcke mit 2 Rückmeldern
Seit Einführung des Block-Brems-Zeitgebers (BBT) können auch bei Blöcken mit nur 2 Rückmeldern (enter und in ohne pre2in) fein angepasste Brems- und Beschleunigungsvorgänge erzielt werden.
Bei Verwenden des BBT wird ein vorhandener pre2in-Rückmelder ignoriert. Seine evtl. weitere Verwendung als shortin-Rückmelder ist davon nicht betroffen.
A | Enter-Geschwindigkeit |
---|---|
B | BBT-Schritte; in diesem Beispiel 10. |
C | Enter-Ereignis; erster BBT-Schritt. |
10 | Letzter BBT-Schritt. |
D | In-Ereignis; Schritt herunter auf Geschwindigkeit "0". |
E | Geschwindigkeit "0"; Lok ist im Warte- oder Ruhe-Zustand. (wait o. idle) |
Blöcke mit nur einem Rückmelder
Kann in einem Block nur ein Rückmelder realisiert werden (z.B. der gesamte Block ist nur ein Belegtmelder-Abschnitt), ist auch damit ein zufriedenstellendes Anhalten im Block möglich. Der Belegtmelder wird als enter2in-Ereignis konfiguriert und das in-Ereignis wir durch einen Ereignis-Zeitgeber generiert.
Die Brems-Verzögerungen aller Loks, die den Block befahren, sollten sich nicht zu sehr unterscheiden, damit Loks, die Vmin zu früh erreichen, nicht zu weit vor dem Blockende anhalten. Es muss für jeden Zug, der den Block befährt, sichergestellt sein, dass er vollständig innerhalb des Blocks ist, wenn das zeitgesteuerte in-Ereignis eintritt.
- Achtung: Warnhinweise zu zeitgesteuerten Ereignissen in der Ereignis-Tabelle beachten!
Konfiguration
In Rocrail werden die Rückmeldeereignisse in den Blockeigenschaften konfiguriert. Dazu werden in nachfolgender Reihenfolge
- Blöcke erstellt (7.1),
- Rückmelder angelegt (7.2),
- Fahrstraßen angelegt (7.3) und
- die fahrstraßenbezogenen Ereignisse in den Blöcken konfiguriert (7.3.2).
In Klammern ist jeweils das entsprechende Kapitel der Schritt-für-Schritt-Anleitung angegeben. Außerdem sollten die Seiten zu Rückmeldern, Fahrstraßen und Blöcken beachtet werden.
Mehrfach benutzte Rückmelder
Die Verwendung eines Rückmelders in verschiedenen Blöcken, gleichgültig ob für dasselbe oder unterschiedliche Ereignisse, ist grundsätzlich ausgeschlossen! Dies gilt ausnahmslos für alle oben genannten Ereignisse. Es kann somit beispielsweise nicht derselbe enter-Rückmelder für zwei oder mehrere Blöcke verwendet werden.
Keine Regel ohne Ausnahmen
- Mit der Block-Fahrstraßen-Option Ereignisse ignorieren, wenn nicht reserviert kann ein Rückmelder für mehrere Blöcke verwendet werden, wenn sich bei Auslösen des Ereignis nur einer der Blöcke im reservierten Zustand befindet. (Gelb oder Blau.).
- Eine Möglichkeit unter Anwendung von Aktionen und Scripten:
Mit Hilfe "virtueller Rückmelder" kann ein realer, physisch vorhandener enter-Rückmelder (z.B. vor Gleisharfen in Schattenbahnhöfen) für mehrere nachfolgende Blöcke verwendet werden. Realisiert wird dies über Aktionen (Demo 2) oder Scripte, die von diesem einen realen Rückmelder angestoßen werden und dann ihrerseits virtuelle Enter-Rückmelder (die zu den nachfolgenden Blöcken gehören) aktivieren.
Verwendung unterschiedlicher Rückmelder in spezifischen Fahrstraßen
Werden spezifische Fahrstraßen für Rückmelde-Ereignisse benutzt, so können unterschiedliche Rückmelder das gleiche Ereignis in demselben Block auslösen (im Beispiel enter).
Dies ist keine Mehrfachnutzung von Rückmeldern; siehe dazu vorhergehenden Abschnitt!
Beispiel
Das Bildschirmfoto zeigt eine kleine Anlage mit zwei Fahrstraßen vom linken Hauptstrecken-Block zum rechten Hauptstrecken-Block, wobei eine Fahrstraße über den lokalen Block Local_1 und die andere über den lokalen Block Local_2 führt. Beide Fahrstraßen haben, obwohl sie vom selben Start-Block ausgehen, verschiedene Einträge bei den enter-Rückmeldern, teilen sich aber den in-Rückmelder rechts.