Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

2 byte array convert to uint

2019-04-30
2019-04-30
  • Vijolica555 - 2019-04-30

    Hello,

    I have 157 2 byte arrays and i want to convert those to uint values and then save all of them to one array.

    I have (those are measured values presenting distances when converted).
    aValue1 : ARRAY [0..1] OF BYTE := [07,DE];
    .
    .
    aValue157 : ARRAY[0..1] OF BYTE := [00, 8F];

    I want:
    aValues : ARRAY [0..156] OF UINT :=[2014,...143];

    has anyone any idea? i converted aValue1 to HEXSTRING because i though i can use HEXCHRNIBBLE_TO_BYTE, but this function is only for string(1) and i have after conversion '07 DE'.

     
  • Lo5tNet - 2019-04-30

    How about using a UNION?

    Example:

    TYPE COMBINEDBYTES
    UNION
    Β  Β  abyValue : ARRAY[0..156,0..1] OF BYTE;
    Β  Β  auiValue : ARRAY[0..156] OF UINT;
    END_UNION
    END_TYPE
    PROGRAM PLC_PRG
    VAR
    Β  Β  union_CombinedValues : COMBINEDBYTES;
    END_VAR
    union_CombinedValues[0,0] := 16#DE; //Assign value of 222 to union member
    union_CombinedValues[0,1] := 16#07; //Assign value of 7 to union member
    //Result (auiValue[0] = 2014);
    union_CombinedValues[1,0] := 16#DF; //Assign value of 223 to union member
    union_CombinedValues[1,1] := 16#07; //Assign value of 7 to union member
    //Result (auiValue[1] = 2015);
    
     

    Related

    Talk.ru: 1


Log in to post a comment.