Goetz Geschrieben 17. Januar 2016 Geschrieben 17. Januar 2016 Mir sind bisher drei Möglichkeiten in den Sinn gekommen, um einen Zug an einem Signal dann zu stoppen, wenn das Signal "Halt" zeigt. Ich würde gerne wissen, welche der drei Taktiken andere anwenden oder welche Varianten es noch alle gibt. Aufgabe: Zug soll am Signal stoppen, wenn das Signal "Halt" zeigt. Bei "Fahrt" soll er nicht anhalten.Lösung 1:Bei Betreten des Stoppgleises wird die Signalstellung geprüftEreignis -> Zug betritt Gleis Bedingung -> Signal steht auf "Halt" Aktion wenn Bedingung erfüllt -> Lokgeschwindigkeit = 0 Lösung 2:Das Signal schaltet das Ereignis, welches den Zug bei Betreten des Stoppgleises anhält, aktiv bzw. deaktivEreignis 1 -> Zug betritt Gleis Aktion -> Lokgeschwindigkeit = 0 Ereignis 2 -> Signal schaltet Bedingung -> Signal schaltet auf "Halt" Aktion wenn Bedingung erfüllt -> Ereignis 1 aktiviert Aktion wenn Bedingung NICHT erfüllt -> Ereignis 1 deaktiviert Lösung 3:Das Signal speichert die Geschwindigkeit für die Lok in einer Variablen, die dem Stoppgleis zugewiesen ist.Ereignis 1 -> Zug betritt Gleis Aktion -> Lokgeschwindigkeit = $Stoppgleis.Geschwindigkeit Ereignis 2 -> Signal schaltet Bedingung -> Signal schaltet auf "Halt" Aktion wenn Bedingung erfüllt -> $Stoppgleis.Geschwindigkeit = 0 Aktion wenn Bedingung NICHT erfüllt -> $Stoppgleis.Geschwindigkeit = 200 Auf den ersten Blick scheinen Lösung 2 und 3 komplizierter, da sie zwei Ereignisse benötigen.Aber das Signal muss einen gestoppten Zug auch wieder in Fahrt versetzen. Also wird ein Signal-abhängiges Ereignis in jedem Fall benötigt. Auch bei Lösung 1. Damit relativiert sich der Aufwand wieder.Die Lösung 3 finde ich reizvoll, weil sie auch gleich die richtige Geschwindigkeit für eine Durchfahrt mitliefert.Aber ich bin wirklich neugierig, wie andere User diese Aufgabe bewältigen.
BahnLand Geschrieben 17. Januar 2016 Geschrieben 17. Januar 2016 Hallo Goetz,ich verwende in meinen Anlagen bisher eine Variante von Lösung 2, bei der dem Haltegleis ein Bremsgleis vorgelagert ist, das analog zu Deiner Lösung geschaltet wird, wo aber der einfahrende Zug anstatt der Geschwindigkeit "0" eine gegenüber der ursprünglichen Eintrittsgeschwindigkeit eine reduzierte Geschwindigkeit zugewiesen bekommt (reduzierte "Annäherungsgeschwindigkeit"). Dies lässt sich natürlich auch analog zu Lösung 1 lösen.Um "variable" Geschwindigkeiten des einfahrenden Zuges erfassen zu können, erweitere ich normalerweise Lösung 2 (würde auch mit Lösung 1) gehen wie folgt (hier mit Berücksichtigung des Bremsgleises):Lösung 4:(1) Zuggeschwindigkeit bestimmenEreignis: Zug betritt BremsgleisAktion: Variable Eintrittsgeschwindigeit mit Wert $_Trigger1._CurrentSpeed belegen(2) Zug abbremsenEreignis: Zug betritt BremsgleisBedingung: Variable Eintrittsgeschwindigkeit > 0Aktion bei erfüllter Bedingung: Lok auf Bremsgleis positive Annäherungsgeschwindigkeit zuordnenAktion bei nicht erfüllter Bedingung: Lok auf Bremsgleis negative Annäherungsgeschwindigkeit zuordnen(3) Zug anhaltenEreignis: Zug betritt HaltegleisAktion: Lok auf Haltegleis Geschwindigkeit "0" zuordnen(4) Ausfahrt sperrenEreignis: Signal schaltet auf HaltAktion: Ereignisse (1)-(3) aktivieren(5) Ausfahrt freigebenEreignis: Signal schaltet auf FahrtAktion: Ereignisse (1)-(3) deaktivierenAktion: Lok auf Haltegleis Eintrittsgeschwindigkeit aus Variable zuordnenDies ist allerdings nur eine "abgespeckte" Version meiner Ereignisdefinition am Signal. Zur Verhinderung eines versehentlichen Überfahrens des Signals habe ich zusätzlich eine "Sperrweiche", zum "langsamen Anfahren" ein "Beschleunigungsgleis", und zur "Nachbildung" der Lokführer-Reaktion auf das Öffnen des Signals noch einen "Verzögerungs-Timer" eingebaut. Die vollständige Signal-Definition kann der Ereignis-Definition meiner Beispiel-Anlage "Automatik-Steuerung 05a - Streckenvereinigung und -verzweigung" in der Kategorie "Experimentelle Anlagen" im Online-Katalog entnommen werden.Viele GrüßeBahnLand
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden