LabVIEWForum.de - Binary File lesen / auswerten

LabVIEWForum.de

Normale Version: Binary File lesen / auswerten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe im Zuge eines Projektes Messwerte (kontinuierlich) in einer Binary File gespeichert. Dabei handelt es sich um ein Spannungssignal über der Zeit. Nun möchte ich dieses Signal bearbeiten indem ich die Werte einzeln auslese aus der Datei und dabei nur diejenigen Bereiche die überhalb eines gewissen Schwellenwertes liegen (Peaks) speichern um diese dann weiterzuverarbeiten. Mein Problem ist, das ich nicht ganz verstehe was genau in einem 1D array (das ist ja das was in der Binary drin ist) wie gespeichert wird. Denn ich meine wie kann ich aus einer langen Kette von Spannungswerten erkennen welcher Wert zu welcher Zeit auftrat? Wie wird das gespeichert und wie kann ich die Werte einzeln auslesen und sie dann bearbeiten zu können.
Vielen Dank für eure Hilfe,

Philip
Hallo Philip,

das binäre Protokoll muss irgendwo (Doku) definiert sein, ansonsten weisst du wirklich nicht wie die Daten zu interpretieren sind.

Die Datenpakete wird typischerweise nach folgenden Merkmalen erkannt:

1. Syncbyte (damit du weisst, wo das Datenpaket anfängt)
2. Paketlänge (damit du weisst, wie lange das Paket ist)
3. Checksumme über das ganze Datenpaket mit o.g. Paketlänge (damit du die Übertragungsfehler erkennen kannst)

In der Doku muss stehen:

1. Wie die Checksumme zu berechnen ist
2. Wie die Pakete aufgebaut sind
3. Datentypen von einzelnen Zahlenwerten

Grüsse, Eugen
Vielleicht habe ich dich am Anfang falsch verstanden. Du hast also die Werte selber schon binär in eine Datei abgespeichert.
Dann musst du ja wissen wie du die abgespeichert hast. Wenn einfach hintereinander ohne irgendwelche Trennzeichen u.s.w. und du kennst den Datentyp von deinen Zahlenwerten, dann kannst du die Datei zurückumwandeln. Dazu verbinde einfach den Anschluss "Data Type" beim VI "Read Binary File" mit dem Datentyp, den du hast.

Gruss, Eugen
Hallo,

vielen dank für die schnelle Antwort. Ja ich habe die Daten schon in einer Binärdatei gespeichert. Dafür habe ich eine Beispiel genutzt was bei LabVIEW dabei war. Ich muss zugeben, dass ich noch Anfänger bei LabVIEW bin und mich deswegen nicht so wirklich auskenne. Ich kann die Daten (auch mit nem Beispiel) wieder auslesen und darstellen und das klappt auch super. Aber jetzt habe ich halt ein Problem sie zu verarbeiten.;)Wie mache ich es am klügsten, wenn ich ein 1D Array Wert für Wert auslesen will, um jeden Wert mit einer Schwelle zu vergleichen?

Danke für eure Hilfe, finde ich echt super, dass einem hier schnell geholfen wird.

Philip
Hallo Philip,

ich weiss nicht so genau ob es besser programmiert werden kann, aber ich habe dir was auf die schnelle gebastelt.

P.S. du könntest in deinen Forumseinstellungen die LV Version angeben.
Ja viele Dank,

eine Frage hätte ich noch. Wie finde ich raus was für einen Typ Data bei "Read from binary file" rauskommt? Das ist ein rosa Kabel und in der Hilfe steht:

"data contains the data read from the file in the specified data type. It can consist of a string, an array, a cluster of arrays, or a cluster array, depending on which data type you are reading and how count is set."

Es sollte eigentlich ein Array sein aber das rosa Kabel lässt sich nicht ans orange anschließen.

Verwirrt binWink

Philip
Warum nicht?
Hi,

also bei mir klappts nicht! Ich will halt nur die größe des arrays herausfinden...?

Philip

Vi hängt an!
Den Typ musst du oben anschliessen.
Referenz-URLs