Jump to content

Empfohlene Beiträge

Geschrieben

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üft

  • Ereignis -> 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. deaktiv

  • Ereignis 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.

Geschrieben

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 bestimmen
Ereignis: Zug betritt Bremsgleis
Aktion: Variable Eintrittsgeschwindigeit mit Wert $_Trigger1._CurrentSpeed belegen

(2) Zug abbremsen
Ereignis: Zug betritt Bremsgleis
Bedingung: Variable Eintrittsgeschwindigkeit > 0
Aktion bei erfüllter Bedingung: Lok auf Bremsgleis positive Annäherungsgeschwindigkeit zuordnen
Aktion bei nicht erfüllter Bedingung: Lok auf Bremsgleis negative Annäherungsgeschwindigkeit zuordnen

(3) Zug anhalten
Ereignis: Zug betritt Haltegleis
Aktion: Lok auf Haltegleis Geschwindigkeit "0" zuordnen

(4) Ausfahrt sperren
Ereignis: Signal schaltet auf Halt
Aktion: Ereignisse (1)-(3) aktivieren

(5) Ausfahrt freigeben
Ereignis: Signal schaltet auf Fahrt
Aktion: Ereignisse (1)-(3) deaktivieren
Aktion: Lok auf Haltegleis Eintrittsgeschwindigkeit aus Variable zuordnen

Dies 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üße
BahnLand

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...