Jump to content

Virtuelle spur - richtung umschalten - ??


Empfohlene Beiträge

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

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

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

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

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 von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

 

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

totalrecall.thumb.jpg.62949789a7f55ec9c61b7f7f987b2b70.jpg

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

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 von gmd
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...