LabVIEWForum.de
binärworte einlesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: binärworte einlesen (/Thread-binaerworte-einlesen)

Seiten: 1 2


RE: binärworte einlesen - GerdW - 09.01.2013 13:05

Hallo talarion,

deine Fragen lesen sich, als wenn du mal die Links in meiner Signatur beachten solltest...

Zitat:Ich bekomme aber nicht das Ergebnis das ich möchte. In dem Array stehen nur die Dezimalzahlen drin. Ich möchte aber pro Zeile ein Array der boolschen Werte.
Ich habe weiter oben schon auf die Funktion NumberToBooleanArray verwiesen...
Alternativ einfach den Darstellungsmodus der Anzeige ändern (Radix: binär)!
Außerdem: wenn du die Werte wirklich zum FPGA weiterreichen willst, bietet sich auch hier die Übergabe durch einen skalaren numerischen Wert an anstatt hier mit boolschen Arrays zu hantieren! Ist auf dem FPGA ebenso einfach zu handhaben: ein U32-Wert speichert die gleichen Daten wie ein boolsches Array mit 32 Elementen...

Zitat:Kurze Frage noch dazu, wie kann man den Parameter delimiter dieser Funktion umstellen? Es ist auf Tab gestellt, und damit es geht hab ich jetzt alles in eine Zeile geschrieben mit Tabs getrennt. Bei dir ist als delimiter aber Return eingestellt, oder?

Ich habe kein Return, sondern ein LF eingestellt. Schon mal bei den Stringkonstanten geschaut?
Die Funktion erwartet dort einen String als Parameter. Du kannst dort also ein beliebiges Trennzeichen als String vorgeben...


RE: binärworte einlesen - Lucki - 09.01.2013 14:46

Hier noch zwei Beispiele mit boolschem Arrays als Endergebnis:
(VI ist richtig, Bilder der Arrays sind die falschen, weil Zeilen umgedreht)
[attachment=42979]


RE: binärworte einlesen - talarion - 10.01.2013 13:49

(09.01.2013 13:05 )GerdW schrieb:  Ich habe weiter oben schon auf die Funktion NumberToBooleanArray verwiesen...

Das war eine der ersten Funktionen die ich probiert habe, doch damit geht es leider nicht. Die Funktion interpretiert die Zahl am Eingang als Dezimalzahl und gibt mir dann die Binärdarstellung dieser Zahl als boolschen String aus. Das ist nicht das was ich möchte. Mal ein Minimalbeispiel. Ich lege an den Eingang der Funktion die Zahl 10. Der String enthält dann 0101 (FTFT) was 10(dez) in Binärschreibweise entspricht. Ich möchte aber das Array 10 (TF) haben.

EDIT: Ich könnte natürlich als Workaround alle Worte in Dezimalschreibweise in die Datei schreiben. Aber das macht das Ganze sehr unübersichtlich, und später weiss dann nicht mal mehr ich welches Wort welche Funktion hat.


RE: binärworte einlesen - GerdW - 10.01.2013 14:10

Hallo talarion,

du musst zwischen Darstellung/Anzeige einer Zahl und ihrem Wert unterscheiden!

Wie ebenfalls weiter oben schon geschrieben, kannst du Zahlen in binärer Darstellung mittels des Formatstrings "%b" aus einem Text einlesen. Wie du diese Zahl dann in einem numerischen Indikator anzeigen lässt, bleibt dir überlassen - Standardeinstellung ist dezimal. Wenn du dann diese Zahl per NumberToBooleanArray wird in Bits zerlegst, bekommst du auch wieder die gleichen Bits wie du sie ganz zu Anfang in deiner Textdatei binär dargestellt hattest!

Du liest den Text "10" mit Format "%b" ein und erhälst die Zahl 2 (dezimale Darstellung). Dies dann mittels NumberToBoolArray ergibt wieder die Bits 01 (mit LSB zuerst). Wurde alles besprochen und von mir und anderen mittels Bildern gezeigt...


RE: binärworte einlesen - talarion - 10.01.2013 14:54

Ok da stand ich wohl auf dem Schlauch. Das was Lucki gepostet hat funktioniert natürlich. Ich habs irgendwie nicht korrekt nachprogrammiert. Bei mir sieht das jetzt aus wie unten, und damit kann ich auch was anfangen. Danke!


RE: binärworte einlesen - GerdW - 10.01.2013 14:56

und den Aufräumknopf nicht vergessen... Big Grin