LabVIEWForum.de - Problem mit Zeit/AI erfassung

LabVIEWForum.de

Normale Version: Problem mit Zeit/AI erfassung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich habe ein Problem mit der Erfassung von einem Analogen Wert:

(Ich benutze das NI 6008 USB und LV 2010)

Ich Lese über DAQmx - Lesen und einen geschriebenen Task eine Spannung ein, welche von einem Distanzsensor ausgegeben wird. Das funktioniert wunderbar.

Nun wollte ich gerne die Geschwindigkeit ausrechnen, mit der der Sensor soch entfernt/nähert.
Also benötige ich für v = s/t die zeit. Diese erfasse ich mit einer Sequenz am Anfang und am Ende (subtraktion und multiplikation mit 1000) und erhalte so die Sekunden.

Nun muss ich noch ds berechnen.
Also nehme ich mir in die erste Sequenz den eingelesenen Wert und möchte diesen auch am Ende von einem dann neu eingelesenen Wert abziehen.
Seltsamerweise sagt mir dann die DAQ Fehlermeldung, dass der eingelesene Wert nichtmehr aktuell ist bzw schon benutzt ist.


und irgendwie steige ich da garnicht durch....

wie kann ich werte kontinuierlich einlesen und eben dann wenn die zeitmessung beginnt, wie auch, wenn sie endet je einen wert erfassen.
es geht dabei nicht darum, für eine bestimmte zeit eine messung zu machen sondern konsinuierlich die geschwindigkeit auszugeben.

gruß sven
Hallo Sven,

Zitat:wie kann ich werte kontinuierlich einlesen und eben dann wenn die zeitmessung beginnt, wie auch, wenn sie endet je einen wert erfassen. es geht dabei nicht darum, für eine bestimmte zeit eine messung zu machen sondern konsinuierlich die geschwindigkeit auszugeben.
- Bitte etwas an Rechtschreibung und Grammatik arbeiten, es gibt dazu Forumsregeln...
- Deiner Aussage entsprechend willst du also doch eine kontinuierliche Messung machen! Dann schau dir die Beispiele dazu an!

Vorschlag:
- Kontinuierliche Messung (bzw. den Task dafür) konfigurieren.
- SampleRate 1Hz, je ein Sample abfragen
- jetzt immer aktuellen Messwert mit vorigem Messwert verrechnen, zeitlicher Abstand ist durch SampleRate (=1s) fest vorgegeben und du brauchst keine Zeitmessung mehr selbst durchführen!
Lv10

hier mal noch im Anhang mein VI dazu, damit das mal übersichtlicher wird.
Habe ich dich denn nun richtig verstanden, dass ich für die Rechnung v= s/t keine Zeit mehr erfassen muss?
Hallo Sven,

Zitat:Habe ich dich denn nun richtig verstanden, dass ich für die Rechnung v= s/t keine Zeit mehr erfassen muss?
Ja.
Wenn du den DAQmx-Task auf Hardwaretiming einstellst und eine Samplerate vorgibst, brauchst du keine Zeit mehr messen: die Messhardware übernimmt das Sampling wesentlich genauer als du in Windows Zeitabstände messen könntest! Selbst die billigen USB6008/9 können bei den AIs selbständig takten!

Schau dir die Beispiele an, die mit LabVIEW mitgeliefert werden!

Außerdem:
- Skalierungen kann man auch direkt in DAQmx erledigen lassen (s. Beispiele!)
- Wenn etwas doppelt in einem VI vorkommt, ist es fast immer übersichtlicher, dafür ein subVI anzulegen...
Referenz-URLs