Instructions

Table Of Contents
Erweiterte Anweisungen
9.2 Zeichenketten- und Zeichenanweisungen
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
369
Die Parameter IN und OUT geben Byte-Arrays, keine hexadezimalen String-Daten an. Die
Umwandlung der ASCII-Zeichen und ihre Ausgabe in Hexadezimalzeichen erfolgt in der
Reihenfolge, in der sie gelesen werden. Bei einer ungeraden Anzahl ASCII-Zeichen werden
Nullen in das äußerste rechte Halbbyte der zuletzt umgewandelten Hexadezimalstelle
geschrieben.
Tabelle 9- 42 Beispiele: Umwandlung von ASCII-Zeichenketten in Hexadezimalzahlen (ATH)
IN-Zeichenbytes
N
OUT-Wert
ENO
'0a23'
4
W#16#0A23
WAHR
'123AFx1a23' 10 16#123AF01023 FALSCH
'a23'
3
W#16#A230
WAHR
Tabelle 9- 43 Anweisung HTA
KOP/FUP
SCL
Beschreibung
ret_val := HTA(
in:=_variant_in_,
n:=_uint_in_,
out=>_variant_out_);
Konvertiert gepackte Hexadezimalziffern in die entsprechenden
ASCII-Zeichenbytes.
Tabelle 9- 44 Datentypen für die Anweisung HTA
Parameter und Datentyp
Datentyp
Beschreibung
IN
IN
Variante
Zeigt zum Eingangsbyte-Datenfeld
N IN UInt Anzahl der Bytes, die umgewandelt werden sollen (jedes Eingangsbyte
hat zwei 4-Bit-Halbbytes und erzeugt 2N ASCII-Zeichen)
RET_VAL
OUT
Word
Ausführungsbedingung
OUT
OUT
Variante
Pointer zum ASCII-Zeichenbyte-Datenfeld
Die Umwandlung beginnt an der von Parameter IN festgelegten Stelle und umfasst N Bytes.
Jedes 4-Bit-Halbbyte wird in ein einzelnes 8-Bit-ASCII-Zeichen umgewandelt und erzeugt
2N-ASCII-Zeichenbytes am Ausgang. Alle 2N Bytes des Ausgangs werden als ASCII-
Zeichen 0 bis 9 bzw. Großbuchstaben A bis F geschrieben. Der Parameter OUT gibt ein
Byte-Array, keine Zeichenkette, an.
Jedes Halbbyte des Hexadezimalbytes wird in ein Zeichen in der Reihenfolge des Einlesens
umgewandelt (das linke Halbbyte einer Hexadezimalziffer wird zuerst umgewandelt, dann
das rechte Halbbyte des gleichen Bytes).
Tabelle 9- 45 Beispiele: Umwandlung von Hexadezimalzahlen in ASCII-Zeichenketten (HTA)
IN-Wert
N
OUT-Zeichenbytes
ENO (ENO immer WAHR nach Ausführung von HTA)
W#16#0123
2
'0123'
WAHR
DW#16#123AF012
4
'123AF012'
WAHR