LabVIEWForum.de - TDMS Dateien verbinden

LabVIEWForum.de

Normale Version: TDMS Dateien verbinden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
TDMS-Lesen kann durchaus ein Array of Timestamp einlesen, du musst das nur am Eingang so definieren:
[attachment=48958]
Gruß, Jens
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?
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!
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.
Hallo mrindfleisch,

dann liest man die Hilfe zu TDMSGetProperties und klickt auf den Link zu LabVIEW Type Code…
Oder schau mal hier rein (wie schon erwähnt):
[attachment=48963]
Gruß, Jens
... 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?
Im NI Forum habe ich vor einiger Zeit mal an einem kleinen Tool mitgearbeitet.
http://forums.ni.com/t5/Multifunction-DA...d-p/466993
Das hat zumindestens damals gut funktioniert.
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
Referenz-URLs