Jump to content

Empfohlene Beiträge

Geschrieben (bearbeitet)

Habe mal wieder eine Frage....

Vor einiger Zeit haben wir eine gute Steuerung für die Einfahrt in Bahnhöfe entwickelt. Diese funktioniert auch soweit so gut.
Nun kommt es aber vor, dass zunächst alle Bahnhofsgleise belegt sind und und am Einfahrsignal ein Zug wartet.
Bei der Steuerung funktioniert das "vormerken" von Fahrstraßen nicht. Daher will ich beim verlassen des Bahnhofssignals abfragen, ob am "Einfahrsignal hinten" oder am "Einfahrsignal vorn" ein Zug steht und ihn dann einfahren lassen.

Aktuell ist es so, dass beim Betreten des Einfahrsignals zunächst der Zugtyp im Benutzerereignis "Zugtyp" ermittelt wird und in Abhängigkeit des Zugtyps eine Liste mit möglichen Fahrstraßen festgelegt wird, welche im Signal hinterlegt wird. Anschließend wird In dem Benutzerereignis "Gleisermittlung" ein freies Gleis ermittelt und die entsprechende FS aktiviert.
Soweit der Normalbetrieb.

Abfrage wartender Züge;
Da ja bereits beim Betreten des Einfahrsignals der Zugtyp und somit die Liste mit möglichen FS bestimmt wurde, kann ich auf diesen Teil verzichten.
In jedem Bahnhofssignal ist das "Einfahrsignal vorn" und Einfahrsignal hinten" als Objekt hinterlegt.
Beim Verlassen des Bahnhofssignals will ich jetzt abfragen ob am "Einfahrsignal hinten" ein Zug steht, wenn ja dann soll das Benutzerereignis "Gleisermittlung" ausgeführt werden. Steht kein Zug am hinteren Signal, so soll geschaut werden ob am "Einfahrsignal vorn" ein Zug steht und wenn ja, ebenfalls das Benutzerereignis "Gleisermittlung" ausgeführt werden.

Das funktioniert auch soweit, aber ..... es kommt leider ab und zu vor, dass zwei entgegengesetzte Züge gleichzeitig auf ein Gleis geschickt werden.
Wie kann das sein, wenn doch in der Gleisermittlung gefragt wird ob eine FS frei ist und aktiviert werden kann. Da dürfte es soch zu solchen zusammenstößen nicht kommen.

Wo denke ich da falsch ?

 

Ich habe mal eine reduziertes Beispiel zum testen angehängt.

 

 

Bearbeitet von bigrala
Geschrieben

Hallo @bigrala ,

zunächst einmal solltest Du die Variablennamen im Ereignis "BHF verlassen" korrigieren. Dort hast Du bei den Belegt-Abfragen wohl noch alte Namen (Einfahrtsignal und Einfahrtsignal-zurück) verwendet.

Meine Empfehlung: Wenn Du so etwas testest, lass das Ereignisprotokoll mitlaufen. Die Ausführung stoppt sofort, wenn ein Fehler auftritt.

Viele Grüße,
   Wolfgang

Geschrieben

Ja sorry, hatte das für hier in vorn und hinten umbenannt und da vergessen es in der Abfrage ebenfalls zu ändern.

Trotzdem kommt es zu den Zusammenstößen und das Protokoll hilft da auch nicht, weil es trotz Crash ohne Fehler durchläuft

 

Hier nochmal die korrigierte Version

Einfahrt mit wartenden.mbp

Geschrieben (bearbeitet)
vor einer Stunde schrieb bigrala:

Trotzdem kommt es zu den Zusammenstößen

Hallo @bigrala

es liegt an deinen Gleisen. Die Gleiskontakte zweier gegenläufiger Fahrstraßen dürfen (z.Z.) nicht auf demselben Gleis liegen. 

Screenshot2024-09-26190756.thumb.jpg.82d0127344ca7d7642fd6ea3b951d1b8.jpg 

Das Problem ist bekannt und @Neo wollte das mit V9 auch beheben.  Aber momentan ist die Lösung das lange Gleis aufzuteilen, so das die Gleiskontakte der Fahrstraßen auf verschiedenen Gleisen liegen. 

VG,

Hawkeye 

Bearbeitet von Hawkeye

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