Dyskusja wikipedysty:DrJolo\Przekaźniki programowalne - zastosowanie w przykładach

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

Wprowadzenie[edytuj]

Programowanie uniwersalnych przekaźników programowalnych zazwyczaj odbywa się poprzez utworzenie odpowiedniego schematu drabinkowego, którego wszystkie szczeble aktywowane i wykonywane są jednocześnie. Oznaczają one wejście przepływ i przetworzenie dwustanowej informacji. Na każdym ze "szczebli" tej drabiny na lewym końcu znajdują się zmienna wejściowa. W środkowej i prawej części znajduje się część programu odpowiedzialna za przetwarzanie, oraz w prawej części znajduje się już bezpośrednio wyjście każdej z operacji.

Przykładowe projekty[edytuj]

Kilka przykładowych projektów wykorzystujących uniwersalne przekaźniki programowalne:

zamek szyfrowy 3-bitowy[edytuj]

I01---------------------[M01
I02---------------------[M02
I03---------------------[M03
            ___
I04---M01---M02---M03---[Q01

przechodowe oświetlenie korytarza[edytuj]

latarnia morska w Kołobrzegu[edytuj]

Latarnia znajdująca się w Kołobrzegu posiada okres świecenia trwający 3 sekundy. W trakcie pierwszej sekundy okresu latarnia jest zaświecona, po czym w trakcie 2 sekund jest zgaszona. Poniższy program realizuje to zadanie przy wykorzystaniu przekaźnika programowalnego.

I01----------SM01

M01--------+-TT01
            \
             SQ01

T01--------+-SM02
            \
             RM01

M02--------+-TT02
            \
             RQ01

T02--------+-SM01
            \
             RM02

Podanie wysokiego stanu na wejście I01 uruchamia cykl świecenia. Do wyjścia Q01 podłączamy wówczas żarówkę lub przekaźnik sterujący właściwą żarówką latarni.

automatyczne drzwi przesuwne[edytuj]

Często popełniane błędy[edytuj]

Jednoczesne wyzwolenie znacznika[edytuj]

M01---------------------TT01
T01---------------------TT02
T02---------------------TT01

Powyższy program miał w zamierzeniu realizować prostą nieskończoną pętlę wyzwalaną wysokim stanem na znaczniku M01, jednakże w tej konkretnej implementacji przekaźnik T01 nigdy nie zostanie wyzwolony, gdyż w momencie oczekiwanego wyzwolenia znacznikiem M01 jednocześnie jest sterowany niskim stanem w ostatniej linii. Przekaźnik czasowy T02 – jako ostatni – wyzwala przekaźnik T01.

Rozsynchronizowanie działań współbieżnych[edytuj]