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 

Auslesen von binären Dateien



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!

31.07.2007, 13:37
Beitrag #1

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
Auslesen von binären Dateien
Hallo LV-Gemeinde,

Ich versuche mich krampfhaft seit knapp 2 Stunden daran eine binäre Datei auszulesen. Leider blieb das ganze bisher ohne Erfolg, so dass ich hoffe hier den richtigen Weg gewiesen zu bekommen.

In erster Näherung möchte ich gerne den Header aus der Datei auslesen. Laut Handbuch ist dieser 256 Bytes lang und beinhaltet verschiedenste Informationen. Jede Info ist durch einen Byte Offset und eine Länge angegeben.

Beispielsweise ist eine Information wie folgt charakterisiert:

Byte Offset: 4
Descriptor Length: 1
Möglich Werte: 0, 1, 2, 3

usw.

Nun ist mein Problem das ich nicht weiß, wie ich damit genau umgehen soll. W+rde mich sehr freuen, wenn mir jemand auf die Sprünge helfen könnte.

Schönen Gruß
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2007, 14:50
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Auslesen von binären Dateien
' schrieb:Hallo LV-Gemeinde,

Ich versuche mich krampfhaft seit knapp 2 Stunden daran eine binäre Datei auszulesen. Leider blieb das ganze bisher ohne Erfolg, so dass ich hoffe hier den richtigen Weg gewiesen zu bekommen.

In erster Näherung möchte ich gerne den Header aus der Datei auslesen. Laut Handbuch ist dieser 256 Bytes lang und beinhaltet verschiedenste Informationen. Jede Info ist durch einen Byte Offset und eine Länge angegeben.

Beispielsweise ist eine Information wie folgt charakterisiert:

Byte Offset: 4
Descriptor Length: 1
Möglich Werte: 0, 1, 2, 3

usw.

Nun ist mein Problem das ich nicht weiß, wie ich damit genau umgehen soll. W+rde mich sehr freuen, wenn mir jemand auf die Sprünge helfen könnte.

Schönen Gruß
Falk


Sollte nicht zu schwer sein. Mach dir einen Cluster aus der definierten Struktur und schliesse diesen Cluster oben (Typenbezeichnung) an Read Binary File.

Gruß, eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2007, 20:37
Beitrag #3

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
Auslesen von binären Dateien
Hallo,

ja das habe ich nun auch schon ausprobiert, aber irgendwie klappt das auch nicht so wie es soll. Entweder ist in dem Handbuch ein Fehler oder ich stell mich wirklich nur zu glatt an. Einige Header-Informationen bekomme ich richtig aus der Datei raus, andere stimmen vorne und hinten nicht. Als Referenz hab ich zum einen die Einstellungen ja am Gerät (die sollten ja auch in der Datei drin sein), zum anderen existiert in unserer AG dazu ein kleines C-Programm was die Dateien in ASCII konvertiert. Und da stimmen halt die Werte.

Unten angehangen mal ein einfaches VI wie ich derzeit versuche einzelne Header-Informationen auszulesen. Ich setzte den Byte Offset wie im Handbuch beschrieben und lese dann die Länge (ebenfalls aus dem Handbuch). Danach noch eine Typenumformung des Byte-Arrays in die gewünschten Datentyp. Wie gesagt bei einigen Dingen klapt das, bei anderen nicht. Falls jemand möchte, so kann ich auch mal eine Binärdatei anhängen.

Gruß
Falk


Angehängte Datei(en)
Sonstige .vi  MCS_Data.get_file_header.vi (Größe: 23,6 KB / Downloads: 281)

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2007, 20:56
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Auslesen von binären Dateien
Hast du probiert Byte-Order zu ändern? LV hat standardmäßig Big-Endian (weil es bei MAC angefangen wurde und MAC hat Big-Endian Datenstruktur, so hat NI es auch für Windows beibehalten). Nimm dir Little-Endian. Was es bedeutet, kannst du googeln.

Noch ein Vorschlag wäre die Daten mit einem HEX-Editor zu betrachten, wenn du keins hast, kannst du die Datei in ein String element einlesen, das auf HEX-Darstellung eingestellt ist.

Noch muss man aufpassen, dass LV standardmässig Array, String Size vornedranhängt oder es beim Parsen voraussetzt.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2007, 21:06
Beitrag #5

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
Auslesen von binären Dateien
' schrieb:Nimm dir Little-Endian.

Danke schön, das war der entscheidene Tipp. Ich hab soviel ausprobiert, aber das mal wieder nicht. Ich könnt heulenBig Grin

Gruß
Falk

Currently: zzzZZZZZZZZ
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
  Alle Dateien im Ordner auslesen holistic 1 11.464 28.03.2011 20:17
Letzter Beitrag: A.Berndsen
  Binäre Dateien Auslesen (Little Endian) ismiregal 5 7.603 21.10.2009 19:02
Letzter Beitrag: SeBa
  Auslesen von großen Dateien über Netzwerk? xaggi 1 3.925 23.08.2007 13:11
Letzter Beitrag: Ydna

Gehe zu: