' schrieb:Das liegt daran:
Wenn du "StoppOuter" anklickst, wird nur die untere While-Schleife beendet, nicht aber die obere. Weil die obere While-Schleife aber noch läuft, kann das MainVI nicht beendet werden.
Es hat echt gedauert, bis ich das gesehen habe.
Zitat:Ich habe jetzt die Mechanical Action des "Stopp inner" Buttons zu "Switched until released" geaendert. Dann springt er zumindest wieder in den hellgrauen Zustand zurueck und verbleibt nicht im dunkelgrauen, gedrueckten Zustand.
Dann funktioniert auch der "Stopp outer" Button in folgender Art und Weise: Man drueckt entweder "Stop inner" zuerst und dann "Stop outer", LabVIEW bricht ab, oder erst "Stop outer", dann "Stop inner", LabVIEW bricht ab.
Das funktioniert doch nur deswegen, weil ich erstmal die Mechanical Action des "Stop inner"-Buttons in "Switched until released" geaendert habe und der Button dann wieder in den urspruenglichen Zustand zurueckspringt. Es wird dann die Eventstruktur ausgeloest und die obere, innere while-Schleife stoppt. Deswegen muss man danach noch "Stop outer" druecken, um alle verbleibenden while-Schleifen zu stoppen.
So habe ich das jetzt verstanden.
Ich finde meine jetztige Version, die bei einmaligen Druecken ds "Stop outer" alles beendet, besser.
Das bringt mich noch zu einer anderen Beobachtung:
Oft liegt ja in einem Eventcase eine Boolean, bei ist es z.b. ein Stop-Button. Ich habe mich jetzt fuer folgendes entschieden: Den Stop-Button nicht direkt mit der naechsten Vi oder stop einer whil-Schleife verbinden, sondern neben den Stop-Button eine Boolean True in die event case legen, die dann zusichert, dass auch wirklich ein true-value weitergeleitet wird.
Ich weiss nicht, ob ich da uebertreibe, aber wenn man sich vielleicht mit der mechanical action eines Buttons unsicher ist, hilft das vielleicht?
Value change bedeutet doch nur, dass sich etwas aendert und nimmt keine Rueckicht auf den eigentlich boolean-Wert. Stimmt das? Deswegen glaube ich das "Stop outer" dann, wie kurz zuvor oben beschrieben, ermoeglichte, die Schleife zu beenden. Es hat sich halt irgendwas gaendert und das reichte, den event case auszuloesen.
' schrieb:Das Schaltverhalten der drei Bedienelemente "Infuse", "Withdra", und "Jiggle M1" kann du auf "Latch beim Loslassen" stellen. Die Lokalen Variablen dieser Elemente brauchst du dann nicht mehr. Das Verhalten ist dann genau wie jetzt.
Ist "Latch beim Losslassen" "Latch when released"?
Ich glaube, das war urspruenglich auch so.
EDIT: IchSelbst, entschuldige, aber bist du dir sicher, das das geht? Ich habe versucht, den Infuse-Button auf "Latchen when released" umzustellen. Dann gab es eine Fehlermeldung, dass bei latch keine lokalen Variablen erlaubt seien. Also bleibt der Button erstmal bei "Switched when released".
Ich benoetige doch die lokale Variabel des Buttons fuer die Sequenz, wie in deinem Bild dargestellt.
' schrieb:In LV gibt ein kein abarbeiten von Linsk nach Rechts - hier gilt lediglich Sequenzierung!
Was bestimmt bitte die Sequenzierung? Die Kabel, die dann auch den Datenfluss bestimmen?