LabVIEWForum.de
Nur alle 100 Iterationen neuer Messwert - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Nur alle 100 Iterationen neuer Messwert (/Thread-Nur-alle-100-Iterationen-neuer-Messwert)



Nur alle 100 Iterationen neuer Messwert - MartinLoreck - 17.09.2012 14:31

Hallo,
ich benutze die USB-6210 Box. Ich habe ein einfaches Potentiometer angeschlossen und möchte nun den Spannungsverlauf aufzeichnen.
Dazu erstelle ich mir manuell ein XY Graph und lese dafür in einer While Schleife alle X ms per DAQmx Read den aktuellen Spannungswert aus.

Jedoch egal was ich in der While Schleife für eine Wait Time ausführen lasse, der aktuelle Spannungswert wird immer alle 100 Iterationen aktualisiert. Das heißt bei einer wait von 100ms sind das stolze 10sek pro Aktualisierung. Wo kann man das denn einstellen, dass der Wert nicht alle 100 Iterationen ausgelesen werden soll?

Hier mal noch der Quelltext bzw. meine VI

Danke im Voraus an die fleißigen Helfer

Ich benutze Labview 2011


RE: Nur alle 100 Iterationen neuer Messwert - Lucki - 17.09.2012 15:10

Der Task scheint als virtueller Task im MAX konfiguriert zu sein. Das ist gut so, hat aber den Nachteil, das wir hier trotz gepostetem VI nichts über die Konfiguration wissen und zu Deiner Frage nichts sagen können. Vielleicht änderst Du das noch und konfigurierst alles im VI. Dann lässt sich bestimmt helfen.


RE: Nur alle 100 Iterationen neuer Messwert - GerdW - 17.09.2012 15:13

Hallo Martin,

du solltest den Task auch ordentlich konfigurieren. Man sieht bei deinem VI leider nicht, wie der Task arbeiten soll: welches Timing ist eingestellt, etc. Außerdem vermisse ich jegliches Fehlerhandling im VI... Schon mal die Beispiele zu DAQmx angeschaut?

Außerdem:
- Dein Füllen der Buffer sieht "innovativ" aus. Du startest mit einem leeren Array. Dann fügst du Werte per InsertIntoArray am Anfang ein: warum nimmst du nicht einfach BuildArray?


RE: Nur alle 100 Iterationen neuer Messwert - MartinLoreck - 18.09.2012 10:26

(17.09.2012 15:13 )GerdW schrieb:  Hallo Martin,

du solltest den Task auch ordentlich konfigurieren. Man sieht bei deinem VI leider nicht, wie der Task arbeiten soll: welches Timing ist eingestellt, etc. Außerdem vermisse ich jegliches Fehlerhandling im VI... Schon mal die Beispiele zu DAQmx angeschaut?

Außerdem:
- Dein Füllen der Buffer sieht "innovativ" aus. Du startest mit einem leeren Array. Dann fügst du Werte per InsertIntoArray am Anfang ein: warum nimmst du nicht einfach BuildArray?

Hallo ihr beiden und danke für eure Hilfe.

Zuerst: was macht denn "BuildArray" anders? Ich denke da passiert am Ende das gleiche oder nicht?

Zum Problem: das Timing war im Max falsch eingestellt. Es war "zu lesende Werte" auf 100 gestellt, was meinen Iterationen entsprach. Ich habe es auf den kleinstmöglichen Wert, nämlich 2 gestellt und es funktioniert nun wie gewünscht. Ich habe nebenbei gesagt nicht gewusst, dass es da überhaupt Einstellmöglichkeiten gibt, da ich dachte dass immer die schnellstmögliche Frequenz wünschenswert ist und somit auch ausgeführt wird. Sicher gibt es auch Fälle bei denen das nicht gewollt ist, sonst wäre diese Einstellmöglichkeit nicht vorhanden.

Danke

Gruß Martin


RE: Nur alle 100 Iterationen neuer Messwert - Achim - 18.09.2012 11:08

(18.09.2012 10:26 )MartinLoreck schrieb:  Ich habe es auf den kleinstmöglichen Wert, nämlich 2 gestellt und es funktioniert nun wie gewünscht. Ich habe nebenbei gesagt nicht gewusst, dass es da überhaupt Einstellmöglichkeiten gibt, da ich dachte dass immer die schnellstmögliche Frequenz wünschenswert ist und somit auch ausgeführt wird.

Die Anzahl der zu lesenden Werte hat nichts mit der (Abtast-)Frequenz zu tun. Es handelt sich dabei nur um die Anzahl von Werte die im HW-Puffer der Karte auflaufen müssen/sollen, bis die SW die Werte abholt. Wenn die (Auslese-) Frequenz der SW allerdings zu langsam ist, dann gibts nen Überlauf/Fehler

A.