Hallo,
folgendes Problem ist mir heute aufgefallen:
Die Eigentliche Aufgabe besteht darin 40 Kanäle (über DAQmx) mit 1khz (100samples per Block) über ca. 30min-60min als Waveform in eine TDMS-Datei zu Speichern. Dabei steigt natürlich die Größe der Datei ziemlich schnell an.
Um mit den aufgezeichneten Daten besser Arbeiten zu können wollte ich nun zB alle 10min eine neue Datei anlegen.
Das klappt eigentlich auch ganz gut.
Das Problem ist dabei, dass zwischen den einzelnen Dateien immer ein Schleifenzyklus, in dem Fall 100ms, angefallener Daten fehlen.
Der Programmablauf sieht so aus: Über einen Schalter wird die Aufzeichnung aktiviert. Das heisst eine Tdms-Datei wird erstellt (TDMS-open/create) und dann beschrieben (TDMS-write). Wenn der Schalter wieder ausgeschaltet wird, wird aufgehört zu schreiben und die TDMS-Datei geschlossen (TDMS-Close). Bei erneuter Betätigung des Schalters wird der Vorgang wiederholt. Wenn die Aufzeichnung nun länger als zB 10 min dauert wird die Tdms-Datei ebenfalls geschlossen (TDMS-close) und eine neue TDMS-Datei angelegt (TDMS-open/create) in welche dann weiter geschrieben wird. (Die TDMS-Daten beinhalten statt einem Index im Namen die Uhrzeit mit Sekunden.)
So fehlen aber wie gesagt die Daten die pro Schleifenzyklus anfallen.
Wenn ich die TDMS-Dateien nicht schließe (TDMS-close) bevor ich eine neue Datei erstelle (TDMS-create) dann fehlen keine daten.
Reichen die Informationen aus um eien Tipp zu geben wie man die "lücke" in der Datenaufzeichnung zwischen den Files schließt ohne auf TDMS-close zu verzichten?
Leider habe ich keinen Screenshot da sich alles auf Arbeit befindet und ich hoffe ich konnte es halbwegs Verständlich formulieren.
PS:
Ich habe bei DASYlab (den kleinen Bruder von Labview und auch von NI) geguckt ob das Problem dort auch auftritt und siehe da, gleiches Problem. Nur das man dort eigentlich nix Falsch machen oder nichts verändern kann weil ja alles vorgefertigt ist und man nur nen Haken setzten kann das man eine Multi-File erstellen will. Also jede n- Blöcke eine neue Datei mit laufender Nummer im Namen erstellen. Aber auch da fehlt genau ein Block Daten zwischen den Files. Und es gibt nicheinmal einen Hinweis darauf das es dieses Phänomen gibt.
Danke für die evtl. Hilfe
sG F.