Чтобы заблокировать выполнение первого условия IF, если выполняется второе, можно использовать флаг, который будет указывать, что одно из условий уже выполнилось.
Ниже приведен код с использованием такого флага:
VAR
a, b: BOOL;
c: WSTRING;
condition_executed: BOOL; // Флаг выполнения условия
END_VAR
// Инициализация флага
condition_executed := FALSE;
IF a = TRUE AND NOT condition_executed THEN
b := FALSE;
c := "da";
condition_executed := TRUE; // Устанавливаем флаг
END_IF
IF b = TRUE AND NOT condition_executed THEN
a := FALSE;
c := "net";
condition_executed := TRUE; // Устанавливаем флаг
END_IF
В этом коде переменная condition_executed используется для отслеживания выполнения условий. Как только одно из условий выполнено, флаг устанавливается в TRUE, что предотвращает выполнение второго условия.