Tesla Geschrieben 22. November 2019 Geschrieben 22. November 2019 Hallo in die Runde... Hab' da so ein kleines Problem mit der EV-Funktion "Timer". Das Szenario, das ich erreichen möchte, sieht so aus: Eine Dampflok fährt in den Bahnhof ein, bremst schön langsam ab und bleibt schließlich stehe. In Natura dampft sie noch einen Augenblick nach. Das erreiche ich, indem ich sie nicht auf 0 km/h abbremse, sondern auf 0,001 km/h. Die Verzögerung habe ich ausgerechnet, und die Lok dampft noch 2 Sekunden nach. Dann stoppt der Dampfausstoß. Nun habe ich früher beobachtet, daß die Lok danach noch einen kurzen Dampfstoß ablässt. Und genau hier liegt mein Problem. Ich habe mal den entsprechenden Abschnitt der EV angefügt. Und es funktioniert nicht, sie fängt an zu dampfen, aber hört nicht auf. Was habe ich da falsch gemacht? Gruß, Michael
Goetz Geschrieben 22. November 2019 Geschrieben 22. November 2019 (bearbeitet) vor 7 Minuten schrieb Tesla: Was habe ich da falsch gemacht? Die Bedingung "Timer läuft nicht" wird nicht ausgewertet, weil die Bedingung "Timer läuft" erfüllt ist. Das Ereignis wird insgesamt nur einmal ausgeführt, wenn der Kontakt betreten wird. Und bei diesem ersten Mal ist die Bedingung erfüllt. Schmeiß den Timer raus. Der ist die falsche Wahl. Nutz stattdessen mehrere Verzögerungen. Bearbeitet 22. November 2019 von Goetz
martin51 Geschrieben 22. November 2019 Geschrieben 22. November 2019 (bearbeitet) Hallo Michael, die Bedingung Timer läuft wird nur 1x geprüft. Timer läuft - ja -Geschwindigkeit 0,001 nacher wird nicht mehr geprüft , also keine Geschwindigkeit 0 Gruß Martin Bearbeitet 22. November 2019 von martin51 Götz war schneller
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 Hallo Goetz, hallo Martin, Problem erkannt und verstanden. Da werde ich es mal mit den Verzögerungen probieren. Danke und Gruß, Michael
Goetz Geschrieben 22. November 2019 Geschrieben 22. November 2019 vor 2 Minuten schrieb Tesla: Da werde ich es mal mit den Verzögerungen probieren. Das ist einfacher als dein Konstrukt
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 vor 7 Minuten schrieb martin51: nacher wird nicht mehr geprüft , also keine Geschwindigkeit 0 Hmm, das ist aber eigentlich unlogisch bis buggy (vom MBS her). Ich kann mit einer Bedingung prüfen, ob der Timer läuft und nur die Bedingung unter "läuft" wird ausgeführt und die andere nicht. Ist ehrlich gesagt DOOF. Gruß, Michael @Goetz Danke für Deine EV!
Goetz Geschrieben 22. November 2019 Geschrieben 22. November 2019 (bearbeitet) vor 6 Minuten schrieb Tesla: das ist aber eigentlich unlogisch Nein, das ist nicht unlogisch. Jede Bedingung wird nur einmal geprüft. Bedingungen sind kein "Dauerbrenner", der bei jeder Änderung erneut reagiert. Du musst lernen, Bedingungen und Ereignisse zu unterscheiden. Bearbeitet 22. November 2019 von Goetz
martin51 Geschrieben 22. November 2019 Geschrieben 22. November 2019 doof ? du fährst ja nicht dauernd auf dem Gleiskontakt, der das Ereignis und damit die Prüfung startet, hin und her
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 Hallo, so ists geworden... für den Anfang bin ich zufrieden, kommt noch bisschen Timing. Gruß, Michael
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 (bearbeitet) vor 12 Minuten schrieb Goetz: Bedingungen sind kein "Dauerbrenner", der bei jeder Änderung erneut reagiert. Hmm, wird die Bedingung nicht bei jedem Durchlauf der EV geprüft? Bearbeitet 22. November 2019 von Tesla
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 vor 11 Minuten schrieb martin51: du fährst ja nicht dauernd auf dem Gleiskontakt, ja, bin doof... hast ja vollkommen recht
Goetz Geschrieben 22. November 2019 Geschrieben 22. November 2019 (bearbeitet) vor 22 Minuten schrieb Tesla: wird die Bedingung nicht bei jedem Durchlauf der EV geprüft? Es gibt ein Ereignis, dass jedesmal, wenn es eintritt, deine Aktionsliste einmal triggert. In dem Augenblick, wenn ein Zug deinen Kontakt betritt, wird die zugeordnete Aktionsliste genau einmal abgearbeitet. Bedingungen in dieser Liste sind dann jeweils "entweder/oder" Entscheidungen. Aber der Ablauf nimmt nur einen Weg. Entweder diesen oder jenen. Wird der Kontakt erneut betreten, dann wird die Aktionsliste ein weiteres Mal abgespult. Das Bedingungen ein entweder/oder bedeuten ist keine Besonderheit der EV. Das findest du genau so in jeder Programmiersprache. Bearbeitet 22. November 2019 von Goetz Schreibfehler korrigiert
Tesla Geschrieben 22. November 2019 Autor Geschrieben 22. November 2019 Mein Fehler war, daß ich in dem Ereignis "Gleiskontakt wird betreten" befand. Und nur dann werden die Bedingungen geprüft. Du weißt schon: Wald vor lauter Bäume... einfach nicht bedacht, daß ich mich ja in einem bestimmten Ereignis befand.
Goetz Geschrieben 22. November 2019 Geschrieben 22. November 2019 (bearbeitet) Da ich das Bild gerade fertig habe (und es vielleicht anderen hilft, Bedingungen besser zu verstehen) ...: Ich wüsste übrigens kein Ereignis, in dem deine Vorgehensweise funktionieren würde. Das Einzige, was eine wiederholte Prüfung der Bedingung zur Folge hätte, wäre das Ereignis "Timer ist abgelaufen". Und in solch einem Ereignis wäre deine Bedingung nie erfüllt. Bearbeitet 22. November 2019 von Goetz
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