LabVIEWForum.de
TDMS Dateien verbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: TDMS Dateien verbinden (/Thread-TDMS-Dateien-verbinden)



TDMS Dateien verbinden - Mrindfleisch - 14.03.2014 11:36

Hallo zusammen,

leider konnte ich keine Antwort auf diese Frage finde...

Ich habe einen Prüfstand der mir Daten in TDMS Dateien Speichert. Da die Laufzeit des Prüfstandes und somit die Dateien teilweise ziemlich groß werden splittet er sie ab einer gewissen Dateigröße. Zum Auswerten brauche ich aber die Daten alle in einer TDMS Datei. Die Struktur der Tdms Dateien sprich Anzahl und Reihenfolge der Kanäle und auch das Datenformat der einzelnen Kanäle bleibt natürlich gleich. Ich würde jetzt gerne ein "universal TDMS Verbinder" Bauen, der mehrere TDMS Dateien verbinden kann egal wie die Struktur aussieht. Einziges Kriterium ist, dass die Struktur bei allen zu verbindenden TDMS Dateien gleich sein muß.

Ein Versuch einfach TDMS Date auslesen ist schief gegangen, weil in diesem Fall ein Zeitstempel Kanal enthalten ist und das TDMS lesen VI die Daten nicht wandeln kann. Ahrg1

Vielen Dank schon mal

Gruß Mario


RE: TDMS Dateien verbinden - jg - 14.03.2014 11:41

TDMS-Lesen kann durchaus ein Array of Timestamp einlesen, du musst das nur am Eingang so definieren:
[attachment=48958]
Gruß, Jens


RE: TDMS Dateien verbinden - Mrindfleisch - 14.03.2014 11:44

Ja ich weis aber ich will das ganze ja universal gestallten. Also so das ich garnicht wissen muss was da genau für Datentypen drin sind. Kann ich das nicht irgendwie aus der TMDS Datei auslesen?


RE: TDMS Dateien verbinden - jg - 14.03.2014 11:58

Tja, da hast du jetzt (ein kleines) Problem.
LabVIEW braucht schon den Datentyp - das hast du ja schon selber festgestellt.
Schau mal, ob irgendwo bei den Properties eines Kanals Infos über den Datentyp dabeistehen, dann kannst du mit einer "Case-Struktur" weiterarbeiten.

Gruß, Jens

EDIT: Vielleicht kann man sich was im "TDMS File Viewer" abschauen!


RE: TDMS Dateien verbinden - Mrindfleisch - 14.03.2014 13:00

Ich hab mittlerweile herausgefunden, dass man mit dem VI Eigenschaften auslesen auch die Eigenschaften der Kanäle bekommt. Hier gibt's den Eintrag NI_DataType der mir allerdings nur eine Zahl als Variant zurück gibt. Ich habe jetzt noch nicht gefunden ob man dieses format einfach umwandeln kann geschweige denn eine Tabelle mit allen Datentypen.


RE: TDMS Dateien verbinden - GerdW - 14.03.2014 13:09

Hallo mrindfleisch,

dann liest man die Hilfe zu TDMSGetProperties und klickt auf den Link zu LabVIEW Type Code…


RE: TDMS Dateien verbinden - jg - 14.03.2014 13:13

Oder schau mal hier rein (wie schon erwähnt):
[attachment=48963]
Gruß, Jens


RE: TDMS Dateien verbinden - Mrindfleisch - 14.03.2014 13:28

... und stellt fest das der NI_DataType "68" der für einen Zeitstempel zurückgegeben wird nicht dokumentiert ist. uns stellt sich die Frage ob man mit dieser Zahl irgendetwas anfangen kann? Ich muss ja anhand dieser Zahl dem TDMS Lesen VI einen datentyp mitgeben. Kann man das standardmäßig einfach irgendwie umwandeln?


RE: TDMS Dateien verbinden - macmarvin - 14.03.2014 14:13

Im NI Forum habe ich vor einiger Zeit mal an einem kleinen Tool mitgearbeitet.
http://forums.ni.com/t5/Multifunction-DAQ/how-can-i-merge-multiple-tdms-files-into-1/td-p/466993
Das hat zumindestens damals gut funktioniert.


RE: TDMS Dateien verbinden - BNT - 17.03.2014 12:35

Ich hatte auch mal was gemacht.

Es wird eine Liste der TDMS-Dateien zur Auswahl angezeigt. Es wird davon ausgegangen, dass alle TDMS-Dateien die gleiche Struktur haben. In einer zweiten Liste kann man die Kanäle auswählen, die von allen ausgewählten Dateien in eine neue Datei geschrieben werden sollen.

Vielleicht hilft's.

Published under GPL v3.

Gruß Holger