Hey Jens,
ok - jetzt blicke ich da schon etwas mehr durch...
Der String setzt sich wie folgt zusammen:
1.) Steuerzeichen - bei mir das kleine "p" -> 1 Byte ASCII als 1 byte HEX
2.) Stellwert Dezimal 0-3000 -> Dezimalzahl als 2 byte HEX
3.) Auffüllen mit "00000" -> 5 Byte ASCII als 5 Byte HEX ("0" -> 0x30)
...Insgesamt also 8 Byte
Nun hast du mir mit der 7_2.vi schon ein paar tolle Tipps gegeben, insb. was die Prüfsumme angeht. Leider habe ich den ersten Teil nach wie vor nicht alleine richten können, da mich genau der Unterschied Zahl->HEX bzw. ASCII->Hex von einer einfachen Lösung abhält. M.E. gäbe es ja zwei Wege, den String zu berechnen:
- Steuerzeichen als String
- Dezimalzahl nach HEX, dies in einen String wandeln und dran hängen
- 00000 als String dran hängen
Oder aber:
- Steuerzeichen ASCII -> HEX wandeln
- Dezimalzahl nach HEX und dies dran hängen
- "00000" von ASCII nach HEX wandeln und dran hängen
- Das Ganze wieder in ASCII zurück wandeln
Ich habe mich bisher fast ausschließlich an der umständlichen zweiten Variante versucht und dabei zur Vereinfachung Steuerzeichen und "00000" als 70 bzw. 3030303030 direkt in den String eingegeben. Die 2 Byte Stellgröße auch als "2 Byte" Hex- String auszugeben hat auch noch irgendwie geklappt. Ich wußte letzlich bloß mit dem zusammengesetzten "Hex-String" nichts anzufangen, weil ich mit dem keine Prüfsumme rechnen konnte und es auch keine einfache Möglichkeit gibt, diesen wieder in Zeichen umzuwandeln...
. Die erste Variante ist aber vermutlich eh einfacher, scheitert aber an einer einfachen Umwandlung der Dezimalzahl zu Hex und das zum ASCII Zeichen.
Ich schau' mal, ob ich hier noch ein nützliches sub-VI für die Wandlung ASCII->HEX finde. Vielleicht denk' ich aber auch viel zu kompliziert und es wird hier eh schon Einspruch erhoben...
Gruß,
Dennis