KWALIFIKACJA ELM6 - STYCZEŃ 2022

PYTANIE NR 24.
Wskaż operator używany w języku IL, który należy uwzględnić w programie sterowniczym, aby wykonać instrukcję skoku do etykiety FUN_1.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja skoku do etykiety w języku IL realizowana jest operatorem JMP, który zmienia przepływ programu na wskazaną etykietę. CAL służy do wywołania bloku, RET do powrotu, a LD do załadowania wartości/warunku, więc nie wykonają skoku do FUN_1.

Pełne wyjaśnienie:

W języku IL (Instruction List) część instrukcji odpowiada za sterowanie przepływem wykonania programu, podobnie jak w językach asemblerowych. Jeżeli celem jest wykonanie skoku do wskazanej etykiety (label), stosuje się operator JMP wraz z nazwą etykiety, np. JMP FUN_1.. Taka instrukcja powoduje, że dalsze wykonywanie programu jest kontynuowane od miejsca oznaczonego etykietą FUN_1 (czyli następuje zmiana kolejności wykonywania rozkazów).

Pozostałe propozycje nie pasują do polecenia, ponieważ oznaczają inne mechanizmy:

  • LD FUN_1.LD służy do ładowania wartości (np. stanu sygnału/zmiennej) do akumulatora logiki/warunku. To instrukcja "danych/warunku", a nie instrukcja zmiany przepływu. Sama w sobie nie przenosi wykonania do etykiety.
  • CAL FUN_1.CAL dotyczy wywołania bloku (np. funkcji, bloku funkcyjnego lub podprogramu – zależnie od implementacji). Wywołanie oznacza wejście do bloku i późniejszy powrót po jego zakończeniu, czyli to inny mechanizm niż skok do etykiety w tym samym ciągu instrukcji.
  • RET FUN_1.RET jest związany z powrotem z podprogramu/bloku do miejsca wywołania. Nie jest to instrukcja skoku do dowolnej etykiety; dodatkowo dopisywanie etykiety przy RET jest typowo nielogiczne w kontekście "skoku do etykiety".

Wskazówka egzaminacyjna: gdy w treści pojawia się sformułowanie "skok do etykiety", szukaj instrukcji skoku (np. bezwarunkowego). Gdy pojawia się "wywołanie funkcji/bloku", wtedy właściwe są instrukcje typu CALL/CAL. Rozróżnienie tych dwóch pojęć jest kluczowe przy czytaniu i diagnozowaniu logiki PLC.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
JMP to instrukcja skoku w IL: zmienia kolejność wykonywania programu i przenosi wykonanie do wskazanej etykiety (label). Używa się jej do sterowania przepływem, np. omijania fragmentu kodu lub przejścia do innej sekcji programu.
Etykieta to znacznik miejsca w kodzie, do którego można się odwołać instrukcją skoku. Dzięki etykietom skok jest czytelniejszy niż używanie numerów linii. W praktyce label ułatwia budowanie sekwencji i warunkowych przejść w logice sterowania.
CAL służy do wywołania bloku (funkcji/podprogramu) i zakłada powrót do miejsca wywołania po zakończeniu bloku. JMP to skok do etykiety w ramach przepływu programu, bez mechanizmu "wejście–wyjście" typowego dla wywołania.
LD (load) ładuje wartość/stan (np. zmiennej lub wejścia) do akumulatora/warunku logicznego. To instrukcja operująca na danych lub warunku, a nie na przepływie wykonania. Nie przenosi sterowania do etykiety, więc nie zastępuje instrukcji skoku.
RET stosuje się w kontekście zakończenia podprogramu lub bloku i powrotu do miejsca, z którego nastąpiło wywołanie. To mechanizm "powrotu", a nie przejścia do dowolnej etykiety. Dlatego RET nie odpowiada poleceniu wykonania skoku do wskazanej etykiety.
Szukaj sformułowań typu: "skok", "przejście do etykiety", "jump", "label". To wskazuje na instrukcje sterujące przepływem (np. skok bezwarunkowy). Gdy pojawia się "wywołaj funkcję/blok/podprogram", wtedy właściwsze są instrukcje wywołania.
IL bywa spotykany głównie w starszych projektach i w utrzymaniu ruchu, gdzie trzeba czytać i modyfikować istniejące aplikacje. W nowych wdrożeniach częściej używa się innych języków PLC (np. LD, FBD, ST), ale umiejętność rozumienia IL nadal bywa przydatna.
Najczęstszy błąd to mylenie "skoku" z "wywołaniem" (CAL) oraz traktowanie LD jako polecenia przejścia, bo wygląda podobnie do innych mnemoników. Pomaga zasada: JMP zmienia przepływ, CAL uruchamia blok, RET kończy blok, LD ładuje wartość.
Najpierw podkreśl czasownik w treści: "skok", "wywołanie", "powrót", "załaduj". Następnie dopasuj go do klasy instrukcji: przepływ (skok), struktura programu (wywołanie/powrót) albo operacje na danych (load). To minimalizuje wybór "na pamięć" i redukuje pomyłki.
W LD zwykle unika się "skoków" na rzecz warunkowego wykonywania sieci lub użycia struktur typu przerzutniki, kroki sekwencji, bloki funkcyjne. Przy migracji należy odtworzyć warunek, który prowadził do skoku, jako warunek aktywacji odpowiedniej gałęzi/sekwencji.
info

Statystycznie 67% uczniów zna prawidłową odpowiedź. średnie

Eksperci podkreślają: "Instrukcja skoku do etykiety w języku IL realizowana jest operatorem JMP, który zmienia przepływ programu na wskazaną etykietę."

Źródła:

  • IEC 61131-3, "Programmable controllers – Part 3: Programming languages" (rozdziały dotyczące języka IL oraz instrukcji sterowania przepływem, w tym skoków)

Materiały:

  • Materiały dydaktyczne do ELM.6 z podstaw programowania PLC (języki IEC 61131-3)
  • Dokumentacja/poradniki producenta PLC dotyczące IL oraz instrukcji sterowania przepływem
  • Zadania praktyczne: analiza krótkich programów IL i wskazywanie miejsc skoków, wywołań i powrotów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego