LabVIEWForum.de
Stop eines VIs aus drei Schleifen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Stop eines VIs aus drei Schleifen (/Thread-Stop-eines-VIs-aus-drei-Schleifen)



Stop eines VIs aus drei Schleifen - Lab_fänger - 13.10.2015 18:02

hallo,
ich bin neu hier im Forum und habe nicht so viele Kenntnisse in LAbview. ich hoffe ihr werdet mich verstehen und mir helfen können.
ich habe ein VI aufgebaut, dass Daten aus 2 DAQ modulen abtastet und die erfassten Daten dann in eine Exel Tabelle zusammenfasst. Dazu habe ich 2 schleifen für die Abtastung benutzt und eine zusätliche Schleife die die daten in exel speichern sollte, mittels queue Funktionen, wenn ein Boolean true ist.
mein Problem jetzt ist, dass wenn ich die Stoptaste drücke, hört zwar das Erfassen von Daten auf, aber der VI läuft weiter. ich habe da sowohl mit notification funktion als auch mit lokalen variablen probiert, das VI zu stoppen, aber es gelingt mir nicht. mittels Sonden konnte ich lokalisieren wo das problem lag. das Problem ist, dass die Stopbedingung der Speicherschleife nicht den Wert true bekommt.
Kann mir bitte jemand ein tipp geben, wie ich das Problem lösen kann?
Danke im Voraus.


RE: Stop eines VIs aus drei Schleifen - Trinitatis - 13.10.2015 21:00

Ersetz mal deine "Melderstatus lesen" - Funktion durch die Funktion "auf Meldung warten" mit hinreichend kleinem Timeout.


Gruß, Marko


RE: Stop eines VIs aus drei Schleifen - Lab_fänger - 13.10.2015 21:42

Es hat auch so nicht geklappt. habe aber schon die Lösung. indem ich die Queue Refnum außerhalb der Schleife umleite. vergleich Bild. Danke für dein VorschlagBig Grin


RE: Stop eines VIs aus drei Schleifen - Lucki - 14.10.2015 06:56

Das "Problem" sind die beiden Funktionen "Element aus Queue entfernen". Die warten weiterhin auf neue Daten (die dann nicht mehr kommen) - oder auf den Timeout (der hier nicht vorhanden ist), - oder darauf, dass die Queue zerstört wird (was hier auch nicht geschehen kann, bevor die Schleife nicht beendet ist).