Tesla Posted November 22, 2019 Share Posted November 22, 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 Link to comment Share on other sites More sharing options...
Goetz Posted November 22, 2019 Share Posted November 22, 2019 (edited) 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. Edited November 22, 2019 by Goetz Link to comment Share on other sites More sharing options...
martin51 Posted November 22, 2019 Share Posted November 22, 2019 (edited) 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 Edited November 22, 2019 by martin51 Götz war schneller Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 2019 Hallo Goetz, hallo Martin, Problem erkannt und verstanden. Da werde ich es mal mit den Verzögerungen probieren. Danke und Gruß, Michael Link to comment Share on other sites More sharing options...
Goetz Posted November 22, 2019 Share Posted November 22, 2019 vor 2 Minuten schrieb Tesla: Da werde ich es mal mit den Verzögerungen probieren. Das ist einfacher als dein Konstrukt Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 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! Link to comment Share on other sites More sharing options...
Goetz Posted November 22, 2019 Share Posted November 22, 2019 (edited) 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. Edited November 22, 2019 by Goetz Link to comment Share on other sites More sharing options...
martin51 Posted November 22, 2019 Share Posted November 22, 2019 doof ? du fährst ja nicht dauernd auf dem Gleiskontakt, der das Ereignis und damit die Prüfung startet, hin und her Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 2019 Hallo, so ists geworden... für den Anfang bin ich zufrieden, kommt noch bisschen Timing. Gruß, Michael Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 2019 (edited) 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? Edited November 22, 2019 by Tesla Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 2019 vor 11 Minuten schrieb martin51: du fährst ja nicht dauernd auf dem Gleiskontakt, ja, bin doof... hast ja vollkommen recht Link to comment Share on other sites More sharing options...
Goetz Posted November 22, 2019 Share Posted November 22, 2019 (edited) 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. Edited November 22, 2019 by Goetz Schreibfehler korrigiert Link to comment Share on other sites More sharing options...
Tesla Posted November 22, 2019 Author Share Posted November 22, 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. Link to comment Share on other sites More sharing options...
Goetz Posted November 22, 2019 Share Posted November 22, 2019 (edited) 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. Edited November 22, 2019 by Goetz 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