INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Lesen aller .tdms-Datenkanäle



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.10.2013, 11:06 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2013 11:45 von jg.)
Beitrag #1

bregas Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Oct 2013

2011
2013
DE



Lesen aller .tdms-Datenkanäle
Hallo zusammen,

vorab: ich bin ein absoluter Neuling auf dem LabVIEW-Gebiet, seid also nicht so streng zu mir! Smile

Jetzt zu meiner Frage: Ich habe eine .tdms Datei, die Messwerte aus einem Fahrzeug enthält. Sie besitzt folgende Struktur:
   

Jeder Kanal (x,y,z,Tempsensor1,..) besitzt 3600 Messwerte. Mein Ziel ist es jetzt, diese .tdms-Datei einzulesen und die Messwerte
der einzelnen Kanäle in Arrays abzulegen (um damit Rechnungen durchzuführen).

Ich hab jetzt also angefangen ein VI zu basteln und erreiche damit, dass ich mir zwar die Gruppen und Kanalnamen anzeigen lassen kann, aber wenn es um die konkreten Messdaten geht, bekomm ich nur den Bereich "Datum" aus meiner .tdms Datei.

Hier das .vi:
   

Wie komme ich denn am besten an die Messdaten der einzelnen Kanäle?

Beste Dank und viele Grüße
bregas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.10.2013, 13:23 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2013 13:25 von Kasi.)
Beitrag #2

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Lesen aller .tdms-Datenkanäle
Hallo Bregas,

auch wenn ich nicht zu streng sein soll, kann ich mir ein Rtmfx nicht verkneifen. Denn in der Hilfe steht alles, was du schon immer über TDMS Read wissen wolltest, aber bisher nie zu fragen gewagt hast.
Ich zitiere aus dem Buch Labview Help, Vers TDMS Read Function:

"group name in [...] If you do not wire this input, LabVIEW reads data from the first group when you run this function for the first time."

Was will uns der Autor damit sagen? Und welche Schlüsse ergeben sich hier heraus?
Diese Fragen bitte ich in Heimarbeit bis zum nächsten Post zu bearbeiten.

Grüße & viel Erfolg,
Kasi

Achja, und willkommen im Forum Smile

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2013, 16:34 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2013 17:27 von jg.)
Beitrag #3

bregas Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Oct 2013

2011
2013
DE



RE: Lesen aller .tdms-Datenkanäle
Hallo Kasi,

vorab schon einmal vielen vielen Dank für deine Antwort und Hilfe. Und tatsächlich hat das wachrütteln mit der LabVIEW Hilfe etwas gebracht.

Ich komme jetzt nämlich an meine einzelnen Datenkanäle und kann mir diese sowohl graphisch ausgeben, als auch in ein Array schreiben!

Soweit so gut, allerdings wirft mir LabVIEW beim kompilieren des Block Diagrams einen Fehler, den ich nicht deuten kann und wo ich auch mit der Hilfe nicht weiterkomm.
   
s1.directupload.net/images/131026/p99omhix.png

Der Fehler wird beim Ausführen der Funktion "TDMS: Schließen" erzeugt.
Das für mich unverständliche ist, dass wenn ich nur einen Kanal auslese, das Schließen der .tdms-Datei kein Problem darstellt, aber jetzt, wo ich quasi
vier Kanäle parallel auslese schon.

Wenn ich jetzt den Programmaublauf highlighte, sieht man ganz deutlich, dass die Funktionsblöcke "TDMS: Schließen" erst dann ausgeführt werden, wenn alle Daten-Kanalabfragen durchgeführt werden. Warum bringt er also diese Fehlermeldung?

Wo ist mein Denkfehler?

Gruß
bregas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2013, 17:27 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2013 17:33 von jg.)
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Lesen aller .tdms-Datenkanäle
Offtopic2
Anhänge bitte hier im Forum hochladen, nicht bei externen Hostern (vgl. LVF-Regeln).

Danke, Jens
(26.10.2013 16:34 )bregas schrieb:  Der Fehler wird beim Ausführen der Funktion "TDMS: Schließen" erzeugt.
Das für mich unverständliche ist, dass wenn ich nur einen Kanal auslese, das Schließen der .tdms-Datei kein Problem darstellt, aber jetzt, wo ich quasi
vier Kanäle parallel auslese schon.
Genau hier liegt dein Denkfehler. Sobald du etwas "parallel" im Blockdiagramm programmierst, dann zerstörst du das Datenflusskonzept von LabVIEW. Was dann wann ausgeführt wird, weißt du vorab nicht. Und du darfst dich NICHT darauf verlassen, dass die Abarbeitungsreihenfolge im Highlight-Modus identisch zu der im Normalmodus ist.

Lösung: Häng die 4 Reads hintereinander und schließe die Datei nur 1x NACH allen Reads.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 11:07
Beitrag #5

bregas Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Oct 2013

2011
2013
DE



RE: Lesen aller .tdms-Datenkanäle
Ich nochmal:

In meinem Blockprogramm sagt mir LabVIEW, dass der Datentyp der aus meinem TDMS: Lesen kommt ein Signalverlauf (DBL) ist. Desweitern hab ich in der Hilfe gelesen, dass ich der Funktion TDMS:Lesen einen Datentyp mit auf den Weg geben kann. Die Daten die dann mein TDMS:Lesen verlassen, haben dann den Datentyp der vorher festgelegt wurde.

Aber wie sage ich der TDMS:Lesen, wie der Datentyp aussieht? Muss ich einen String übergeben? Dazu hab ich nirgend eine Information gefunden.
Es steht immer nur da, dass man den Datentyp übergibt und fertig..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 12:17
Beitrag #6

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Lesen aller .tdms-Datenkanäle
Hallo bregas,

das VI TDMS Read hat einen Eingang "Data Type" - hier kannst du einfach eine leere Labview Konstante mit dem Datentyp anschließen, den du gerne als Ausgangstyp hättest. Nach Hilfe sind folgende Datentypen erlaubt:
Digital waveform
Digital table
Dynamic data
1D or 2D array of:
-Signed or unsigned integers
-Floating-point numbers
-Timestamps
-Booleans
-Alphanumeric strings that do not contain null characters

Wenn du jetzt also beispielsweise als Datentyp lieber ein Boolsches Array haben willst, erstellst du dir eine leere Array-Konstante auf dem Blockdiagram, füllst die mit einer Boolean Konstante und schließt diese an den Datentyp-Eingang an - dann wird auch der Datenausgang auf boolsches Array geschaltet (ob das dann Sinn macht, hängt natürlich davon ab, was überhaupt im jeweiligen TDMS Kanal gespeichert wurde).

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.10.2013, 12:56
Beitrag #7

bregas Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Oct 2013

2011
2013
DE



RE: Lesen aller .tdms-Datenkanäle
Hallo Kasi,

perfekt, hat super geklappt. In 4 Wochen werde ich über meine Fragen wahrscheinlich lachen Smile

Schönen Sonntag,
bregas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 14:45
Beitrag #8

Kasi Offline
LVF-Stammgast
***


Beiträge: 342
Registriert seit: Dec 2010

6 - 2009
2005
DE_EN

79194
Deutschland
RE: Lesen aller .tdms-Datenkanäle
In vier Wochen schaust du dir dein Programm an und sagst dir - Gott ist das hässlich....besser, ich fange nochmal von vorne an Wink
Spaß beiseite, da du relativ am Anfang steht, würde ich dir auf jeden Fall empfehlen, alles direkt am Anfang gut zu dokumentieren (am einfachsten mit einem Doppelklick ins Blockdiagramm, das ein Textfeld einfügt), damit du in ein paar Wochen noch weißt, was genau du bezwecken willst. Außerdem hilft es auch, eine Ahnung davon zu haben, was klassische Anfängerfehler bei der Programmierung sind und was eine gute Nutzerschnittstelle ausmacht.

Viel Erfolg bei deinen Projekten!

If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  .tdms: mehrere Signale aus einer Datei lesen Kristin_611 4 6.126 03.02.2015 12:09
Letzter Beitrag: Kristin_611
Question NUR Eigenschaften einer TDMS Datei lesen Lucky 1 3.903 24.11.2014 10:12
Letzter Beitrag: macmarvin
  Problem bei TDMS lesen Neska 17 12.231 17.07.2013 07:51
Letzter Beitrag: GerdW
  schreiben/lesen aus TDMS-Datei und FFT ReneP 7 7.995 29.08.2011 13:49
Letzter Beitrag: Mingo
  tdms daten lesen Matthäus 9 10.371 29.05.2009 14:12
Letzter Beitrag: Matthäus

Gehe zu: