PVOID_TO_HEXSTR

Die Funktion konvertiert den Wert einer Pointervariablen vom Typ PVOID in einen Hexadezimalstring (Basis 16).
FUNCTION PVOID_TO_HEXSTR : T_MaxString
VAR_INPUT
in : PVOID;
iPrecision : INT;
bLoCase : BOOL;
END_VAR
in: Die zu konvertierende Pointervariable.
iPrecision: Minimale Anzahl der erscheinenden Stellen (Digits). Ist die tatsächliche Anzahl der signifikanten Stellen kleiner als der iPrecision-Parameter, dann wird der resultierende String links mit Nullen aufgefüllt. Ist die Anzahl der signifikanten Stellen größer als der iPrecision-Parameter, dann wird der resultierende String nicht abgeschnitten! Hat der iPrecision-Parameter und der in-Parameter den Wert Null, dann ist der resultierende String ein Leerstring.
bLoCase: Dieser Parameter bestimmt, ob Klein- oder Großbuchstaben bei der Konvertierung benutzt werden sollen. FALSE => "ABCDEF", TRUE => "abcdef".
Beispiel:
PROGRAM MAIN
VAR
s1 : STRING;
s2 : STRING;
s3 : STRING;
s4 : STRING;
s5 : STRING;
s6 : STRING;
s7 : STRING;
s8 : STRING;
s9 : STRING;
s10 : STRING;
s11 : STRING;
s12 : STRING;
nCnt : WORD;
pCnt : PVOID := 0;
END_VAR
pCnt := 0;
s1 := PVOID_TO_HEXSTR( pCnt, 0, FALSE );
s2 := PVOID_TO_HEXSTR( pCnt, 0, TRUE );
s3 := PVOID_TO_HEXSTR( pCnt, 1, FALSE );
s4 := PVOID_TO_HEXSTR( pCnt, 1, TRUE );
s5 := PVOID_TO_HEXSTR( pCnt, 16, FALSE );
s6 := PVOID_TO_HEXSTR( pCnt, 16, TRUE );
pCnt := ADR( nCnt );s7 := PVOID_TO_HEXSTR( pCnt, 0, FALSE );
s8 := PVOID_TO_HEXSTR( pCnt, 0, TRUE );
s9 := PVOID_TO_HEXSTR( pCnt, 1, FALSE );
s10 := PVOID_TO_HEXSTR( pCnt, 1, TRUE );
s11 := PVOID_TO_HEXSTR( pCnt, 16, FALSE );
s12 := PVOID_TO_HEXSTR( pCnt, 16, TRUE );
Das Ergebnis:
s1 = ''
s2 = ''
s3 = '0'
s4 = '0'
s5 = '0000000000000000'
s6 = '0000000000000000'
s7 = '87CBC255' (kann variieren)
s8 = '87cbc255' (kann variieren)
s9 = '87CBC255' (kann variieren)
s10 = '87cbc255' (kann variieren)
s11 = '0000000087CBC255' (kann variieren)
s12 = '0000000087cbc255' (kann variieren)
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.11.0 Build >=2248 | PC or CX (x86, ARM) | TcUtilities.Lib |