Надо использовать самописные таймеры и получить ET (отсчёт таймера). Тут первые 2 ссылки на TON и TOF, есть с паузой и без.
В примерах программ есть ещё много всего, есть и таймер TP.
https://owen.ru/forum/showthread.php...=9&p=429061#81
Надо использовать самописные таймеры и получить ET (отсчёт таймера). Тут первые 2 ссылки на TON и TOF, есть с паузой и без.
В примерах программ есть ещё много всего, есть и таймер TP.
https://owen.ru/forum/showthread.php...=9&p=429061#81
Последний раз редактировалось kondor3000; 29.08.2025 в 13:06.
И все же городить пришлось, там нет ФБ TP (Импульс включения заданной длительности), там по ссылкам нет такого на ST, а я пока на ST не силен, поэтому он у меня получился аляповатым, т.е. по факту считает в 2 раза медленнее, хотя я почти уверен, если считать не миллисекундах а в секундах, то будет норм, в общем вот:
2025-08-29_144838.png
Ну и собсно сама программа, если кому такое барахло нужно:
https://owen.ru/forum/attachment.php...1&d=1756469102
Если кто напишет на ST, что нить похожее будет полезно...![]()
Не претендую на оптимальность
Код:function_block fbTP var_input IN : bool; PT : udint; RST : bool; end_var var_output Q : bool; ET : udint; end_var var st, tm : udint; fl : bool; end_var tm := time_to_udint(get_time()); if RST then Q := false; elsif IN and not fl then Q := true; st := tm; end_if if Q then ET := tm - st; if ET >= PT then Q := false; end_if else ET := PT; end_if; fl := Q or IN; end_function_block