LabVIEWForum.de - Anlegen einer Messdatei

LabVIEWForum.de

Normale Version: Anlegen einer Messdatei
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich hab ein eher kleines Problem, zu dem ich bis jetzt noch keine passende Lösung gefunden habe. Ich habe eine VI die U-I-Kennlinien von PV-Modulen aufnimmt. Dazu rastere ich die Kennlinie in einer Schleife ab und messe jeweils U und I. Zusätzlich messe ich noch zwei Spannungen von einem Thermometer und einem Pyranometer. Diese Werte mittele ich und erhalte in jedem Schleifendurchgang einen Wert und am Ende der Schleife ein Array mit n Einträgen.
Anschließend will ich die Daten mit dem Express-VI "Messwerte in Datei schreiben" speichern. Dabei will ich am liebsten die jeden Wert im Array mit einem Zeitstempel versehen und diesen da speichern wo in der jetzigen Messdatei momentan die X_Values stehen. Falls dies nicht funktioniert würde es auch reichen einen korrekten Zeitstempel (Ich habe dort zwar einen stehen, jedoch fehlt dort die Stundenangabe) in den Header zu schreiben.

Ich habe euch unten ein ein Bild der VI und einer der Messdatein angefügt.

Über Lösungsvorschläge freue ich mich sehr.

Gruß
Max
Hallo Max,
Du verwendest "DAQmx read" da ist doch ein Zeitstempel beim Ergebnis dabei.
Warum verwendest Du den nicht?

Gruß
Freddy
Hallo Freddy,

auch wenn ich mir die Messwerte als 1-D-Array mit double-Werten ausgeben lasse und diese danach mittele ?

Ich habe glaube ich vergessen zu erwähnen, dass ich zusätzlich noch einmal Strom und Spannung über ein anderes Gerät messe und anschließend diese Daten im selben Vi verarbeite. Daher stellt sich die Frage ob ich nicht selber in jedem Schleifendurchgang einen Zeitstempel setzten kann und damit dann ein 1-D-Array erstelle. Diese könnte ich danach ja mit den anderen Array zusammenführen und in die erste Spalte setzen.

Gruß
Max

p.s. ich tue mich im Moment recht schwer damit den Spalten der Messdatei Namen zu geben. Kann mir einer sagen wie ich in das Menü reinkomme und dort die Spaltentitel abändern kann ?
Hallo Max,

Zitat:auch wenn ich mir die Messwerte als 1-D-Array mit double-Werten ausgeben lasse und diese danach mittele ?
Wenn du stattdessen eine Waveform lesen würdest, hättest du sofort auch einen Timestamp…
Und welchen Timestamp willst du haben, wenn du ein 1D-Array mittelst: Anfang, Mitte, Ende?

Zitat:Dabei will ich am liebsten die jeden Wert im Array mit einem Zeitstempel versehen und diesen da speichern wo in der jetzigen Messdatei momentan die X_Values stehen.
Dann musst du eben einen weiteren Wert als Spalte voranstellen, z.B. als relative Zeit zum Start der Messung.
Du wirst aber mit dem ExpressVI keine Formatierung als Timestamp bekommen. Lösung: kein ExpressVI nehmen und selbst programmieren, was du haben willst…
Hallo Gerd,

das mit der Waveform habe ich jetzt, glaube ich zumindest, verstanden. Hatte da einen Denkfehler.
Ich habe das wie in Bild_1 umgesetzt. Jetzt sollte ich ja für jeden Schleifendruchlauf den Zeitpunkt zu Beginn der Ausführung von "DAQmx read" erhalten. D.h. den müsste ich dann nur noch in einen String wandeln und mit den anderen Daten zusammen führen.

Zu dem Schreiben in die Messdatei: Habt ihr ggf. ein gutes Tutorial, was ihr empfehlen könnt ? Leider tue ich mich mit der Formatierung der angelegten Datei ohne das Express Vi sehr schwer. Muss ich mit dieser Formatierung bereits bei in der Schleife in der ich messe anfangen oder gibt es eine Möglichkeit, dass ich auch mit den fertigen Arrays nach der Schleife arbeiten kann ?
Oder habt ihr vielleicht eine Vorlage für so eine Standardmessdatei nach dem Schema:
Header
Zeit Werte von Array1 Werte von Array2 Werte von Array xxx
... ... ... ...

Gruß
Max
Hallo Max,

vielleicht hilft es dir weiter, wenn du dir einmal die VIs
vi.lib\Utility\file.llb\Write Delimited Spreadsheet (DBL).vi
und
examples\File IO\Spreadsheet\Tab-Delimited Data\Write Tab-Delimited File.vi
etwas genauer betrachtest.
Referenz-URLs