LabVIEWForum.de - Boolean-Array aus String zurückgewinnen

LabVIEWForum.de

Normale Version: Boolean-Array aus String zurückgewinnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Über eine TCP-Verbindung möchte ich zwei zusammengefügte 64-Bit-Arrays empfangen. Dies hab ich mir zum weiteren Testen mit einem "Build Array" und "Flatten to String" simuliert, danach versuche ich die Daten wieder herzustellen, indem ich mit "Unflatten from String" wieder meine zwei 64-Bit-Arrays rekonstruiere.
Wenn ich das so allerdings teste, dann kommen die Bits absolut durcheinandergewürfelt, bzw. überhaupt nicht auf der "anderen Seite" an.

Habe ich da einen Denkfehler in meinem Code?

Viele Grüße
jusaca

PS: Außerdem möchte ich im Anschluss jedes der Bits auf eine postive Flanke auswerten. Also jedes Bit im Verlauf der Zeit, nicht einfach das Array durchsuchen.
Das geht ja theoretisch mit "Boolean Crossing PtByPt.vi", allerdings klappt das nicht, wenn ich das VI in einer For-Schleife für das Array durchlaufen lasse. Gibt es da vielleicht auch einen eleganten Workaround, bzw. eine allgemeine Lösung?
Hallo jusaca,

bei mir funktioniert es so:
[attachment=56321]
- ich wandle die bool-Arrays in U64-Werte um
- ich nutze die Anzahl der Arrayelemente im "Daten serialisieren"
- ich wandle den String hinterher wieder in den Original-Datentyp um - und nicht etwa von boolschem Array zu Integer…

Oder auch direkt mit boolschen Arrays:
[attachment=56322]
Ah, jetzt hast du mir auf die Sprünge geholfen! Wenn auch vielleicht nicht so, wie von dir gedacht.
Ich habe mich gewundert, warum das bei dir klappt, obwohl du dem Flatten to String gar nicht mitteilst, dass die Array-Größe nicht angehangen werden soll... Und da viel es mir wie Schuppen aus den Haare, dass die beiden Flatten/Unflatten Funktionen da eventuell gleiche Einstellungen haben sollten ;/
Jetzt läuft es Wink
..und zur Auswertuung auf positive Flanken: Die Funktion "Boolean Crossing PtByPt.vi" ist zwar einerseits eine eierlegende Wollmilchsau, andererseits ist sie aber nicht polymorph, d.h boolsche Arrays sind als Ein/Ausgänge nicht möglich. Wenn man aber weiß, dass sich die Vergleichsoperatoren ">", "<" usw. auch auf den Datentyp Boolean anwenden lassen, kann man sich das Leben bezüglich Flankenerkennung viel einfacher machen und braucht diese Funktion nicht.
Beispiel:
[attachment=56325]
[attachment=56326]
Referenz-URLs