Попробуйте так и первое включение сделайте через кнопку ПР, а все остальные через "Выключатель".
TMRSet - сделайте энергонезависимой, ФБ должен запоминать время удержания кнопки BTN и повторить на выходе при сбросе питания на ПР.
Owen.jpg
Код:function_block TMRPush var_input BTN : bool; RPT : bool; TMRSet : udint; end_var var_output TMRValue : udint; Q : bool; end_var var RT : SYS.RTRIG; FT : SYS.FTRIG; TS : time; TMRRPT : SYS.TP; end_var TMRValue := TMRSet; RT(I:=BTN); if RT.Q then TS := get_time(); end_if FT(I:=BTN); if FT.Q then TMRValue := time_to_udint(get_time() - TS); end_if TMRRPT(I:=RPT, T:= udint_to_time(TMRValue)); Q := BTN or TMRRPT.Q; end_function_block





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