Schleife stoppen oder pausieren - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Schleife stoppen oder pausieren (/Thread-Schleife-stoppen-oder-pausieren) |
Schleife stoppen oder pausieren - TSC - 16.02.2009 10:00 Moin zusammen, ich würde gerne eine while-Schleife durch Buttons stoppen und pausieren. Das Implementieren der Stopfunktion ist einfach (lediglich den Button mit der Schleifenbedingung verbinden). Aber wie schaffe ich es, die Schleife durch einen Pausenbutton anzuhalten, und später wieder genau dort weiter laufen zu lassen (i und alle Schieberegister sollen dabei unverändert bleiben). Es soll einfach nur das Programm pausiert werden. Im Prinzip macht soetwas der Button Pause der Applikationssteuerung. Aber diese Leiste sollte in meiner Oberfläche ausgeblendet sein. Ich habe mal versucht, es mit dem VI "Auf Frontpanelaktivität warten" umzusetzen. Allerdings ist es dabei dann egal, welche Aktivität ich auslöse. Es sollte jedoch nur beim erneuten Drücken des Pausebuttons weitergehen. Events kann ich anscheinend auch nicht verwenden, weil das Programm keine Events auslöst, solange es angehalten ist. Eine Möglcihkeit wäre, eine Whileschleife in der Whileschleife zu starten, solange bis der Pausebutton wieder auf False steht und jeweils ne kleine Verzögerung einabuen. Aber das belastet doch den Prozessor durchgehen. Hat jemand eine kluge Idee? LG Torsten Schleife stoppen oder pausieren - eg - 16.02.2009 10:04 Kannst es mit dem Timeout und Event-Struktur probieren. Kommt Pause-Event, machst Timeout auf -1, kommt es erneut, machst Timeout auf 0. Schleife stoppen oder pausieren - RoLe - 16.02.2009 10:28 Wenn du das i-Terminal "selber" machst mit einem Shiftregister und diese uninitialisiert sind, kannst du die Schleife verlassen, und beim nächsten eintretten in die Schleife hast du dieselben Werte wie beim verlassen. Die Schleife wird dabei aber immer ganz abgearbeitet. Ich kenne das so nicht, das ein Programm angehalten wird, nur das einige Abschnitte übersprungen werden, mit z.Bsp. einer Case-Struktur. Schleife stoppen oder pausieren - kpa - 16.02.2009 11:04 Hallo TSchAC, so wie Du geschrieben hast. Es ist keine Mehrbelastung für den Prozessor. Ein- und Ausschalter liegen aufeinander. kpa Schleife stoppen oder pausieren - TSC - 16.02.2009 11:16 ' schrieb:Hallo TSchAC, Bei der Lösung gefällt mir nicht, dass die Reaktion auf den WEITER-Klick unter Umständen erst mit 200ms Verzögerung kommt. Setze ich die Verzögerung auf 0 runter, dann merkt man das Ganze schon erheblich auf der CPU (Auslastung durch LabVIEW steigt von 01 aud 50). Schleife stoppen oder pausieren - TSC - 16.02.2009 11:22 ' schrieb:Kannst es mit dem Timeout und Event-Struktur probieren. Kommt Pause-Event, machst Timeout auf -1, kommt es erneut, machst Timeout auf 0. Die Lösung scheint ganz gut zu funktionieren. Mal schaun was ich da noch optimieren kann. Im Moment stürzt er noch ab wenn ich im Pausenmodus bin und den Stoppbutton drücke. Aber das bekommt man sicherlich noch hingebogen. Vielen Dank soweit. Schleife stoppen oder pausieren - TSC - 16.02.2009 11:26 ' schrieb:Wenn du das i-Terminal "selber" machst mit einem Shiftregister und diese uninitialisiert sind, kannst du die Schleife verlassen, und beim nächsten eintretten in die Schleife hast du dieselben Werte wie beim verlassen. Die Schleife wird dabei aber immer ganz abgearbeitet. Das müsste ich mir nochmal überlegen, ob ich damit weiter komme. Bin gar nicht auf die Idee gekommen "i" durch nen eigenen Zähler zu ersetzen. Mal sehen was das für Vor und Nachteile mit sich bringt. |