LabVIEWForum.de
Bytes wandeln in Worte, Integer,... - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Bytes wandeln in Worte, Integer,... (/Thread-Bytes-wandeln-in-Worte-Integer)



Bytes wandeln in Worte, Integer,... - Günni1977 - 19.08.2010 10:44

Hallo an alle,

ich habe folgendes vor: (siehe Bild)

ich hab ein Array mit Byte-Werten(U8). im Moment wandel ich die Werte in Worte(U16) bzw. Integer(I16).
nun will ich aber über eine Vorauswahl entscheiden, wie ich die Byte-Werte anzeigen lasse.
ich dachte, das geht über dieses Element "Typenformung". weiß aber nicht weiter, wie ich das "beschalte".
oder gibt es bessere Alternativen?
ich hoffe, das ist so einigermaßen verständlich.

MfG Günni

[attachment=28848]


Bytes wandeln in Worte, Integer,... - Lucki - 19.08.2010 10:56

An den Typumformer oben (wo bei Dir das Fragezeichen ist) ein (z.B. leeres) Array of I16 / U16 anschließen.


Bytes wandeln in Worte, Integer,... - Günni1977 - 19.08.2010 11:21

' schrieb:An den Typumformer oben (wo bei Dir das Fragezeichen ist) ein (z.B. leeres) Array of I16 / U16 anschließen.


danke schonmal. meine LV-Kenntnisse erweitern sich grade erst, sorry.
kannste mir ne kurze Anleitung geben?
also im Blockdiagramm ne Array-Konstante erstellen, ist das richtig? und wie bekommen ich da die unterschiedlichen Typen rein?


Bytes wandeln in Worte, Integer,... - jg - 19.08.2010 11:26

' schrieb:also im Blockdiagramm ne Array-Konstante erstellen, ist das richtig? und wie bekommen ich da die unterschiedlichen Typen rein?
Dann in die leere Array-Konstante eine Numeric-Konstante reinziehen. Jetzt Rechtsklick auf die Numeric-Konstante innerhalb des Arrays->Representation->Datenformat auswählen.

Gruß, Jens


Bytes wandeln in Worte, Integer,... - Lucki - 19.08.2010 11:30

Leeres Array aus der Palette holen und eine Konstante des entsprechenden Typs in das Arry reinziehen.


Bytes wandeln in Worte, Integer,... - Günni1977 - 19.08.2010 11:51

danke, aber da bekomm ich in so ein Array doch nur einen Num-Typ. vielleicht muss ich nochmal genau sagen, was ich will...

also. ich lese von einer Steuerung Byte-Werte, welche in dem U8-Array sind. die Anzahl ist variabel.
nun möchte ich im Frontpanel eine Auswahl treffen, wie diese Werte angezeigt werden. wählt man "Word", sollen die jeweils aufeinanderfolgenden 2 Bytes zu einem Wort zusammengefasst werden. wählt man "Int", sollen die Worte in Integer gewandelt werden. einzeln wie im Bild funktioniert es ja auch prima.
ich möchte aber nur eine Anzeige, wo der Typ ausgwählt wird und in den Feldern dahinter der Wert steht. ich weiß nun nicht, ob ich das umständlich über Auswahlmöglichkeiten mit vielen Verzweigungen lösen muss, oder ob es ganz einfach geht.

halt wie so ne Art ENUM. wenn ich z.B. 10 Bytes lese und man wählt "Byte" aus, stehen im Array dahinter 10 Bytes untereinander. wählt man "Wort" aus, werden statt den 10 Bytes nun 5 Worte angezeigt...


Bytes wandeln in Worte, Integer,... - jg - 19.08.2010 12:02

Auswahl-Feld: Mach das halt, das an eine Case-Struktur angeschlossen, und schon kannst du innerhalb der Case-Strukutr verschieden wandeln.

Gruß, Jens

Offtopic2
:rulez:Vergiss die Shift-Taste beim Schreiben von Beiträgen nicht. Auch einen Satzanfang schreibt man groß. Deine Beiträge wären dann besser lesbar.


Bytes wandeln in Worte, Integer,... - Lucki - 19.08.2010 19:01

' schrieb:halt wie so ne Art ENUM. wenn ich z.B. 10 Bytes lese und man wählt "Byte" aus, stehen im Array dahinter 10 Bytes untereinander. wählt man "Wort" aus, werden statt den 10 Bytes nun 5 Worte angezeigt...
Das VI ist klein und schnell gemacht - Angst habe ich nur vor den Fragen, die dann vielleicht wieder kommen.
Lv86_img[attachment=28874]

Edit:
Und hier noch die Antwort auf eine nicht gestellte Frage. Sie lautet: Wie konvertiert man den Bytestring am besten, wenn die einzelnen Bytes unterschiedlich zu konvertieren sind. Beispiel: Byte 0..1 --> U16, Bytes 2..3 --> I16, Bytes 4..7 --> SGL
[attachment=28879]