Ок.
Это простой шкаф управления насосами на ОВЕН-160.
Есть датчик давления 4-20мА на входе, если давление падает ниже определенной уставки, то шкаф должен остановить насос.
Да, это-то меня и поставило в тупик, т.к. привык к потокам, мютексам, блокировкам и т.п. Здесь так не получится.
Но ведь пока таймер будет тикать цикл не закончится и будет или перезапущен WatchDog'ом или поток будет висеть на время таймера, так?Цитата:
Код:VAR
timer: TON := (PT := T#10s);
END_VAR
timer(IN := AI1 < 5);
IF timer.Q THEN
(* Значение ниже уставки дольше 10 секунд *)
(* Выполняем определённые действия *)
END_IF
Василий Кашуба, Yegor:
Сделал так:
1. По аналоговому входу пока ФБ Hysteresis, посмотрим на тестовом стенде.
2. Про счетчик наработки:
- Сделал отдельный task, циклически вызываемый каждую секунду, его содержимое.
Пробовал разные приоритеты и 0 и 15 - задача при любых значиениях просто блокирует выполнение чего-то еще, т.е. до цикла PLC_PRG дело просто не доходит. Если отключаю задачу, то все корректно выполняется PLC_PRG.
С чем это может быть связано?