KWALIFIKACJA ELM6 - CZERWIEC 2018

PYTANIE NR 32.
Która ze struktur języka IL zostanie wyświetlona w edytorze, po wykonaniu konwersji programu z języka LD na IL?
Ilustracja przedstawia schemat drabinkowy (ang.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W konwersji LD→IL styk NO przechodzi na LD, styk NC na LDN, połączenie szeregowe na AND, a równoległe na OR/ORN. Dla pierwszego szczebla należy załadować zanegowane I0.1 i wykonać AND z I0.0, potem zapisać do M0.0. Dla drugiego szczebla: LD I0.3, ORN M0.0 i zapis do Q0.0.

Pełne wyjaśnienie:

W języku LD (drabinka) logika jest przedstawiona graficznie, natomiast w IL (lista instrukcji) ta sama logika jest wykonywana sekwencyjnie na akumulatorze. Dlatego przy konwersji kluczowe są reguły mapowania elementów:

  • styk normalnie otwarty (NO) odpowiada instrukcji LD (załaduj do akumulatora),
  • styk normalnie zamknięty (NC) odpowiada instrukcji LDN (załaduj zanegowaną wartość),
  • połączenie szeregowe elementów oznacza koniunkcję, czyli AND (ew. ANDN dla negacji),
  • połączenie równoległe oznacza alternatywę, czyli OR albo ORN,
  • cewka/wyjście jest realizowane przez ST (zapis wyniku).

W pierwszym szczeblu programu znajduje się styk NO I0.0 połączony szeregowo ze stykiem NC I0.1, a wynik steruje cewką M0.0. W IL trzeba więc najpierw wprowadzić do akumulatora wartość z odpowiednią negacją: LDN I0.1, następnie wykonać koniunkcję z I0.0 poprzez AND I0.0, a na końcu zapisać rezultat: ST M0.0. Taki zapis zachowuje sens "I0.0 i nie(I0.1)".

W drugim szczeblu występuje gałąź równoległa: styk NC M0.0 jest równolegle do styku NO I0.3, a całość zasila cewkę Q0.0. Logicznie jest to "I0.3 lub nie(M0.0)". W IL poprawnie zapisuje się to jako LD I0.3 (pierwsze ładowanie), potem ORN M0.0 (dodaj alternatywę z zanegowanym M0.0) i ST Q0.0.

Odpowiedź "LDN I0.1, AND I0.0, ST M0.0, LD I0.3, ORN M0.0, ST Q0.0" jest poprawna, bo realizuje dokładnie oba szczeble, uwzględnia negacje styków NC i używa właściwych operatorów dla połączeń szeregowych oraz równoległych.

Pozostałe warianty są błędne typowo z jednego z powodów: negują niewłaściwy sygnał (np. robią LDN dla NO), zamieniają AND z OR (błąd "szeregowe vs równoległe"), albo stosują negację w złym miejscu (np. ANDN/ORN do innej zmiennej), przez co zmieniają sens logiki i nie odpowiadają schematowi LD.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
LD (Ladder Diagram) to graficzny język PLC przypominający schemat przekaźnikowy: styki (NO/NC) tworzą warunki logiczne, a cewki oznaczają zapis wyniku do bitu/wyjścia. Jest czytelny dla automatyków, bo odpowiada "drabince" znanej z układów elektrycznych.
IL (Instruction List) to tekstowy zapis działań logicznych wykonywanych sekwencyjnie. Pierwsza instrukcja w szczeblu ładuje wartość do akumulatora (LD lub LDN), kolejne ją modyfikują (AND/OR i ich wersje z negacją), a na końcu wynik jest zapisywany instrukcją ST.
Styk NO w LD oznacza warunek "sygnał = 1". W IL odpowiada mu instrukcja LD, czyli załadowanie bieżącej wartości zmiennej do akumulatora. Jeśli to nie jest pierwszy element w szeregu, NO może pojawić się także jako argument AND/OR.
Styk NC w LD oznacza warunek spełniony przy "sygnał = 0", czyli logiczną negację. W IL realizuje się to instrukcją LDN (load negated) lub – gdy negowany element jest dokładany do już załadowanego wyniku – przez ANDN albo ORN.
Połączenie szeregowe oznacza, że prąd/logika "przejdzie" tylko wtedy, gdy wszystkie styki w szeregu są spełnione. To dokładnie definicja koniunkcji w logice Boole’a, więc w IL stosuje się operator AND (lub ANDN, gdy element w szeregu jest zanegowany).
Gałęzie równoległe oznaczają, że wystarczy spełnienie dowolnej z nich, aby uzyskać stan "1" przed cewką. To jest alternatywa logiczna, więc w IL używa się OR, a jeśli dokładana gałąź jest zanegowana (NC), stosuje się ORN.
ST (store) zapisuje aktualną wartość akumulatora do wskazanej zmiennej, która w LD byłaby cewką (np. bit pamięci M lub wyjście Q). Typowo ST występuje na końcu każdego szczebla, bo domyka wynik obliczonej logiki w danym rungu.
Najczęściej myli się AND z OR (szeregowe vs równoległe), pomija się negację dla styku NC (brak LDN/ORN/ANDN), albo miesza się instrukcje między szczeblami. Częsty jest też błąd "pierwszej instrukcji" — szczebel powinien zaczynać się od LD lub LDN.
W praktyce dla prostego AND kolejność dwóch warunków bywa logicznie równoważna (A AND B = B AND A), ale w IL nadal trzeba zachować zasadę: najpierw musi być instrukcja ładująca (LD/LDN), a dopiero potem instrukcja modyfikująca (AND/OR).
Ćwicz krótkie szczeble: NO/NC w szeregu i równolegle, zawsze zapisując wynik do M lub Q. Po każdym przepisaniu na IL sprawdź: (1) czy negacje są tam, gdzie są styki NC, (2) czy szereg = AND, równoległe = OR/ORN, (3) czy każdy szczebel kończy się ST.
info

To pytanie poprawnie rozwiązuje 27% zdających egzamin. bardzo trudne

W praktyce zawodowej kluczowe jest to, że w konwersji LD→IL styk NO przechodzi na LD, styk NC na LDN, połączenie szeregowe na AND, a równoległe na OR/ORN.

Źródła:

  • IEC 61131-3:2013, Programmable controllers — Part 3: Programming languages (opis języków LD i IL oraz zasad ich reprezentacji)

Materiały:

  • Dokumentacja środowiska PLC używanego na zajęciach (pomoc/Help dotycząca IL/Instruction List i konwersji z LD)
  • Materiały dydaktyczne o normie IEC 61131-3 (część dotycząca języków LD i IL)
  • Zadania treningowe: ręczna konwersja prostych szczebli LD (NO/NC, AND/OR) na IL z użyciem LD/LDN, AND/ORN i ST

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego