Использую IDE CoDeSys V2.3
Исходники в приложении.
Почему эмулятор PLC выполняет одну и ту же логику по-разному?
Пример1:
Код HTML:
IF NOT (Sensor1 AND Sensor2)
THEN
Valve1 := TRUE;
Valve2 := FALSE;
ELSIF (Sensor1 AND NOT(Sensor2))
THEN
Valve1 := FALSE;
Valve2 := TRUE;
ELSE
Valve1 := FALSE;
Valve2 := FALSE;
END_IF;
Пример1. Таблица выполнения:
Код HTML:
Sensor1 Sensor2 Valve1 Valve2
0 0 1 0
0 1 1 0
1 0 1 0
1 1 0 0
Пример2:
Код HTML:
IF NOT (Sensor1 AND Sensor2)
THEN
Valve1 := TRUE;
Valve2 := FALSE;
END_IF;
IF (Sensor1 AND NOT(Sensor2))
THEN
Valve1 := FALSE;
Valve2 := TRUE;
END_IF;
IF (Sensor1 AND Sensor2) OR (NOT(Sensor1) AND Sensor2)
THEN
Valve1 := FALSE;
Valve2 := FALSE;
END_IF;
Пример2. Таблица выполнения:
Код HTML:
Sensor1 Sensor2 Valve1 Valve2
0 0 1 0
0 1 0 0
1 0 0 1
1 1 0 0