LabVIEWForum.de - Seltsame Zahlen beim Einlesen einer Binärdatei

LabVIEWForum.de

Normale Version: Seltsame Zahlen beim Einlesen einer Binärdatei
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,
ich habe folgendes Problem:
Ich habe mir ein VI geschrieben, das mir meinen Mauspfad sehr genau aufzeichnet, plottet und in eine Binärdatei abspeichert.
Funktioniert alles soweit ganz gut. Beim Lesen der Datei habe ich allerdings das Problem, dass ich immer 7 mal Datenmüll bekomme und dann die 6 Werte, die ich erwarte. Ich erwarte: x-pos, delta x, y-pos, delta y, status1, status2
Der Datenmüll (vielleicht ist es garkeiner?) siht ungefähr so aus: 1,32598E-313, 2,72843E+142.... also quwerbeet riesen und winzige Zahlen. Ich erwarte: 0,0752562, -0,0200077 diese größenordnung (welche mir auch nach den 7 Schrottwerten angezeigt werden).
Ich hänge mein Lesevi an. Genau wie mein schreibendes VI
Hat jemand eine Ahnung wie ich aus dem Kram ordentliche Werte bekomme und woran es liegt, dass der sowas macht?
danke
Peer

PS. ach verdammt! das ist eine alte Version. ich hänge also noch eine neue Version meiner schreibedatei an.
(28.04.2011 11:43 )Peer schrieb: [ -> ]woran es liegt, dass der sowas macht?
Das liegt daran, weil du das so programmiert hast. Yahoo

Das Problem tritt beim Schreiben auf. Du schreibt ja eigentlich viele kurze Arrays in das File. Vor den Daten eines jeden dieser kleinen Arrays wird die Länge der Daten abgespeichert! Guckst du Eingang "Arraylänge voranstellen?", der auf True steht. - [*denk*] Stell den Eingang auf False - und es wird gehen.

Die ganz großen und ganz kleinen Zahlen kommen daher, weil die Länge, die nur vier Byte lang ist, als 8-Byte langer DBL fehlinterpretiert wird.

Würdest du den Eingang auf True lassen, müsstest du das Lesen entsprechend machen - siehe Bild.
Hallo Peer,

schon wieder ein Thread-Ableger?

In deiner Schreibroutine hast du den Eingang "Prepend Arraysize?" beim BinaryWrite nciht beachtet. Wenn du den mit einem FALSE beschaltest, sollte deine Leseroutine wieder funktionieren...
(IchSelbst war eine Minute schneller und hat den gleichen Fehler entdeckt. Smile )
Edit: Nur so als Tipp: Lass die Kontexthilfe offen, dann entdeckst du solche Kleinigkeiten evtl. schneller von selbst...

Außerdem benutzt du in der Schreibroutine immer noch ein InsertIntoArray mit einem leeren Array als Eingang anstatt des viel intuitiveren BuildArray (RubeGoldberg)...
(28.04.2011 12:07 )GerdW schrieb: [ -> ]schon wieder ein Thread-Ableger?

hrhrhr man tut was man kann Wink
Ich möchte ja auch, dass es zu finden ist, wenn jemand anders ähnliche Probleme hat.
Habs auf build Array umgestellt.

Und VIEEEEELEN DANK!
es funktioniert Smile
Referenz-URLs