Jump to content

Weichen in Fahrstrassen werden freigegeben, wenn der Zug sie noch nicht ganz verlassen hat


jb238

Recommended Posts

Festgestellt in Version 8.5.4.

Es lässt sich reproduzieren, indem man die Anlage pausiert, wenn ein Zug die Weiche noch nicht ganz verlassen hat. Die Weiche ist bereits entsperrt. Stellt man dann die Weiche um, macht der letzte Wagen einen Sprung.

Edited by jb238
Link to comment
Share on other sites

Hallo @jb238,

den von dir beschriebenen Fehler kann ich hier nicht reproduzieren.

Mein Testaufbau: Eine Weiche, über die zwei Fahrstraßen führen.
Beide fordere ich an. Dann lasse ich den Zug mit 2 km/h über die Strecke kriechen.

FS 1 ist aktiv und führt geradeaus.
FS 2 führt über den Abzweig und ist in Lauerstellung. Die Aktivierung von FS 2 hat zur Folge, dass die Weiche umgestellt wird.

Sobald die Weiche umschaltet, reagiert meine EV mit einem Lua Befehl, den es nicht gibt.
Die Folge ist, dass die Anlage augenblicklich in den Pausenmodus wechselt. So friere ich den Moment des Umschaltens ein.
Wie du im Screenshot siehst, hat mein kleiner Test-Zug die Weiche zu diesem Zeitpunkt vollständig verlassen:

FreigabederWeicheinFS.thumb.jpg.2b714846466442c176d3a433cbc2c844.jpg

Das bedeutet, dass bei dir weitere, besondere Umstände zum Fehlverhalten führen.
Das einfachste wäre, du würdest deine Anlage zur Verfügung stellen, damit man genauer schauen kann was alles involviert ist und wer eventuell das Problem verursacht.

Viele Grüße
Götz

Link to comment
Share on other sites

vor 2 Stunden schrieb jb238:

Festgestellt in Version 8.5.4.

In V. 8.5.5 tritt der Fehler nicht auf, d.h. die Weiche wird genau dann entriegelt, wenn das letzte Fahrzeug sie vollständig verlassen hat. Ich habe es im Einzelschrittmodus getestet, so kann man exakt sehen, bis wann das Schloss in der Weichensteuerung geschlossen und ab wann es geöffnet ist.

Mach' vielleicht erst mal das Update auf V. 8.5.5 bevor Du weitersuchst.

Link to comment
Share on other sites

Ich hab's weiter untersucht. Es passiert, weil die Fahrstrasse inaktiviert wird, weil die Lok das Signal am Ende der Fahrstrasse betreten hat oder anhält.

Kreuzende Fahrstrassen machen offenbar noch weitere Tests, die merken, dass die erste FS zwar inaktiv ist und die Weichen entsperrt, aber der Zug noch draufsteht.

Die gegenseitige Verriegelung der Fahrstrassen funktioniert.

Ich hätte erwartet, dass eine FS erst inaktiv wird, wenn der Zug sie verlassen hat.

Die Weichen vorzu freigeben, wenn sie verlassen werden, macht Sinn, da dann konkurrierende FS früher aktiv werden können.

 

Capture2.JPG

Link to comment
Share on other sites

Die Kollisionen, Fusion der Züge und Abhängen der Wagen fanden statt, weil auf der zuführenden FS das Signal am Ende auch geschaltet wurde.

Das wiederum kam daher, dass beim Löschen und Neuerstellen der Liste der Wegpunkte die Signaleinstellungen vom Vorzustand übernommen werden. Wenn man dann nicht nochmals kontrolliert, passieren solche Fehler.

Beste Dank für die Antworten.

Link to comment
Share on other sites

Du beschreibst das Verhalten korrekt, hast aber eine Erwartung, die nicht hineinpasst:

vor 28 Minuten schrieb jb238:

Ich hätte erwartet, dass eine FS erst inaktiv wird, wenn der Zug sie verlassen hat.

Das würde aber führen, dass Querverkehr hinter dem sperrenden Zug 1 erst wieder möglich wäre, wenn Zug 1 sein Signal am Ende der Fahrstraße vollständig wieder verlassen hat. Das würde einen sinnvollen Betrieb unnötig aufhalten oder sogar verunmöglichen. Nimm' als Beispiel eine eingleisige Strecke, Weiche, zweigleisigen Bahnhof mit einem Einfahr- und zwei Ausfahrsignalen und zwei Fahrstraßen jeweils vom Einfahrsignal zu einem der beiden Ausfahrsignale. Nach Deiner Erwartung dürfte kein Zug in gleicher Richtung auf Gleis 2 einfahren, solange der andere Zug nicht Gleis 1 verlassen hat. Das will man ja nicht wirklich. Es ist also richtig, wenn die Weiche entsperrt wird, sobald Zug 1 sie verlassen hat und ebenso ist es kein Problem, diese Weiche und das dahinterliegende Gleis 2 zu befahren, wenn denn sich dort bis zum Ende dieser Fahrstraße kein Fahrzeug befindet.

Edited by Phrontistes
typo
Link to comment
Share on other sites

@Phrontistes: Du hast natürlich recht, dass in Deinem Beispiel die FS für Gleis 2 aktiv werden soll, auch wenn der Zug noch auf Gleis 1 steht. Sofern er nicht auf Weichen steht, die die zweite FS umschalten muss.

Das ist aber unabhängig davon, ob der erste Zug den Endpunkt der FS erreicht hat oder nicht.

Das Kriterium ist, kein Zug auf einem Gleis, das von beiden FS gemeinsam benötigt wird. Das ist so realisiert und macht Sinn.

Es dünkt mich daher seltsam, dass FS inaktiv werden, wenn der Zug den Endpunkt erreicht hat. Dadurch werden Weichen entsperrt, auf denen der Zug noch steht.

Link to comment
Share on other sites

vor 6 Stunden schrieb jb238:

Es dünkt mich daher seltsam, dass FS inaktiv werden, wenn der Zug den Endpunkt erreicht hat.

Das entspricht aber der Realität.

Wenn der Zug den Endpunkt der Fahrstraße erreicht hat, dann hat die Fahrstraße ihren Dienst getan und wird nicht mehr benötigt.
Eine Weiche, auf der Rollmaterial steht, wird als "besetzt" erkannt und kann keiner neuen Fahrstraße zugesprochen werden. Eine Sperre ist hier nicht vonnöten.

Wer händisch eine Weiche umschaltet, die besetzt ist, handelt fahrlässig.

Viele Grüße
Götz

Link to comment
Share on other sites

Hallo @jb238,

vor 9 Stunden schrieb jb238:

Dadurch werden Weichen entsperrt, auf denen der Zug noch steht.

Stimmt, aber Weichen sind im MBS auch unabhängig von Fahrstraßen im Grundsatz nicht gesperrt und können umgestellt werden, auch wenn sich ein Fahrzeug darauf befindet. Das wäre höchstens ein Feature-Wunsch an @Neo, er möge in einer künftigen Version das Umstellen einer Weiche, auf der sich ein Fahrzeug befindet, generell und unabhängig von der Fahrstraßenlogik verhindern.

Bis dahin müssen wir User die Dienstvorschrift 408.0131 beachten:

https://www.fahrdienstleiter.net/fdl/fahrdienstvorschrift-408-0131-weichen-grundstellung

Oder man schaltet alle Weichen und Signale im MBS immer mit Fahrstraßen, dann tritt das Problem nicht auf.

Beste Grüße

Phrontistes

Link to comment
Share on other sites

Hallo,

vor 44 Minuten schrieb Phrontistes:

Das wäre höchstens ein Feature-Wunsch an Neo, er möge in einer künftigen Version das Umstellen einer Weiche, auf der sich ein Fahrzeug befindet, generell und unabhängig von der Fahrstraßenlogik verhindern.

wäre nach meiner Meinung nicht sehr zielführend, da (noch meinem Kenntnisstand) die grafische EV keine Information darüber liefert, daß dieser Fall eingetreten ist.

Wenn man die vorhandene Möglichkeit einer Skript-Bedingung nutzt...
Bild001.jpg.dc7b557248682822184fbb84c0cfff1d.jpg

if #layout:getVehiclesOn($("Weiche"))==0 then
 return true
else
 print("Weiche ist besetzt")
end

...hat man mit dem "print" Befehl zumindest die Möglichkeit sich im Ereignisprotokoll anzeigen zu lassen daß und warum die Weiche nicht geschaltet hat.Bild002.jpg.7806fa6c8730bb27553c8db56604cf44.jpg

P.S.
§2 Abs. a wäre in diesem Fall die Einweisung (wie ist die Skript-Bedingung zu benutzen )...
§2 Abs. b die Skript-Bedingung an sich...

und wenn man das Skript noch um eine Zeile erweitert...
 

if #layout:getVehiclesOn($("Weiche"))==0 then
  print("Weiche ist frei")
  return true
else
  print("Weiche ist besetzt")
end

... dann wäre §2 Abs. c erfüllt.

Gruß
EASY

Link to comment
Share on other sites

Hallo @EASY,

vor 5 Minuten schrieb EASY:

die grafische EV keine Information darüber liefert, daß dieser Fall eingetreten ist.

Stimmt, aber der Versuch, eine Weiche zu schalten, welche von einer Fahrstraße gesperrt ist, geht ja auch kommentarlos in die Hose.

Wer wissen will, warum die Weiche nicht schaltet, hat ja jetzt den Code von Dir ;).

Beste Grüße

Phrontistes

Link to comment
Share on other sites

Hallo zusammen,

vor 5 Stunden schrieb Phrontistes:

Feature-Wunsch

den man sich auch selbst erfüllen kann, wenn man sich die Mühe macht,

  • jeder Weiche ein Schlagwort (im Beispiel:  "Turnout" zu geben und
  • zwei Ereignisse (im Beispiel:  "Train/vehicle enters a turnout" und "Train/vehicle leaves a turnout") mit jeweils einer Zeile Code (im Beispiel: jeweils die erste Zeile) in die Anlage einzufügen.

Siehe mein Beispiel: Lock turnout while it is occupied.mbp

Mit den Fahrstraßen beißt sich das m.E. nicht, denn auch dort wird jede Weiche im Fahrweg nach ihrem Verlassen sofort entsperrt.

Beste Grüße

Phrontistes

Link to comment
Share on other sites

10 hours ago, Goetz said:

Wenn der Zug den Endpunkt der Fahrstraße erreicht hat, dann hat die Fahrstraße ihren Dienst getan und wird nicht mehr benötigt.

Ich hätte intuitiv eher erwartet, dass die Fahrstrasse ihren Dienst getan hat und inaktiv wird, wenn der Zug sie komplett verlassen hat. D.h. wenn der letzte Wagen den Endpunkt verlassen hat und nicht bereits wenn die Lok den Endpunkt erreicht hat.

Andere FS können aktiv werden, sofern sie keine Gleise benötigen, auf denen noch Züge stehen. Egal, ob die erste FS aktiv ist oder nicht.

Das scheint so implementiert zu sein. Mit dem Unterschied, dass die FS bereits inaktiv wird, wenn die Lok den Endpunkt erreicht hat (und damit die Weichen entsperrt). Dafür gibt's offenbar einen impliziten Test im Hintergrund, ob auf benötigten, aber entsperrten Weichen noch ein Zug steht. Auf die Sperrung der Weiche kann man sich in diesem Fall nicht verlassen, was die Frage aufwirft, wieso die Weichen überhaupt gesperrt werden.

Das ist aber vermutlich eine Philosophiefrage und kommt im Endeffekt auf's gleiche raus.

Das ganze davon ausgehend, dass Züge nicht auf der FS ihre Fahrtrichtung umkehren. Das habe ich nicht ausprobiert, aber dürfte vermutlich Unfälle geben.

Link to comment
Share on other sites

vor einer Stunde schrieb jb238:

Das ganze davon ausgehend, dass Züge nicht auf der FS ihre Fahrtrichtung umkehren. Das habe ich nicht ausprobiert, aber dürfte vermutlich Unfälle geben.

Ja, das gibt Unfälle. Mit einer MBS-Fahrstraße kannst Du nicht den Fall absichern, dass ein Zug auf einer eingleisigen Strecke bis zum Prellbock des Endbahnhofs fährt, dort anhält und dann zurückfährt. Dieses Streckenende muss man zusätzlich (z.B. mit einer Variablen) absichern damit nicht ein Zug hinterherfährt, obwohl der erste noch nicht zurück ist.

Nachtrag:

So ganz stimmt das nicht, falls es nur ein einziges Gleis gibt: Wenn Du die FS bis zum Prellbock definierst, kannst Du auf Verdacht und ohne Fahrstraße auf dem einzigen Gleis zurückfahren, weil dieses in dieser Zeit von dem einzigen Fahrzeug, welches sich dort befindet, belegt wird. Also wird die Fahrstraße Richtung Prellbock so lange nicht für ein folgendes zweites Fahrzeug freigegeben, wie sich das erste Fahrzeug noch auf diesem einzigen Gleis befindet.

Edited by Phrontistes
Nachtrag
Link to comment
Share on other sites

vor 38 Minuten schrieb jb238:

Ich hätte intuitiv eher erwartet, dass die Fahrstrasse ihren Dienst getan hat und inaktiv wird, wenn der Zug sie komplett verlassen hat.

Die Fahrstraße soll den Zug sicher bis zum Zielort (= Ende der Fahrstraße) bringen. Und das ist erreicht, wenn der Zug am Zielpunkt ankommt.
Wenn du dir Videos vom Betrieb in Stellwerken anschaust, dann wirst du dort genau dieses Prinzip beobachten.

 

vor 40 Minuten schrieb jb238:

Auf die Sperrung der Weiche kann man sich in diesem Fall nicht verlassen, was die Frage aufwirft, wieso die Weichen überhaupt gesperrt werden.

Sie werden gesperrt, damit sie für den Fahrweg reserviert und gesichert sind bis der Zug sie erreicht hat. Die Fahrstraße schützt den voraus liegenden Fahrweg.

 

vor 42 Minuten schrieb jb238:

Das ganze davon ausgehend, dass Züge nicht auf der FS ihre Fahrtrichtung umkehren.

Das werden sie niemals tun. Für solche Manöver sind Fahrstraßen nicht gedacht. Die werden auf anderem Wege abgesichert.
Fahrstraßen sind für eine Fahrt von A nach B. Von Abschnitt zu Abschnitt.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...