Вас устроит вариант на ST?
Owen.jpg
Код:
function_block Select
var_input
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24: udint;
up, dn: bool;
end_var
var_output
Q : udint;
end_var
var
cnt : SYS.CTN;
end_var
cnt(U := up, D := dn, R := (cnt.Q = 24), N := 0);
case cnt.Q of
0: Q := i1; 1: Q := i2; 2: Q := i3; 3: Q := i4; 4: Q := i5; 5: Q := i6; 6: Q := i7; 7: Q := i8; 8: Q := i9;
9: Q := i10; 10: Q := i11; 11: Q := i12; 12: Q := i13; 13: Q := i14; 14: Q := i15; 15: Q := i16; 16: Q := i17;
17: Q := i18; 18: Q := i19; 19: Q := i20; 20: Q := i21; 21: Q := i22; 22: Q := i23; 23: Q := i24;
end_case
end_function_block