bigrala Posted September 26 Share Posted September 26 (edited) 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. Edited September 26 by bigrala Link to comment Share on other sites More sharing options...
prinz Posted September 26 Share Posted September 26 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 Link to comment Share on other sites More sharing options...
bigrala Posted September 26 Author Share Posted September 26 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 Link to comment Share on other sites More sharing options...
Hawkeye Posted September 26 Share Posted September 26 (edited) 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. 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 Edited September 26 by Hawkeye Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now