LabVIEWForum.de - Wie kann man drei Whileschleifen beenden

LabVIEWForum.de

Normale Version: Wie kann man drei Whileschleifen beenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, hoffe mir kann jemand helfen.
Bin noch Anfänger und arbeite mit der LabVIEW V 7.0

Ist nur als Beispiel zu sehen!

Problem: Ich habe 3 Whileschleifen, die unterschiedliche Zeiten haben.
1. Whileschleife verzögert um 10 Sekunden
2. Whileschleife verzögert 30 Sekunden.
3. Whileschleife verzögert 60 Sekunden.

Das Problem ist, wenn ich versuche die Whileschleifen mit einem Stopp
Button zu beenden, wartet er immer bis die letzte Schleife beendet ist.

Habe es auch schon mit dem Beispiel aus dem Buch LabVIEW, das Grundlagenbuch versucht. Leider funktioniert bei mir das Beispiel mit der
lokalen Variable nicht.
Ist es überhaupt möglich, die Schleifen vorzeitig zu beenden?

Wäre dankbar für ein Beispiel.

Gruss
Andreas
Hallo,

ich habe Dir mal ein kleines Beispiel programmiert.
Guck es Dir mal an, ggf. müßtest Du die Stopp-Bedingung des Vergleichs um eins abziehen (z.B. vergleich auf gleich oder größer gleich 29 für 30 sekunden.)

Hoffe Dir geholfen zu haben ?!?

Meld Dich wenn Du Fragen hast, ich antworte gern.
Hast du dir dein Progi, in etwa so vorgestellt Big Grin
Hi andreas,

Du nutzt wahrscheinlich ein NI Funktion (VI) zum Verzögern (i.d.R. wait (ms)). Dadurch erklärt sich dann auch dein Verhalten.

Da LabVIEW flußgesteuert arbeitet wird dein Programm also, im worst case nach knapp 120 sec erst beendet, nachdem Du den Stopbutton gedrückt hast.

Der Ablauf ist wie folgt (nur die längste schleife betrachtet)
1. die wait Funktion fängt gerade an zu warten und der Stopbutton hat false an die Abbruchbed. gesendet.
2. du drückst kurz danach stop
3. die wait Funktion endet knapp 60sec. später
4. da stop bereits false gesendet hatte bevor du gedrückt hast, wird die Schleife wiederholt.
5. erst nachdem wiederum 60sec. um sind wird die Schleife beendet.

Das kann auch gut per highlight execution nachvollzogen werden.

Willst Du die Abfrage des Stopbutton erst am ende der Schleife haben (fußgesteuert), so kannst due dies durch eine Sequence Structure erreichen. Dann müßtest du max. einen Schleifendurchlauf nur warten.

Willst du aber, das deine Verzögerung der Schleifen sofort abbrechen, so empfehle ich mal wieder....
Event Structures...

Ich habe unten ein Beispiel eingestellt.
(Sogar mit LV-Uhr - mal was eben ausprobiert :mrgreen: )

Gruß
Oliver


Ps.: schade FranzDA und Mario W. waren schneller - hätte ich alse doch nicht die Uhr erspielen sollen Wink
Aber ich stelle es trotzdem mal ein...
..habe gerade noch gemerkt, das Du vielleicht doch lieber ein Stop-Knopf wolltest?!?

Hier das vi...
Oliver Frank schrieb:Hi andreas,

.
.
.
.

(Sogar mit LV-Uhr - mal was eben ausprobiert :mrgreen: )
.
.
.
.

Ps.: schade FranzDA und Mario W. waren schneller - hätte ich alse doch nicht die Uhr erspielen sollen Wink
Aber ich stelle es trotzdem mal ein...

Alle Achtung Oliver,
die Idee mit der Uhr ist richtig chic, ich hoffe es ist auch in Deinem Sinne, wenn ich mir den Block in meine Ideen-Sammlung für neue Programme von mir mit aufnehme.
Witzige Idee.



Es ist immer wieder interessant zu sehen, welche verschiedenen Lösungsansätze es gibt.
Ich fühle mich hier richtig wohl.. weiter so!
Hi FranzDA,

klar kannst du die Uhr verwenden.
Sie ist ja auch sicher noch nicht ausgereizt.


Wenn du sie verwendest, denke aber ja immer daran auf die Rückseite meinen Namen einzugravieren. Lol

Zitat:Es ist immer wieder interessant zu sehen, welche verschiedenen Lösungsansätze es gibt.
Ich fühle mich hier richtig wohl.. weiter so!
Richtig - ich muß nur zu Hause endlich mal LV7 installieren...


Gruß
Oliver
Erst einmal danke, Uhr war super.
Ich habe mir gedacht ich hänge einmal mein VI an.
Wahrscheinlich schlägt jeder die Hände über den Kopf.
Möchte mich schon jetzt für meinen Programmcode entschluldigen.


Bin leider noch Anfänger.......
Erst einmal danke für die Hilfe hier im Forum.
Habe mein Programm umgeschrieben. Es funktioniert sogar!

Arbeite mich immer mehr in die LabVIEWthematik ein.

Manches fällt nocht schwer, aber mit der Hilfe in diesem Forum ist es leichter zu bewältigen.

Ich hoffe es geht so weiter......

Gruss

Andreas....
Referenz-URLs