LabVIEWForum.de
Problem mit Zahl zu Hex String - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem mit Zahl zu Hex String (/Thread-Problem-mit-Zahl-zu-Hex-String)



Problem mit Zahl zu Hex String - Bishop - 16.06.2015 11:18

Hallo

Ich würde gerne eine Zahl aus Dezimal in eine Hexzahl als string umwandeln. und diese dann als Hex formatiert weiter geben.
mein Problem ist allerdings, dass mir das Zahl nach String (hexadezimal) VI am Ende immer einen String rausgibt, der zwar als String richtig dargestellt ist, jedoch als "normal" formatiert ist. ändere ich nun das Anzeigeformat auf hexadezimal, wird aus der Zahl natürlich nur er Hexcode für die einzelnen Ascii Buchstaben. Da ich allerdings eine Hex Zahl als string formatiert weiter geben muss ist das nicht das, was ich brauche gibt es eine Möglichkeit aus der dezimal Zahl 500 den hex formatierten String 01F4 zu machen?

Mit besten Grüßen


RE: Problem mit Zahl zu Hex String - Kiesch - 16.06.2015 11:52

Mir ist ehrlich gesagt nicht klar was genau das Problem ist. Auf die Lösung "Zahl nach Hexadezimal String" VI auf der String palette zu nutzen bist du scheints schon gekommen. Dann zeigt der dir doch anschließend als string genau das an was du haben willst. Wenn du anschließend die Anzeige auf Hexadezimal umstellst, zeigt er dir stattdessen den ASCII code der entsprechenden Zeichen als Hex Zahl (daher zweistellig pro Zeichen). Ist das das was du weitergeben möchstest (das was du siehst; nicht das was Labview stattdessen weitergeben wird, nämlich weiterhin den original string)? Wird aus deiner Frage nicht 100% klar.

In dem Fall sollte dir die Seite:
http://digital.ni.com/public.nsf/allkb/894CF5FE064971BF8625758400014993?OpenDocument

und die Beispielvis die darauf verlinkt sind weiterhelfen:
https://decibel.ni.com/content/docs/DOC-4491

Soweit ich das sehe brauchst du dabei das letzte Beispiel und solltest das sinnvollerweise darauf anpassen dein Zwischenergebnis 1F4 zeichenweise in gewünschter Form durchzuparsen.

Gruß Kiesch


RE: Problem mit Zahl zu Hex String - Trinitatis - 16.06.2015 11:53

ich glaube, da liegt ein Verständnisproblem bei dir vor.
Wenn du Daten binär überträgst, dann geschieht das byteweise. Dann müsstest du deine Zahl 500 in 2byte umwandeln. Diese beiden Byte kannst du dir dann als Zahl (500) oder als HexCode 01F4 oder oktal oder sonstwie anzeigen lassen. Es bleiben trotzdem die beiden Byte. Wenn du die 500 mit der Zahl nach HEX-String wandelst, dann kannst du diesen String als ASCII-Hex-String übertragen - dann muss es die Gegenstelle aber auch so lesen und verstehen können.


Gruß, Marko


RE: Problem mit Zahl zu Hex String - Bishop - 16.06.2015 12:06

Also was ich meine ist, dass das unten angehängte Programm die Zahl 500 (100/0,2) nicht wie gewünscht in 01F4 sondern in diesem anderen Quatsch, sei es ASCII oder sonst was anzeigt. Ich habe bereits herausgefunden, dass dies dadran liegt, dass das Konverter VI "falsch" ausgibt. ich würde gerne erreichen, dass am ende in einem string feld, welches als Anzeigeformat hexadezimal hat 01F4 steht. Da ich ansonsten Probleme mit dem Rest bekomme der hinten dran kommt. es soll am Ende die hex Zahl 01F4 mittels TCP sende befehl gesendet werden. hierzu muss das String feld auf hexadezimal formatiert sein und darf nicht in normal formatiert sein. Da sonst am Endgerät nicht die Zahl 01F4 ankommt sondern der Wert 3031 4634. Ich hoffe nun ist verständich, was ich meine
Bild vergessen


RE: Problem mit Zahl zu Hex String - jg - 16.06.2015 12:13

Dann liegt Marko mit seiner Vermutung richtig.

Du brauchst einfach ein "Type Cast":
[attachment=53375]
Gruß, Jens


RE: Problem mit Zahl zu Hex String - Bishop - 16.06.2015 12:18

Ah danke hat geklappt. Vielen dank euch

Ich weiß is ne doofe frage, aber wie bekomm ich nun die vier führenden nullen weg?
Bild angehängt


RE: Problem mit Zahl zu Hex String - jg - 16.06.2015 12:31

In dem du nach U16 oder I16 anstatt I32 wandelst.
Merke:
U16/I16 = 2 Byte!
U32/I32 = 4 Byte!

Gruß, Jens


RE: Problem mit Zahl zu Hex String - Bishop - 16.06.2015 13:51

Danke nun funktioniert alles wie gewollt.