LabVIEWForum.de
Lokale Variable in while-Schleife auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Lokale Variable in while-Schleife auslesen (/Thread-Lokale-Variable-in-while-Schleife-auslesen)



Lokale Variable in while-Schleife auslesen - Io1610 - 22.05.2014 14:57

Hallo zusammen,
ich möchte für eine Messung eine bestimmte Zeit lang Daten aufnehmen. Diese Zeitmessung muss aber auch vor Ablauf der Zeit gestoppt werden können. Deshalb habe ich ein Haltzeiten.vi geschrieben, welches es erlaubt bei Stopp=true die Zeitmessung zu beenden. Jetzt geht es darum das ganze ins restliche Messprogramm einzubauen und zu steuern.
Dafür habe ich -wie unten zu sehen- in einer while-Schleife den Stopp-Knopf und in der anderen dessen lokale Variabel. Mein Problem ist nun, dass diese lokale Variabel erst dann wieder neu abgefragt wird, wenn das Haltezeit.vi durchgelaufen ist. Das macht die ganze Sache natürlich sinnlos, da ja während der Zeitmessung gestoppt werden soll.
Hat jemand vielleicht eine Idee wie ich diese lokale Variabel immer auslese, auch wenn das Haltezeit.vi läuft?

Beste Grüße
Io


[attachment=49804]


RE: Lokale Variabel in while-Schleife auslesen - GerdW - 22.05.2014 16:09

Hallo io,

entferne doch mal die lokalen Variablen und verdrahte alles direkt in einer Schleife.
Und dann noch eine kleine Wartezeit, um nicht unnötig die CPU zu verbrennen…


RE: Lokale Variable in while-Schleife auslesen - Io1610 - 26.05.2014 10:17

Hallo Gerd,

Du meinst den Stopp-Knopf gleich in die untere Schleife setzen (also obere Schleife ganz weg)? Aber dann habe ich immer noch das Problem, dass er den Wert erst nach Durchlaufen des anderen VIs wieder abfragt.


RE: Lokale Variable in while-Schleife auslesen - GerdW - 26.05.2014 10:21

Hallo Io,

Zitat:Aber dann habe ich immer noch das Problem, dass er den Wert erst nach Durchlaufen des anderen VIs wieder abfragt.
Das ist kein Problem, das ist DATAFLOW!
THINK DATAFLOW!

Wenn du den Stopp-Button öfter abfragen willst, muss die Schleife schneller iterieren!

Wenn dein "Haltezeit"-VI 30 Sekunden lang läuft, dann hast du das falsch (für diesen Zweck) programmiert. Lass es doch 60mal 0.5s lang laufen, dann reagiert es schon nach spätestens 500ms auf einen Klick des Stopp-Buttons…


RE: Lokale Variable in while-Schleife auslesen - Io1610 - 26.05.2014 11:05

Schon mal vielen Dank für die Antwort.
Habe das jetzt so gelöst, allerdings weiß ich nicht wie ich die von dir oben erwähnte Wartezeit einbauen soll. Hast du da vielleicht einen Tipp?
[attachment=49823]


RE: Lokale Variable in while-Schleife auslesen - GerdW - 26.05.2014 11:34

Hallo Io,

mit dem ElapsedTime-ExpressVI sieht dein VI in etwa so aus:
[attachment=49824]


RE: Lokale Variable in while-Schleife auslesen - Io1610 - 26.05.2014 15:57

Super funktioniert einwandfrei. Vielen Dank!