Przejdź do głównej treści

Kwalifikacja: ELM.06 - Eksploatacja i programowanie urządzeń i systemów mechatronicznych

Zawód: Technik mechatronik

Kategorie: Programowanie PLC Układy mechatroniczne Pomiary i diagnostyka

\[ Y1 = \overline{(S1 \lor S3)} \land S2 \]

\[ Y2 = S1 \land \overline{S2} \]

Zależności logiczne realizowane przez program

Tabela wyników testu działania programu

StanS1S2S3Y1Y2
100000
200100
301010
401100
510001
610100
711000
811100

W wyniku testowania działania programu, otrzymano wyniki zapisane w tabeli. Który stan wskazuje na błąd w programie, jeżeli powinien on realizować zależności logiczne?

Stan 6
Stan 4
Stan 3
Stan 5

Pytanie z egzaminu CKE, styczeń 2019 (arkusz E.19-X-19.01).

Stan 6 jest tym miejscem, w którym tabela wyników nie zgadza się z podanymi zależnościami logicznymi. Dla tego stanu mamy S1 = 1, S2 = 0 oraz S3 = 1. Liczymy więc wyjścia według programu: Y1 = ¬(S1 OR S3) AND S2, czyli ¬(1 OR 1) AND 0 = ¬1 AND 0 = 0 AND 0 = 0. To się zgadza z tabelą. Natomiast Y2 = S1 AND ¬S2, czyli 1 AND ¬0 = 1 AND 1 = 1. W tabeli dla stanu 6 wpisano jednak Y2 = 0, więc właśnie tu jest błąd. W praktyce PLC taki przypadek może oznaczać pomyłkę w styku normalnie zamkniętym, złe przypisanie adresu wejścia, błąd w negacji sygnału albo literówkę w bloku FBD/LD. Moim zdaniem to dobry przykład, że przy testowaniu programu nie wystarczy patrzeć tylko na jedno wyjście, trzeba spokojnie przeliczyć całą tablicę prawdy. W automatyce przemysłowej taka kontrola jest zgodna z dobrą praktyką uruchomieniową: najpierw weryfikacja logiki na sucho, potem testy na sterowniku, a dopiero później podłączanie elementów wykonawczych.
W tym zadaniu najłatwiej pomylić się wtedy, gdy patrzy się tylko na to, że w tabeli gdzieś pojawia się jedynka albo zero, zamiast konsekwentnie przeliczyć równania logiczne. Stany 3, 4 i 5 wyglądają podejrzanie tylko na pierwszy rzut oka, ale po podstawieniu wartości wejść okazuje się, że są zgodne z założeniami programu. Dla stanu 3 mamy S1 = 0, S2 = 1, S3 = 0. Wyjście Y1 powinno mieć wartość 1, bo ani S1, ani S3 nie są aktywne, a S2 jest aktywne. Tabela pokazuje Y1 = 1, więc tu błędu nie ma. Dla stanu 4 sygnał S3 = 1 powoduje, że część ¬(S1 OR S3) daje 0, więc Y1 też musi być 0, nawet jeśli S2 = 1. To jest zgodne. Dla stanu 5 wyjście Y2 powinno być równe 1, ponieważ S1 = 1 i jednocześnie S2 = 0, a więc ¬S2 = 1. Tabela też pokazuje 1. Typowy błąd myślowy polega tu na tym, że ktoś traktuje negację jak zwykłe pominięcie sygnału albo zapomina, że operator AND wymaga spełnienia wszystkich warunków naraz. W programowaniu PLC, szczególnie w języku drabinkowym LD, odpowiada to sytuacji, gdzie styki szeregowe muszą być jednocześnie w stanie przewodzenia. Z mojego doświadczenia najlepiej rozpisać sobie każdy stan wejść i osobno policzyć Y1 oraz Y2, bo wtedy od razu widać, że rozjeżdża się tylko stan 6, a nie te pozostałe przypadki.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.