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 

Binär lesen und schreiben



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!

23.02.2009, 10:35
Beitrag #1

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Binär lesen und schreiben
Hallo,

ich habe eine Frage zum Ausgeben und Einlesen von binären Daten. Ich habe versucht mich anhand der Beispiele in LabVIEW zu orientieren. Hat aber leider nicht ganz geklappt, da die Daten beim Auslesen nicht mehr die selben sind wie beim Einlesen.

Das Programm soll sehr schnell sein. Weitere Anregungen und Kritik sind daher willkommen.
Das Vi-Kalibrierung habe ich nicht mit hochgeladen. Es "verbiegt" nur dem Y-Wert des Waveforms. Kann also einfach verbunden werden.

Wie mache ich es jetzt, die Werte in den beiden Graphen die selben sind? Möchte das dann im Anschluss in ein Array packen und in eine .lmv oder irgendwas anderes packen, was man ohne LabVIEW gut lesen kann...

Danke und Gruß Axel

Lv86_img

PS: normal arbeite ich mit 8.5 (nur für die denen es auffälltWink)


Angehängte Datei(en)
Sonstige .vi  Daten_einlesen.vi (Größe: 29,69 KB / Downloads: 256)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2009, 08:46 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2009 09:29 von A.Berndsen.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Binär lesen und schreiben
Du solltest halt schon das gleich reinschreiben wie Du dann auslesen willst. Erst Schreibst Du ein Array hinein ohne Längenangabe (prepend array or string size= False). Das ginge ja vielleicht noch wenn Du garantieren kannst dass Du dort immer genau zwei Elemente hineinschreibst, so wie Du dann ja auch liest.

Aber danach wird es haarig. Du schreibst wiederholt eine Waveform ins File. Und probierst danach mit der Multiplikation der zwei Headerwerte eine entsprechende Anzahl Doubles einzulesen. Da scheint mir gleich mindestens zwei Dinge durcheinander. Das geht nicht so. Eine Waveform ist nicht einfach ein Array von Doubles. Das ist ein Cluster mit minimal einem tStart, td, und den Daten aber eventuel auch mehr und in Deinem Fall noch ein Array davon, da Du potentiel mehrere Kanäle hast. Wenn Du schon eine Wavefrom schreibst solltest Du die auch als solche lesen. Zudem kannst Du grundsätzlich die Loop mehre Male durchlaufen 1) weil Du diese nicht automatisch abbrichst nach dem Einlesen der eingestellten Anzahl Samples und 2) weil Du samples per channel to read kleiner einstellen könntest als die 1000 die Du beim DAQmx Timing (Sample Clock).vi einstellst.

Du versuchst scheinbar die Daten als ein einziges 2D Array von Werten zu behandelen aber dann darfst Du die Daten nich in einer Loop wiederholt reinschreiben. Was Du da bekommst sind wiederholt Datenpakete von n Wafeforms mit der internen Datenlänge die Du am Samples to Read einstellst. Ok, bei den Defaulteinstellungen wird das ein einziges Packet von 1000 Samples pro Waveform, aber das ist alles ausser robust oder richtig programmiert.

Zu guter Letzt wo soll denn das 2D Array von int32 her kommen dass Du danach noch zu lesen versuchst???? Das wird echt nirgends ins File reingeschrieben in Deinem VI.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2009, 09:25
Beitrag #3

Lex Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 53
Registriert seit: Sep 2007

8.x - 2011
2007
kA

35398
Deutschland
Binär lesen und schreiben
Hallo,

danke für die Antwort. Aber leider stehe ich immernoch etwas auf dem Schlauch. Sad

Kannst Du mir vielleicht etwas ausführlicher sagen wie ich das Problem beheben kann. Es ist das erste mal das ich mit binarys arbeite. Ich verstehe (denke ich) wo da Problem liegt. Habe bisher aber keinen richtigen Ansatz zur Lösung.

Mit der Einstellungen hast Du recht. Es kann durchaus sein, dass ich die Sampkes per Channel ändern möchete. Ich glaube mein Problem ist, dass ich nicht genau weiß, was ich dann überhaupt genau schreibe.

Gruß Lex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2009, 11:32 (Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2009 09:30 von A.Berndsen.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Binär lesen und schreiben
Ich würde es mal ungefähr so versuchen. Beim Read gebe als Datentyp eine Waveform an und sage ihm als Anzahl dass es soviele davon einlesen soll wie Du im Header als Anzahl Kanäle hast. Dann lese die Länge der eingelesenen Waveforms und wenn diese kürzer sind als die Länge der insgesamt eingelesenen finiten Samples die Du auch im Header hast musst Du das ganze halt noch solange wiederholen, bis die insgesamt eingelesenen Samples per Kanal mit der bei der Acquisition angegbenenen finiten Länge, die Du ja scheinbar in den Header schreibst übereinstimmt.

Binäre Files sind kein grosses Geheimnis, aber wenn Du Waveforms reinschreibst musst Du auch Waveforms auslesen, usw. und natürlich in der genau gleichen Reihenfolge.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
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
  Dateien lesen und schreiben stoa 4 4.846 17.03.2020 11:50
Letzter Beitrag: stoa
  String Array in bin schreiben und lesen EOF hansi9990 9 9.560 31.08.2016 10:56
Letzter Beitrag: hansi9990
  String lesen, nach vorgaben löschen und in Array schreiben nova.08 6 7.938 18.09.2014 13:31
Letzter Beitrag: GerdW
  Binär .dat Datei einlesen - werte werden nicht korrekt in labview angezeigt LisaPi 2 5.744 03.05.2014 08:51
Letzter Beitrag: jg
  Viele Dateien lesen und schreiben Kügelchen 1 4.318 19.06.2013 09:13
Letzter Beitrag: Achim
  Datei lesen --> schreiben --> Unterschied DrHoas 2 4.843 14.06.2013 12:28
Letzter Beitrag: DrHoas

Gehe zu: