Fragment programu PLC zapisany w Structured Text zawiera instrukcję warunkową:
IF T AND NOT P THEN L := TRUE; END_IF;
Oznacza to, że sterownik ocenia wyrażenie logiczne T AND NOT P. Operator AND (koniunkcja) zwraca TRUE wyłącznie wtedy, gdy oba warunki składowe są jednocześnie spełnione. Operator NOT (negacja) odwraca stan sygnału: jeśli P=TRUE, to NOT P=FALSE, a jeśli P=FALSE, to NOT P=TRUE.
Dlatego lampka L zostanie ustawiona na TRUE tylko w jednym przypadku: gdy T jest aktywny (T=TRUE) oraz P jest nieaktywny (P=FALSE, więc NOT P=TRUE). Wtedy ciało instrukcji IF zostaje wykonane i następuje włączenie sygnalizacji.
Dlaczego pozostałe odpowiedzi są błędne?
- Opis z odwróconymi stanami (T nieaktywny i P aktywny) nie spełnia koniunkcji: przy T=FALSE całe T AND (…) jest FALSE niezależnie od P.
- Stwierdzenie "oba czujniki aktywne" jest błędne, bo przy P=TRUE negacja daje NOT P=FALSE, więc warunek staje się FALSE.
- Stwierdzenie "oba czujniki nieaktywne" też nie pasuje: gdy T=FALSE, koniunkcja jest FALSE nawet jeśli NOT P=TRUE.
Wskazówka egzaminacyjna: rozbij warunek na części i sprawdź, kiedy każda z nich jest TRUE. Dla AND potrzebujesz TRUE po obu stronach, a dla NOT pamiętaj o odwróceniu sygnału.