Wie kann man drei Whileschleifen beenden - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Wie kann man drei Whileschleifen beenden (/Thread-Wie-kann-man-drei-Whileschleifen-beenden) |
Wie kann man drei Whileschleifen beenden - andreas - 21.01.2005 12:06 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 Wie kann man drei Whileschleifen beenden - FranzDA - 21.01.2005 13:57 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. Wie kann man drei Whileschleifen beenden - Mario W. - 21.01.2005 13:58 Hast du dir dein Progi, in etwa so vorgestellt Wie kann man drei Whileschleifen beenden - Oliver Listing - 21.01.2005 14:05 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 Aber ich stelle es trotzdem mal ein... Wie kann man drei Whileschleifen beenden - FranzDA - 21.01.2005 14:13 ..habe gerade noch gemerkt, das Du vielleicht doch lieber ein Stop-Knopf wolltest?!? Hier das vi... Wie kann man drei Whileschleifen beenden - FranzDA - 21.01.2005 14:24 Oliver Frank schrieb:Hi andreas, 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! Wie kann man drei Whileschleifen beenden - Oliver Listing - 21.01.2005 14:46 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. Zitat:Es ist immer wieder interessant zu sehen, welche verschiedenen Lösungsansätze es gibt.Richtig - ich muß nur zu Hause endlich mal LV7 installieren... Gruß Oliver Wie kann man drei Whileschleifen beenden - andreas - 21.01.2005 15:36 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....... Wie kann man drei Whileschleifen beenden - andreas - 31.01.2005 20:00 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.... |