LabVIEWForum.de
Zeitstempel und Spannungswerte in Array schreiben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Zeitstempel und Spannungswerte in Array schreiben (/Thread-Zeitstempel-und-Spannungswerte-in-Array-schreiben)



Zeitstempel und Spannungswerte in Array schreiben - schroepel - 27.05.2009 16:36

Hallo,

ich will mit einer NI PCI-6251 Spannungen von einem Sensor aufnehmen.
Das funktioniert auch soweit. Auch mit der Geschwindigkeit bin ich ganz zufrieden,
allerdings möchte ich die Werte bzw. die Kurven mit anderen Kurven vergleichen in dem ich sie übereinander lege.

Um das zu realisieren müsste ich jedem Spannungswert eine Zeit in µs beginnend bei Null zuweisen.
Nun hab ich hier im Forum schon mehrfach gelesen das bei DAQmx der Zeitstempel mit in die Daten eingebettet ist.
Ich kann den Zeitstempel auch sehen wenn ich mir das Array anzeigen lasse, aber irgendwie bekomme ich es nicht zerlegt.Sad

Mein Ziel ist es ein Array zu erzeugen in dem in einer Spalte eine Zeit in µs steht und in der zweiten der Spannungswert.
Die ganze Messung wird später nur etwa 3ms dauern und von einem externen Signal gestartet und beendet.
Daher benötige ich keine Datumsangabe usw.

Hier mal mein bisheriges Resultat:
[attachment=18690]Lv85_img

Vielen Dank für eure Hilfe im Voraus.


Zeitstempel und Spannungswerte in Array schreiben - jg - 27.05.2009 17:51

Das Ganze könnte viel einfacher sein, wenn man auf Express-VIs und dieses DDT-Datei-Format verzichtet. Du musst nur mal genau schauen, was das Waveform-Daten-Format genau ist: Das ist im Prinzip ein Cluster aus Zeitstempel t0, einem Wert Delta-t und einem Array von Messwerten. Das musst du einfach mal verinnerlichen. Und wenn du mehrere Kanäle ausliest, dann kommt aus DAQmx-Read z.B. ein Array of Waveforms...

Eine schon bessere Richtung (Achtung, noch nicht perfekt, wegen deinem OK-Button, der die Datenerfassung auslöst) könnte so aussehen:

Lv85_img[attachment=18691]

Gruß, Jens


Zeitstempel und Spannungswerte in Array schreiben - ImExPorty - 27.05.2009 18:59

Hallo schroepel,
meine Interpretation Deiner Frage in verschiedenen Varianten:
[attachment=18692]
um jedoch verschiedene Messungen mit einander zu vergleichen, die zu unterschiedlichen Zeitpunkten mit gleicher Abtastrate gemacht wurden, reicht es den Zeitstempel anzupassen.
Eine Möglichkeit hierzu wäre:
[attachment=18693]
viel Erfolg


Zeitstempel und Spannungswerte in Array schreiben - schroepel - 03.06.2009 14:54

Hallo,

vielen Dank nochmal für eure Hilfe ich hab mir nun zwei Verschiedene Varianten zusammengesetzt die auch irgendwie funktionieren.
Hier mal die Resultate:
[attachment=18824] Lv85_img
[attachment=18825] Lv85_img

Allerdings hab ich da noch ein paar Fragen dazu.
Bei dem ersten Bespiel habe ich mit Schieberegistern gearbeitet, aber irgendwie kommt es mir vor als wäre das zu langsam.
Ich muss dazu sagen die Messung dauert später ca. 3 ms und wird später nicht mehr über den OK-Button gestartet, sondern über ein externes Signal.
Das Signal wird während der Messung auf High sein und danach wieder auf Low gehen.
Da es aber kaum möglich ich ist 3 ms mit dem Button zu erzeugen, hätte ich erwartet das wesentlich mehr Werte ausgelesen werden.
Hab ich da irgendeinen Denkfehler?

Bei dem zweiten Bespiel habe ich die Schieberegister weggelassen, wodurch es mir wesentlich schneller erscheint.
Das komische ist aber, ich habe dort versucht das Signal mit 3 ms Dauer zu simulieren und die Messung läuft aber weiter,
bzw. habe ich zu viele Werte. Denn normalerweise sollten in den 3 ms ja nur 45 Messwerte pro Kanal anfallen. Oder?

Welche Variante ist denn nun die bessere, oder sind beide nich so ganz richtig?

Außerdem soll die Messung mehrfach in kurzen Abständen von etwa 11 ms durchgeführt werden.
Dazu hatte ich mir gedacht, am sinnvollsten ist es die einzelnen Messreihen in ein 3D-Array zu schreiben
und erst nach Abschluss aller Messungen auszuwerten, da die einzelnen Kurven (pro Kanal) dann
alle gemeinsam in einem XY-Graphen dargestellt werden sollen. Aber irgendwie bekomme ich dass nicht hin,
ich hab schon verschiedene Varianten durchprobiert, aber es hat nie richtig funktioniert.
Meist war es so, das nur eine Ebene mit dem ersten 2D-Array gefüllt war oder es waren in den anderen Ebenen
irgendwelche komischen Werte die nicht stimmten.

Könnt ihr mir bitte helfen, vielen Dank schon mal im Voraus.


Gruß Marco