#6 Find or create a Codesys solution for: DWORD_TO_HEXSTR

v1.0
closed
aliazzz
None
2020-05-01
2019-05-04
aliazzz
No

This function converts a decimal number into a hexadecimal string (base 16).

FUNCTION DWORD_TO_HEXSTR : T_MaxString

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

in: The decimal number requiring conversion.

iPrecision: Minimum number of displayed digits (digits). If the actual number of significant digits is less than the iPrecision parameter, the resulting string is filled with zeros from the left. If the number of significant digits is greater than the iPrecision parameter, the resulting string is not cut off! If the iPrecision parameter and the in parameter are zero, the resulting string is empty.

bLoCase: This parameter determines whether lower or upper case letters are used in the conversion. FALSE => "ABCDEF", TRUE => "abcdef".

Example 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 );

The result:

s1 = 'ABCD'

s2 = 'abcd'

s3 = '000F'

s4 = ''

Discussion

  • aliazzz

    aliazzz - 2019-05-04
    • summary: DWORD_TO_HEXSTR --> Find or create a Codesys solution for: DWORD_TO_HEXSTR
     
  • aliazzz

    aliazzz - 2019-05-05

    Ticket moved from /prj/tcunit4codesys/tickets/6/

     
  • aliazzz

    aliazzz - 2019-05-05

    Ticket moved from /prj/csunit/tickets/6/

     
  • zer0g - 2019-05-05

    Hi,
    I hope this can help you. Is based on OSCAT's DWORD_TO_STRH function.

     
  • aliazzz

    aliazzz - 2019-05-06
    • status: open --> closed
     
  • aliazzz

    aliazzz - 2019-05-06
    • assigned_to: aliazzz
     

Log in to post a comment.