frieder Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo zusammen, ich habe in meiner Anlage einen riesigen Bahnhof mit 14 Gleisen. Dort ist folgende Situation: Auf Gleis 1 fährt ein Zug ab. Zugleich fährt ein anderer Zug ein und wird zunächst zu Gleis 3 geleitet. Da Gleis 1 durch die Abfahrt des Zuges frei wird, merkt das Programm dies und schaltet die Weiche um. Dadurch wird der einfahrende Zug "aufgeteilt". Wie kann ich das Programm dazu bringen, bei Abfahrt des Zuges erst mal zu prüfen, ob ein Zug gerade auf der Weiche, die zu dem Gleis lenkt, fährt, und dann erst bei freier Weiche umschaltet? Am besten wäre es für mich, wenn der Antworter dabei jeweils Screenshots für jedes Ereignis, dazu für jeden Reiter (Ereignis, Bedingungen, Aktionen) einfügt. Grüße, Frieder
streit_ross Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frieder, es ist für den Leser Deiner Frage, trotz der von Dir recht verständlichen Schilderung Deines Problems, nicht immer leicht, ohne genaue Kenntnis der Ereignisverwaltung eine passende Lösung von "außen" zu finden. Es hat sich daher in jedem Fall bewährt, wenn der Fragesteller seine Anlage als mbp.Datei seinem Beitrag anfügt. Dazu exportiert Du Deine Anlage in einen Ordner Deiner Wahl - meinetwegen in (Meine) Dokumente. Das Dateiformat .mbp wird automatisch erstellt und Du musst nur noch den Namen der Anlage eingeben. Wenn Du dann Deine Anlage hier zeigen möchtest, brauchst Du nur am unteren Rand Deines Beitrages auf "Dateien auswählen" klicken und fügst die mbp.Datei ein. Das war's und jeder, der Dir helfen kann, kann Deine Anlage sozusagen live sehen und damit auch den Fehler. Und hier wird Sie dann geholfen. Gruß streit_ross
h.w.stein-info Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frieder Mal eine Idee zu der EV " Bedingungen müssen erfüllt sein ( UND ) " , dort ein Eintrag zugeben " Fahrzeug steht auf einem Gleis / eine Straße " ( Version4 ) - dann die Weiche an geben die noch besetzt ist , entsprechend die Aktionen . Meine damit müsste es eigentlich gehen . Ich finde leider jetzt nicht die Spalte in der ich das auch so gelöst habe " z.B. Ampelanlage-Kreuzung ( Weiche rechts ) für Rechtsabbieger über eine Kreuzung . So lange die Weiche besetzt ist , wird die Weiche nicht umgeschaltet , erst danach wenn das Fahrzeug die Weiche verlassen - hat schaltet die Weiche wieder . Denke das ist das was Du auch hier brauchst ! Hoffe man konnte mich verstehen , was ich damit aussagen wollte ! Viele Grüße HnS
frieder Geschrieben 9. September 2018 Autor Geschrieben 9. September 2018 Hallo h.w.stein-info, heißt das, dass wenn das Ereignis ausgelöst wird, dass das Programm wartet, bis die "Bedingungen wahr sind? Ich frage so etwas, weil ich erst sehr wenig Erfahrung mit 3D Modellbahn-Studio V4 habe. Gruß, Frieder
quackster Geschrieben 9. September 2018 Geschrieben 9. September 2018 (bearbeitet) hallo frieder das programm wartet nicht auf eine bedingung! es fragt den ist zustand ab. vg quackster Bearbeitet 9. September 2018 von quackster
BahnLand Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frieder, vor 33 Minuten schrieb frieder: heißt das, dass wenn das Ereignis ausgelöst wird, dass das Programm wartet, bis die "Bedingungen wahr sind? nein. Wenn das Ereignis ausgelöst wird, wird zunächst geprüft, ob zusätzliche Bedingungen vorhanden sind. Wenn es keine zusätzlichen Bedingungen gibt, werden die in der Ereignisdefinition hinterlegten Aktionen ausgeführt. Sind zusätzliche Bedingungen vorhanden, müssen diese erfüllt sein, damit die Aktionen ausgeführt werden. Sind beim Auslösen des Ereignisses in der Ereignisdefinition enthaltene zusätzliche Bedingungen nicht erfüllt, werden die Aktionen nicht ausgeführt. Es findet dann also keine (tatsächliche) Reaktion auf die Ereignisauslösung statt. Wie @quackster schon anmerkte, gibt es keinen Mechanismus, bei nicht erfüllter Bedingung deren Erfüllung automatisch abzuwarten und dann die Aktionen auszuführen. Viele Grüße BahnLand
streit_ross Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frieder, da Du Dich zunächst noch sträubst, Dein Anlage hier zur Ansicht freizugeben, versuche ich es trotzdem mal mit einer "Fernlösung". Also; Wenn Dein Zug Gleis 1 verlässt, schaltet er eine Weiche, die die Einfahrt des Zuges in Gleis 3 stört. Dann verlege doch das Gleis, welches die Störung verursacht nach "hinten". Zum Beispiel nimmst Du das Gleis, welches die Weiche zu Gleis 3 zu früh startet und hebst es hoch und lässt das eine oder die zwei oder die drei folgenden Gleise die Stelle des bis jetzt die Weichenstellung auslösende Gleis einnehmen. Und im Anschluss fügst Du das Auslösegleisin die neu entstandene Lücke ein. Ich sehe gerade, dass BahnLand Dir antwortet. Du bekommst damit sehr wahrscheinlich einen neuen Lösungsvorschlag. Gruß streit_ross
quackster Geschrieben 9. September 2018 Geschrieben 9. September 2018 (bearbeitet) ich noch mal... du kannst das problem umgehen deine weiche für gleis 1 wurde umgeschaltet (auf gleis 3) als ein zug auf gleis 1 eingefahren ist. also sollte die weiche erst wieder umgeschaltet werden, wenn ein zug auf gleis 3 eingfahren ist. vg quackster Bearbeitet 9. September 2018 von quackster
fzonk Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frieder, eine einfach Lösung wäre vielleicht auch dass du nicht das Verlassen des Gleises als Auslöser programmierst sondern eher die einfahrenden Züge die Belegung abfragen lässt und dadurch die Gleise zugewiesen werden. Gruß Frank
streit_ross Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo Frank, biite versetze Dich doch bitte in die Lage eines Frischlings. Wie soll derjenige Deine Worte interpretieren :""frage doch mal einen einfahrenden Zug ab". Seit wann können Züge auf eine Frage antworten und wie stelle ich sie ihnen? Du als weit fortgeschrittener Experte verstehst den Sinngehalt meiner ironischen Anmerkung aber eine "echte" Hilfe sollte angemessen anders formuliert werden. streit_ross
fzonk Geschrieben 9. September 2018 Geschrieben 9. September 2018 Hallo streit_ross, da hast du wahrscheinlich recht, dass meine Gedanken da etwas zu schnell waren. Ich werde mich die Tage mal hinsetzen und versuche eine nachvollziehbare Musteranlage zu bauen, wo man ein Beispiel bekommt wie man das Problem mit der Gleiszuordnung lösen könnte. Für alle die es in einer meiner Anlage sich ansehen wollen, einfach mal die Anlage „TT Heimanlage 3500x1200“ (Content ID: C67BD531-103A-4437-8104-173B8F3710C7) anschauen. Gruß Frank
pfjoh Geschrieben 10. September 2018 Geschrieben 10. September 2018 Hallo Ich lehn mich jetzt mal aus dem Fenster . Wie wäre es mit einen Timer? und damit den Befehl verzögern MfG Hans
Andy Geschrieben 10. September 2018 Geschrieben 10. September 2018 vor 22 Stunden schrieb BahnLand: Wie @quackster schon anmerkte, gibt es keinen Mechanismus, bei nicht erfüllter Bedingung deren Erfüllung automatisch abzuwarten und dann die Aktionen auszuführen. Doch! Setze eine Variable v = 0. Nun: Ereignis DeinEreignis -> Aktion setze v = 1. Ereignis Variable wird gesetzt v = 1 mit Bedingung erfüllt -> Aktion Sonstwas und setze v = 0 -> ansonsten Aktion setze v = 1. Das frißt er so tatsächlich, probier's mal aus! Gruß Andy
fzonk Geschrieben 10. September 2018 Geschrieben 10. September 2018 Hallo @Andy Sehr guter Vorschlag wenn auch etwas verwirrend beschrieben Ich bin mal gespannt wie viele dir gerade folgen konnten Gruß Frank
h.w.stein-info Geschrieben 10. September 2018 Geschrieben 10. September 2018 Hallo Modellbahnfreunde Ich versuche eine Test-Anlage zubauen die für die EV gesteuert werden kann . Das erste Bild zeigt die gesamte Anlage ! Nun folgen weitere Bilder von links nach rechts ........ Eins vorweg muss ich dabei schreiben , was so eigentlich nicht üblich ist . Auf dieser Anlage sind mit der EV die Licht- und Formsignale mit der EV (Phase oder Signalbild ) verbunden . Das heisst z.B. : es ist vom Licht-Hauptsignal anhängig über die EV . Dabei ist unterteilt unter Einfahrsignale und Ausfahrtsignale und Weichensignale . Vor den Signalen ( ausser Weichensignale ) ist immer ein SPERRWEICHE eingebaut . Jedes Objekt ist eindeutig bezeichnet , auch mit einer Beschriftung versehen , wie jedes Objekt heisst . Nach der Bahn Verkehrsordnung kommen Lichtsignale oder (noch alte ) Formsignale hervor , also entweder Form- oder Lichtsignal . +++ Auf dieser Anlage sind sie zusammen , damit man weisst was passiert , wenn man eines dieser beiden Signale arbeiten wollte +++ ( Vergleichsbild !! ) . Heute werden keine Weichensignale mehr eingesetzt , aber auf alten Strecken sind sie noch vorhanden . 1. Frage : Jetzt müsste ich wissen , ob ich auch noch eine oder mehr Blockstellen auf der Hauptstrecke einbauen sollte ? Was ist auch noch einbauen wollte sind Gleise für Anmeldung , bremsen ( Langsam Fahrt ) , stopp ( und mit SPERRWEICHE ) und Abfahrtgleis . Die neuen Signale , die mittlerweile schon für Version 4 gekommen sind , kann ich auch noch dazu ergänzen . Hier sollte auch die Frage beantwortet sein ( zumindest ein grössten Teil ) , wo Signale platziert werden mit Sonderstellung " die extra eine Markierung erhalten " . 2. Frage : Sollte man mit einen Bahnübergang mit einbauen ? 3. Frage : weitere Vorschläge , das für ein Anfänger es leicht fällt damit um zugehen und versteht ?1? 4. Frage : Sollte ein Beispiel mit VOLLAUTOMATIK oder auch manuelle Steuerung in der EV vorkommen ? 5. Frage : Mit oder ohne GBS-Bausteine ; oder sogar Schalter/Taster ? Eine Erklärung der EV von Version 3 und 4 sind im Bereich " Anleitung und Tutorals zu finden ! Die habe ich damals aufgelistet und auch zum Vergleich . Es sollten alle Möglichkeiten geben und doch noch einfach gehalten werden - so ist und war mein Gedanke . Wie findet Ihr das ? Bittet hier um Antworten !! Hier mal eine Ausfahrt ( vorne = Lichtsignal / hinten die Form-Signale ) . Angesprochen muss hier nur das Lichtsignal , denn das Form-Signal nimmt vom Lichtsignal den Status an über die EV . Viele Grüße HnS
BahnLand Geschrieben 10. September 2018 Geschrieben 10. September 2018 Hallo Andy, vor 3 Stunden schrieb Andy: Doch! Setze eine Variable v = 0. Nun: Ereignis DeinEreignis -> Aktion setze v = 1. Ereignis Variable wird gesetzt v = 1 mit Bedingung erfüllt -> Aktion Sonstwas und setze v = 0 -> ansonsten Aktion setze v = 1. eigentlich hatte ich ja mit meiner Aussage einen Automatismus im Modellbahn-Studio selbst gemeint. Leider hatte ich mich da etwas falsch ausgedrückt (sorry). Mit einer zusätzlichen Programmierung in der EV bekommt man dagegen "fast" alles hin. Dein Beispiel ist eine wirklich interessante Lösung, von der ich zunächst glaubte, dass sie nicht funktioniert. Aber aufgrund Deines Beispiels habe ich gelernt, dass im Gegensatz zu den Ereignissen "Weiche schaltet auf Zustand w" und "Signal schaltet auf Zustand s", wo das Ereignis nicht ausgelöst wird, wenn der Ziel-Zustand vor dem "Schalten" bereits vorliegt, dies bei der Variable eben gerade anders ist: Wird durch das Setzen einer Variable auf den Wert "v" dieser nicht verändert, weil die Variable diesen Wert bereits vorher besaß, wird das Ereignis "Variable wird auf v gesetzt" trotzdem ausgelöst. Wäre hier das Verhalten analog zu dem bei Weichen und Signalen gewesen, hätte das obige Beispiel nicht funktioniert. Einen kieinen Nachteil hat das obige Verfahren jedoch: Tritt das ursprünglich zu testende Ereignis ("DeinEreignis") auf, ohne dass die Bedingung jemals erfüllt ist, wird der Test auf den Wert 1 der Variable solange ununterbrochen durchlaufen, bis die Variable durch ine andere Aktion explizit auf 0 gesetzt wird. Nur so kann die Schleife abgebrochen werden. Um die Schleife nicht ohne Pause durchlaufen zu lassen, könnte man die Lösung auch wie folgt abwandeln: Ereignis DeinEreignis -> Bedingung erfüllt: Aktion Sonstwas ausführen -> Bedingung nicht erfüllt: Countdown xy mit n Sekunden mit "automatischem Neustart" aufziehen. Ereignis Countdown xy läuft ab -> Bedingung erfüllt: Aktion Sonstwas ausführen und Countdown xy stoppen. Diese Lösung erfordert jedoch eine Mindest-Wartezeit (z.B. 0,1 Sekunden), damit auch andere Ereignisse zwischenzeitlich abgearbeitet werden können. Sonst kann es passieren, dass das Modellbahn-Studio auf "äußere Einflüsse" nicht mehr reagiert. Wählt man größere Wartezeiten, trägt man hiermit zur Entlastung der CPU bei, ohne dass die ursprüngliche Funktionalität verloren geht. Als "Nothalt" wird hier der Countdown durch eine separate Aktion gestoppt (entspricht dem expiziten Setzen der Variable aus obigem Beispiel auf 0). Viele Grüße BahnLand
Berlioz Geschrieben 11. September 2018 Geschrieben 11. September 2018 Hallo frieder! Obwohl die EV immer noch das Kriegsbeil gegen mich ausgegraben hat, versuch ich's mal trotzdem. Ich verstehe Dich so: Gleisbesetztmelder sagt: Zug auf Bahnsteiggleis, einfahrender Zug sieht: desgleichen, während Zug einfährt, wird aber das Bahnsteiggleis frei und die EV schickt einfahrenden Zug auf freies Bahnsteiggleis und erwischt einige Waggons auf Weichen und spaltet den Zug. Theoretische Ansätze: 1. Erweitere die Gleisbesetztmelder auf die Gleisgabeln 2. Erweitere die EV von "Gleis besetzt" unter Bedingungen auf "und" "Zug verlässt Gleis" (irgend ein Gleis nach der Weichengabel).Vorraussetzung: der Zug ist lang genug, sich gleichzeitig auf dem Bahnsteiggleis und der Weichengabel zu befinden. 3. Grundsätzliche EV-Überarbeitung. Statt "Nächster einfahrende Zug auf frei gewordenes Gleis": Zug mit Nr. X auf Gleis X, oder wenn Zug X ausfährt: Zug X auf Gleis X. 4. Einfahrt des 2. Zugs erst wenn Einfahrtssignal grün, wird durch "Zug betritt Gleis" (ausfahrender Zug) ausgelöst wird (Länge des Zugs im Auige behalten) Gruß, Berlioz
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