![]() |
Problem mit while-schleifen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Problem mit while-schleifen (/Thread-Problem-mit-while-schleifen--11061) |
Problem mit while-schleifen - teirack - 22.10.2007 17:35 Hallo, ich habe ein kleines Verständnisproblem. Das durchsuchen des Forums hat mich leider nicht weiter gebracht. In dem unten als Beispiel angehängten .vi soll eine while Schleife in einer anderen ausgeführt werden. Hier mein Problem: 1. Wenn der Stopp Button vor dem ausführen des Programmes betätigt wird läuft die äußere while schleife trotzdem einmal durch. Ist das immer so oder kann man das irgenwo einstellen? 2. Die innere Schleife läuft ständig egal ob true oder false anliegt 3. Das Programm kann nach dem Ausführen nicht mehr über die STOPP taste angehalten werden. Wenn ich die Highlight Funktion nutze sieht es so aus als wird die äußere Schleife nicht mehr abgefragt. Hoffe es kann mir jemand erklären oder vielleicht ein andere Lösung dafür anbieten. Da ich mein späteres Programm so ähnlich wie dieses Beispiel aufbauen will. Einen STOPP Button um das Programm anzuhalten und mehrere wihle Schleifen im Hauptprogramm. [attachment=9256] Problem mit while-schleifen - Mr.T - 22.10.2007 18:54 Hi! Prinzipiell ist Dir bestimmt auch klar, warum das Programm so reagiert, gelle? Wenn nicht, dann schau Dir mal den Programmablauf im "Highlight - Modus" an! Wenn Du Dir das mal Durchdenkst, wirst Du bestimmt auch auf den Trichter kommen, dass Deine Programmstruktur mit verschachtelten Whileschleifen nicht optimal ist. Also: überlege Dir was anderes! ![]() Was möchtest Du denn gesnau erreichen, dass Du auf eine solche Struktur gekommen bist? Schau Dir mal ein paar Beispiele zum Thema "State Machine" an, ich bin sicher, dass Dir das furchtbar weiterhilft! Gruß Problem mit while-schleifen - teirack - 22.10.2007 20:16 Servus, danke erst mal für deine Antwort. Leider ist mir nicht so richtig klar warum es nicht funktioniert. Mir fehlen aber auch einige Erfahrungen in LabVIEW und Programmieren. Im "Highlight - Modus" erkenne ich aber, dass er die äußere while-schleife nicht mehr abfragt nachdem die innere abläuft. Das mit der "State Machine" werde ich mir mal anschauen. Erreichen will ich folgendes: Ich will ein Analyser fernsteuern. Wenn ich das VI starte soll eigentlich erst mal nichts passieren, erst wenn ich ein Button betätigte soll z.B. das Gerät initialisiert und mit anderen Buttons dann verschiedene Messungen durchgeführt werden. Zum Schluss sollen die Werte gespeichert und am besten in eine Excel-Tabelle übertragen werden. Aber das ist noch ein anderes Problem. Ich hoffe du verstehst mein Problem. Problem mit while-schleifen - Achim - 23.10.2007 05:25 ' schrieb:1. Wenn der Stopp Button vor dem ausführen des Programmes betätigt wird läuft die äußere while schleife trotzdem einmal durch. Ist das immer so oder kann man das irgenwo einstellen? Ja, das ist in LV immer so! Eigentlich ist es nämlich keine "While"-Schleife, sonder eine "Loop-until"-Schleife (wie z.B. in VisualBasic). Unterschied: In VB wird die Bedingung einer While-Schleife zu am Schleifenanfang gemacht, bei Loop-until am Schleifenende. Und letzteres passiert auch bei einer LV-While-Schleife. Die wird also immer mindestens einaml durchlaufen, weil sie dann erst die Abbruchbedingung erkennt! Gruss Achim Problem mit while-schleifen - Achim - 23.10.2007 05:31 ' schrieb:Erreichen will ich folgendes: Das ist eine ganz und gar gängige Aufgabe (würde Lucki jetzt sagen) und schreit - wie's Mr.T schon erwähnte - nach der Umsetzung als Zustands-Automat = State Machine! Beispiele dazu z.B (!). hier im Forum oder auch im LV Example Finder! Gruss Achim |