PDA

Просмотр полной версии : Счетчик входов МДВВ.



Валера Храмцов
26.05.2008, 13:58
Подскажите, пожалуйста, как решить следующую проблему:
Есть МДВВ, который подключен к ПЛК 154 по RS 485. Работа в CoDeSyS 2.3.
Необходимо, чтобы по сигналу, который пришел с счетчика входа (любого, но для примера - первого) срабатывал выход 1.

Есть такой код:
IF c1>0 OR c1=0 THEN
out1.0:=TRUE;
END_IF
IF c3>0 THEN
out1.0:=FALSE;
END_IF

Где с1 - счетчик входа 1, а с3 - счетчик входа 3. out1 - битовая маска выходов, а out1.0 - 1 выход, который должен включатся и выключатся. В принципе, работает, только не всегда при замыкании входа 1 и выхода 3 приходит сигнал на счетчик, выход вкл. и выкл. с большой задержкой.
А еще - как обнулять значения счетчка после КАЖДОГО использования данных этого счетчика в программе. Например, сработал 1 вход, включился выход 1, и надо обнулить счетчик.

Филоненко Владислав
26.05.2008, 14:14
Подскажите, пожалуйста, как решить следующую проблему:
Есть МДВВ, который подключен к ПЛК 154 по RS 485. Работа в CoDeSyS 2.3.
Необходимо, чтобы по сигналу, который пришел с счетчика входа (любого, но для примера - первого) срабатывал выход 1.

Есть такой код:
IF c1>0 OR c1=0 THEN
out1.0:=TRUE;
END_IF
IF c3>0 THEN
out1.0:=FALSE;
END_IF

Где с1 - счетчик входа 1, а с3 - счетчик входа 3. out1 - битовая маска выходов, а out1.0 - 1 выход, который должен включатся и выключатся. В принципе, работает, только не всегда при замыкании входа 1 и выхода 3 приходит сигнал на счетчик, выход вкл. и выкл. с большой задержкой.
А еще - как обнулять значения счетчка после КАЖДОГО использования данных этого счетчика в программе. Например, сработал 1 вход, включился выход 1, и надо обнулить счетчик.

с1 - счетчик
old_c1 - значение счетчика на мометн выхода из предидущего цикла
out - выход №1

If c1<>old_c1 then
old_c1:=c1;
out:=1;
end_if

Счётчик обнулять не нужно. А условие когда выключать выход №1 не понятно из задачи. пояните.