Просмотр полной версии : Регистрация спадающего фронта с задержкой
Добрый вечер. Камрады, подскажите, как реализовать регистрацию спадающего фронта с задержкой? Мне вот так только в голову приходит:8187781878
Tof не?
..
8188381884 < -- вся логика оповещения тревоги выглядит вот так.
Типа если отвал УЗА при работающем насосе произошел меньше трех секунд - это однократно регистрируется для однократного оповещения о плохом контакте. Если дольше трех секунд при работающем насосе - оповещение об отвале УЗА. И вот не избыточны ли вначале два детектора заднего фронта почти подряд - может можно как-то элегантнее и лаконичней переписать?
см. пост #2
--
f_trig_оповещения_о_плохом_контакте(CLK := УЗА);
b := b and работающем насосе;
tof_УЗА(IN := УЗА, PT := T#3s);
f_trig_оповещение_об_отвале_УЗА(CLK := tof_УЗА.Q);
if работающем насосе then
if f_trig_оповещения_о_плохом_контакте.Q and not b then
b := true;
...
elsif f_trig_оповещение_об_отвале_УЗА.Q then
...
end_if
end_if
см. пост #2
--
f_trig_оповещения_о_плохом_контакте(CLK := УЗА);
tof_УЗА(IN := УЗА, PT := T#3s);
f_trig_оповещение_об_отвале_УЗА(CLK := tof_УЗА.Q);
if работающем насосе then
if f_trig_оповещения_о_плохом_контакте.Q then
...
elsif f_trig_оповещение_об_отвале_УЗА.Q then
...
end_if
end_if
тут будет постоянно оповещать о плохом контакте, а нужно однократное оповещение - я для этого там счетчик прилепил, который обнуляется по остановившемуся насосу. То есть пока насос работает - оповещение о плохом контакте должно прийти однократно, сколько бы их ни было.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot