Hi,
You can use this function to convert a DWORD into 2 WORDS.
For this function to work 'Util' library should be added to library manager.
Note: Works for only positive values
FUNCTION DW_TO_2W : ARRAY [0..1] OF WORD
VAR_INPUT
DW : DWORD;
END_VAR
VAR
Bits : ARRAY [0..31] OF BOOL;
DT2W : DWORD_AS_BIT;
BTW : BIT_AS_WORD;
END_VAR
DT2W(
X:=DW ,
B00=>Bits[0],
B01=>Bits[1],
B02=>Bits[2],
B03=>Bits[3],
B04=>Bits[4],
B05=>Bits[5],
B06=>Bits[6],
B07=>Bits[7] ,
B08=>Bits[8] ,
B09=>Bits[9] ,
B10=>Bits[10] ,
B11=>Bits[11] ,
B12=>Bits[12] ,
B13=>Bits[13] ,
B14=>Bits[14] ,
B15=>Bits[15] ,
B16=>Bits[16] ,
B17=>Bits[17],
B18=>Bits[18] ,
B19=> Bits[19],
B20=> Bits[20],
B21=> Bits[21],
B22=> Bits[22],
B23=> Bits[23],
B24=> Bits[24],
B25=> Bits[25],
B26=> Bits[26],
B27=> Bits[27],
B28=> Bits[28],
B29=> Bits[29],
B30=> Bits[30],
B31=> Bits[31]);
BTW(
B00:=Bits[0] ,
B01:=Bits[1] ,
B02:=Bits[2] ,
B03:=Bits[3] ,
B04:=Bits[4] ,
B05:=Bits[5] ,
B06:=Bits[6] ,
B07:=Bits[7] ,
B08:=Bits[8] ,
B09:=Bits[9] ,
B10:=Bits[10] ,
B11:=Bits[11] ,
B12:=Bits[12] ,
B13:=Bits[13] ,
B14:=Bits[14] ,
B15:=Bits[15] ,
W=>DW_TO_2W[0] );
BTW(
B00:=Bits[16] ,
B01:=Bits[17] ,
B02:=Bits[18] ,
B03:=Bits[19] ,
B04:=Bits[20] ,
B05:=Bits[21] ,
B06:=Bits[22] ,
B07:=Bits[23] ,
B08:=Bits[24] ,
B09:=Bits[25] ,
B10:=Bits[26] ,
B11:=Bits[27] ,
B12:=Bits[28] ,
B13:=Bits[29] ,
B14:=Bits[30] ,
B15:=Bits[31] ,
W=>DW_TO_2W[1] );