LabVIEWForum.de - String in Binärstring

LabVIEWForum.de

Normale Version: String in Binärstring
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ich bekomme Botschaften mit 32 bit von der rs232.
Jetzt würde ich gerne diesen String in einen Binärstring umwandeln, also in 32 Nuller und Einser,
an der Stelle an der jetzt die Sonde ist, damit ich die einzelnen bits weiter verwenden kann.



[attachment=12752]

Vielen Dank
Hallo,

versuchs doch mal mit der Kombination aus "String deserialisieren" und "Zahl nach boolsches Array". Dann hast Du ein Array mit den einzelnen Bitwerten.

[attachment=12756]

Lv85_img
[attachment=12757]
Ach ja, vergessen:

Das VI ist Version

Lv85_img
Vielen Dank erstmal aber wie kann ich das boolsche Array wieder in einen Binärstring wandeln
An dieser Stelle würde ich Dir empfehlen, auf die Verwendung eines Strings in der Form "101101..." zu verzichten.
Da Du ja schon ein Boolsches Array in der Form [1,0,1,1,0,1,...] hast, ist ein Zugriff auf die einzelnen Elemente viel performanter.

Wenn Du dann einen Teil der Werte haben möchtest, verwendest Du "Teilarray" und machst daraus einen Zahlenwert:

[attachment=12765]

Lv85_img

[attachment=12766]
So ganz klappts noch nicht bei mir: Wahrscheinlich liegts an meinem String

Fehler 74 ist bei String deserialisieren in Master (SubVI).vi->17.04ganz_v2_00.vi aufgetreten
' schrieb:Ich bekomme Botschaften mit 32 bit von der rs232.
Jetzt würde ich gerne diesen String in einen Binärstring umwandeln, also in 32 Nuller und Einser,
bitte schön:
[attachment=12767]
Mangels Angaben Deinerseits gehe ich dvon aus, daß es sich um einen Dezimalstring handelt. Wenn nicht, läßt sich das sehr leicht ändern
Zitat:damit ich die einzelnen bits weiter verwenden kann.
Ob da die Darstellung als Binärstring optimal ist, bezweifle ich auch. Aber Du wolltest es ja so..
@ Lucki
erstmal vielen dank für deine Mühe

Auf meinem ersten bild sieht man, dass es sich um einen ASCii string handelt den ich von der Seriellen Schnittstelle bekomme.
Würde ich zumindest sagen (sieht man in der Sonde). oder????
Es geht direkt von der Seriellen Schnittstelle in das subvi.
Mal eine kleine Lernstunde.

Du bekommst einen Stream keinen String, ist aber hier egal.
Das Stringanzeigeelement kannst du umschalten auf Hex Ansicht.
Ob das nun irgendwas unleserliches darstellt (normaler String) oder Hex oder Bin oder was auch immer, es ist dasselbe.

Du sagst es ist ein 32Bit Wert (Zahl), also 4*8Bit, ein Zeichen im String ist immer 8bit Wert (U8).
Also wirst du 4 Zeichen im String haben oder bei Hex Ansicht xxxx xxxx.

Wenn du nun die 4Byte in einen Binären String, (das gibt es eigentlich gar nicht, es ist ein String mit den Zeichen 0 und 1 drinn) dann machst du aus den 4Byte = 32 Byte, das ist eigentlich nicht so toll.

Ich denke, das der Vorschlag von astraios für deine Zwecke das richtige ist. Das Problem, du musst sicherstellen, dass du dort wirklich nur einen 32Bit, d.h 4Zeichen übergibst. Ich würde es auch mit dem TypCast in U32 versuchen.

Dieses U32 Anzeigeelement kannst du dann umschalten auf Bin/Hex/Oct/Dez.
@RoLe

Vielen Dank
All deine Vermutungen sind richtig ich sende von meinem µC stets 4 Byte via RS232.
Ich versuchs mit typ cast
Seiten: 1 2
Referenz-URLs