KWALIFIKACJA ELM6 - TEST WIEDZY NR 3

PYTANIE NR 17.
Zidentyfikuj błąd w poniższym fragmencie kodu napisanym w języku STL (Statement List):
LDN   %M0.0
AND   %M0.1
=     %M0.2
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź wskazuje, że błąd dotyczy użycia niewłaściwej instrukcji ładowania na początku fragmentu.
W tym typie STL oczekuje się zastosowania LDI zamiast LDN, aby poprawnie zainicjować warunek logiczny przed AND i przypisaniem "=". Pozostałe opcje nie korygują przyczyny błędu.

Pełne wyjaśnienie:

W podanym fragmencie STL błąd dotyczy pierwszej instrukcji, czyli sposobu zbudowania warunku logicznego przed kolejnymi operacjami. W tym zestawie poleceń oczekuje się użycia LDI, a nie LDN. Zamiana na LDI przywraca poprawną, zgodną z przyjętym dialektem składnię/semantykę inicjowania wyniku logicznego, który następnie jest łączony instrukcją AND i na końcu przypisywany do %M0.2.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "Brakuje instrukcji LDI po LDN." – to sugeruje dopisanie kolejnej instrukcji, ale nie rozwiązuje problemu źródłowego: niewłaściwego doboru pierwszego mnemoniku. W typowym zapisie logiki bitowej kolejność i rodzaj instrukcji ładowania są kluczowe; dokładanie LDI "po" może zmienić sens programu i nie jest minimalną korektą.
  • "Instrukcja AND powinna być zamieniona na OR." – zmienia działanie logiki (koniunkcja vs alternatywa). Jeśli intencją było sprawdzanie dwóch warunków jednocześnie, AND jest właściwe, a problem leży w instrukcji ładowania/negacji na wejściu, nie w operatorze łączenia.
  • "Nie ma błędu w podanym fragmencie kodu." – mimo że zapis może wyglądać "poprawnie", w tym zadaniu sprawdzana jest zgodność z oczekiwanym zestawem instrukcji STL. Użycie niezgodnego mnemoniku jest traktowane jako błąd, bo kod nie spełnia wymagań składniowych/konwencji dla danego środowiska.

Wskazówka egzaminacyjna: w zadaniach ze STL zwracaj uwagę na pierwszą instrukcję "LD*", bo to ona ustawia podstawę dalszego łączenia (AND/OR) i dopiero na końcu jest wykonywane przypisanie "=".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
STL (Statement List) to tekstowy język programowania PLC, w którym logika jest zapisywana jako lista instrukcji wykonywanych kolejno. Ułatwia precyzyjne operacje na bitach, rejestrach i warunkach, ale wymaga dobrej znajomości mnemoników i kolejności ich użycia.
Instrukcja AND łączy bieżący wynik logiczny z kolejnym warunkiem. W praktyce oznacza to, że wynik pozostaje "prawda" tylko wtedy, gdy wcześniejszy wynik oraz nowy warunek są spełnione jednocześnie. Błąd często wynika nie z AND, lecz z błędnego zainicjowania wyniku przed AND.
Pierwsza instrukcja LD* ustawia wartość początkową wyniku logicznego, na którym później wykonywane są AND/OR oraz inne operacje. Jeśli na starcie użyjesz niewłaściwego mnemoniku, dalszy fragment może mieć inny sens lub być niezgodny z dialektem, nawet gdy reszta wygląda poprawnie.
Zapis "=" zwykle oznacza przypisanie bieżącego wyniku logicznego do wskazanej zmiennej/bitu (np. w pamięci M). To końcowy etap prostych sieci logicznych w STL: najpierw budujesz warunek (LD*, AND/OR), a potem zapisujesz rezultat do wyjścia/markera.
Najpierw sprawdź, czy użyte skróty instrukcji (mnemoniki) należą do tego samego dialektu/środowiska. Potem oceń logikę: czy jest inicjalizacja wyniku (LD*), czy poprawnie łączysz warunki (AND/OR), i czy na końcu jest zapis (=). Niezgodny mnemonik bywa jedynym błędem.
Nie. Mnemoniki STL mogą różnić się między producentami i wersjami środowisk, a część języków bywa wycofywana lub ograniczana. Dlatego na egzaminie kluczowe jest trzymanie się dialektu wymaganego w materiałach szkoleniowych. Zawsze ucz się instrukcji z dokumentacji dla danej platformy.
Negacja jest używana, gdy warunek ma być spełniony przy braku sygnału (np. czujnik nieaktywny, brak alarmu, nie wciśnięty przycisk). W STL negacja może dotyczyć ładowania warunku lub wyniku pośredniego. Błędy często pojawiają się, gdy negacja jest wykonana "nie tą" instrukcją.
Typowe błędy to: użycie mnemoniku z innego dialektu, pomylenie AND z OR, brak właściwej inicjalizacji wyniku przed łączeniem warunków oraz błędne przypisanie na końcu (np. do złej zmiennej). Na egzaminie warto analizować kod instrukcja po instrukcji.
Najlepiej rozwiązywać zestawy zadań z krótkimi fragmentami programu: określaj, jaki warunek powstaje po LD*, jak zmienia się po AND/OR oraz co trafia do zmiennej po "=". Dobrą metodą jest też ręczne tworzenie tabeli prawdy dla dwóch wejść i porównanie z intencją programu.
Trudno, bo odpowiedzi różnią się subtelnie i dotyczą konkretnych instrukcji. Można próbować zgadywać po "brzmieniu" skrótów, ale to zawodna strategia. Najpewniejsze jest opanowanie podstaw: roli LD*, łączenia AND/OR oraz tego, jak w danym dialekcie zapisuje się negację i ładowanie.
info

Około 32% zdających odpowiada poprawnie na to pytanie. bardzo trudne

Specjaliści zwracają uwagę: "Pozostałe opcje nie korygują przyczyny błędu."

Materiały:

  • Dokumentacja producenta PLC dla używanego dialektu STL/AWL
  • Materiały kursowe z podstaw STL (operacje bitowe, ładowanie, przypisanie)
  • Zadania treningowe: analiza krótkich fragmentów programu i wskazywanie niezgodnych mnemoników

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego