Всем спасибо за помощь. Подредактировал немного предложенные варианты и получил рабочий вариант. В итоге получился следующий код:
Код:
(*Регистрируем фронт Датчика 1*)
RTRIGPos(CLK:= Sens_pos);
Sens_pos_Front:= RTRIGPos.Q;
(*Отрабатываем условия: Когда появился фронт, сравниваем температуру измеренную Датчиком 2 с уставкой.
Если температура измеренная с Датчика 2 ниже уставки, то пропуск аварии, но выдаем предупреждение.
В случае когда температура измеренная выше уставки проверяем второе условие.
Если "бутылка полная" аварии нет, предупреждения нет. Если бутылка пустая, то авария.*)
IF Sens_pos_Front THEN
IF Sens_temp>T_ust THEN
IF Sens_exist THEN
Avar_vypav_slitok:=FALSE;
Predupr:=FALSE;
ELSE
Avar_vypav_slitok:=TRUE;
Predupr:=FALSE;
END_IF
ELSE
Avar_vypav_slitok:=FALSE;
Predupr:=TRUE;
END_IF
END_IF
(*Сброс аварии с кнопки, после устранения аварийной ситуации*)
IF Sens_sbros THEN
Avar_vypav_slitok:=FALSE;
ELSE
Avar_vypav_slitok:=Avar_vypav_slitok;
END_IF