KWALIFIKACJA ELM6 - TEST WIEDZY NR 2

PYTANIE NR 15.
Jakiego typu operację wykonuje poniższa instrukcja w języku Structured Text (ST) dla sterownika PLC?
IF (Sensor1 AND NOT Sensor2) THEN
  Motor := TRUE;
ELSE
  Motor := FALSE;
END_IF;
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wyrażenie w instrukcji IF ma postać Sensor1 AND NOT Sensor2, czyli jest spełnione tylko wtedy, gdy Sensor1=TRUE oraz jednocześnie Sensor2=FALSE. To jest koniunkcja (AND) z zanegowaniem drugiego sygnału. Wtedy ustawiane jest Motor:=TRUE, w przeciwnym razie FALSE.

Pełne wyjaśnienie:

Warunek sterujący ma postać: Sensor1 AND NOT Sensor2. Oznacza to, że program sprawdza jednoczesne spełnienie dwóch przesłanek:

  • Sensor1 musi być w stanie TRUE,
  • Sensor2 po zanegowaniu (NOT Sensor2) musi dać TRUE, czyli w praktyce Sensor2 ma być FALSE.

Kluczowym operatorem łączącym te przesłanki jest AND (koniunkcja). Dlatego poprawna odpowiedź to "Operację AND".

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Operację OR" byłoby właściwe, gdyby wystarczało spełnienie jednego z warunków (np. Sensor1 OR NOT Sensor2). Tutaj muszą być spełnione oba naraz.
  • "Operację XOR" oznaczałoby "dokładnie jeden warunek jest prawdziwy". Kod tego nie realizuje, bo wymaga TRUE dla Sensor1 oraz FALSE dla Sensor2 równocześnie.
  • "Operację NAND" jest negacją AND całego wyrażenia. W kodzie nie ma negacji całej koniunkcji; negacja dotyczy tylko Sensor2, a nie wyniku (Sensor1 AND Sensor2).

W praktyce taki zapis tworzy prostą logikę blokady (interlock): silnik załącza się tylko, gdy czujnik 1 zezwala, a czujnik 2 nie sygnalizuje stanu zakazu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator AND to koniunkcja logiczna: wynik jest TRUE tylko wtedy, gdy oba argumenty są TRUE. W programach PLC używa się go do warunków zezwolenia, np. gdy muszą być spełnione dwa sygnały jednocześnie.
NOT wykonuje negację: zamienia TRUE na FALSE i odwrotnie. W praktyce pozwala opisać warunek "braku sygnału", np. NOT Sensor2 oznacza, że czujnik 2 ma być w stanie FALSE, aby warunek był spełniony.
Czytaj go jako: "Sensor1 jest aktywny i jednocześnie Sensor2 nie jest aktywny". To typowa logika blokady: jeden sygnał zezwala, a drugi (po negacji) wymusza brak stanu zabronionego.
NAND to negacja całej koniunkcji, czyli NOT(Sensor1 AND Sensor2). W podanym wyrażeniu negacja dotyczy tylko jednego sygnału (Sensor2), a nie wyniku działania AND, więc nie jest to NAND.
AND stosuje się, gdy wszystkie wymagania muszą być spełnione jednocześnie (np. zezwolenie + brak awarii). OR wybiera się, gdy wystarczy spełnienie jednego z warunków (np. start z przycisku 1 lub z przycisku 2).
Wtedy NOT Sensor2 daje FALSE, więc całe wyrażenie Sensor1 AND NOT Sensor2 jest FALSE. Program wejdzie w gałąź ELSE i ustawi Motor := FALSE, czyli wyłączy wyjście.
Tak. Instrukcja IF...THEN...ELSE przypisuje Motor := TRUE w przypadku spełnienia warunku, a w przeciwnym razie Motor := FALSE. Dzięki temu nie ma "pozostawienia" poprzedniego stanu zmiennej.
Często myli się NOT jako negację całego warunku, choć dotyczy tylko jednego sygnału. Inny błąd to uznanie, że wystarczy "jeden czujnik" (OR), mimo że zapis AND wymaga spełnienia obu części równocześnie.
Najpierw znajdź operator łączący człony wyrażenia (np. między Sensor1 a NOT Sensor2). Jeśli jest tam AND, to warunek wymaga jednoczesności. Jeśli OR, to dopuszcza alternatywę.
Ćwicz tłumaczenie kodu na język potoczny i odwrotnie (np. "S1 i nie S2"). Rób tabele prawdy dla AND/OR/NOT/XOR/NAND. Na egzaminie analizuj krokowo: najpierw NOT, potem operator łączący, na końcu wynik IF.
info

Około 59% zdających odpowiada poprawnie na to pytanie. średnie

Eksperci podkreślają: "Wyrażenie w instrukcji IF ma postać Sensor1 AND NOT Sensor2, czyli jest spełnione tylko wtedy, gdy Sensor1=TRUE oraz jednocześnie Sensor2=FALSE."

Źródła:

  • IEC 61131-3, Programmable controllers — Part 3: Programming languages (Structured Text: operatory logiczne AND/OR/NOT oraz instrukcja IF).

Materiały:

  • Dokumentacja/poradnik ST dla używanego środowiska PLC (np. CODESYS, Siemens, Schneider) – rozdziały o operatorach logicznych i instrukcji IF
  • Ćwiczenia z tabel prawdy dla AND/OR/XOR/NAND oraz wyrażeń z NOT
  • Zadania laboratoryjne: mapowanie stanów czujników na wyjścia (BOOL) w ST

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego