HEX String aus Integer Parametern

Florian30

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,:)

ich habe eine für mich etwas undankbare Aufgabe. Ich muss mit einem Baustein schreiben der folgendes tun soll:
  • Parametrierungseingang am Baustein ist ein Integerwert. Dieser stellt z.B. einen Timeoutwert in 1/10s dar.
  • Der Baustein soll nun den Wert als HEX-Zahl interprtieren und in einem String bestehend aus HEX-Zahlen an einer bestimmten Stelle einhängen. (Beispielstring: 020A1F...)
Weiter habe ich für diese Aufgabe nur AWL, KOP, FUP zur Verfügung. Mit struktorietem Text wäre das kein Problem aber z.B. in KOP sieht es da schon schlechter aus. Ich habe zwar schon eine Lösung erdacht (MOD16 und einzelne Zuweisung von 0-15 nach 0-F), die ist aber sehr umfangreich und kompliziert. Deshalb wollte ich mal nachfragen ob jemand eine Idee hat wie ich das auf einfache Art lösen kann.

Vielen Dank!
 
Ich verstehe die Aufgabenstellung nicht ganz.
Also Dein Baustein erwartet an seinem IN ein INTEGER-Wert z.B 123
was später im Programm als 12,3 Sekunden interpretiert wird.
Du möchtest diese 123 an ein String hängen ?
also willst du in wirklichkeit 123 in ASCII umwandeln ??
Oder willst du den Wert 123D = 7BH an den String hängen ?
Soll dein String (020A1F...) später
so 020A1F123 oder
so 020A1F12.3 oder
so 020A1F7B aussehen ?
 
Zuletzt bearbeitet:
Fc95 (hta)

Hallo Flori,

versuche es mal mit FC95 (HTA) aus TI-S7 Converting Blocks:

Online-Hilfe:
Die Funktion Hexadezimalzahl in ASCII-Zeichenkette wandeln (HTA) wandelt Hexadezimalziffern, auf die der Parameter IN zeigt, um und speichert sie in der Zeichenkette, auf die der Parameter OUT zeigt. Da ein ASCII-Zeichen 8 Bits benötigt und eine Hexadezimalziffer nur 4 Bits, ist das Ausgabewort doppelt so lang wie das Eingabewort. Jedes Halbbyte der Hexadezimalziffer wird in ein Zeichen umgewandelt, und zwar in der gleichen Reihenfolge, in der sie eingelesen wurden (das Halbbyte ganz links der Hexadezimalziffer wird zuerst umgewandelt, danach das Halbbyte ganz rechts der gleichen Ziffer).

Sag mal bescheid, ob es geklappt hat, habe die Funktion selbst noch
nicht genutzt.

Gruß U.
 
Zurück
Oben