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ärworte einlesen



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!

09.01.2013, 11:05
Beitrag #1

talarion Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2010

9.0.1
2010
EN


Deutschland
binärworte einlesen
Hi,
ich möchte ein VI programmieren, dass eine Reihe von Binärworten per FPGA auf eine Datenleitung schreibt. Bisher kann ich nur ein einzelnes Wort auf dem Frontpanel einstellen. Ich dachte daran, eine einfache Textdatei zu erstellen in der alle Worte untereinander in Binärdarstellung geschrieben sind. Diese Datei soll dann zeilenweise eingelesen werden, das Binärwort in ein boolshes Array gewandelt und geschrieben werden. Ich bekomms leider nicht hin, die Worte korrekt einzulesen und als boolshes Array darzustellen. Entweder wird nur der erste Charakter gelesen, oder die Zeile wird nur als Integer interpretiert usw.

Ich häng das hostVI mal an. Darin wird über das read/write control das Array an das FPGA-VI übergeben. Dort wird es dann zusammengestückelt und Bitweise auf den Kanal geschrieben. Das Zusammenstückeln könnte aber auch im Host erfolgen. Ich denke das Einlesen der Datei ist im Prinzip keine schwierige Sache, aber ich komm nicht drauf. Darum bräucht ich mal eine kleine Anregung.

Danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 11:12 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 11:15 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: binärworte einlesen
Hallo Talarion,

- Wo ist dein VI?
- Was verstehst du unter Binärworten, wenn du diese in einer Datei vorliegen hast?

Du kennst die Funktion Number To Boolean Array schon?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 11:30 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 11:32 von Trinitatis.)
Beitrag #3

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: binärworte einlesen
Hallo Talarion,

das mit deinem VI-Anhang ging wohl etwas daneben.
Du kannst dir aber einfach in eine *.txt-Datei untereinander die später zu schreibenden Werte als Dezimal- oder Hex, oder was auch immer-Werte schreiben. Wenn du diese Datei generieren willst, dann kannst du sie natürlich auch als Binärfile ablegen, musst dich dann nur mit dir selbst einigen, wieviele bytes ein Datum umfassen soll.
Beim Einlesen dieses Files kannst du dann auch gleich zeilenweise machen, oder du separierst später den file string. Dann musst du das ganze mit den entsprechenden Wandlungsfunktionen zurückwandeln und kannst dann sicher auch pro Wert ein Bool-Array erstellen.
Wenn du mit Binärworten je einen 16Bit-Wert meinst, dann musst du es eben als Low- und Highbyte im Binärfile ablegen.

Schwer zu sagen, was du willst.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:18 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 12:22 von talarion.)
Beitrag #4

talarion Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2010

9.0.1
2010
EN


Deutschland
RE: binärworte einlesen
Sorry, hab vergessen das VI anzuhängen.

Ich möchte eine .txt Datei haben, in der zeilenweise Binärworte stehen. Also sowas wie z. B.

1100
0101
0000
1010

Später sollen es dann 29 Bits sein, die restlichen 3 werden dann im VI angehängt weil es spezielle Bits zur Synchronisation sind. Aus einer Zeile in der Datei soll dann ein Array aus boolshes Werten erstellt werden. Dieses Array wird dann an das FPGA-VI übergeben.

Mit Number to Boolean Array hab ich das nicht geschafft, weil diese Funktion mir die Zahl als Dezimalzahl interpretiert hat und dann die Binärdarstellung dieser Zahl ins Array geschrieben hat. Ich möchte aber, wenn man das kleine Beispiel oben nimmt, nicht die Zahl 1100 in Binär haben, sonder ein Array TRUE TRUE FALSE FALSE.


Angehängte Datei(en)
9.0 .vi  AusgabeHost.vi (Größe: 206,06 KB / Downloads: 136)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:24
Beitrag #5

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: binärworte einlesen
Ich fürchte, wenn du die Datei in dieser Form speichern willst, wirst du wohl jedes Zeichen auseinandernehmen müssen und prüfen, ob es denn eine "0" oder eine "1" ist und dementsprechend das jeweilige Bit deines Arrays setzen.
Was anderes fällt mir hierfür nicht ein.

Bist du dir mit dem Format deiner Datei sicher?


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:39 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 12:39 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: binärworte einlesen
Hallo Marko,

warum sollte das Einlesen einer Datei diesen Formats problematisch sein?

Einfach den richtigen Formatstring verwenden:
   
(Statt der Stringkonstanten einfach ReadTextFile oder gleich ReadFromSpreadsheetFile...)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 12:49 von talarion.)
Beitrag #7

talarion Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2010

9.0.1
2010
EN


Deutschland
RE: binärworte einlesen
Ich kann die Datei natürlich auch in einem anderen Format speicher. Das war nur das erste das mir eingefallen ist weil es sehr simpel ist. Hauptsache ist nur dass am Ende das entsprechende Array raus kommt. Welches Format würdest du denn vorschlagen?

EDIT:

GerdW, was ist das denn für eine Funktion die du da verwendet hast?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2013 12:53 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: binärworte einlesen
Hallo talarion,

SpreadsheetStringToArray...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 12:58
Beitrag #9

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: binärworte einlesen
Hallo Gerd,

%b hatte ich noch nicht verwendet - wieder was dazugelernt.

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.01.2013, 13:01
Beitrag #10

talarion Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2010

9.0.1
2010
EN


Deutschland
RE: binärworte einlesen
Danke, hatte erst in der File I/O Palette gesucht, darum hab ichs nicht gefunden. 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.

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?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: