KWALIFIKACJA ELM6 - TEST WIEDZY NR 3

PYTANIE NR 36.
Wybierz prawidłowy opis działania poniższego fragmentu kodu programowania sterownika PLC.
IF T AND NOT P THEN
    L := TRUE;
END_IF;
Gdzie T to czujnik temperatury, P to czujnik ciśnienia, a L to lampka ostrzegawcza.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Warunek T AND NOT P jest spełniony tylko wtedy, gdy sygnał temperatury T ma wartość TRUE, a sygnał ciśnienia P ma wartość FALSE. W takiej sytuacji wykonywane jest przypisanie L := TRUE, czyli lampka ostrzegawcza zostaje włączona.

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator AND oznacza koniunkcję: wynik jest TRUE tylko wtedy, gdy wszystkie warunki po obu stronach AND są jednocześnie TRUE. Jeśli choć jeden składnik ma FALSE, całe wyrażenie z AND przyjmie FALSE.
NOT wykonuje negację logiczną, czyli odwraca stan sygnału binarnego. Gdy P=TRUE, to NOT P=FALSE, a gdy P=FALSE, to NOT P=TRUE. To typowy sposób sprawdzania, że czujnik jest nieaktywny.
To zapis: "jeśli T jest TRUE i jednocześnie P jest FALSE, to wykonaj instrukcje w środku". W praktyce oznacza to, że uruchomienie akcji (np. lampki) następuje tylko dla konkretnej kombinacji stanów wejść.
Gdy P=TRUE, negacja daje NOT P=FALSE. Wtedy wyrażenie staje się T AND FALSE, a koniunkcja z FALSE zawsze daje FALSE. Niezależnie od tego, czy T jest aktywny, blok IF nie wykona przypisania do L.
Nie. W pokazanym fragmencie ustawiane jest tylko L := TRUE w przypadku spełnienia warunku. Jeśli brakuje gałęzi ELSE lub osobnego resetu, lampka może pozostać w poprzednim stanie (np. nadal świecić), zależnie od reszty programu.
Wypisz wszystkie kombinacje T i P (TRUE/FALSE), policz NOT P, a potem wynik AND. Tylko dla T=TRUE i P=FALSE otrzymasz TRUE. Pozostałe trzy kombinacje dają FALSE, więc instrukcja w IF nie zostanie wykonana.
Najczęściej myli się NOT (zapomina się o odwróceniu), albo traktuje AND jak "wystarczy jeden warunek". Częsty błąd to też automatyczne "dopisywanie" ELSE w głowie i zakładanie, że program resetuje wyjście, choć w kodzie tego nie ma.
W ST używa się operatora OR. Taki warunek zapiszesz jako T OR P. Wtedy wynik jest TRUE, gdy co najmniej jeden z sygnałów ma TRUE. To inna logika niż AND, która wymaga spełnienia obu warunków.
Gdy chcesz uruchomić ostrzeżenie lub alarm po spełnieniu warunku procesowego, np. wykrycie przegrzania przy braku potwierdzenia ciśnienia, otwartych osłon lub braku gotowości. Wyjście lampki często jest elementem diagnostyki HMI lub kolumny sygnalizacyjnej.
Wymuś wartości wejść T i P (TRUE/FALSE) w trybie testowym i obserwuj zmienną L. Przetestuj cztery kombinacje stanów. Dzięki temu szybko potwierdzisz, czy logika AND/NOT działa zgodnie z założeniem i czy nie brakuje resetu wyjścia.
info

To pytanie poprawnie rozwiązuje 82% zdających egzamin. średnio łatwe

Eksperci podkreślają: "Warunek T AND NOT P jest spełniony tylko wtedy, gdy sygnał temperatury T ma wartość TRUE, a sygnał ciśnienia P ma wartość FALSE."

Źródła:

  • IEC 61131-3 Programmable controllers – Part 3: Programming languages, sekcje dotyczące języka Structured Text, instrukcji IF…THEN…END_IF oraz operatorów logicznych AND/NOT

Materiały:

  • Materiały dydaktyczne do algebry Boole’a (tablice prawdy, operatory logiczne)
  • Dokumentacja języka Structured Text używanego w danym środowisku PLC
  • Zadania ćwiczeniowe z interpretacji fragmentów kodu IF/ELSE w PLC

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego