LabVIEWForum.de
Daten aus Cluster in tdms Format speichern - 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: Daten aus Cluster in tdms Format speichern (/Thread-Daten-aus-Cluster-in-tdms-Format-speichern)



Daten aus Cluster in tdms Format speichern - mrstrom - 20.12.2010 16:30

Hallo LabViewforum,

ich möchte Daten aus einem Control als tdms Format abspeichern. In meinem Control befinden sich ein Clluster mit Messwerte in verschiedenen 1D Arrays und der Messwert Spektrum befindet sich in einem 2D Array. Jedes Array soll unter einem seperaten Kanal gespeichert werden. Das gesamte Cluster soll als eine Gruppe gespeichert werden. Ich habe folgenden Lösungsversuch unternommen (Anhang --> Bei diesem Versuch habe ich nur Versucht 1D Arrays zu speichern und das Control dementsprechend umgewandelt und auch den Datentyp am schreib VI auf 1D Array gestellt es konnte also kompelliert werden) doch leider werden keine Daten in die Datei geschrieben.
Woran kann das liegen? Warum kann braucht das TDMS Schreibe VI eine Array für die Kanalnamen warum reicht nicht ein Name für das ganze 2D Array?

Auch beim Auslesen der tdms Datei bin ich mir unsicher wie man am besten eine ganze Gruppe ausliest und alle Kanäle in einem seperaten Array wieder speichert. Hat da einer eine Idee. Ich habe schon mal in der Hilfe geschaut, verstehe aber nicht ganz den Ansatz vorallem nicht das Symbol mit der 2009 drin. Es ist dazu keine Hilfe verfügbar und ich finde das Symbol auch nicht auf der Palette. Wisst ihr was es ist und wo man es findet?

[attachment=31342]
Lv09_img2
[attachment=31341]
[attachment=31339]


Daten aus Cluster in tdms Format speichern - Y-P - 20.12.2010 17:20

Mit TDMS kenne ich mich nicht so toll aus, aber gib bitte nächstes Mal die LabVIEW-Version Deines VIs mit an. Rulez

Gruß Markus


Daten aus Cluster in tdms Format speichern - mrstrom - 21.12.2010 14:51

Hallo ich habe mit dem TDMS Laden noch einmal ein bisschen rumgespielt und das VI (im Anhang Version 2009) erzeugt.

Es ist nur ein Test VI für mich zum Kennenlernen der TDMS Funktion.
Es sollen auf den Kanälen Kanal1 und Kanal2 ein 1D Array aus dbl gespeichert werden, was auch soweit funktioniert.
Jetzt möchte ich beide Kanäle wieder auslesen und tue dies in einer Schleife aus der dann möglichst ein 2D Array herauskommen sollte. In der ersten Zeile sollen die Daten des ersten Kanals stehen und in der 2Zeile die Daten des 2 Kanal.

Dies klappt leider nicht und beim zweiten Schleifendurchlauf wird Fehler 4 ausgegeben (End of File erreicht). Wie kann das sein es wurde doch im ersten Durchlauf nur der erste Kanal gelesen und nicht der zweite oder wie läuft das Lesen VI? Die Referenz in das Lesen und aus dem LesenVI ist aber die gleiche.
Steht der "Zeiger" beim zweiten Durchlauf nicht wieder am Datei Anfang und wenn nein wie bekomme ich ihn dort hin??

Wäre schön wenn mir einer weiterhelfen könnte.

mrstrom
Lv09_img2


Daten aus Cluster in tdms Format speichern - rasta - 23.12.2010 07:35

' schrieb:Dies klappt leider nicht und beim zweiten Schleifendurchlauf wird Fehler 4 ausgegeben (End of File erreicht). Wie kann das sein es wurde doch im ersten Durchlauf nur der erste Kanal gelesen und nicht der zweite oder wie läuft das Lesen VI? Die Referenz in das Lesen und aus dem LesenVI ist aber die gleiche.
Steht der "Zeiger" beim zweiten Durchlauf nicht wieder am Datei Anfang und wenn nein wie bekomme ich ihn dort hin??

Wäre schön wenn mir einer weiterhelfen könnte.

mrstrom
Lv09_img2

Hallo mrstrom,
du machst folgenden Fehler:
TDMS-Read verlangt völlig zu Recht einen Gruppennamen und einen Kanalnamen.
In Deinem Beispiel war nur der Kanalname angeklemmt, sonderbare Array-Funktionen implementiert sowie ebenfalls die For-Schleife mit 2 vorinitialisiert.
Im Anhang Dein lv09Test-Vi mit korrigierter Lesefunktion.

Gruß
Ralf


Daten aus Cluster in tdms Format speichern - mrstrom - 26.12.2010 20:30

' schrieb:Jedes Array soll unter einem seperaten Kanal gespeichert werden.

Ja hierzu habe ich noch etwas vergessen: Bei jedem Schleifendurchlauf (siehe angehängtes VI) soll ein neuer Kanal beschrieben werden der natürlich bei jeden Durchlauf auch neu benannt werden muss. Wie er seht funktioniert dies nicht und es kommt die Fehlermeldung vom Compiler:" Polymorpher Anschluss arbeitet nicht mit diesem Datentyp". Warum nicht? und wie kann ich den Fehlerabstellen und trotzdem bei jedem Durchlauf einen neuen Kanalnamen vergeben. ( es muss variabel bleiben wie viele Kanäle und welche geschrieben werden ).

wäre für eine schnelle Hilfe sehr dankbar


Daten aus Cluster in tdms Format speichern - macmarvin - 27.12.2010 11:03

' schrieb:Ja hierzu habe ich noch etwas vergessen: Bei jedem Schleifendurchlauf (siehe angehängtes VI) ...

Welches VI meinst du? In deinem ersten Post hast du versucht ein 2D Array d.h. also mehrere Kanäle, mit nur einem Kanalnamen zu schreiben. Da meckert der Compiler schon richtig, daß er da ein Array von Namen erwartet.
Wie soll denn das Ergebnis-TDMS aussehen?