PDA

Просмотр полной версии : длительность импульса



kae
29.06.2010, 19:48
здравствуйте.
необходимо определить длительность импульса по времени на дискретном входе плк-100.
подскажите как это можно сделать.

DiMKiN
13.08.2010, 16:24
а если необходимо определить общую длительность импульса по времени на дискретном входе?

DiMKiN
15.08.2010, 19:39
спсб.
а как сделать так чтобы счетчик общей продолжительности импульса не сбрасывался после выключения плк?

Николаев Андрей
16.08.2010, 00:50
Конечную переменную, в которую Вы время наработки складываете объявить как Retain

DiMKiN
16.08.2010, 15:02
А как теперь его "сбросить"?:confused:

Николаев Андрей
16.08.2010, 17:27
Кого сбросить? Переменную из Retain ???
Перед пропаданием питания обнулите её... Ну или при появлении питания...

DiMKiN
16.08.2010, 17:53
имелось ввиду, как обнулить счетчик при необходимости.

DiMKiN
16.08.2010, 18:56
Счетчик := SEL ( Необходимость, Счетчик, T#0s );
:)

это понятно...
куда и как этот кусок вставить в:

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, Все_без_последнего, Общая_продолжительность );
Общая_продолжительность := Все_без_последнего + Последний_импульс;

DiMKiN
18.08.2010, 00:59
извиняюсь, может это..на курсы, там, сходите..

с удовольствием!!! только нету(((

может еще подскажешь как сюда впихнуть счетчик(+1) на каждые 60 секунд?
т.е. более 60 сек считать не надо, и доп счетчик на каждые 60 сек.

DiMKiN
18.08.2010, 14:28
можно и в минутах

DiMKiN
19.08.2010, 10:53
Валенок, этими примерами можно воспользоваться если Общая_продолжительность не более 2 месяцев….
А если она составляет полгода, год?

Вот мой вариант:

VAR
RST: BOOL;
RS: RS;
R_TRIG: R_TRIG;
TON: TON;
END_VAR

VAR RETAIN PERSISTENT
Last_imp : TIME;
All_without_last : TIME;
All_imp : TIME;
hours: DWORD;
END_VAR

http://s50.radikal.ru/i127/1008/a8/7ad49df4f257.jpg

Для примера, считает количество циклов(hours) каждые 5 сек.