KWALIFIKACJA ELE1 - TEST WIEDZY NR 9

PYTANIE NR 34.
Podczas uruchamiania maszyny elektrycznej na podstawie dokumentacji technicznej natrafiasz na następujący fragment kodu:
START:
IF (przycisk_start = 1) AND (przycisk_stop = 0) THEN
SET silnik = 1;
ELSE
SET silnik = 0;
ENDIF;
GOTO START;

Co oznacza ten fragment kodu?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Warunek IF sprawdza jednocześnie dwa sygnały: przycisk_start = 1 oraz przycisk_stop = 0. Gdy oba są spełnione, ustawiane jest wyjście silnik = 1 (uruchomienie). W przeciwnym razie wykonywana jest gałąź ELSE i silnik = 0 (zatrzymanie).

Pełne wyjaśnienie:

W przedstawionym fragmencie programu kluczowa jest instrukcja warunkowa IF z operatorem logicznym AND. Oznacza to, że aby wykonała się część po THEN, muszą być spełnione jednocześnie oba warunki:

  • przycisk_start = 1 (start jest wciśnięty / sygnał aktywny),
  • przycisk_stop = 0 (stop nie jest wciśnięty / sygnał nieaktywny).

Jeśli oba warunki są prawdziwe, program wykonuje SET silnik = 1, czyli podaje stan "1" na sygnał/wyjście opisane jako silnik. W typowym sterowaniu oznacza to załączenie napędu (np. cewki stycznika lub sygnału ze sterownika do układu wykonawczego).

Jeżeli choć jeden z warunków nie jest spełniony (np. start nie jest wciśnięty albo stop jest wciśnięty), wykonywana jest gałąź ELSE i następuje SET silnik = 0, czyli wyłączenie napędu.

Dlaczego pozostałe odpowiedzi są błędne?

  • Opcja z "start puszczony, stop wciśnięty" odwraca warunki z kodu (tam jest start=1 i stop=0).
  • Opcja "oba wciśnięte" jest sprzeczna z AND, bo wymagałaby stop=1, a w kodzie wymagane jest stop=0.
  • Opcja "oba puszczone" także nie pasuje, bo wtedy start=0 i warunek IF nie byłby spełniony, więc silnik zostałby ustawiony na 0.

Uwaga praktyczna: pętla z GOTO START wskazuje na ciągłe powtarzanie sprawdzania warunku (cykliczną pracę programu), więc stan "silnik" jest na bieżąco wymuszany zgodnie z aktualnymi stanami przycisków.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
AND oznacza, że oba warunki muszą być spełnione jednocześnie. W praktyce: jeśli program wymaga start=1 AND stop=0, to samo wciśnięcie START nie wystarczy, gdy STOP jest aktywny. Dopiero spełnienie obu daje załączenie wyjścia.
To porównanie zmiennych do wartości logicznych. Zwykle 1 oznacza sygnał aktywny (np. wciśnięty przycisk lub stan TRUE), a 0 nieaktywny. Trzeba jednak zawsze opierać się na tym, co wynika z kodu i opisu wejść w dokumentacji.
ELSE definiuje zachowanie "w przeciwnym razie". Dzięki temu, gdy warunek startu nie jest spełniony, wyjście jest jednoznacznie wyłączane. To zapobiega sytuacji, w której silnik pozostałby włączony mimo zwolnienia START albo wciśnięcia STOP.
Ustawia zmienną/wyjście silnik na stan 1. W praktyce sterowania maszyną zwykle oznacza to podanie sygnału załączenia (np. na cewkę stycznika lub wejście falownika). To nie jest "opis", tylko realne przypisanie stanu logicznego.
Silnik będzie ustawiany na 0 zawsze, gdy którykolwiek z warunków nie jest spełniony: gdy START nie ma wartości 1 albo gdy STOP ma wartość inną niż 0 (np. 1). Wtedy wykonywana jest gałąź ELSE i program wymusza wyłączenie.
GOTO przenosi wykonanie programu do etykiety START, więc po wykonaniu IF/ELSE kod wraca na początek i ponownie sprawdza stany wejść. To odpowiada typowej, cyklicznej pracy sterownika, gdzie wyjścia są aktualizowane zgodnie z bieżącymi sygnałami.
Najczęściej myli się znaczenie 0/1 dla STOP albo pomija się jeden człon AND. Uczniowie czasem zakładają też, że "STOP wciśnięty" zawsze ma wartość 0, co nie musi być prawdą. Trzeba czytać warunek dokładnie i traktować go jak tabelę prawdy.
Logika jest podobna: silnik ma działać, gdy jest sygnał START i nie ma sygnału STOP. Różnica polega na tym, że w układzie stycznikowym często występuje samopodtrzymanie, a tu stan jest bezpośrednio wymuszany warunkiem w programie (w każdej iteracji pętli).
Trzeba zmierzyć/odczytać stany wejść w diagnostyce: czy przycisk_start rzeczywiście przyjmuje wartość 1 oraz czy przycisk_stop ma wartość 0. Jeśli STOP jest "1" (np. uszkodzony, źle okablowany lub skonfigurowany), warunek AND nie zostanie spełniony.
Ćwicz rozpisywanie warunków na proste zdania oraz rób mini-tabele prawdy (kiedy THEN, kiedy ELSE). Zwracaj uwagę na operatory AND/OR/NOT i na to, co program ustawia na wyjściu. W zadaniach egzaminacyjnych to zwykle wystarcza do poprawnej interpretacji.
info

To pytanie poprawnie rozwiązuje 61% zdających egzamin. średnie

Według specjalistów z branży: "Warunek IF sprawdza jednocześnie dwa sygnały: przycisk_start = 1 oraz przycisk_stop = 0."

Źródła:

  • IEC 61131-3: Programmable controllers — Part 3: Programming languages (Structured Text), opis składni IF/THEN/ELSE oraz operatorów logicznych AND
  • CODESYS Documentation: Structured Text (ST) — instrukcje IF/ELSE oraz operatory logiczne (https://help.codesys.com/) - accessed 2026-02-26
  • Siemens Industry Online Support: Dokumentacja języka SCL/Structured Text dla sterowników SIMATIC (instrukcje IF/THEN/ELSE, operatory logiczne) (https://support.industry.siemens.com/) - accessed 2026-02-26

Materiały:

  • Podręczniki do podstaw automatyki i sterowania napędami
  • Materiały szkoleniowe z czytania schematów i logiki sterowania START/STOP
  • Wprowadzenie do języków programowania sterowników (np. Structured Text) oraz logiki drabinkowej

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego