может быть POINTER TO BYTE? или ARRAY [1..XXX] OF WORD?
или
FUNCTION SetWord : DWORD
VAR_INPUT
i_dwAddress: POINTER TO BYTE;
i_wVal: WORD;
END_VAR
(* res *)
i_dwAddress^ := WORD_TO_BYTE( i_wVal / 256 );
i_dwAddress := i_dwAddress + 1;
i_dwAddress^ := WORD_TO_BYTE( i_wVal );
SetWord := i_dwAddress + 1;