KWALIFIKACJA ELM6 - TEST WIEDZY NR 3

PYTANIE NR 18.
Zastanów się nad poniższym fragmentem kodu napisanym w języku IL (Instruction List):
LD    %M0.0
OR    %M0.1
ST    %M0.2
Określ, jakie warunki muszą być spełnione, aby bit %M0.2 został ustawiony na prawdę.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
LD ładuje do akumulatora wartość %M0.0, następnie OR wykonuje alternatywę logiczną z %M0.1. Instrukcja ST zapisuje wynik do %M0.2. Zatem %M0.2 będzie TRUE, gdy co najmniej jeden z bitów %M0.0 lub %M0.1 ma wartość TRUE.

Pełne wyjaśnienie:

W języku IL (Instruction List) wykonanie instrukcji odbywa się sekwencyjnie, a wiele operacji logicznych korzysta z bieżącego wyniku (często nazywanego akumulatorem/registr em wyniku logicznego).

Krok po kroku:

  • LD %M0.0 – wczytuje (ładuje) wartość logiczną bitu %M0.0 jako aktualny wynik.
  • OR %M0.1 – wykonuje operację alternatywy logicznej pomiędzy aktualnym wynikiem a bitem %M0.1. W logice boolowskiej OR jest operatorem inkluzywnym: wynik jest TRUE, gdy co najmniej jeden argument jest TRUE.
  • ST %M0.2 – zapisuje uzyskany wynik do bitu %M0.2.

Wniosek: %M0.2 zostanie ustawiony na TRUE wtedy i tylko wtedy, gdy %M0.0 = TRUE lub %M0.1 = TRUE (również gdy oba są TRUE).

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

  • "%M0.0 prawdą i %M0.1 fałszem" – to opisuje tylko jeden z przypadków, w których OR daje TRUE. Pomija sytuację, gdy %M0.1 jest TRUE.
  • "%M0.0 fałszem lub %M0.1 prawdą" – OR nie wymaga, aby %M0.0 był fałszywy; jeśli %M0.0 jest TRUE, wynik i tak może być TRUE niezależnie od %M0.1.
  • "%M0.0 fałszem i %M0.1 fałszem" – dla OR taki zestaw daje FALSE, więc %M0.2 nie zostanie ustawiony na TRUE.

W praktyce taki fragment programu odpowiada sytuacji, w której znacznik stanu jest aktywowany przez dowolny z dwóch sygnałów (np. dwa przyciski START, dwa warunki zezwolenia, dwa czujniki wykrywające to samo zdarzenie).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
LD (load) w IL służy do wczytania wartości logicznej wskazanego bitu/zmiennej jako bieżącego wyniku. Ten wynik jest potem używany przez kolejne instrukcje logiczne (np. OR, AND), a na końcu może zostać zapisany do innej zmiennej instrukcją ST.
OR wykonuje alternatywę logiczną: wynik jest TRUE, gdy co najmniej jeden z argumentów jest TRUE. W IL OR działa na bieżącym wyniku (po LD lub poprzedniej operacji) i łączy go z podanym bitem/zmienną, tworząc nowy wynik.
ST (store) zapisuje aktualny wynik logiczny do wskazanej zmiennej/bitu. Nie "liczy" nic nowego, tylko przenosi rezultat dotychczasowych instrukcji (np. LD i OR) do pamięci, np. do markera %M lub wyjścia.
W typowej logice boolowskiej stosowanej w PLC operator OR jest inkluzywny: TRUE pojawia się także wtedy, gdy oba warunki są TRUE jednocześnie. "Albo wykluczające" to zwykle osobny operator (XOR), jeśli dany sterownik/środowisko go udostępnia.
Najprościej zbudować tablicę prawdy dla dwóch wejść. Po LD masz wynik = %M0.0, po OR wynik = (%M0.0 OR %M0.1). Jeśli chociaż jeden bit ma TRUE, wynik jest TRUE i ST zapisze TRUE do wskazanego bitu.
IL jest językiem sekwencyjnym: każda instrukcja działa na rezultacie poprzedniej. Zmiana kolejności (np. inne LD lub dodatkowe operacje) może całkowicie zmienić wynik. ST zapisuje to, co zostało obliczone bezpośrednio wcześniej, więc nie można pomijać analizy krok po kroku.
%M to zwykle znaczniki (markery) pamięci sterownika, czyli bity/zmienne wewnętrzne używane do przechowywania stanów pośrednich, flag, wyników logiki i warunków. Dokładne adresowanie (%M0.0 itd.) zależy od platformy, ale idea "bitu pamięci" jest wspólna.
Logikę można porównać do dwóch styków równoległych (OR) sterujących cewką. %M0.0 i %M0.1 to dwa warunki połączone równolegle, a %M0.2 to cewka (wynik). Jeśli którykolwiek "styk" jest zamknięty, cewka jest załączona.
Często myli się OR z AND (wymaganie dwóch warunków naraz) albo traktuje OR jako XOR (dokładnie jeden warunek). Inny błąd to dopisywanie nieistniejącej negacji, np. że jeden z bitów "musi być fałszywy". Pomaga tablica prawdy i analiza sekwencji IL.
IL bywa spotykany w starszych instalacjach i niektórych środowiskach, ale w nowszych podejściach częściej używa się LAD, FBD lub ST. Na egzaminie warto jednak rozumieć IL, bo pozwala szybko czytać krótkie fragmenty logiki i diagnozować program.
info

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

W praktyce zawodowej kluczowe jest to, że lD ładuje do akumulatora wartość %M0.0, następnie OR wykonuje alternatywę logiczną z %M0.1.

Źródła:

  • IEC 61131-3:2013, Programmable controllers — Part 3: Programming languages (Instruction List – opis języka i operatorów logicznych)
  • CODESYS V2.3 Documentation, "Instruction List (IL)" – opis instrukcji LD/OR/ST (dokumentacja producenta środowiska)

Materiały:

  • Materiały dydaktyczne do IEC 61131-3 (porównanie LD/OR/ST z LAD/FBD)
  • Dokumentacja języków programowania PLC w używanym środowisku (np. instrukcje IL/ST)
  • Zadania treningowe z tablicami prawdy dla operatorów logicznych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego