gmd Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 Zunaechst hier ist eine mini testanlage: 34CFFD86-7C92-48DD-AD31-DEA6D0AF7CB4 als entwurf Eine spur, zwei kontakte, richtungsumkehr mit grafischer steuerung gemacht. Wenn man das fahrzeug rueckwaerts and den kontakt faehrt, funktioniert die umschaltung auf beiden kontakten. Wenn man vorwaerts ranfaehrt, bleibt das fahrzeug einfach stehen .. Was ist hier faul ? gruss Gmd Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Neo Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 Hallo Gmd, dein Ereignis "Vorne" enthält einen Fehler. Zuerst drehst du die Fahrtrichtung um, und überschreibst diese gleich danach wieder mit einer positiven Geschwindigkeit. Somit fährt das Fahrzeug weiter vorwärts. Entweder du weist eine negative Geschwindigkeit zu oder verwendest das Feld "Relativ zur Fahrtrichtung". Viele Grüße, Neo Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gmd Geschrieben 8. Mai 2023 Autor Teilen Geschrieben 8. Mai 2023 ok, kapiert. Danke Gmd Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gmd Geschrieben 8. Mai 2023 Autor Teilen Geschrieben 8. Mai 2023 Nun, der loader bewegt sich nach vorne und hinten. Dann habe ich animationen eingebaut und bin dabei das script stueck fuer stueck generisch zu machen. Hier ist eine andere testanlage: 18CAA89C-FF0C-42AF-9AD7-E6DC73D82AE5 Der loader ist wieder das problem. Wenn du rueckwaerts gegen den hinteren kontakt faehrst, started die animation, die eigentlich gemaess code (Lua function) gar nicht starten sollte. Und mit der protokollierung sieht man dass der kontakt mehrfach ausgeloest wird waehrend die animation laeuft. Ich bin zu dumm fuer Lua und die testmoeglichkeiten (lack of) nerven mich etwas, wenn man sonst mit visual studio arbeitet. Was mache ich falsch ? Gruss Gmd PS: Ich baue mir etliche solcher kleiner diaramas, um verschiedene scripte zu entwickeln und dann verschieden einsetzen zu koennen. Ich hoffe dass meine geduld und erfolg mit Lua wieder besser wird. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HaNNoveraNer Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 (bearbeitet) Dein string.find funktioniert so nicht. Frag mich aber nicht, warum Ich denke er versteht den "-" nicht. Schreib mal "KV" statt "KV-" u.s.w. Bearbeitet 8. Mai 2023 von HaNNoveraNer Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Neo Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 vor 30 Minuten schrieb HaNNoveraNer: Ich denke er versteht den "-" nicht. Das ist korrekt, es handelt sich im Kontext von find um ein Sonderzeichen. @gmd Du musst entweder das - escapen (siehe Lua-Doku) oder du rufst find mit den zusätzlichen Parametern "1, true" auf, um eine "plain"-Suche durchzuführen. Viele Grüße, Neo Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 (bearbeitet) vor 10 Stunden schrieb gmd: Was mache ich falsch ? Hallo Gmd, unter anderem baust du jedes Mal, wenn du einen beliebigen Kontakt betrittst, die folgenden Funktionen alle neu (und immer wieder identisch): function playFrontAnimation () function getKontaktPrefix (contact) function setSpeed(vehicle, speed) function processFrontKontakt () function processSideKontakt () function processRearKontakt () function processWaitKontakt () Ich sehe darin keinen Sinn. Und ich bezweifle auch, dass die deferred calls so, wie du sie eingebaut hast, funktionieren können. Ein deferred call ruft nach meinem Verständnis das Ereignis erneut auf und nicht die Lua Funktion innerhalb deines Ereignisses (die du obendrein bei jedem Aufruf neu anlegst). Viele Grüße Götz Bearbeitet 8. Mai 2023 von Goetz Schreibfehler korrigiert Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 8. Mai 2023 Teilen Geschrieben 8. Mai 2023 (bearbeitet) vor 8 Stunden schrieb Goetz: Ein deferred call ruft nach meinem Verständnis das Ereignis erneut auf und nicht die Lua Funktion innerhalb deines Ereignisses Bearbeitet 8. Mai 2023 von Goetz Schreibfehler korrigiert Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gmd Geschrieben 9. Mai 2023 Autor Teilen Geschrieben 9. Mai 2023 ok, danke guys, waere ich nie drauf gekommen, fuer mich ist das halt ein string. Bin nicht tief genug in Lua bisher um darauf zu kommen. Sehr gut, stueck fuer stuck komme ich dann weiter. Gruss Gmd Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gmd Geschrieben 9. Mai 2023 Autor Teilen Geschrieben 9. Mai 2023 (bearbeitet) Goetz, das ist nicht das problem. Es ist eine zentrale routine fuer alle kontakte. Die animation is absolut korrekt und laeuft auch richtig ab. Das problem ist/war die ausloesung der animation, weil das find nicht geht, laut Hannoveraner und Neo. Was abzuwarten bleibt ist warum der kontakt waehrend der animation ausloest, aber das ist nicht so relevant da an dieser stelle nur eine umschaltung stattfindet. Die animateion entladen kommt erst auf der anderen seite. In meiner blockdemo verwende ich das gleiche konzept aber ohne den "-"; Ich verteile die kontakte und signale intern. Ich bin am testen mit den schlagworten untergruppen zu bilden, da das ja sehr viel werden kann. Muss einfach mal sehen wann die MBS steuerung in die knie geht, wenn ich das so weitermache. Ich vermute mal, dass das noch niemand so richtig ausprobiert hat, mit solch extremen faellen. Ist spannend. Danke fuer posts und hilfe alle zusammen. Werde die kleinen diaramen mit den scripten veroeffentlichen, wenn sie funktionieren. Gruss Gmd Bearbeitet 9. Mai 2023 von gmd Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
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