Zur Steuerung der Züge nutze ich in meinem Netz intensiv Fahrstraßen, sowie zur Besetztmeldung von Bahnhofsgleisen Signalanlagen. Bislang klappt das alles sehr gut, aber nun ist mir ein Fall untergekommen, für den ich bisher keine gute Lösung gefunden habe:
Code: Alles auswählen
--- >Zug B> --- EVSig --- ESig+AVSig --- >Zug A> --- ASig ---
Zug A steht am Taktpunkt und wartet auf die Abfahrtszeit. Entsprechend ist natürlich die Ausfahrstraße noch nicht gestellt, dies geschieht erst kurz vor Abfahrt (über die entsprechende Taktpunkt-Einstellung). Nun nähert sich Zug B, der in dem Bahnhof durchfahren, aber Zug A nicht überholen soll. Entsprechend fordert er vor dem Einfahrvorsignal eine Einfahrstraße an, die natürlich noch nicht geschaltet werden kann, weil das Gleis besetzt ist. Vor dem Ausfahrvorsignal (das am Mast des ESigs hängt), liegt nun ein Einschaltkontakt für die Ausfahrstraße von durchfahrenden Zügen. Problem: Die Ausfahrt wird für Zug B gestellt, der aber hinter Zug A ist. Zug A kann dann zwar ausfahren, weil das Signal Fahrt zeigt, aber es wird natürlich dann Fehler geben, weil die Weichen vom falschen Zug entriegelt wurden, und Zug B wird für immer im Bahnhof stehen -> Deadlock.
Mögliche brauchbare Lösungen, die mir eingefallen sind:
- Einschaltkontakt hinter das ESig legen. Nachteil: Dafür springt aber das Vorsignal nicht rechtzeitig auf Fahrt, wenn keine Züge die Strecke blockieren, was in der Realität doch ziemlich unerfreulich wäre.
- Eine eigene Fahrstraße für Durchfahrten anlegen, bei der dann das ASig gleich mit auf Fahrt geschaltet wird. Nachteil: der Zug muss im skizzierten Fall unnötig lange vor dem ESig warten, nämlich bis Ein- und Ausfahrt gestellt werden. Der Aufwand ist natürlich auch etwas höher für eine zusätzliche Fahrstraße.
Wie würdet ihr das lösen? Kennt jemand eine einfache Lösung, die ohne diese Nachteile auskommt?
Aus meiner Sicht wären Abhängigkeiten von Fahrstraßen im Sinne von "Schalte die Ausfahrstraße erst, wenn die Einfahrstraße gestellt wurde" wünschenswert. Dies müsste so realisiert sein, dass die Anforderung in eine Warteliste kommt und erst befolgt wird, wenn die Bedingung erfüllt wurde. Aber diese Funktion gibt es noch nicht, oder?