ParamManagerScripts/backend/script_groups/TwinCat/.example/_BOOLARRAY_TO_WORD.EXP

23 lines
403 B
Plaintext

(* @PATH := '\/Functions_Collection' *)
(* @SYMFILEFLAGS := '0' *)
FUNCTION _BoolArray_To_Word : WORD
VAR_INPUT
i_Array : ARRAY [0..15] OF BOOL ;
END_VAR
VAR
i : INT ;
mTemp : WORD ;
END_VAR
(* @END_DECLARATION := '0' *)
FOR i:=0 TO 15 DO
IF i_Array[i] THEN
mTemp := REAL_TO_WORD(EXPT(2, i)) ; (* 2^i *)
_BoolArray_To_Word := _BoolArray_To_Word + mTemp ;
END_IF
END_FOR
END_FUNCTION