bigrala Geschrieben 9. November 2020 Geschrieben 9. November 2020 Hallo, Ich habe einen einfachen Streckenblock in dem jeweils das letzte Hauptsignal an das aktuelle Hauptsignal übergeben wird und beim Verlassen das letzte Hauptsignal dann frei geschaltet wird. Funktioniert auch gut. Jetzt habe ich es aber so, dass sich zwei Strecken an einer Weiche treffen und hier komme ich ins Schwimmen, denn mir fällt nichts ein, wie ich das lösen könnte. Klar, wenn der Abschnitt hinter der Weiche betreten wird, dann beide Signale vor der Weiche auf Halt. Aber wie steuere ich es, dass nicht beide Züge starten, wenn der Abschnitt hinter der Weiche wieder frei wird. Muss ich da irgendwo eine Art Liste erstellen wo die Züge vor der Weiche sich eintragen und dann der Reihe nach gestartet werden ? Aber wie ? Wie steuert Ihr das ?
HaNNoveraNer Geschrieben 9. November 2020 Geschrieben 9. November 2020 Hi Ich steuere meist nach dem Prinzip der Anfrage einer freien Fahrstraße. In dem Fall würden bei mir 2 Züge die jeweilige Fahrstraße anfragen. Wird eine davon nun frei, gewinnt der Zug, der gerade abgefragt wird. Der andere fragt seine Fahrstraße weiter an. Das könnte man aber noch so einstellen, daß immer der zuerst angekommene Zug auch zuerst fahren darf, damit er nicht zufällig zu lange warten muß. Gruß Thmas
Goetz Geschrieben 9. November 2020 Geschrieben 9. November 2020 (bearbeitet) vor 3 Stunden schrieb bigrala: Muss ich da irgendwo eine Art Liste erstellen Im Prinzip, ja. Nur so kannst du bei zwei Zügen entscheiden, wer zuerst dran kommt. Ob du die Züge in einer Liste festhältst oder die Signale, an denen eventuell ein Zug warten könnte, ist für das Prinzip egal. Ich würde die Signale bevorzugen, weil diese Liste sich nicht ändert. Jetzt schaust du: "Steht am Signal 1 ein Zug?" Wenn ja: Gib den Weg für diesen Zug frei. Wenn nein, dann schaust du: "Steht an Signal 2 ein Zug?" Eine Einmündung ist im Prinzip identisch mit einer Bahnhofsausfahrt. Deshalb stehen dort auch (wie an der Ausfahrt) Hauptsperrsignale (= die mit den zwei roten Lampen) Mehrere Gleise treffen zusammen und du musst entscheiden, welcher Weg wann frei gegeben wird ... Bearbeitet 9. November 2020 von Goetz
bigrala Geschrieben 9. November 2020 Autor Geschrieben 9. November 2020 hmm, hab mir das mal mit meiner Situation angeschaut und versuche mal zusammenzufassen; Zunächst kann ich nicht die Blocksteuerung benutzen, sondern muss die entsprechenden Signale einzeln steuern. Dann müsste ich alle Strecken (zwischen den Blocksignalen) eine Variable (Gleisabschnitt Frei/Beselegt) setzen. Die beiden Signale in eine Liste packen. - Wenn diese Belegt zeigt, dann die beiden Signale vor der Weiche auf Halt - Wenn ein Zug an das geschlossene Signal heranfährt, schreibt er seinen Namen in das Signal und hält - Wenn die Variable für den Gleisabschnitt auf Frei wechselt, dann werden die beiden Signale in der Liste nacheinander auf vorhandensein eines Namens geprüft und ggf auf Fahrt geschaltet.
Goetz Geschrieben 9. November 2020 Geschrieben 9. November 2020 (bearbeitet) vor einer Stunde schrieb bigrala: Zunächst kann ich nicht die Blocksteuerung benutzen .... Selbstverständlich nicht, denn eine Einmündung ist nicht der Beginn eines Blockabschnitts, sondern eine Ausfahrt. vor einer Stunde schrieb bigrala: Dann müsste ich alle Strecken (zwischen den Blocksignalen) eine Variable (Gleisabschnitt Frei/Beselegt) setzen. Da verrennst du dich irgendwie. Wenn ein Zug den letzten Blockabschnitt vor der Einmündung betritt, dann ist doch schon klar dass er diesen Abschnitt über die Einmündung wieder verlassen will. Ab jetzt kannst du also diesen Weg vormerken. Die Gleisführung in deinem Screenshot finde ich übrigens klasse. Sehr interessant. Bearbeitet 9. November 2020 von Goetz
bigrala Geschrieben 9. November 2020 Autor Geschrieben 9. November 2020 vor 1 Stunde schrieb Goetz: Die Gleisführung in deinem Screenshot finde ich übrigens klasse. Sehr interessant. Danke für die Blumen - hier das komplette Gleisbild. Oben habe ich mit zwei roten Linien den Übergang zu einer möglichen Anlage gekennzeichnet Die roten/grünen Lampen sind nur für mich zum testen - Zustandsanzeige von Variabeln
bigrala Geschrieben 16. November 2020 Autor Geschrieben 16. November 2020 (bearbeitet) Also das wird irgendwie nix, komme da einfach nicht zurecht. Immer wieder "mische" ich meine Züge ;-) Die Gleisführung sieht vielleicht interesssant aus (wie Goetz meine), aber Steuerungsmäßig ein Albtraum. Jedenfalls für mich. Grund ist, dass von oben ein Zug kommt, der nach links weiterfährt um dann in den SB einzufahren oder einfach links oben den Bereich wieder verlässt. Das gleiche in umgekehrter Richtung - kommt links oben und kann entscheiden ob er in den Bahnhof fährt oder abbiegt um Durchzufahren. Das Problem ist jetzt der Teil im Screenshot. Es kann ein Zug von oben kommen um in den SB einzufahren, gleichzeitig kann ein Zug von unten aus dem SB kommen - beide wollen auf ein Gleis und müssen dabei ein anderes Gleis queren, auf dem ein Zug von links kommen kann. Also eine für mich sehr komplexe Angelegenheit. Ich kann mir nicht vorstellen wie es funktionieren soll, da ja irgendwie Strecken reserviert werden müssen. Natürlich können Züge die anderen Signale auf Halt oder Fahrt stellen, würde vermutlich auch funktionieren. Aber was ist, wenn zwei Züge gleichzeitig den jeweiligen Auslöser betreten. Hat jemand eine "verständliche Lösung bzw Lösungsansatz für mich. Bearbeitet 16. November 2020 von bigrala
Goetz Geschrieben 16. November 2020 Geschrieben 16. November 2020 (bearbeitet) vor 45 Minuten schrieb bigrala: Ich kann mir nicht vorstellen wie es funktionieren soll, Du musst an jeder Einfahrt in diesen Bereich wissen, wo der Zug ausfahren soll. Keinesfalls darfst du in solchen Gleisbildern Weichen spontan oder sogar zufällig dann schalten, wenn du sie erreichst. Wenn du bei der Einfahrt den Weg bis zur Ausfahrt kennst, dann weißt du auch, welche Weichen du in welche Stellung bringen musst. Bei diesen Weichen setzt du eine Variable "verriegelt" auf true. Eine Weiche darf nur umgeschaltet werden, wenn sie nicht verriegelt ist. Du verriegelst Weichen nur dann, wenn sie in der richtigen Lage sind. Eine Weiche darf nur umgeschaltet werden, wenn alle Signale, die diese Weiche decken, auf Halt stehen. Weichen werden entriegelt, wenn der Konfliktpunkt (= meistens die Weiche selbst) verlassen wurde. Ein Signal geht erst dann auf Fahrt, wenn alle Weichen richtig liegen und verriegelt sind. Dafür musst du im Signal für jeden Weg die Weichen mit ihren Lagen speichern. Das wäre (aus dem Kopf) das Regelwerk, mit dem ich es versuchen würde. Wenn die Kreuzung keine DKW, sondern eine einfache Kreuzung ist, dann musst du sie wie eine Weiche behandeln. Also "verriegeln", wenn sie zum Weg gehört und die Verriegelung aufheben, wenn du sie verlässt. Bearbeitet 16. November 2020 von Goetz
bigrala Geschrieben 18. November 2020 Autor Geschrieben 18. November 2020 Bei mir ist es so, dass der Zug beim Einfahren on den Bereich des Schattenbahnhofs eine Zufallszahl 1-3 bekommt und entsprechend dieser Zahl entweder in den Bahnhof (1) , eine Durchfahrt (2) oder eine Wende (3) geleitet wird. Insofern weiß ich bei der Einfahrt in den Bereich welchen Weg er fahren wird. Das mit dem Weichen verriegeln klingt zwar gut, sind aber doch viele Abfragen für Weg und Signale - oder ? Ich kann das ja nicht veralgemeinern bzw universell machen. Ist es nicht einfacher, wenn man die Abschnitte zwischen zwei Signalen bezeichnet (z.B. GLA 001, GLA 002 usw.) und beim Betreten des Bremskontakts einfach abfragt ob dieser Gleisabschnitt (GLA) frei ist. "Betreten Signal 1 = GLA 001 True", "Betreten Signal 2 = GLA 002 True" "Verlassen Signal 2 = GLA 001 False, wenn GLA 001= False dann Signal 1 = Fahrt" und es kann ja sein, dass von links eine Durchfahrt und von rechts eine Bahnhofseinfahrt kommt. Dann treffen die sich im linken Bereich. @Goetz Hast Du nicht Lust sowas mal in einem Video aufzubauen. Hast ja schon mal einen Schattenbahnhof aufgebaut. Kannst gerne mein Layout haben ;-)
Goetz Geschrieben 18. November 2020 Geschrieben 18. November 2020 vor 13 Minuten schrieb bigrala: Ich kann das ja nicht veralgemeinern bzw universell machen. Doch, kannst du. Mit Weichenlisten, die dem Weg 1, 2 oder 3 entsprechen. Je eine Liste für die beteiligten Weichen und ihre zugehörigen Stellungen Solche Listen legst du an jedem Entscheidungspunkt (also jedem Signal) an. Dann kannst du das alles mit einer einzigen Routine abfrühstücken. Ist immer noch ein gutes Stück Fleißarbeit, aber ein interessantes. Der Vorzug gegenüber den Abschnitten ist die direkte Relevanz. Die Weichen sind ja genau die neuralgischen Punkte. vor 17 Minuten schrieb bigrala: Hast Du nicht Lust sowas mal in einem Video aufzubauen. Große Ich habe sogar (in reduzierter Form) schon dein Gleisbild nachgebaut. Ich kann nur derzeit nicht lange genug konzentriert am PC arbeiten, um das in ein Video oder eine Twitch Sendung zu kriegen. Dein Layout hätte ich aber auf jeden Fall gerne für Versuche.
Old Grey Geschrieben 18. November 2020 Geschrieben 18. November 2020 Bei mir hat jede Weiche eine Variable verriegelt (True / False) und ein Schlagwort Riegel. Für jeden Bahnhof gibt es eine Liste mit allen möglichen Fahrstraßen. In denen sind alle Weichen mit der korrekten Stellung verzeichnet. Das sieht ungefähr so aus: Beim Schalten der Fahrstraße wird mit einer Wiederholung jede Weiche abgefragt ob das Flag verriegelt gesetzt ist. Wenn das der Fall ist, wird gewartet. Sind alle Weiche frei, werden in einer weiteren Wiederholung alle Weichen geschaltet und das Flag verriegelt gesetzt. Danach wird die Fahrstraße freigegben und das Signal geht auf Fahrt. Außerdem gibt es ein globales Ereignis, wenn eine Weiche mit dem Schlagwort Riegel verlassen wird, wird das Flag gelöscht.
Old Grey Geschrieben 18. November 2020 Geschrieben 18. November 2020 (bearbeitet) Ich hatte vergessen, die Idee kam mir beim Ansehen eines Videos (ich glaube von @Goetz ). Da wurde der aber der Fahrweg als Objektvariable im Fahrzeug hinterlegt. Ich will mich ja nicht mit fremden Federn schmücken. Edit: Mist er war schneller. Bearbeitet 18. November 2020 von modellbahn-old-grey
bigrala Geschrieben 18. November 2020 Autor Geschrieben 18. November 2020 vor 18 Minuten schrieb Goetz: Dein Layout hätte ich aber auf jeden Fall gerne für Versuche. Bitte schön ...... Die Harfe funktioniert soweit ...... kannst ja mal laufen lassen, dann sieht man schon wo es aktuell fehlt. In Deinem Schattenbahnhof hattest Du immer beim verlassen des Ausfahrsignals die Einfahrtweiche auf 0 geschaltet. Das funktioniert solange nur ein Zug einfährt bzw ausfährt. Ich hab das getrennt, da es passiert ist, dass z.B. ein Zug auf das freie Gleis 8 gefahren ist und während er noch im Bereich der Einfahweichen war, ist einer aus Gleis 5 ausgefahren. Der hat dann seine Einfahrweiche auf 0 geschaltet, was dem anderen nicht gefallen hat wenn unter ihm plötzlich eine Weiche schaltet ;-) Schattenbahnhof einseitig automatisch (4).mbp
Goetz Geschrieben 18. November 2020 Geschrieben 18. November 2020 vor 2 Minuten schrieb bigrala: In Deinem Schattenbahnhof hattest Du immer beim verlassen des Ausfahrsignals die Einfahrtweiche auf 0 geschaltet. Gut, dass du das verbessert hast. Das war wirklich keine clevere Methode. Zu einfach gedacht. Danke fürs Layout
bigrala Geschrieben 18. November 2020 Autor Geschrieben 18. November 2020 (bearbeitet) Nicht wundern, ich hatte da bisher eine kleine Blocksteuerung drin. Habe jetzt erst links bei W012 angefangen umzubauen von Block auf ...... eine eurer Ideen. Vor Bezeichnungen, Variablen usw hab ich überall SB_ für Schattenbahnhof davorgesetzt um eine Eindeutigkeit zu gewährleisten, wenn man den Schattenbahnhof mal als Modul an eine Anlage koppeln will. Für alles was den Zufahrts- bzw Durchfahrtsbereich außerhalb des Harfenbereichs betrifft, steht zusätzlich ein SBB (SchattenBahnhofBereich) davor. Bearbeitet 18. November 2020 von bigrala
bigrala Geschrieben 18. November 2020 Autor Geschrieben 18. November 2020 vor 1 Stunde schrieb Goetz: Je eine Liste für die beteiligten Weichen und ihre zugehörigen Stellungen In einer Liste kann ich die Weichen als Objekt zusammenfassen, aber wie kann man das Objekt mit Wert (Weichenstellung) in eine Liste aufnehmen ?
Old Grey Geschrieben 18. November 2020 Geschrieben 18. November 2020 Indem Du eine Liste mit Tabellen anlegst. Für jede Weiche eine Tabelle. Jede Tabelle hat dann einen Eintrag für die jeweilige Weiche als Objekt und einen als Zahl für die Stellung. Auf YouTube hat Goetz das ganz gut auf englisch erklärt. Leider bekomme ich den Link auf dem Tablet nicht kopiert. Suche einfach nach: Goetz Route setting via table
Goetz Geschrieben 19. November 2020 Geschrieben 19. November 2020 (bearbeitet) vor 9 Stunden schrieb bigrala: wie kann man das Objekt mit Wert (Weichenstellung) in eine Liste aufnehmen ? Jeder Eintrag in einer Liste kann wiederum eine Liste sein. Oder (in diesem Fall besser) eine Tabelle. Bei einer Tabelle haben die einzelnen Zellen Namen. Das ist für diesen Zweck ideal. Du kannst also in die Liste eine Reihe von Paaren eintragen. Jeweils als kleine Tabelle mit Weiche und Stellung. Leider habe ich das bisher wirklich nur auf Englisch aufgenommen. Vielen Dank für den Tipp, @modellbahn-old-grey Bearbeitet 19. November 2020 von Goetz
bigrala Geschrieben 19. November 2020 Autor Geschrieben 19. November 2020 English ist kein Problem. Habe es mir auch schon angesehen und für das linke Einfahrsignal gemacht.. Habe drei Routen angelegt (Bahnhof 1, Durchfahrt 2 und Wende 3) Bin gerade dabei auszuprobieren. Da die Route 3 und auch die 2 sehr lang ist, werde ich probieren diese aufzuteilen. Sonst kann ja immer nur ein Zug im Bereich unterwegs sein.
bigrala Geschrieben 19. November 2020 Autor Geschrieben 19. November 2020 (bearbeitet) Hmm..... also ich habe folgendes gemacht...... Als erstes bekommt die Lock bei Einfahrt per Zufall eine Nummer (1-3) in Ihre Variable "Strecke Marker" gesetzt. In dem Signal habe ich je eine Liste für die drei möglichen Routen (Route 1 L, Route 2 L und Route 3L) angelegt. In jeder Liste gibt es mehrere Tabellen, je eine pro Weiche auf der Route mit jeweils einem Eintrag Weiche (Objekt) für die Weichen-ID und Setting (Zahl) für die Weichenstellung. Betritt die Lok den GK des Signals, frage ich den "Strecke Marker" in der Lok ab und schalte die Weichen entsprechend. ( Strecke Marker 1 = Route 1 L, Strecke Marker 2 = Route 2 L und Strecke Marker 3 = Route 3 L) Soweit so gut ..... aber die Weichen schalten nicht Egal ob der Marker 1,2 oder 3 hat, die Weiche 012 schaltet immer auf 1 Sieht jemand den Fehler ? Bearbeitet 19. November 2020 von bigrala
Old Grey Geschrieben 19. November 2020 Geschrieben 19. November 2020 Ich kann auf den ersten Blick keinen Fehler entdecken. Aber zum Testen ob Dein Ereignis korrekt durchlaufen wird mußt Du Dir 7 Testvariablen (Boolscher Wert) anlegen und setzt die vor jedem Test auf false. In Deinem Ereignis setzt Du jeweils über und unter die Bedingung sowie ganz am Ende eine der Variablen auf True. So kannst Du den Weg innerhalb des Ereignisses nachvollziehen. Damit wäre erst einmal geklärt, ob das Ereignis korrekt durchlaufen wird. Den Umweg über die Variablen muß man hier gehen, da man mit der EV keine Log-Datei erstellten kann.
bigrala Geschrieben 19. November 2020 Autor Geschrieben 19. November 2020 Habe schon Kontrolllampen installiert und lasse diese schalten jeweils innerhalb der Bedingung . Beim Betreten des Signals wird der Marker der Lok richtig erkannt.
Old Grey Geschrieben 19. November 2020 Geschrieben 19. November 2020 Dann lade doch mal die geänderte Anlage hoch. Nur mit Screenshots ist die Fehlersuche schwierig.
bigrala Geschrieben 19. November 2020 Autor Geschrieben 19. November 2020 Okay, Schande über mich ...... hatte bei der Weiche in der Tabelle von Route 2 ein Leerzeichen zuviel Jetzt geht es .....
bigrala Geschrieben 19. November 2020 Autor Geschrieben 19. November 2020 Jetzt kommt noch die Fleisarbeit, Listen für jedes Signal und dann ...... das mit dem verriegeln
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden