PVOID_TO_HEXSTR

PVOID_TO_HEXSTR 1:

Die Funktion konvertiert den Wert einer Pointervariablen vom Typ PVOID in einen Hexadezimalstring (Basis 16).

FUNCTION PVOID_TO_HEXSTR : T_MaxString

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