Thread Content
Хотел бы спросить у всех: если давление, как в PI-001, постоянно превышает определенное значение в течение 10 секунд, то выходной сигнал будет равен 1. Если в какой-либо момент в течение 10 секунд амплитуда колебаний становится меньше установленного значения, начинается повторный отсчет для оценки. Как можно реализовать приведенную выше логику с помощью логики И, ИЛИ и НЕ? Спасибо всем.
Нужна логика? Установите завышенное значение, просто отложите на 10 секунд.
Когда значение измерения превышает установленное значение, начинается отсчет времени. Если в процессе отсчета значение измерения становится меньше установленного значения, отсчет прерывается, а таймер сбрасывается. Когда общее время составляет 10 секунд, контрольный порт выдает сигнал 1... Если описать состояние с помощью нескольких промежуточных переменных, написание программы становится проще.
В вашем описании есть некоторая проблема: сигнал тревоги должен срабатывать, когда время превышает установленное значение на 10 секунд или более; если же время меньше 10 секунд, отсчет времени должен начинаться заново. Так будет понятнее, не так ли? Достаточно сделать замедление.
В системе есть модуль задержки. Если значение с 0 изменяется на 1 и остается таким в течение N секунд, то выводится 1; если же этот период не достигает N секунд, то 1 не выводится. Аналогичные модули существуют и для перехода от 1 к 0