25.03.2011, 15:02
Hallo zusammen,
ich stehe gerade vor einem Problem bei der Benutzung von "Write to Binary File und "Read from Binary File". Ist es möglich, dass Binary Files ab einer gewissen Datenmenge die Struktur ändern oder Daten anders geschrieben werden?
Der Hintergrund der VIs ist das Auslesen von Daten ab einer DAQ und Abspeichern in einem Binary File zur späteren Verarbeitung. Die Daten sollen so abgespeichert werden, dass zuerst ein 512 byte Header steht und danach die Daten in Blöcke von von X mal Y Samples (2D Array) verpackt werden. Danach werden Z dieser Blöcke hintereinander geschrieben.
Um die Datenverarbeitung zu testen habe ich ein VI erstellt, dass diese Datenform liefern soll. Der control "Array" stellt das X mal Y grosse Array von I 16 Daten dar und mit #of arrays wird festgelegt, wieviele dieser Blöcke hintereinander ins File geschrieben werden sollen.
Danach wird das Binary File mit dem file_read_Integer.vi geöffnet und die Blöcke bearbeitet. Die Verarbeitung ist hier irrelevant. Falls ich nun eine Datenmenge von grösser als 2048X1024X512 schreibe (2048x1024 I-16 array, 512 mal hintereinandergeschrieben) erhalte ich beim öffnen den Fehlercode 116 (Unflatten or byte stream read operation failed due to corrupt, unexpected, or truncated data) im "Read from Binary File". Bei kleineren Datenmengen funktioniert der Ablauf einwandfrei und ausser der Datenmenge habe ich nichts geändert.
Der Graph im file_write_integer diente zur Kontrolle, dass der File Pointer nicht "überläuft".
Ich sehe im Moment keine andere Erklärung als die Dateigrösse (über 2 GB) für dieses Problem, bin aber für jeden Hinweis dankbar.
Liebe Grüsse
Fred
ich stehe gerade vor einem Problem bei der Benutzung von "Write to Binary File und "Read from Binary File". Ist es möglich, dass Binary Files ab einer gewissen Datenmenge die Struktur ändern oder Daten anders geschrieben werden?
Der Hintergrund der VIs ist das Auslesen von Daten ab einer DAQ und Abspeichern in einem Binary File zur späteren Verarbeitung. Die Daten sollen so abgespeichert werden, dass zuerst ein 512 byte Header steht und danach die Daten in Blöcke von von X mal Y Samples (2D Array) verpackt werden. Danach werden Z dieser Blöcke hintereinander geschrieben.
Um die Datenverarbeitung zu testen habe ich ein VI erstellt, dass diese Datenform liefern soll. Der control "Array" stellt das X mal Y grosse Array von I 16 Daten dar und mit #of arrays wird festgelegt, wieviele dieser Blöcke hintereinander ins File geschrieben werden sollen.
Danach wird das Binary File mit dem file_read_Integer.vi geöffnet und die Blöcke bearbeitet. Die Verarbeitung ist hier irrelevant. Falls ich nun eine Datenmenge von grösser als 2048X1024X512 schreibe (2048x1024 I-16 array, 512 mal hintereinandergeschrieben) erhalte ich beim öffnen den Fehlercode 116 (Unflatten or byte stream read operation failed due to corrupt, unexpected, or truncated data) im "Read from Binary File". Bei kleineren Datenmengen funktioniert der Ablauf einwandfrei und ausser der Datenmenge habe ich nichts geändert.
Der Graph im file_write_integer diente zur Kontrolle, dass der File Pointer nicht "überläuft".
Ich sehe im Moment keine andere Erklärung als die Dateigrösse (über 2 GB) für dieses Problem, bin aber für jeden Hinweis dankbar.
Liebe Grüsse
Fred