RE: Auf Benutzereingabe in einer State-Machine warten, ohne diese zu blockieren
Ich danke allen erst einmal für die schnellen Antworten !
@wladimir s
Das mit dem Shift-Register ist eigentlich eine gute Idee, jedoch wird in meinem Sub-VI eine queue ausgelesen und in Listen geschrieben und später von den Listen, nach dem "done"-Druck wieder auf eine andere queue geschrieben. Mit dem shift-register erweist sich das also als schwierig. Das Ding parallel zu meiner state-machine in meiner while-loop laufen zu lassen würde natürlich funktionieren, dann bräuchte ich das Sub-VI allerdings nichtmehr. Gerade das wollte ich ja haben, damit es übersichtlicher wird.
Es soll also genau so funktionieren, als wäre es eine zweite state-machine in meiner while-loop, die aus der ersten Kommandos bekommt und die zweite mit Kommandos befeuert. Das ganze eben bloß als Sub-VI.
@GerdW
Ich würde mich freuen, wenn es sich nicht jedes Mal öffnen und schließen würde, aber das tut es automatisch, sowie aus dem Sub-VI ein neuer Wert rauskommt oder einer für die case übergeben wird. Das will ich aber gar nicht ! Vielleicht habe ich einfach einen Denkfehler und das kann garnicht auf die Art und Weise klappen, wie ich mir das vorstelle ? Habe jedenfalls alle Properties durchsucht und auch einige ausprobiert, aber verhindern, dass es sich nach Abarbeitung eines cases schließt, konnte ich nicht. Habe in den VI-Einstellungen schon alle relevanten Häkchen entfernt.
@lucki
Danke für den Link. Ich hatte mir diesen Thread schon vor Eröffnung meines Threads angesehen, nun auch das Beispiel runtergeladen. Das sieht schon gut aus, allerdings arbeitet das Teil sowohl mit Event-Cases und ist dazu für mich noch nicht sofort auf einen Blick zu durchschauen. Ist nen schönes Ding, aber ich denke für mich etwas zu viel des Guten, da es ja doch schon etwas komplexer ist. Dann hätte ich alles von Grund auf anders bzw. so aufbauen müssen. Das geht jetzt natürlich nicht mehr, oder nur mit sehr viel Arbeit.
Ich bin ja eher der Meinung, dass ich irgendetwas übersehen habe und sich daher mein Sub-VI andauernd neu öffnet und schließt. Kann ja nicht so schwer aus einer while-loop mit zwei state-machines eine while loop mit einer state-machine und einem Sub-VI (welches die andere state-machine beinhaltet) zu machen, ohne dass sich das Sub-VI dauernd neu zu öffnet und schließt. Das Sub-VI soll eben, wenn nicht "done" gedrückt wurde intern im "idle" hängen, aber die zweite state-machine weiterarbeiten lassen. Hmmmmm...
Hat noch einer einen heißen Tipp ?
|