Logika drabinkowa XOR dla trzech przełączników: prawidłowa konstrukcja nieparzystej parzystości
Skorygowany przewodnik po logice drabinkowej XOR z trzema przełącznikami dla platform SLC 500 i Logix, obejmujący nieparzystość, etapowanie za pomocą bitów w...
Trzy przełączniki stabilne sterujące jednym wyjściem są często przedstawiane jako ćwiczenie z logiki drabinkowej, ale rzeczywiste pytanie inżynierskie jest bardziej precyzyjne: czy wyjście ma być włączone, gdy aktywna jest nieparzysta liczba wejść, czy też użycie dowolnego przełącznika ma po prostu odwrócić poprzedni stan wyjścia? Są to różne wymagania. Pierwsze oznacza funkcję kombinacyjną XOR, czyli parzystość nieparzystą. Drugie wymaga pamięci stanu i detekcji zbocza.
W przypadku trzech stabilnych przełączników wyboru zwykle wymaga się parzystości nieparzystej: lampka świeci przy jednym lub trzech zamkniętych przełącznikach i pozostaje zgaszona przy zerowym lub dwóch. Zapisanie tego wymagania przed narysowaniem styków zapobiega sytuacji, w której pozornie poprawna szczebel implementuje niewłaściwą funkcję boolowską.
Funkcja XOR trzech wejść ma wartość prawda, gdy liczba wejść o wartości prawda jest nieparzysta; nie jest tym samym co zapamiętane polecenie przełączające.
Zacznij od ośmiu stanów wejść
Oczekiwana sekwencja wyjścia dla wejść S1, S2 i S3 to 0, 1, 1, 0, 1, 0, 0, 1, gdy binarne stany wejść zmieniają się od 000 do 111. Mówiąc prościej, jeden zamknięty przełącznik włącza wyjście, dwa zamknięte przełączniki je wyłączają, a wszystkie trzy zamknięte przełączniki ponownie je włączają.
To właśnie ten ostatni stan jest przyczyną wielu błędnych wyjaśnień. Funkcja XOR trzech wejść jest funkcją nieparzystej parzystości, więc 111 musi dawać wynik prawda. Implementacja rozpoznająca wyłącznie „dokładnie jedno wejście ma wartość prawda” nie jest funkcją XOR; celowo wyklucza stan, w którym wszystkie trzy wejścia mają wartość prawda. Z kolei połączenie operatorami OR trzech wyrażeń XOR dla par wejść daje inną funkcję: ma ona wartość prawda zawsze wtedy, gdy wejścia nie są jednakowe, co obejmuje również stany z dwoma wejściami o wartości prawda i dlatego także nie spełnia wymaganej tabeli prawdy.
Najbezpieczniejszą praktyką podczas uruchamiania jest traktowanie tabeli prawdy jako testu odbiorczego. Nie oceniaj programu na podstawie dwóch lub trzech wygodnych ustawień przełączników.
Kaskadowe łączenie stopni XOR dla dwóch wejść
Funkcja XOR jest łączna, co pozwala użyć wyrażenia (S1 XOR S2) XOR S3. W programie SLC 500 jeden bit wewnętrzny może przechowywać wynik pierwszego stopnia. Drugi szczebel łączy następnie ten bit z S3. Dzięki temu każdy szczebel ma niewielkie, łatwe do sprawdzenia zadanie, a stan online jest łatwiejszy do zdiagnozowania.
W implementacji stykowej każdy dwuwejściowy stopień XOR wykorzystuje dwie ścieżki równoległe: pierwsza sprawdza, czy wejście A ma wartość prawda, a wejście B fałsz; druga sprawdza, czy A ma wartość fałsz, a B prawda. Obie ścieżki łączą się przy jednej cewce. Ten sam wzorzec należy powtórzyć dla bitu pośredniego i trzeciego wejścia.
Bit pośredni pokazuje wynik S1 XOR S2 przed połączeniem go z S3 w drugim stopniu.
Przykładowy plan adresowania
W typowym projekcie szkoleniowym RSLogix 500 przełączniki S1, S2 i S3 mogą mieć adresy I:1/0, I:1/1 oraz I:1/2. Pierwszy szczebel zapisuje wynik pośredni do B3:0/0, a drugi zapisuje polecenie lampki do O:2/0. Są to wyłącznie przykładowe adresy; rzeczywiste mapowanie musi wynikać z zainstalowanej konfiguracji wejść i wyjść.
Adres pośredni powinien mieć tylko jednego zapisującego. Ponowne użycie B3:0/0 w innym miejscu lub umieszczenie później w programie kolejnej instrukcji wyjściowej dla O:2/0 może nadpisać poprawny wynik podczas tego samego skanu. Przed zakwestionowaniem wzorca XOR sprawdź odwołania skrośne do obu adresów.
XOR na poziomie słowa nie jest automatycznie skrótem dla logiki boolowskiej
Zestaw instrukcji SLC 500 zawiera instrukcję XOR służącą do bitowego wyłącznego OR między operandami słownymi. Dokument SLC 500 Instruction Set Reference Manual firmy Rockwell Automation opisuje obsługiwane operandy i miejsca docelowe. Instrukcja ta jest przydatna w przypadku masek i upakowanych słów statusowych, ale nie eliminuje potrzeby określenia, które bity wejściowe uczestniczą w pojedynczej decyzji dotyczącej parzystości.
W przypadku trzech wejść dyskretnych kaskadowa logika stykowa jest zwykle czytelniejsza dla personelu utrzymania ruchu. Implementacja na poziomie słów może być uzasadniona, gdy program już pakuje wiele bitów statusu i jawnie redukuje je do wyniku parzystości, ale etap redukcji nadal musi być widoczny i przetestowany.
Nie myl parzystości z funkcją przełączającą
Układ oświetlenia sterowany trzema przełącznikami stabilnymi zmienia stan wyjścia za każdym razem, gdy którykolwiek przełącznik fizyczny zmieni położenie. W czysto boolowskim ujęciu wyjście w dowolnej chwili można przedstawić jako parzystość trzech położeń przełączników. Nie jest potrzebny zapisany stan, ponieważ same położenia przełączników przechowują stan.
Przyciski chwilowe działają inaczej. Jeśli naciśnięcie dowolnego z trzech przycisków ma przełączać lampkę, sterownik PLC musi wykryć zbocze narastające i raz dla każdego prawidłowego naciśnięcia odwrócić zapamiętany bit polecenia. Bezpośrednie zastosowanie XOR do trzech wejść chwilowych opisuje jedynie to, które przyciski są naciśnięte podczas danego skanu; nie zapamiętuje poprzedniego stanu lampki.
Rzeczywiste przyciski mogą również drgać stykami. Konstrukcja funkcji przełączającej wymaga więc kondycjonowania wejścia, impulsu jednokrotnego, określenia właściciela bitu podtrzymywanego oraz zdefiniowania stanu początkowego. W powiązanych wzorcach dotyczących skanowania i obsługi danych przewodnik dotyczący używania wartości jednego timera SLC do ustawiania innego timera pokazuje, dlaczego przesyłanie danych i kolejność szczebli powinny być jawne.
Uruchamiaj logikę jako funkcję, a nie jako obraz
Najpierw przetestuj sam bit pośredni dla dwóch wejść. Powinien mieć wartość prawda dla 01 i 10 oraz fałsz dla 00 i 11. Następnie przetestuj końcowe wyjście dla wszystkich ośmiu stanów trzech wejść. Zapisuj zaobserwowany stan zamiast polegać wyłącznie na zielonym podświetleniu szczebla, ponieważ wymuszenia, zduplikowane cewki i odświeżanie widoku online mogą ukryć rzeczywiste przypisanie wyjścia.
Następnie zweryfikuj zachowanie po włączeniu zasilania, przejścia do trybu programowania, podstawienie wejść oraz reakcję na uszkodzenie lub odłączenie obwodu obiektowego. Logika XOR może wykrywać niezgodność, ale sama w sobie nie jest funkcją diagnostyki bezpieczeństwa. Jeśli przełączniki uczestniczą w funkcji ochronnej, projekt wymaga wejść z certyfikatem bezpieczeństwa, monitorowania rozbieżności, wykrywania usterek oraz oceny ryzyka odpowiedniej dla maszyny.
Opcje sprzętowe i migracyjne dla starszych oraz współczesnych sterowników można przejrzeć w kolekcji systemów PLC i PAC, ale przed dostosowaniem tego przykładu należy potwierdzić rodzinę procesora, napięcie wejść i wyjść, adresowanie oraz własność programu.
Dlaczego wersja z bitem wewnętrznym jest łatwiejsza w utrzymaniu
Pojedynczy rozbudowany szczebel może bezpośrednio wyrażać parzystość nieparzystą trzech wejść, ale wymaga czterech kombinacji równoległych i staje się trudniejszy do sprawdzenia w miarę dodawania kolejnych warunków. Kaskadowe stopnie dla dwóch wejść jasno pokazują intencję boolowską, zapewniają punkt kontrolny do diagnostyki oraz ułatwiają odwzorowanie adresów RSLogix 500 na nazwane tagi typu BOOL w Logix Designer.
Opinia redakcyjna: najlepsze rozwiązanie drabinkowe to takie, którego tabelę prawdy, zachowanie pamięci i reakcję na awarie można wyjaśnić podczas przekazania instalacji personelowi utrzymania ruchu. Bit wewnętrzny nie jest zmarnowaną pamięcią, jeśli zapobiega pomyleniu przez kolejnego inżyniera parzystości nieparzystej, logiki „dokładnie jedno” i zapamiętanego przełączania jako tej samej funkcji.
Często zadawane pytania
Czy wyjście powinno być włączone, gdy wszystkie trzy przełączniki są zamknięte?
Tak, jeśli wymaganiem jest funkcja XOR trzech wejść lub parzystość nieparzysta. Trzy wejścia o wartości prawda stanowią liczbę nieparzystą, więc wyjście ma wartość prawda. Jeśli 111 ma dawać fałsz, wymaganą funkcją jest „dokładnie jedno”, a nie XOR.
Czy instrukcja XOR w SLC 500 może zastąpić dwa stopnie drabinkowe?
Wykonuje ona bitową operację XOR na operandach słownych. Może być częścią rozwiązania z upakowanymi bitami, ale trzy pojedyncze bity wejściowe nadal trzeba odpowiednio uporządkować i zredukować, aby bit docelowy reprezentował wymaganą parzystość. W małym obwodzie dyskretnym dwa stopnie stykowe są zazwyczaj czytelniejsze.
Czy bit pośredni powoduje opóźnienie o jeden skan?
Nie, jeśli szczebel zapisujący bit pośredni wykonuje się przed szczeblem, który go odczytuje, w tej samej procedurze i zadaniu. Drugi szczebel widzi wartość zapisaną wcześniej podczas tego skanu. Kolejność wykonywania programu musi pozostać udokumentowana i kontrolowana.
Co się zmienia, jeśli urządzeniami obiektowymi są przyciski chwilowe?
Funkcja przełączania za pomocą przycisku chwilowego wymaga detekcji zbocza i zapisanego stanu wyjścia. Sama kombinacyjna funkcja XOR nie potrafi zapamiętać, czy lampka była wcześniej włączona, czy wyłączona.
Czy XOR nadaje się do obwodu głosowania bezpieczeństwa?
Nie samodzielnie. Zwykła funkcja XOR ocenia wyłącznie stany boolowskie. Zastosowania bezpieczeństwa wymagają zwalidowanej architektury bezpieczeństwa, odpowiedniego pokrycia diagnostycznego, monitorowania rozbieżności, właściwego sprzętu oraz weryfikacji względem stosownej oceny ryzyka.