--------------变量定义
FUNCTION_BLOCK WORD_BOOL VAR_INPUT word_in : WORD; END_VAR VAR_OUTPUT bool_0 : BOOL; bool_1 : BOOL; bool_2 : BOOL; bool_3 : BOOL; bool_4 : BOOL; bool_5 : BOOL; bool_6 : BOOL; bool_7 : BOOL; bool_8 : BOOL; bool_9 : BOOL; bool_10 : BOOL; bool_11 : BOOL; bool_12 : BOOL; bool_13 : BOOL; bool_14 : BOOL; bool_15 : BOOL; END_VAR VAR word_1 : WORD; word_2 : ARRAY [0..15] OF WORD; word_3 : ARRAY [0..15] OF BOOL; int_1 : INT; END_VAR
/程序段
word_1 := 1; FOR int_1 := 0 TO 15 DO word_2 [int_1] := word_in AND word_1; word_3[int_1] := (WORD_TO_BOOL(word_2[int_1])); word_1 := word_1*2; END_FOR; bool_0 := word_3[0]; bool_1 := word_3[1]; bool_2 := word_3[2]; bool_3 := word_3[3]; bool_4 := word_3[4]; bool_5 := word_3[5]; bool_6 := word_3[6]; bool_7 := word_3[7]; bool_8 := word_3[8]; bool_9 := word_3[9]; bool_10 := word_3[10]; bool_11 := word_3[11]; bool_12 := word_3[12]; bool_13 := word_3[13]; bool_14 := word_3[14]; bool_15 := word_3[15];
--------------变量定义
FUNCTION_BLOCK BOOL_WORD VAR_INPUT bool_0 : BOOL; bool_1 : BOOL; bool_2 : BOOL; bool_3 : BOOL; bool_4 : BOOL; bool_5 : BOOL; bool_6 : BOOL; bool_7 : BOOL; bool_8 : BOOL; bool_9 : BOOL; bool_10 : BOOL; bool_11 : BOOL; bool_12 : BOOL; bool_13 : BOOL; bool_14 : BOOL; bool_15 : BOOL; END_VAR VAR_OUTPUT word_out : WORD; END_VAR VAR word_1 : WORD; word_2 : ARRAY [0..15] OF BOOL; int_1 : INT; END_VAR
/程序段
word_2[0] := bool_0; word_2[1] := bool_1; word_2[2] := bool_2; word_2[3] := bool_3; word_2[4] := bool_4; word_2[5] := bool_5; word_2[6] := bool_6; word_2[7] := bool_7; word_2[8] := bool_8; word_2[9] := bool_9; word_2[10] := bool_10; word_2[11] := bool_11; word_2[12] := bool_12; word_2[13] := bool_13; word_2[14] := bool_14; word_2[15] := bool_15; word_1 := 1; word_out :=0; FOR Int_1 := 0 TO 15 DO IF word_2[int_1] THEN word_out := word_out + word_1; END_IF; word_1 := word_1*2; END_FOR;