CODESYS - the IEC 61131-3 automation software
https://forum.codesys.com/

2 byte array convert to uint
https://forum.codesys.com/viewtopic.php?f=11&t=9717
Page 1 of 1

Author:  Vijolica555 [ Tue Apr 30, 2019 10:25 am ]
Post subject:  2 byte array convert to uint

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'.

Author:  Comingback4u [ Tue Apr 30, 2019 5:37 pm ]
Post subject:  Re: 2 byte array convert to uint

How about using a UNION?

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

Page 1 of 1 All times are UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/