LabVIEWForum.de
Bytes auswerten und visualisieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Bytes auswerten und visualisieren (/Thread-Bytes-auswerten-und-visualisieren)



Bytes auswerten und visualisieren - BEng Thomas - 23.08.2012 20:02

Hallo Lapview-Forum,

ich bin Neuling in LabView und habe folgende Aufgabenstellung bei dem ich nicht mehr weiterkomme.

Ich will aus einem COM-Port Datenwerte auslesen, die in 2 Byte (Zweierkomplement) mit 10 Batenbits
und einem Vorzeichenbit (das 11te Bit).

Das Auslesen des COM-Ports habe ich mit VISA-Blöcken realisiert. Ich bekomme einen String als Ausgang.
Diesen String wandel ich in einen Array von 8 Bit um und verbinde dann das Low mit dem Highbyte. Bis dahin
ist noch alles OK.
Jetzt muss ich die negativen Werte der 11 Bit-Daten, die im Bereich von 1048 bis 2048 liegen, in negative Werte von -1 bis -1023 umwandeln.
Dieses wollte ich mit der Select-Function realisieren. Da das Highbyte bei den positiven Werten immer Null ist, wollte ich die Select-Function so Steuern wie im Anhang (Bild) dargestellt.
Dies funktioniert nur leider nicht!!!

Kann mir jemand weiterhelfen? Ich finde den Fehler nicht.
Ist das der richtige Weg oder bin ich schon falsch gestartet?

Vielen Dank im Voraus für Eure Hilfe.

Grüße
BEng Thomas


RE: Bytes auswerten und visualisieren - jg - 23.08.2012 22:54

Denkfehler, wieso sollte das Highbyte bei positiven Werten 0 sein? Ein Byte langt dir zur Darstellung 0-255, beim größten positiven Wert 1023 sind 10 Bits und somit 2 Bits des High Byte = 1.

Hier mal 2 Möglichkeiten:
[attachment=41238]

Beide setzen natürlich voraus, dass du beim VISA-Read auch wirklich als erstes Byte das HighByte erwischt und nicht umgekehrt.

Gruß, Jens

P.S.: Profil_ergaenzen, "Evaluation" unter LV-Version hilft nicht viel weiter, wenn dir jemand ein VI hochladen will. Gib bitte die Version wie z.B. LabVIEW 2011 an.


RE: Bytes auswerten und visualisieren - BEng Thomas - 24.08.2012 11:51

Hallo Jens,

vielen Dank für deine schnelle Antwort. Ich habe deinen Vorschlag gleich umgesetzt, aber es klappen leider beide Möglichkeiten nicht. Ich musste nur "To Word Integer" 16 Bit nach jeder Konstanten einfügen, sonst hatte ich immer ein Integer mit 32 Bit. Ich hab es auch so Original nach deinem Vorschlag probiert, klappte auch nicht.

Im Anhang findest du die aufgezeichnetten Verläufe von einem Sinus-Testsignal.
Verlauf ohne Array: nach deinem Vorschlag (nach dem "Type Cast")
Verlauf mit Array: zeigt den Verlauf so wie er sein sollte (nach dem "Join Numbers")

Es scheint mir so zu sein, als könnte man nur mit Array`s hier weiterkommen, denn immer wenn ich das Array umwandele, kommt nur noch Müll raus, ich verstehe nur nicht WARUM Bahn ??? Denn da ich das Signal noch umrechnen, Tiefpass filtern und den gleitenden Effektivwert berechnen muss, ist ein Array woll auch nicht gerade geeignet, oder???

Mein Signal wird von einem XBEE-Modul aufgenommen und in einem COM-Port (High-Byte, dann Low-Byte) übergeben, vielleicht hilft die Info bei einem Lösungsvorschlag.

Ich hoffe du oder ein jemand anderes kann mir bei meinem Problem helfen.


Grüße
BEng Thomas


RE: Bytes auswerten und visualisieren - jg - 24.08.2012 12:39

1 ) Mein Bsp. zeigt, wie man einen 2Byte langen String umwandeln kann. Ein Typecast von 1000 Zeichen nach I16 geht natürlich schief!

2) Du kannst bei allen Controls und auch Konstanten den Datentyp ändern! Rechtsklick -> Representation ->
[attachment=41254]

3) Zusammenfassung: Probiere es mal so:
[attachment=41255]

Gruß, Jens


RE: Bytes auswerten und visualisieren - BEng Thomas - 24.08.2012 15:02

Ein ganz herzliches Dankeschön, Jens !!!!!

Yahoo Yahoo Yahoo Es funktioniert perfekt Yahoo Yahoo Yahoo

Vielen vielen Dank, hätte das nicht ohne Dich geschafft.

Grüße
BEng Thomas