LabVIEWForum.de - While Schleife unverzüglich abbrechen

LabVIEWForum.de

Normale Version: While Schleife unverzüglich abbrechen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
MoinSmile

Kleines Problem: Ich habe 2 While schleifen die parallel und völlig unabhängig voneinander laufen. In der einen (A) laufen Berechnungen, die andere (B) aktualisiert nur alle 5 sek. einen Bildring.

Schleife A kann direkt durch einen Button beendet werden. Schleife B soll zeitgleich beendet werden. Hierzu habe ich für Schleife B eine lokale Variable von dem Stop Button von A erzeugt. So weit so gut. Wenn ich auf Stop klicke beendet sich zwar Schleife A, B läuft aber weiter. Nur wenn ich den Button so lange drücke, bis ein weiterer Durchlauf von B vorbei ist (im worstcase eben 5sekSad), funktionierts.

Gibt es eine Möglichkeit Schleife B explizit mit A abzubrechen und nicht erst die eingestellte Wartezeit abzuwarten??

thx für Vorschläge

mfg
Hallo Fidel,

da musst du wohl Schleife B schneller durchlaufen lassen (d.h. ihre Wartezeit reduzieren). Du musst ja nicht in jedem Durchlauf den PictRing aktualisieren - das kann man ja auch jeden 2., 5. oder 100sten Durchlauf erledigen...
Hallo Gerd,

doofe Frage: Wie?:)Zur Zeit läuft es bei mir so:
[attachment=31638]

mfg
' schrieb:doofe Frage: Wie?

Hallo,

da wäre ein Vorschlag :

[attachment=31642]
Hallo Fidel,

na so:
[attachment=31641]
Nur noch 100ms warten, dafür nur jeden 50sten Durchlauf was machen...
Danke, jetzt funztsBig Grin

Schönen Feierabend noch Smile

mfg
' schrieb:Gibt es eine Möglichkeit Schleife B explizit mit A abzubrechen und nicht erst die eingestellte Wartezeit abzuwarten??
Ein Waitfunktion läßt sich nicht unterbrechen - außer daß man das große Wait mit zusätzlicher Schleife in kleine Wait-Scheibchen zerlegt, was aber keine elegante Lösung ist.
Ideal ist ein unterbrechbares Wait - und das gibt es durchaus, es nennt sich nur nicht so, sondern es nennt sich "Timeout" und ist in mehreren anderen Funktionen integriert. Z.B. in der Event-Struktur oder in Occurrences.
Hier ein Beispiel mit Event-Struktur:
[attachment=31640]Lv10[attachment=31643]
Beispiel mit Occurrences (Hinweis: NI empfiehlt Melder anstelle von Occurrences zu verwenden)
[attachment=31644]
Danke, damit wäre das auch geklärt. Ihr seid superBig Grin

mfg
Referenz-URLs