Dla początkowych użytkowników systemów PLC zalecam najpierw zapoznanie z logiką kombinatoryczną. Logika kombinatoryczna pozwoli Ci zrozumieć jak połączyć dwa stany logiczne – TRUE oraz FALSE. Znając podstawy logiki kombinatorycznej możesz napisać swój pierwszy program PLC.
Program PLC wykorzystuje logikę, która matematyce nazywana jest algebrą Bool’a. W algebrze Bool’a wartości mogą przyjmować tylko dwie wartości: TRUE albo FALSE. W sterownikach PLC wartości TRUE i FALSE reprezentowane są przez 0 i 1. o ile programujemy sterowniki musimy przestawić się na myślenie „zero-jedynkowe”.
W tym artykule wykorzystam proste schematy elektryczne, które przeanalizuję pod kątem logicznym.
Logika na prostych przykładach
Pierwszym najprostszym przykładem będzie żarówka i dwa przełączniku normalnie otwarte. Dwa najprostsze elementy mające jedną istotną rzecz wspólną: oba mogą działać w dwóch stanach: żarówka może świecić bądź nie, przełącznik może być zamknięty lub otwarty.
Możemy podłączyć żarówkę oraz przełączniki na kilka sposobów.
Pierwszą opcją podłączenia przełączników i żarówki jest sposób szeregowy.
Kiedy dwa przełączniki łączymy w szereg, żarówka załączy się dopiero w przypadku gdy oba przełączniki będą załączone. W logice Bool’a jest to funkcja logiczna AND. Kiedy przełącznik jest zamknięty można przyjąć, iż jego stan wynosi TRUE, kiedy jest otwarty to jego stanu wynosi FALSE. To samo tyczy się żarówki, o ile świeci to jej stan jest ustawiony na wartość TRUE, nie świeci – FALSE.
Logika kombinatoryczna i sześć bramek logicznych
Wróćmy teraz do opisu funkcji logicznej AND o której wspomniałem powyżej. Funkcja AND jest sposobem na podjęcie decyzji jaki stan ma przyjąć wyjście.
Bramka logiczna AND
Wszystkie bramki w algebrze Bool’a mają wejścia oraz wyjścia. Stan wyjścia zależy od stanów wejść. o ile chcesz ustawić wyjście w stan wysoki (TRUE) używając bramki AND to musisz ustawić wszystkie wejścia w stan wysoki (TRUE). W naszym przykładzie powyżej dwa przełączniki są wejściami, a żarówka jest wyjściem. W tym przypadku, gdy dwa przełączniki zostaną włączone to żarówka zapali się. Poniżej mamy symbol bramki logicznej:
Standardowe nazwy i symbole dla wejść bramki AND to A oraz B. Dla wyjścia standardowy symbol to Q. Opisywana bramka będzie miała zawsze dwa wejścia i jedno wyjście. Bramka może być rozszerzana o większość ilość wejść, ale zawsze posiada jedno wyjście.
Stany wejść i wyjść mogą być zilustrowane z wykorzystaniem tablicy prawdy, która wygląda w następujący sposób:
A | B | Q |
False | False | False |
True | False | False |
False | True | False |
True | True | True |
Z powyższą tablicą prawdy można przeanalizować jak zachowuje się wyjście w zależności od stanów wejść.
Poniżej przedstawiam tabelę, która pomoże zrozumieć terminologię używaną w logice dla różnych przypadków.
Przełączniki | Algebra Bool’a | Logika w programie PLC |
Włączony | False | 0 |
Wyłączony | True | 1 |
Bramka OR
Połączenie równoległe działa w inny sposób niż połączenie szeregowe przybliżone we wcześniejszym przykładzie. W tym wypadku każdy przełącznik ma bezpośrednie połączenie z żarówką, więc dowolny przełącznik może załączać żarówkę.
Poniżej znajduje się symbol bramki logicznej OR:
Tak jak w przypadku bramki AND o działaniu której nauczyliśmy się wcześniej, bramka OR posiada dwa wejścia oraz jedno wyjście. Symbole dla wejść to A oraz B, symbolem Q oznaczone jest wyjście.
Działanie bramki OR przybliża tablica prawdy:
A | B | Q |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Wyjście bramki OR przechodzi w stan wysoki (TRUE) w momencie gdy chociaż jedno wejście jest w stanie wysokim (TRUE).
Do bramki można przypisać także odpowiednia formułę: A + B, A v B. Jest to alternatywa logiczna.
Bramka NOT – negacja logiczna
W logice Bool’a występuje 5 bramek logicznych, które powinieneś znać. Przybliżę teraz działanie bramki NOT (negacja logiczna).
Bramka działa w ten sposób, iż odwraca stan wejścia na przeciwny i wystawia go na wyjściu. Przykładowo, kiedy wejście jest ustawione w stan wysoki to wyjście przyjmuje stan niski.
Tablica prawdy wygląda następująco:
A | Q |
0 | 1 |
1 | 0 |
Styk normalnie otwarty i normalnie zamknięty
Wracając do naszego przykładu z przełącznikami i żarówką możemy rozszerzyć funkcjonalność naszych przełączników.
Przełączniki mogą działać w na dwa różne sposoby: mogą zamykać lub rozłączać obwód. Te dwa typy przełączników to normalnie otwarty oraz normalnie zamknięty.
Bramka logiczna NAND
Jeżeli weźmiemy naszą funkcję logiczną OR i zanegujemy nasze wejścia używając styków normalnie zamkniętych to dostaniemy funkcję logiczną NAND. Lampa zostanie wyłączona dopiero gdy oba przełączniki zostaną rozwarte.
A | B | Q |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Bramka NOR
Negując wejścia bramki AND i używając styków normalnie zamkniętych NC to w wyniku dostaniemy funkcję logiczną NOR.
A | B | Q |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 0 |
Bramki kombinowane
Poprzez grupowanie styków w konfiguracji szeregowo-równoległej możemy realizować dodatkowe funkcje logiczne takie jak: Exclusive-OR oraz Exlusive-NOR.
Bramka Exlusive-OR (XOR)
Górna gałąź na schemacie elektrycznym (styk A (NC) w szeregu ze stykiem B (NO)) jest odpowiednikiem bramki NAND. Dolna gałąź (styk A (NO) w szeregu ze stykiem B) to odpowiednik bramki NAND. Dwie gałęzie (dolna i górna) połączone są równolegle.
A | B | Q |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Analizując przedstawione schematy elektryczne oraz funkcje logiczne można zauważyć pewne analogie:
• Połączenie równoległe styków NO daje realizuje funkcję logiczną OR
• Połączenie szeregowe połączenie styków reprezentuje funkcje logiczną AND
• Styk normalnie zamknięty jest odpowiednikiem bramki NOT (negacji)
Proste programy w języku Ladder
Znając już podstawy logiku Bool’a można przejść do programowania sterowników PLC np.: wykorzystując język Ladder. Ten język graficznie przypomina schemat elektryczny. Język Ladder dostępny jest jednym z języków dostępnych w środowisku programistycznym Codesys lub TiA Portal.