здравствуйте.
необходимо определить длительность импульса по времени на дискретном входе плк-100.
подскажите как это можно сделать.
здравствуйте.
необходимо определить длительность импульса по времени на дискретном входе плк-100.
подскажите как это можно сделать.
а если необходимо определить общую длительность импульса по времени на дискретном входе?
спсб.
а как сделать так чтобы счетчик общей продолжительности импульса не сбрасывался после выключения плк?
Конечную переменную, в которую Вы время наработки складываете объявить как Retain
А как теперь его "сбросить"?
Кого сбросить? Переменную из Retain ???
Перед пропаданием питания обнулите её... Ну или при появлении питания...
имелось ввиду, как обнулить счетчик при необходимости.
это понятно...
куда и как этот кусок вставить в:
VAR
Timer : TON;
FixDi : R_TRIG;
Последний_импульс : TIME;
Все_без_последнего : TIME;
Общая_продолжительность : TIME;
END_VAR
....
Timer( IN := Di, PT := INT_TO_TIME( -1 ) );
FixDi( CLK := Di );
Последний_импульс := SEL( FixDi.Q, MAX( Последний_импульс, Timer.ET ), T#0s );
Все_без_последнего := SEL( FixDi.Q, Все_без_последнего, Общая_продолжительность );
Общая_продолжительность := Все_без_последнего + Последний_импульс;
можно и в минутах