15.04.2015, 15:36
|
sumsi
LVF-Gelegenheitsschreiber
Beiträge: 83
Registriert seit: Oct 2010
2014
2010
DE
Deutschland
|
RE: HEX-String in Dezimal umwandeln
ok, wenn ich meinen durch String in Hex -erstellten Hex-String als Hex anzeigen lasse, hat er nicht mehr die Werte wie vorab, sodass mir jetzt auch klar ist warum er einen anderen Zahlenwert aufweißt.
d.h. ich muss mein Problem anders formulieren bzw. nochmal ganz am Anfang angreifen:
Mein Messgerät gibt mir meine Werte in Dezimalschreibweise aus (als U8), diese muss ich jedoch erst in Hex umwandeln um diese dann über IEEE in meinen gewünschten Wert zu erhalten.
d.h. Mein Messgerät spuckt mir 65 und 160 aus, in Hex sind das dann 41 und A0 und über IEEE-Umwandlung erhalte ich aus 41A0 (zusammengefügt) dann 20 und somit meinen gewünschten Wert. Wie kann ich das realisieren?
|
|
|
15.04.2015, 15:45
(Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2015 15:47 von GerdW.)
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Hallo sumsi,
ein SGL besteht aus 4 Bytes!
Das hatten wir doch alles schon einmal…
Zitat:Mein Messgerät gibt mir meine Werte in Dezimalschreibweise aus (als U8)
Falsch formuliert!
Dein Gerät gibt dir U8-Werte aus, die du dir in Dezimaldarstellung anguckst. Du kannst dir die Werte aber auch in Hex-, Binär- oder Oktaldarstellung anschauen…
|
|
|
16.04.2015, 10:42
|
|
|
16.04.2015, 10:47
(Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2015 10:55 von GerdW.)
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Hallo sumsi,
Zitat:Komm irgendwie hier mit LabView nicht zurecht.
Das sieht man an dem unnötigerweise verwendeten Matrix-Datentyp…
Und daran, dass du immer noch nicht bei allen deinen String-Controls den Anzeigemodus sichtbar machst!
Außerdem, weiß ich nicht, was du hast: Dein VI funktioniert doch!
Beweis:
Dummerweise hast du keine Daten in deinem "Modbus Data Unit" hinterlegt, sodass wir immer noch nichts über deine zu wandelnden Daten wissen…
Nachtrag: Der Umweg über den DBL-Datentyp hilft dir garantiert nicht weiter - der stört hier nur!
|
|
|
16.04.2015, 11:07
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Es stand hier schon öfters und kommt auch aus den Screenshots heraus:
Ein FLOAT-Wert belegt im Speicher 4 Byte, du arbeitest aber nur mit 2 Byte. Da stimmt was nicht.
Und bitte nach dem Werte eintragen noch auf "Make Current Value Default" klicken und speichern, sonst bringt das nichts.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
16.04.2015, 11:47
(Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2015 11:56 von GerdW.)
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Hallo sumsi,
wenn du einfach einen der Vorschläge von hier anwenden würdest, wärst du am Ziel.
Aber du musst ja eine DBL-Matrix erstellen, um daraus wieder Elemente zu indizieren. Dann wandelst du die DBL-Werte in hex-formatierte ASCII-Strings um, die du dann wiederum per Typecast in "vernünftige" SGL-Zahlen umwandeln willst. Das hört sich schon sehr beratungsresistent an…
Aber anscheinend schaffst du es nicht, eine vorhandene Lösung auf deine Daten anzuwenden:
Oder direkt ohne Umweg über den U32:
Wobei sicherzustellen ist, dass du die korrekte Anzahl von 4 Bytes bereitstellst - auch das hast du ja noch immer nicht geschafft…
|
|
|
16.04.2015, 12:02
|
sumsi
LVF-Gelegenheitsschreiber
Beiträge: 83
Registriert seit: Oct 2010
2014
2010
DE
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Danke, da stand ich grad total auf dem Schlauch. Jetzt funktioniert es wie gewünscht.
|
|
|
16.04.2015, 12:13
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: HEX-String in Dezimal umwandeln
Nachtrag: Wenn du die Daten per Modbus bekommst, dann musst du für einen Float-Wert zwei U16-Register auslesen, nicht nur eines!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
| |