Jump to content

HaNNoveraNer

Mitglieder
  • Gesamte Inhalte

    1532
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von HaNNoveraNer

  1. Genau das hab ich getan, Neo. Siehe Beitrag oben. Dort BETRITT die rote Lok den Gleiskontakt und schaltet die schwarze Lok um. Und genau beim BETRETEN wird die Lok-Variable aber VORHER/ZUERST aktualisiert und dann erst die Geschwindigkeit zugewiesen :-) Siehe Code beim Betreten eines Signalkontakts.
  2. Hallo Brummi Das habe ich verstanden. Damit funktioniert die Anlage. Ist ja auch egal, wir müssen das nicht klären, warum mitten zwischen den Signalen, ohne daß ein Kontakt verlassen wird, die Geschwindigkeit umschaltet. Das ist der Moment, wo die schwarze Lok von 200km/h auf 40km/h runterbremst. Und da verläßt keine Lok einen Kontakt, um die Geschwindigkeit einzustellen. Aber da BETRITT eine Lok den Bremsbereich von Signal 2. Hauptsache die Lösung funktioniert jetzt. Vielleicht kann Neo diese ganzen Posts verschieben oder löschen. Gruß Thomas
  3. Hallo @Neo Auf dem Bild beschleunigt keine Lok gerade auf 200. Es geht auch nicht darum, eine Anlage zu analysieren. Es geht einfach darum, eine Erklärung dafür zu finden, warum an einem Signalkontakt die Reihenfolge der Aktionen in der EV vom MBS nicht eingehalten werden? Zuerst soll das auslösende Fahrzeug bei betreten des Signalkontakts eine Variable im Signal setzen. Danach wird eine Bedingung aufgerufen, ob das Signal auf Fahrt steht. Wenn ja, dann wird die Lok in der Signalvariablen auf eine beliebige Geschwindigkeit gesetzt. Was aber passiert: Die Aktionen werden vertauscht aufgerufen. Zuerst wird die Geschwindigkeit der Vorgängerlok gesetzt, die noch in der Variablen steht und dann erst wird die Auslöserlok in die Variable eingetragen. Das Ereignis siehst Du in meinem letzten Bild etwas weiter oben. Meine zuletzt hier gepostete Anlage TEMP.MBP demonstriert das Verhalten. Es geht also nur um die Frage: WARUM ist das im MBS so vertauscht programmiert? Gruß Thomas
  4. Ja klar. Da stimmt was in der Reihenfolge der Abarbeitung nicht. Danke! Gruß Thomas
  5. Hi Brummi Ich bin jetzt aber richtig stinkig, daß Du es erst so spät gesehen hast. Aber das Problem besteht glaube ich trotzdem und der Lokname müßte nicht gelöscht werden. Deine EV war schon ok so. Das hatte ich auch zuerst gedacht, den Loknamen zu löschen. Das macht das Problem aber nur unsichtbar. :-) Mal sehen, was Neo sagt...
  6. Hallo Brummi Nicht falsch verstehen. Ich möchte nur versuchen zu verstehen, wieso die Lok mitten in der Fahrt die Sollgeschwindigkeit abrupt wechselt. Das hat nichts mit Deiner Anlage zu tun. Wodurch wird das ausgelöst? Wie genau ist zu erklären, daß die Lok von zum Testen eingestellten 200km/h abrupt auf 40 km/h abbremst und das weit entfernt vom 40km/h Signal? Du hast schon richtig erkannt, daß das mit MoBa Simulation nichts zu tun hat, denn es ist eine TESTANLAGE, um den Effekt deutlich zu demonstrieren. Mag sein, daß das kein Fehler in der EV ist, aber es ist schon merkwürdig und für mich nicht erklärbar. Vielleicht kann @Neo hier aufklären, was genau da passiert? Obwohl die BR78 den Kontakt noch nicht erreicht hat, gibt der Signalkontakt die Geschwindigkeit weiter. Als Lok ist aber noch in der Variablen die rote Lok eingetragen. Erst wenn die BR 78 den Kontakt erreicht, wird ihr Lokname dort eingetragen. Das scheint ein Timingproblem (Fehler?) verursacht durch die neue Bremskontaktfunktion? zu sein. Zuerst wird die Bedingung ausgeführt und dann erst wird die Variable gesetzt. Signal1=rechts, 2=unten, 3=oben Gruß Thomas
  7. Hier nochmal ein Beispiel zu dem Fehler mit der Geschwindigkeit: Die sollte zwischen den Signalen konstant sein bis zum Bremspunkt (falls gebremst wird), oder? test.mbp
  8. >>> If I put it on the SIGNAL, which is possible, should contact.variables["Herman"] work ? <<< Phew, you got it!
  9. Blocksignal1 is a SIGNAL You dont need "contact.signalsobjectname" or similar. You can choose "contact" for the signal.
  10. The object is named "contact" not "signal" You can access the signal variables via the trigger "contact" in the expanded variables section. Hope I did understand your question now? Regards Thomas
  11. Hi Brummi Irgendwas stimmt mit der Geschwindigkeitssteuerung nicht: test.mbp Sieht so aus, als wenn er zuerst die Geschwindigkeit der Vorgängerlok setzt und dann erst den neuen Loknamen übernimmt, wenn eine Lok zum Bremsen ansetzt. Gruß Thomas
  12. Neo Nur zum Testen dieses Features. :-) Also kann man auf Gleisen keine Züge erkennen, wenn der Antrieb nicht drauf steht.
  13. Und wie bekomme ich den Zug am Gleis dann zum stehen ohne Gleiskontakte? Man müßte dann evtl. zwischen Zug und Fahrzeug unterscheiden. Die Lok hält ja auch nicht, wenn sie dann endlich das Gleis erreicht. test.mbp
  14. Das funktioniert nicht bei geschobenen Waggons. Ist das ein Bug oder ein Feature?
  15. Hi Herman Is this what you want? V6 train starts by signal.mbp
  16. Hallo Wie bekommt man das Gleis in den Unterordner "H0 Gleise" ? Verschieben geht nicht.
  17. Hi Brummi Die Dachziegelfarben waren sogar beim Origialhaus besser. Pink, gelb,grün gefällt mir nicht. Hast Du da nicht was "natürlicheres"? Gruß Thomas
  18. Hi Herman You could use a condition to find out which locomotive is on the track before the signal, or you could store the name of the locomotive in a variable of the signal when entering the track contact. Regards Thomas
  19. Da hast Du recht. Jetzt hab ich mehr Zeit und die knackige Lösung mit dem Timer optimiert. Jetzt wird reihum ab einem zufälligen Signal geprüft, ob ein Gleis besetzt ist und wenn kein Gleis besetzt ist, legt der Timer sich wieder schlafen. :-) V6 Zug finden mit Timer.mbp
  20. Da sind wir dann schon fast beim Thema Fahrstraßen... :-)
  21. Wäre ein gute Übung für den Fragesteller
  22. Und endlich die perfekte TRY and ERROR Lösung OHNE Lua: test.mbp
  23. Ja, das wäre ein Lua Weg. Aber dann bräuchte es hier EINE benutzerdefinierte Funktion, die man vor dem Zufallsgenerator aufruft. Dann kann man den Rest wieder per grafischer EV machen. Eine weitere Lösung wäre, in der Liste immer an einer anderen Position zu starten und dann das erste besetzte Gleis zu nehmen. Dazu müßte die Wiederholung aber mit rollierendem Index arbeiten. Noch eine Lösung wäre, einen Timer zu starten. Damit ginge es wieder komplett grafisch. Dem Timer eine Zufallsvariable mitgeben und jedesmal wenn er abläuft die Variable als rollierenden Index nutzen, um das nächste Gleis zu checken. Bis er ein Gleis findet und dann den Timer wieder abschalten. Rollierend heißt, er fängt nach 10 bei 1 wieder an. Gruß Thomas
  24. Hi bigrala Hier eine Version, wo die Signale nur in den besetzten Gleisen ausgewählt werden. Leider habe ich in der EV keine Wiederholungsfunktion für den Fall: Wiederhole bis Variable den Wert "x" hat gefunden. @all Wie macht man das ohne Lua? Eigentlich müßte der Zufallsgenerator so lange wiederholen, bis die Bedingung "Gleis besetzt" wahr ist. Daher kann es passieren, daß manchmal gar kein Signal schaltet, wenn das Gleis besetzt ist, das der Zufallsgenerator gewählt hat. Gruß Thomas test.mbp
  25. Na ja. Das ist sozusagen eine Vorgabe, wie man eine Liste durchgeht und damit etwas auslöst. Für die Signale mußt Du das nun mal selber probieren :-) Durch probieren lernt man es erst richtig.
×
×
  • Neu erstellen...