Если сделать вот так, то контакты сколько угодно могут дребезжать
А, еще, мне кажется, что корректнее было бы считать время между подачей сигнала и срабатыванием датчика, а не между срабатываниями обоих датчиковКод:function_block tim_p // Контроль времени хода механизма var_input T1 : bool; // Датчик начального положения T2 : bool; // Датчик конечного положения end_var var_output Q : udint; // Время хода в микросекундах end_var var Tm : udint; // Время с подачи питания на реле fl : bool; ft1 : SYS.FTRIG; end_var ft1(I := T1); if ft1.Q and not fl then Tm := time_to_udint(get_time()); fl := true; end_if if T2 and fl then Q := time_to_udint(get_time()) - Tm; fl := false; end_if end_function_block




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