Który z przedstawionych programów, zapisanych w języku FBD, realizuje funkcję logiczną \(Y = X1 \wedge X2 \vee X3\)?
A. Program 4.

B. Program 2.

C. Program 3.

D. Program 1.

Pytanie z egzaminu CKE, czerwiec 2023 (arkusz EE.21-SG-23.06).
Program 1 jest w porządku, bo dobrze realizuje funkcję logiczną Y = X1 ∧ X2 ∨ X3. Najpierw łączy sygnały X1 i X2 przy pomocy operacji AND, co znaczy, że wynik będzie prawdziwy tylko, jeśli oba sygnały są prawdziwe. Potem ten wynik przechodzi do operacji OR z sygnałem X3. W praktyce, to jest coś, co często wykorzystuje się w automatyce przemysłowej. Tam zdarza się, że trzeba zrealizować różne logiki sterujące, np. w systemach bezpieczeństwa czy kontroli dostępu. Warto zwrócić uwagę, że żeby dobrze projektować bloki funkcjonalne według norm IEC 61131-3, a język FBD (Function Block Diagram) to jeden z tych, które się stosuje, trzeba mieć solidne pojęcie o operacjach logicznych i ich kolejności. Przykładem, gdzie ta wiedza się przydaje, są systemy PLC, bo programowanie w FBD pozwala na wizualizację logiki, co ułatwia potem rozumienie i modyfikacje.
Jak ktoś zaznaczył odpowiedź, która nie pasuje do Programu 1, to często wynika to z błędnego pojmowania operacji logicznych. Wydaje mi się, że sporo odpowiedzi to efekt niezrozumienia, jak działa koniunkcja i alternatywa w logice. Jeżeli ktoś nie ogarnia, kiedy używać AND, a kiedy OR, to łatwo o błędne wnioski. Operacja AND wymaga, żeby obie wejściowe wartości były prawdziwe, więc jeżeli jeden sygnał jest fałszywy, to całość też będzie fałszywa. Z drugiej strony, OR daje wynik prawdziwy, jeżeli chociaż jeden sygnał jest prawdziwy. Dlatego jak ktoś myślał, że inny program to ogarnia, to może nie zauważył, jak te operacje są połączone i w jakiej kolejności działają. Zdarza się też mylić zadania realizujące różne funkcje logiczne, co prowadzi do zamieszania. Na przykład, niektóre programy mogą robić prostą operację logiczną, ale nie potrafią połączyć jej z innymi, żeby wyciągnąć złożoną funkcję, jaką jest Y = X1 ∧ X2 ∨ X3. Dlatego dobrze jest znać standardy jak IEC 61131-3 i dużo ćwiczyć w projektowaniu i analizie programów FBD, bo to jest klucz do ogarnięcia logiki w automatyce.