W programowaniu PLC (niezależnie od konkretnego producenta) instrukcje logiczne opierają się na algebrze Boole’a, gdzie sygnały mają dwa stany: 0/1 (FALSE/TRUE). W podanym fragmencie kodu idea jest następująca:
- LD A – "załaduj" do bieżącego wyniku logicznego wartość sygnału A,
- AND B – wykonaj koniunkcję bieżącego wyniku z sygnałem B,
- OUT Q – przypisz uzyskany wynik do wyjścia Q.
Kluczowa jest tablica prawdy dla AND:
- 1 AND 1 = 1
- 1 AND 0 = 0
- 0 AND 1 = 0
- 0 AND 0 = 0
Dla danych z zadania A=1 i B=0, obliczamy: 1 AND 0 = 0. Oznacza to, że warunek złożony "A oraz B" nie jest spełniony, bo drugi warunek ma wartość 0. Dlatego poprawną odpowiedzią jest 0.
Dlaczego pozostałe odpowiedzi są błędne?
- "1" – byłoby poprawne tylko w przypadku, gdy oba wejścia są równe 1. Tu B=0, więc wynik nie może być 1.
- "Nieokreślone" – AND w logice binarnej jest operacją deterministyczną; dla danych wejść zawsze istnieje jednoznaczny wynik.
- "2" – wynik AND w logice BOOL nie przyjmuje wartości 2; to nie jest operacja arytmetyczna na liczbach wielowartościowych, tylko logika dwustanowa.
W praktyce mechatronicznej operator AND jest bardzo częsty: pozwala wymusić jednoczesne spełnienie warunków (np. czujnik obecności detalu AND sygnał zezwolenia AND brak alarmu), co zwiększa bezpieczeństwo i poprawność działania układu.