LabVIEWForum.de
Eigenschaften von TDMS-Dateien - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Eigenschaften von TDMS-Dateien (/Thread-Eigenschaften-von-TDMS-Dateien)

Seiten: 1 2


Eigenschaften von TDMS-Dateien - W-C - 30.01.2012 14:27

Hallo,

kann mir (als LV-Grünschnabel) jemand sagen, wie ich:
- die Einheiten der aufgenommen Messwerte in meine *.tdm-Datei rein bekomme
- ich eine zeitliche Zuordnung der Messdaten in die *.tdm-Datei kriege

Die Einheit sollte über Eigenschaften machbar sein (wie bei Author, etc.), aber auf Unit reagiert er nicht Ahrg1

Die zeitliche Zuordnung sollte dann als X-Achse realisiert werden ... mein erster Versuch, die Zeit parallel zu den Werten aufzuzeichnen (Zeitstempel) scheiterte, weil ein Array nun mal kein Cluster ist Sad Und TDM's nehmen nur Array bzw. keine Cluster.

Als Anhang meine Arbeit bis jetzt Smile (die Konstanten werden später dann durch Variablen mit Benutzeringabe ersetzt.


RE: Eigenschaften von TDMS-Dateien - RoKi0815 - 31.01.2012 12:43

Die Eigenschaft des Channels für die Einheit ist nicht unter 'unit' sondern 'unit_string' gespeichert. So lese ich es jedenfalls über die DLL in matlab aus. Groß/kleinschreibung weiß ich aber nicht, ob das ausschlaggebend ist.
Wenn man in Streams eine Eigenschaft erstellt, dessen Name nicht als vordefinierte Eigenschaft bekannt ist, dann wird diese trotzdem gespeichert aber als benutzerdefinierte Eigenschaft, somit müsste deine 'Unit' Eigenschaft zumindest irgendwo gespeichert sein. Cool

Mal als kleine Stütze, die vordefinierten Eigenschaften von TDM(S) Dateien:
Datei:
  • "name" - Name
  • "description" - Beschreibung
  • "title" - Titel
  • "author" - Autor
  • "datetime" - Zeitstempel
Kanal Gruppe:
  • "name" - Name
  • "description" - Beschreibung
Kanal:
  • "name" - Name
  • "description" - Beschreibung
  • "unit_string" - Einheit
  • "minimum" - Minimumwert
  • "maximum" - Maximumwert

Edit:
Ich habe auch immer gedacht, dass man beim nutzen der Stream-Blöcke auch eine tdms Datei erzeugen muss und keine tdm Datei. Bin mir da aber nicht mehr sicher.


RE: Eigenschaften von TDMS-Dateien - Hook1986 - 31.01.2012 12:54

Hallo,

ich habe folgendes in der Beschreibung der Funktion "TDMS Set Properties" gefunden. Eventuell ist das auch die Erklärung dafür, warum es nicht funktioniert?

MfG Carsten


RE: Eigenschaften von TDMS-Dateien - rasta - 01.02.2012 07:18

Hallo,
so sollte es funktionieren...

Gruß
Ralf


RE: Eigenschaften von TDMS-Dateien - W-C - 01.02.2012 07:23

Danke für die viele Hilfe, jetzt funktioniert es Smile


RE: Eigenschaften von TDMS-Dateien - RoKi0815 - 01.02.2012 09:52

Wie hast du das mit der zeitlichen Zuordnung realisiert, das ist mir nämlich auch noch schleierhaft, wie das am sinnvollsten zu Lösen ist. Funktioniert das über Timestamps oder macht man das anders?


RE: Eigenschaften von TDMS-Dateien - W-C - 01.02.2012 10:03

Hi RoKi0815,

auch wenn ich nicht behaupten möchte, dass es eine gute Lösung ist. Bei funktioniert das so:

SubVI "log data" wird aufgerufen mit VI starten im Hauptprogramm ... nach Öffnen der tdm-Datei inkl. hinzufügen der Eigenschaften werden die Messdaten (bei mir Umgebungsvariablen) + Zeitstempel in einer While-Loop indiziert zu Arrays zusammengefasst und dann in die Datei geschrieben.
In DIAdem nehme ich die Zeitreihe dann als x-Achse (zuerst in die Module ziehen).

Im Anhang mein SubVI, ich hoffe, es hilft.


RE: Eigenschaften von TDMS-Dateien - RoKi0815 - 01.02.2012 13:31

Hab nur Labview 2010, deshalb kann ich dein vi leider nicht öffnen. Trotzdem danke für den Tip. Wink
Kannst du es vielleicht nochmal für Version 10 anhängen? Angel_not
(zum Speichern in eine frühere Version: Datei -> Save for Previous Version)


RE: Eigenschaften von TDMS-Dateien - W-C - 01.02.2012 13:48

In 2010, wie gewünscht Smile


RE: Eigenschaften von TDMS-Dateien - RoKi0815 - 01.02.2012 15:50

Danke, hab mir das auch gleich mal angeschaut und verstehe jetzt auch, was du meinst mit "Arrays sind keine Cluster".
Im Endeffekt ist es aber glaube ich egal, ob man den Timstamp nun mit einem extra Block als Kanal schreibt oder versucht mehrere Kanäle mit einem Block zu schreiben... das Ergebnis bleibt ja das gleiche: Eine Datenreihe pro Kanal.
Hatte erst gedacht, dass der Timestamp fest mit den Werten eines Kanals verbunden ist, also 2 Datenreihen in einem Kanal... Blink moment, geht das Überhaupt? Ich glaube nicht, deshalb war ich wohl etwas verwirrt.