LabVIEWForum.de - Wie While-Schleife fortsetzen ?

LabVIEWForum.de

Normale Version: Wie While-Schleife fortsetzen ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Wie kann man eine While-Schleife nach Rücksetzen der Abbruchbedinung wieder weiterlaufen lassen ?
Geht die Bedinung auf True dann hält die Ausführung der Schleife an, aber wird nicht wieder ausgeführt wenn die Bedinung auf False wechselt.
z.B. so:

[attachment=17841]
Lv80_img

Gruß Markus
genauso mach ich das auch, aber wenn einmal die Stopbedinung da war wird die Schleife nie wieder ausgeführt
Wird eigentlich beim Abbruch nur die Iteration gestoppt oder die Ausführung jeglichen Codes in der Schleife ?
Da wird alles gestoppt. Ich blicke aber noch nicht so ganz was Du willst. In meinem Bsp. wird die Schleife nach dem Abbruch doch wieder ausgeführt.

Gruß Markus
Ich hab mal das Beispiel modifiziert.
Warum wird bei STOP nur der Schleifenzähler angehalten und die Schalter + LED Verbindung ausgeführt?
Warum hat der STOP der äußeren Schleife keine Wirkung ?

LabVIEW Version 8.5
Mach mal' bei "Mechanical Action" des inneren Stop-Tasters "Latch" anstatt "Switch", dann siehst Du selbst, an was das liegt.

Aber ich will ja nicht so sein: Big Grin
Wenn Du auf das "Stop" der inneren Schleife klickst, ist es momentan bei Dir so, dass die Schleife immer neu gestartet wird, und nach einem Durchgang (Schleifenzähler = 0) sofort wieder abgebrochen wird. Da sie aber gestartet (und somit auch einmal) ausgeführt wird, wird Dein Boolscher Wert auch ausgegeben. Der Schleifenzähler wird auch richtig ausgegeben, da er bei jedem Neustart der Whileschleife auf 0 gesetzt wird.

Die äußere Schleife würde ich auch mit dem inneren Stop-Taster beenden.

Gruß Markus
das heisst dann ja, dass im Endeffekt eine schleife immer durchlaufen wird auch wenn die Stopbedingung erfüllt ist, nur eben immer bei Schleifenzählervariable 0 bleibt.
Dann ist diese While schleife ja nicht dazu gedacht den Code in ihrem inneren nur dann auszuführen wenn die Stop-Bedinung nicht erfüllt ist da im Grunde nur die Zählvar. davon betroffen ist, oder seh ich das falsch.
Eigentlich müsste man dann ja noch eine Abfrage machen ob der Schleifenzähler größer als 0 ist um nur dann den anderen Code auszuführen.
' schrieb:Warum hat der STOP der äußeren Schleife keine Wirkung ?
Hat er, es kommt hier beim Testen auf die richtige Reihenfolge an. Du hast hier eine Schrittkette realisiert.Unsure
Damit es noch ein bischen bunter wird:
[attachment=17849]

[attachment=17848]

Lv85_img[attachment=17847]
Darfst Du gerne ausführlich für die Nachwelt kommentiert wieder hochladen
Ok das mit der Schleifenzählervariable ist klar. Die wird zurückgesetzt , einmal bei True und einmal bei False.
Aber was müsste ich nun machen um mit dem äußeren STOP Button den gesammten Ablauf anzuhalten bei Stop und wieder weiterlaufenzulassen bei True.
Ist das mit Hilfe einer While - Funktion und ohne weiteren Code außer dem Button möglich ?
Da würde ich auf die innere Schleife verzichten und stattdessen eine Case-Struktur verwenden, die nur dann weiterläuft, wenn z.B. ein "True" anliegt,.... ansonsten Bahn

Gruß Markus
Seiten: 1 2
Referenz-URLs