TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
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!
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Ja, ich weiss, der Titel sagt nicht viel aus (bin für bessere Vorschläge offen):
Ich, blutiger Anfänger, möchte gerne Daten von meiner Messkarte (AD-Wandler) speichern. Die Karte nimmt mit über ein längeren Zeitraum (1 Tag) mit 20Hz jeweils ein Spektrum mit 2500 Punkten auf. Dieses Array möchte ich gerne kontinuierlich speichern. In welcher Form, ist eigentlich egal. Ich dachte, an ein binären TDMS-Stream, der alle 500 MB eine neue Datei mit Zeitstempel erzeugt. Unter Umständen auch direkt gepackt...
Das Problem: Die Messwerterfassung läuft in einer Schleife und ich kann im Augenblick nur mit dem Datei-speichern-Express-VI umgehen...
1.Befindet sich das Express-VI in der Schleife, startet es sofort mit der Messung (gut) und nimmt die 1D-Arrays nach Schleifennummer auf (auch gut). Wenn ich dann den TDMS-Stream wieder lade (wieder mit einem dieser hier verpönten ExpressVIs), habe ich allerdings alle Spektren hintereinandergereiht, wie im Beispiel-VI (schlecht) oder (wie in meinem Messprogramm) das Express-VI erzeugt im Stream eigene Unterverzeichnisse pro Durchlauf (genauso schlecht). Woran das unterschiedliche Verhalten des Express-VI im Vergleich Messprogramm vs. Beispiel-VI liegt, kann ich nicht erklären. Im Messprogramm werden die Daten von einem Queue geliefert, vielleicht liegt es daran.
2. Befindet sich das Speichern-VI ausserhalb der Schleife, sorgt die Autoindizierung dafür, dass nur ein großes Array erzeugt wird, welches ich dann komplett laden kann (gut). Leider läuft der Speicher recht schnell über und das Programm stürzt ab.
Ich würde natürlich gerne, dass das VI die Messung sofort abspeichert, allerdings in einer Form, dass ich die Daten als 2D-Array wieder laden kann, nach Schleifeniterations-Durchläufen getrennt. Also mein Stream soll wie mit der Autoindizierung arbeiten, allerdings innerhalb der Schleife. Ist der TDMS-Weg der Richtige oder sollte ich gleich eine Datenbank-Lösung erlernen und einbinden?
Anzeige
04.03.2010, 10:05 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2010 10:07 von Amaris2003.)
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Wo bitte ist "Beitrag editieren" für den ersten Beitrag? Ich habe wohl Tomaten auf den Augen...beim 2.ten (diesem Beitrag) wird es anzeigt. Ich würde nämlich gerne den Titel, Text und das Beispiel anpassen.
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Also nochmal (kann leider den ersten Beitrag nicht löschen oder ändern: ADMIN?):
Ich streame von einer Schleife mit dem Express-VI in eine TDMS-Datei. Neue 1D-Arrays werden an das alte drangehängt, es soll stattdessen bei jedem Schleifendurchlauf aber eine neue Spalte/Kanal aufgemacht werden.
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
' schrieb:Wo bitte ist "Beitrag editieren" für den ersten Beitrag? Ich habe wohl Tomaten auf den Augen...beim 2.ten (diesem Beitrag) wird es anzeigt. Ich würde nämlich gerne den Titel, Text und das Beispiel anpassen.
Titel editieren oder Beiträge löschen kann der "normale" LVF-User gar nicht. Bei so was PN an die Admins.
Beitrag editieren kannst du nur für eine begrenzte Zeit, wobei, statt Beitrag 3 hättest du wenigstens Beitrag 2 editieren können
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!
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Keiner eine Idee, wie man das macht? Muss doch nur wissen, wie man mitteilt, dass nach einem Schleifendurchlauf eine neue Spalte angefangen wird und nicht an die alte Datei angehängt wird....Obwohl ich es nicht kann: sollte doch eine einfache Frage sein?
08.03.2010, 11:07 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2010 11:27 von Amaris2003.)
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Zur Not muss ich wohl damit leben und den Kanal beim Lesen wieder splitten....
Ich bin so blöd - einfach den Schleifenzähler als Kanalnamen angeben, fertig. Funktioniert allerding nur ohne mein geliebtes Express-VI. Somit ist der Komfort dahin, was Dateigröße-Zeitstempel-etc... angeht. Mache ich jetzt selber. Zum Lesen dann das normale Express-VI.
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
So, ich denke, ich habe mein Problem selber gelöst. Datei siehe Anhang. Jeder Schleifendurchlauf wird als Kanalname neu zugeordnet. Nach einer einstellbaren Anzahl von Schleifendurchläufen wird eine neue Datei angefangen.
TDMS-Datei erzeugen, Problem Laden mit Autoinidzierung und Kanaltrennung
Funktioniert nicht richtig, da er nicht auf das nächste 1D-Array wartet. Ich werde einen neuen Thread mit besserem Titel erstellen, indem ich nochmal von vorn anfange. Ich hoffe, dass ist für den Admin ok. Dieser Beitrag kann eigentlich komplett gelöscht werden. Zum neuen Thread: hier lang.