HEXSTR_TO_DATA
Die Funktion konvertiert einen Hexadezimalstring in Binärdaten und liefert die Anzahl der erfolgreich konvertierten Datenbytes als Ergebnis zurück. Es dürfen nur Leerzeichen als Trennzeichen in dem zu konvertierenden Hexadezimalstring verwendet werden. Bei den Hex-Zeichen sind Klein- und Großbuchstaben zugelassen. Bei einem Fehler oder unerlaubten Zeichen wird die Konvertierung abgebrochen und eine Null-Länge als Ergebnis zurückgeliefert.
FUNCTION HEXSTR_TO_DATA : UDINT
VAR_INPUT
sHex : T_MaxString;
pData : DWORD;
cbData : UDINT;
END_VAR
sHex: Der zu konvertierende Hexadezimalstring. Z.B.: 'AB CD 01 23'
pData: Anfangsadresse (Pointer) auf den Zielpuffer in den die konvertieren Datenbytes geschrieben werden sollen. Die Adresse kann mit dem ADR-Operator ermittelt werden.
cbData: Max. verfügbare Länge des Zielpuffers. Die Länge kann mit dem SIZEOF-Operator ermittelt werden.
Beispiel in ST:
PROGRAM MAIN
VAR
sH : STRING := 'AB CD EF 01 23 45 67 89';
data : ARRAY[0..10] OF BYTE;
cbData : UDINT;
END_VAR
cbData := HEXSTR_TO_DATA( sH, ADR( data ), SIZEOF( data ) );
Das Ergebnis (Online):
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.10.0 Build >= 1334 | PC or CX (x86, ARM) | TcUtilities.Lib |