Implementacja logiki drabinkowej XOR z 3 przełącznikami i bitem wewnętrznym
Zaimplementuj układ oświetlenia XOR z trzema przełącznikami 3-SPST w programie LogixPro lub RSLogix 500, używając bitu przekaźnika wewnętrznego. Zawiera tabl...
Klasyczne ćwiczenie — trzy przełączniki SPST sterują jednym światłem tak, aby dowolny pojedynczy przełącznik przełączał stan wyjścia — sprowadza się do trzywejściowej funkcji OR wykluczającego (nieparzystej parzystości). Dwuwejściowy XOR to znany układ dwóch skrzyżowanych gałęzi XIC/XIO. Rozszerzenie tego wzorca o trzecią równoległą gałąź nie działa: realizuje sumę parami obliczanych XOR-ów, która włącza światło przy trzech zamkniętych przełącznikach, gdy specyfikacja wymaga wyłącznie nieparzystej parzystości. Przyjętym rozwiązaniem jest wewnętrzny bit przekaźnikowy przechowujący A⊕B, a następnie drugi etap obliczający (A⊕B)⊕C.
Nieparzysta parzystość dla trzech podtrzymywanych wejść to XOR, a nie trójgałęziowa struktura inkluzywna.
Tabela prawdy (1 = zamknięty)
| S1 | S2 | S3 | Światło | Parzystość |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | parzysta |
| 0 | 0 | 1 | 1 | nieparzysta |
| 0 | 1 | 0 | 1 | nieparzysta |
| 0 | 1 | 1 | 0 | parzysta |
| 1 | 0 | 0 | 1 | nieparzysta |
| 1 | 0 | 1 | 0 | parzysta |
| 1 | 1 | 0 | 0 | parzysta |
| 1 | 1 | 1 | 1 | nieparzysta |
Punkt odniesienia dla dwóch wejść
|--[S1 XIC]-+-[S2 XIO]-+ | | +--( Light )--| |--[S1 XIO]-[S2 XIC]---+ |
Przypisz I:1/0, I:1/1 → O:2/0 w symulatorach LogixPro/RSLogix 500 (lub do tagów BOOL w Logix Designer). Zweryfikuj cztery wiersze przed dodaniem S3.
Dlaczego trzecia równoległa gałąź nie działa
Y = (S1⊕S2) ∨ (S1⊕S3) ∨ (S2⊕S3) przyjmuje wartość true dla wiersza, w którym wszystkie trzy przełączniki są zamknięte, ponieważ każda para się różni. Uczniowie opisują ten objaw jako „zawieszanie się” światła po zamknięciu dwóch przełączników. Jest to działanie inkluzywne parami, a nie XOR.
Kaskaduj XOR przez B3:0/0 (lub tag BOOL) — nie łącz etapów parami za pomocą równoległych gałęzi OR.
Implementacja z bitem wewnętrznym
Szczebel 2 — S1 XOR S2 -> B3:0/0 |--[I:1/0 XIC]-+-[I:1/1 XIO]-+ | | +--( B3:0/0 )--| |--[I:1/0 XIO]-[I:1/1 XIC]---+ | Szczebel 3 — B3:0/0 XOR S3 -> O:2/0 |--[B3:0/0 XIC]-+-[I:1/2 XIO]-+ | | +--( O:2/0 )--| |--[B3:0/0 XIO]-[I:1/2 XIC]---+ |
Ponieważ XOR jest łączny, kolejność przełączników nie ma znaczenia. W Logix Designer te same równania przyjmują postać XOR_Mid := S1 XOR S2; Light := XOR_Mid XOR S3; w tekście strukturalnym lub identyczne wzorce styków na tagach BOOL. Bit pośredni jest zapisywany na jednym szczeblu i odczytywany na następnym w ramach tego samego skanu, co jest zamierzone i stabilne dla tego wzorca.
Procedura w LogixPro / RSLogix 500
- Potwierdź moduły wejść i wyjść dyskretnych w symulatorze (domyślne mapowanie I:1 / O:2)
- Upewnij się, że istnieje plik binarny B3 z wolnymi bitami albo utwórz tag BOOL o nazwie XOR_Mid w Logix Designer
- Zbuduj szczebel 2 sterujący B3:0/0 na podstawie S1 i S2, używając skrzyżowanych styków XIC/XIO
- Zbuduj szczebel 3 sterujący O:2/0 na podstawie B3:0/0 i S3, używając tego samego układu krzyżowego
- Wgraj program, przełącz procesor w tryb RUN i usuń wszystkie wymuszenia przed przejściem przez tabelę prawdy
- Chwilowo wymuś stan każdego wejścia LED oraz lampki wyjściowej, aby jednokrotnie sprawdzić okablowanie, a następnie usuń wszystkie wymuszenia
Plan adresowania i alternatywy
| Platforma | Zmienna pośrednia | Uwagi |
|---|---|---|
| RSLogix 500 / SLC | B3:0/0 | Bit pliku binarnego |
| Logix Designer | XOR_Mid BOOL | Zakres programu lub sterownika |
| LogixPro | B3:0/0 | Pasuje do laboratoriów RSLogix 500 |
Opcjonalna diagnostyka zachowuje obie zmienne pośrednie: B3:0/0 = S1 XOR S2 oraz B3:0/1 = mid XOR S3, a następnie steruje lampką z B3:0/1, dzięki czemu monitory online mogą przerwać łańcuch na dowolnym etapie. Instrukcje XOR na poziomie słowa mogą spakować wiele wejść do sprawdzania parzystości, ale przesłaniają schemat dydaktyczny dla trzech przełączników. Unikaj rozwinięć według praw De Morgana, które próbują wyrazić „nie dowolne dwa w stanie true” jako las styków — kaskada bitów wewnętrznych pozostaje łatwiejszą w utrzymaniu formą zarówno na stanowiskach szkoleniowych, jak i w produkcyjnych przełącznikach wyboru trybu.
Przed zatwierdzeniem przejdź przez wszystkie osiem wierszy tabeli parzystości
- Przejdź przez wszystkie osiem wierszy tabeli prawdy przy wyłączonych wymuszeniach
- Potwierdź, że trzy zamknięte przełączniki zapalają lampkę (nieparzystość)
- Przełączaj każdy przełącznik osobno i sprawdź, czy wyjście zmienia stan
- Jeśli lampka pozostaje włączona przy dwóch wejściach, nadal masz logikę OR realizowaną parami
- Opcjonalnie: generuj alarm, gdy po eliminacji drgań styków dwa przełączniki trybu z podtrzymaniem wskazują stan true w rzeczywistych maszynach
- Udokumentuj tożsamość logiczną (A XOR B) XOR C w komentarzach szczebla dla kolejnej osoby wprowadzającej zmiany
Nazywaj zmienne pośrednie zgodnie z funkcją (XOR_Mid, ModeParity), zamiast używać anonimowych bitów, aby kolejne modyfikacje pozostały czytelne. Stosuj tę samą zasadę w całych parkach urządzeń ustandaryzowanych na systemach PLC i PAC.
O autorze
Mark Townsend | Starszy inżynier automatyki – systemy Allen-Bradley
Mark Townsend jest starszym inżynierem automatyki z ponad 18-letnim doświadczeniem w pracy na platformach Allen-Bradley, obejmującym systemy ControlLogix, CompactLogix oraz starsze sterowniki SLC-500. Na co dzień zajmuje się logiką RSLogix / Studio 5000 oraz uruchamianiem interfejsów HMI FactoryTalk View w starszych i mieszanych parkach urządzeń.