DWORD_TO_HEXSTR

DWORD_TO_HEXSTR 1:

Die Funktion konvertiert eine Dezimalzahl in einen Hexadezimalstring (Basis 16).

FUNCTION DWORD_TO_HEXSTR  : T_MaxString

T_MaxString

VAR_INPUT
    in          : DWORD;
    iPrecision  : INT;
    bLoCase     : BOOL;
END_VAR

in: Die zu konvertierende Dezimalzahl.

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 in ST:

PROGRAM MAIN
VAR
    s1      : STRING;
    s2      : STRING;
    s3      : STRING;
    s4      : STRING;
    nCnt    : WORD;
END_VAR
nCnt := 43981;
s1 := DWORD_TO_HEXSTR( nCnt, 1, FALSE );
s2 := DWORD_TO_HEXSTR( nCnt, 1, TRUE );
nCnt := 15;
s3 := DWORD_TO_HEXSTR(  nCnt, 4, FALSE );
nCnt := 0;
s4 := DWORD_TO_HEXSTR( nCnt, 0, FALSE );

Das Ergebnis:

s1 = 'ABCD'

s2 = 'abcd'

s3 = '000F'

s4 = ''

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.9.0 Build >1021

PC or CX (x86)

TcUtilities.Lib

TwinCAT v2.10.0 Build >= 1301

CX (ARM)