не брезгуйте конструкцией IF...ELSIF
И вместо ФБ ловли фронтов используйте
Код:
foo :=  inputs.in1
(*где то потом*)
IF foo and NOT bar THEN
   ...
ELSIF NOT foo and bar THEN
   ...
END_IF;
bar := foo;
должно стать более читаемо и менее затратно