LabVIEWForum.de - Hex String paarweise umkehren

LabVIEWForum.de

Normale Version: Hex String paarweise umkehren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Prama,

also möchtest du von Hex- nach Normalanzeige umrechnen. Genau anders herum, als du es bisher beschrieben hattest:
[attachment=43815]
Wenigstens solltest du gelernt haben, wie wichtig es ist, passende Beispiel-VIs mit als Default vorgegebenen Werten (!) anzuhängen Big Grin

Prama

Hallo Gerd,


Entschuldige für die missverständliche Problembeschreibung.
Danke für dein VI, genau das habe Ich gesucht.
Vielen Dank.
Noch eine Frage zur Umwandlung in float. Ich habe den String in ein Teil String unterteilt und diesen wieder in zwei Teilstrings mit jeweils 4Bytes. Diese habe ich umgekehrt und möchte von diesem umgekehrten Strings die float Zahl bestimmen. Die Lösung hat man mir hier gepostet und das hat auch geklappt. Nur nun zeigt er mir die Zahl nicht als normale Fliesskommazahl z.B. 5,22 an sondern beispielsweise 4,1E-12 oder so.
Beispiel: der Sensor sendet ein ASCII Telegramm, welches in Hex umgewandelt wie folgt aussieht: 0D343534353031303233303146DED29540A3A3EE400C464133450A
diesen String unterteile Ich in ein kleineren String DED29540A3A3EE40. Den kleineren String unterteile Ic in zwei kleinere Strings DED29540 und A3A3EE40. Diese kehre ich jeweils um: 4095D2DE und 40EEA3A3. Diese Strings sollen in float umgewandelt werden, also 4.681991 (4095D2DE) und
7.457475 (40EEA3A3).
Nun zeigt er mir die float-Werte mit dem Exponent in der gespeicherten Datei an. Dort möchte ich aber gerne die Fliesskommazahlen abspeichern, wie z.B. 4.681991 und 7.457475.
Woran liegt das, dass diese Werte nicht abgespeichert werden.

Prama

Prama

Hallo Gerd,


Ich erhalte im Frontpanel die Fliesskommazahlen, die Ich erhalten möchte, aber diese werden in der .lvm-Datei nicht abgespeichert?

Muss Ich die Einstellung bei einem VI verändern?


Prama
Hallo Prama,

Zitat:Beispiel: der Sensor sendet ein ASCII Telegramm, welches in Hex umgewandelt wie folgt aussieht: 0D343534353031303233303146DED29540A3A3EE400C464133450A
diesen String unterteile Ich in ein kleineren String DED29540A3A3EE40. Den kleineren String unterteile Ic in zwei kleinere Strings DED29540 und A3A3EE40. Diese kehre ich jeweils um: 4095D2DE und 40EEA3A3. Diese Strings sollen in float umgewandelt werden, also 4.681991 (4095D2DE) und
7.457475 (40EEA3A3).
Mann oh mann...
Erst erklärst du mir, dass der String unbedingt umgewandelt werden soll, um ihn in "Normalanzeige" lesen zu können. Nun willst du plötzlich wieder daraus SGL-Zahlen typecasten: das kann NICHT funktionieren, da die Byte-Darstellung ein komplett andere ist.

Wie sagte ich schon einmal: Du musst dir klar darüber sein, was du vom Gerät gesendet bekommst und was du als Ergebnis haben willst!!!

Warum überhaupt diese komplette Umwandlung der Strings hin und her mit diversen Typecasts, wenn der vom Gerät gesendete String schon die nötigen Daten Byte-codiert enthält? (Wenn ich deine Ausführungen nun richtig verstanden habe!) Warum nicht gleich die Daten an der richtigen Stelle ausschneiden, evtl. umkehren und nur einmal direkt typecasten???

Aufgabe für dich:
- VI erstellen mit einem vom Gerät gesendeten String (ohne irgendwelche Umwandlungen) in einer String-Anzeige, diesen Wert per Rechtsklick als "Datenoperation->Als Default" einstellen!!! Danach das VI speichern...
- Genaue Angabe, welcher Teilstring in SGL umgewandelt werden soll!!!
- VI anhängen!!!

Zitat:Ich erhalte im Frontpanel die Fliesskommazahlen, die Ich erhalten möchte, aber diese werden in der .lvm-Datei nicht abgespeichert?
Deine lvm-Datei enthält die Daten von zwei Signalen und jeweils eine zugehörige X-Spalte: genau so hast du es auch konfiguriert im ExpressVI...

Prama

Hallo Gerd,


um das Problem konkret zu beschreiben habe Ich mit Hyperterminal die vom Sensor gesendeten Telegramme aufgezeichnet und die betreffenden Teilstrings beispielhaft markiert. In der angehängten Excel-Datei habe Ich das Problem noch einmal versucht verständlich zu schildern.


Entschuldige für die Unannehmlichkeiten.


Prama
Hallo Prama,

ist es wirklich nötig, ein Bild in einem Dateiformat zu verpacken, welches nicht jeder auf seinem Rechner verarbeiten kann? Warum hängst du nciht einfach ein PNG an?
Warum kannst du nicht, wie oben beschrieben, einfach ein VI mit den nötigen Daten anhängen? Dann müsste man nicht erst wieder selbst alles abtippen...

Guck mal hier:
[attachment=43839]
Aus der empfangenen Botschaft werden die Teilstrings ausgeschnitten, die Byte-Reihenfolge umgedreht und die Daten "getypecastet". Fertig!
Und das jetzt mal mit deiner bisherigen Lösung vergleichen... Big Grin

Prama

Hallo Gerd,


Danke, so wollte Ich das ursprünglich haben.
Vielen Dank.


Prama
Seiten: 1 2 3
Referenz-URLs