KWALIFIKACJA ELM1 - STYCZEŃ 2021

PYTANIE NR 26.
Przedstawiony fragment programu realizuje funkcję
Ilustracja przedstawia fragment programu w języku drabinkowym (LD), który jest używany w automatyce przemysłowej do
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcje IL wykonują się sekwencyjnie na akumulatorze.
"LD X1" ładuje X1, "OR X2" wykonuje alternatywę logiczną z X2, a "ST Y1" zapisuje wynik do Y1. Otrzymujemy więc zależność Y1 = X1 OR X2. Funkcje NOR/NAND wymagałyby dodatkowej negacji, której tu nie ma.

Pełne wyjaśnienie:

W języku listy instrukcji IL (Instruction List) logika jest budowana krok po kroku na tzw. akumulatorze (bieżącej wartości logicznej). Dlatego, aby rozpoznać funkcję realizowaną przez fragment programu, trzeba prześledzić znaczenie każdej instrukcji.

Najpierw instrukcja LD (Load) ładuje do akumulatora wartość wejścia X1. Następnie instrukcja OR wykonuje alternatywę logiczną między aktualną zawartością akumulatora a operandem X2. Oznacza to, że po tej linii w akumulatorze jest prawda, gdy co najmniej jedno z wejść (X1 lub X2) jest prawdziwe. Na końcu instrukcja ST (Store) zapisuje obliczoną wartość z akumulatora do zmiennej wyjściowej Y1. Całość daje zależność: Y1 = X1 OR X2.

Odpowiedź "NOR" byłaby poprawna tylko wtedy, gdyby po operacji OR nastąpiła negacja (np. instrukcja NOT albo użycie wariantu z negacją typu ORN, zależnie od dialektu IL). W pokazanym fragmencie nie ma żadnego elementu negującego, więc nie jest to NOR.

Odpowiedź "AND" jest błędna, bo koniunkcja wymagałaby instrukcji AND zamiast OR. W AND wynik jest prawdziwy dopiero wtedy, gdy oba wejścia są prawdziwe.

Odpowiedź "NAND" również jest błędna: NAND to zanegowane AND, a więc wymagałaby jednocześnie koniunkcji oraz negacji. Ponieważ widzimy OR bez negacji, nie może to być NAND.

Wskazówka egzaminacyjna: w IL najpierw identyfikuj instrukcję logiczną (OR/AND), a dopiero potem sprawdzaj, czy występuje negacja (NOT lub wariant z N). To najszybciej odróżnia OR od NOR oraz AND od NAND.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
LD (Load) ładuje wskazaną zmienną logiczną do akumulatora, czyli ustawia bieżącą wartość, na której będą wykonywane kolejne operacje (np. OR, AND). W praktyce jest to "start" budowania warunku logicznego w IL.
OR wykonuje alternatywę logiczną: łączy aktualną wartość w akumulatorze z podanym operandem. Wynik jest 1, gdy przynajmniej jeden z argumentów jest 1. Po OR akumulator zawiera już obliczony rezultat, gotowy do dalszych instrukcji.
ST (Store) zapisuje aktualną zawartość akumulatora do wskazanej zmiennej (np. wyjścia). Dzięki temu wynik obliczeń logicznych z LD/OR/AND trafia do Y, Q lub innej zmiennej programu. ST nie zmienia logiki, tylko utrwala wynik.
Bo po LD akumulator ma wartość X1, następnie OR wykonuje sumę logiczną z X2, a ST zapisuje wynik do Y1. Ostatecznie Y1 jest aktywne, gdy aktywne jest X1 lub X2. Brak tu negacji, więc nie jest to NOR.
OR daje 1, gdy co najmniej jedno wejście jest 1. NOR to negacja OR: daje 1 tylko wtedy, gdy wszystkie wejścia są 0. W programie IL, aby uzyskać NOR, trzeba dodać negację (np. NOT) albo użyć wariantu instrukcji z negacją, jeśli jest dostępny.
OR stosuje się, gdy wyjście ma zadziałać z kilku alternatywnych powodów, np. start z dwóch przycisków, dwa czujniki wykrywające ten sam stan, lub dwa warunki awaryjne zatrzymania. To typowa logika "wystarczy jeden sygnał".
Tak, szczególnie gdy testuje się tylko jeden przypadek. OR i AND różnią się tablicą prawdy: OR zadziała już przy jednym aktywnym wejściu, a AND wymaga aktywności obu. Dlatego trzeba sprawdzić kombinacje 00, 01, 10, 11 lub przeanalizować instrukcję w kodzie.
Szukaj jawnej instrukcji negującej (np. NOT) albo wariantów instrukcji z negacją, zależnie od środowiska (czasem z dopiskiem N). Jeśli w fragmencie występuje tylko OR/AND bez negacji, to nie jest funkcja zanegowana typu NOR/NAND.
Najczęściej myli się OR z AND (bo oba "łączą" sygnały) oraz zapomina o negacji w NOR/NAND. Drugi błąd to nieuwzględnienie, że IL działa sekwencyjnie na akumulatorze, więc kolejność LD/OR/AND/ST ma znaczenie dla interpretacji wyniku.
Najpierw odczytaj: co ładuje LD (pierwszy argument w akumulatorze). Potem sprawdź operator (OR/AND) i drugi argument. Na końcu zobacz, gdzie ST zapisuje wynik. W 10–15 sekund możesz zapisać równanie typu Y = X1 OR X2 i porównać z odpowiedziami.
info

Statystycznie 74% uczniów zna prawidłową odpowiedź. średnio łatwe

W praktyce zawodowej kluczowe jest to, że instrukcje IL wykonują się sekwencyjnie na akumulatorze."LD X1" ładuje X1, "OR X2" wykonuje alternatywę logiczną z X2, a "ST Y1" zapisuje wynik do Y1.

Źródła:

  • IEC 61131-3:2013, Programmable controllers — Part 3: Programming languages (opis języka IL/Instruction List i operacji logicznych)

Materiały:

  • Materiały dydaktyczne do IEC 61131-3 dotyczące języków PLC i instrukcji IL
  • Ćwiczenia z logiki boolowskiej (tablice prawdy OR/AND oraz funkcje zanegowane)
  • Przykładowe programy IL/LAD/FBD pokazujące tę samą funkcję w różnych językach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego