Пробуем так:
Owen0.jpg
Фиксация кнопок и датчиков:
Движение тележки:Код:function_block fix var_input i0 : bool; i1 : bool; i2 : bool; i3 : bool; i4 : bool; i5 : bool; end_var var_output Q : udint; end_var if i0 then Q := 0; end_if if i1 then Q := 1; end_if if i2 then Q := 2; end_if if i3 then Q := 3; end_if if i4 then Q := 4; end_if if i5 then Q := 5; end_if end_function_block
Тоже самое без ФБ:Код:function_block telega var_input BTN : udint; // Позиция кнопки CART : udint; // Позиция тележки end_var var_output Q : udint; // Текузая позиция end_var var t : SYS.TON; // Таймер смены позиции end_var t(I:=true, T:=T#100ms); if t.Q then // Пришло время сменить позицию t(I:=false); if Q = BTN then // Текущая позиция в конце пути Q := CART; // Переносим в позицию тележки else // Инаяе .. if Q < BTN then Q := Q + 1; end_if // Движемся вправо if Q > BTN then Q := Q - 1; end_if // Движемся влево end_if end_if end_function_block
Owen1.jpg




Ответить с цитированием