WSTĘP
Niniejszy kurs skierowany jest do wszystkich osób chcących zapoznać sią z budową i działaniem sterowników PLC. W chwili obecnej sterowanie stanowi podstawę każdej produkcji w większych i mniejszych zakładach . Ze względu na znacznie , w ciągu ostatnich lat , zmniejszone ceny a zwiększoną różnorodność sterowników PLC stanowią one podstawę wszystkich układów sterowania automatycznego.
Opracowanie to skierowane jest w równym stopniu do początkujących w tym zakresie automatyków jak i innych osób - elektryków - mechaników , dla których wiedza o działaniu sterownika PLC jest niezbędna w pracy , czy hobbystów chcących zautomatyzować dowolne urządzenie .
Sterownik PLC
Sterownik PLC ( Programable Logic Controller ) w dosłownym tłumaczeniu oznacza Programowalny Sterownik Logiczny w wolnym tłumaczeniu Sterownik Swobodnie Programowalny czyli sterownik , którego działanie zależne jest od wprowadzonego programu i nie ma z góry narzuconego algorytmu pracy.
Na potrzeby tego opracowania przyjąć należy , że Sterownik PLC to "czarna skrzynka " , która posiada określone właściwości oraz peryferia typu wejścia i wyjścia
· Wejścia - Tutaj podawane są wszystkie sygnały wchodzące do sterownika - mogą być to sygnały różnorodnego typu :
o Dyskretne - przyjmujące wartości 0 lub 1Zwykle są to sygnały napięciowe , przy czym za standart przyjęto napięcia 24 V i 230V co nie oznacza ,że nie występują inne w specjalizowanych modułach.
o Analogowe - mogą przybierać dowolne wartości . Występują zarówno sygnały napięciowe jak i prądowe , podstawowe to
§ Prądowe od 0/4mA do 20mA , sygnał 4÷20mA został wprowadzony ze względu na umożliwienie wykrycia przerwy (awarii) pomiaru.
§ Napięciowe 0 ÷ 10V
Wspólną właściwością dla obu typów sygnałów analogowych jest ich rozdzielczość , którą określa się w ilości bitów których trzeba użyć do przedstawienia wartości . Tak na przykład rozdzielczość 8 bitów oznacza , że sygnał 0÷10V w sterowniku będzie "widziany" jako wartość 0 ÷ 255 , więcej o tym w rozdziale typy danych
· Wyjścia - sterują urządzeniami do nich podłączonymi .Typy wyjść są podobne jak wejść tzn
o Dyskretne - przyjmujące wartości 0 lub 1w znacznej większości sterowników są to sygnały napięciowe lub bezpotencjałowe.
§ Tranzystorowe - elementem przełączającym jest tranzystor a napięcie zależne jest od konkretnego typu sterownika w przewżającej mierze 24 V DC
§ Przekaźnikowe - elementem przełączającym jest przekaźnik i jedynym ograniczeniem załączanego sygnału są parametry przekaźnika (wyjścia bezpotencjałowe )
§ Triaki - stosowane gdy napięcie wynosi 230V a wymagana jest duża szybkość przełączeń
o Analogowe - mogą przybierać dowolne wartości . Występują zarówno sygnały napięciowe jak i prądowe ,analogicznie jak w przypadku wejść.
· Sterownik - a własciwie jego środek to nic innego jak mniejszy lub większy procesor z pamięcią oraz zaimplementowany system operacyjny czyli komputer. Zadaniem tego elementu jest przetworzenie wprowadzonego programu i na podstawie stanu wejść odpowiednio zgodnie z programem ustawić wyjścia .
PODSTAWY
Podstawowe pojęcia i dane dotyczące najpopularniejszego języka programowania sterowników PLC tzn języka drabinkowego. Jest to język graficzny i nazwę zawdzięcza wyglądowi struktury programu faktycznie drabinki.
Wszystkie użyte symbole są zgodne z normą IEC 61131-3 dotyczącą normalizacji symboliki i funkcji języków programowania sterowników PLC jednak należy pamiętać , że producenci sterowników PLC w swoim oprogramowaniu używają niekiedy zmodyfikowanej symboliki . W przykładach podano różnice jakie wystepują w sterownikach różnych producentów .
UWAGA : W chwili obecnej większość producentów dostarcza oprogramowanie narzędziowe "zgodne z IEC 61131-3" i takie ono jest jednak nie wszystkie funkcje zawarte w normie muszą być zaimplementowane w oprogramowaniu . Oznaczenie " zgodne z IEC 61131-3 " oznacza jedynie ,że funkcje które posiada dane oprogramowanie jest zgodne co do działania i symboliki z zaleceniami normy.
Oznaczenia i symbole Oznaczenia i symbole stosowane przy tworzeniu programów na sterowniki PLC w języku drabinkowym .
oznaczenie
rodzaj
opis
I
Input (Wejście)
W każdym sterowniku PLC mają takie samo oznaczenie , mogą być przypisywane tylko do symboli styków informują o stanie wejść na sterowniku.
Q
Output (Wyjście)
W każdym sterowniku PLC mają takie samo oznaczenie , mogą być przypisywane zarówno do symboli cewek (wtedy ustawiają konkretne wyjście sterownika) jak i styków gdzie informują o stanie wyjść .
M
Marker (Zmienna Wewnętrzna)
Tym symbolem określa się zmienne wewnętrzne sterownika , wykorzystywane są jako cewki i styki. elementy pośrednie programu .
styki
symbol
typ zmiennej
|---
-
Symbol ten oznacza początek lini , występuje zawsze skrajnie po lewej stronie i jego stan jest równy 1 "TRUE" - lewa strona drabinki.
---|
Symbol ten oznacza koniec lini , występuje zawsze skrajnie po prawej stronie - prawa strona drabinki.
--| |--
Boolean
Stan występujący po lewej stronie jest przenoszony na prawą stronę w momencie występowania w przypisanej zmiennej stanu "1 - TRUE" . W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE"
--|/|--
Stan występujący po lewej stronie jest przenoszony na prawą stronę w momencie występowania w przypisanej zmiennej stanu "0 - FALSE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE"
--|P|--
Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden cykl programu w momencie przejścia zmiennej ze stanu "0 - FALSE" na "1 - TRUE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE".
Jest to tzw. zbocze narastające ( z ang. positive transition ) . W praktyce działanie wygląda w ten sposób , że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał z lewej strony symbolu jest przenoszony tylko w tym samym cyklu wykonywania programu , w cyklu kolejnym nie ma znaczenia utrzymywanie się sygnału "1" w przypisanej zmiennej - sygnał nie będzie przenoszony.
--|N|--
Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden cykl programu w momencie przejścia zmiennej ze stanu "1 - TRUE" na "0 - FALSE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE".
Jest to tzw. zbocze opadające ( z ang. negative transition ) . W praktyce działanie wygląda w ten sposób , że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał nie jest przenoszony dalej . Sygnał z lewej zostanie przeniesiny dopiero kiedy stan zmiennej zmieni się na "0" i to tylko w tym samym cyklu wykonywania programu.
---» xxxx
Symbol skoku (z ang. jump) gdzie xxxx to nazwa powiązanej etykiety - Jeżeli z lewej strony symbolu pojawi się "1" zostanie wykonany skok do powiązanej etykiety ( z ang. label ).
Wykonanie skoku oznacza ,że linie programu znajdujące się pomiędzy instrukcją skoku a etykietą nie będą wykonywane .
---« xxxx
Etykieta skoku (z ang. label) gdzie xxxx to jej nazwa - adres docelowy instrukcji skoku .
cewki
--( )--
Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej i na prawą stronę
--(/)--
Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej w taki sposób ,że dla stanu "ON" z lewej strony do zmiennej przepisywany jest stan "OFF" i na odwrót.
--(P)--
Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "OFF" na "ON" tzw. zbocze narastające.
--(N)--
Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "ON" na "OF" tzw. zbocze opadające.
--(S)--
Stan występujący po lewej stronie jest kopiowany "zatrzaskowo" do przypisanej zmiennej.Powrót zmiennej do stanu "OFF" możliwy jest tylko przy użyciu cewki RESET. -> patrz dalej
--(R)--
W przypadku wystąpienia stanu "ON" po lewej stronie zmienna jest resetowana do stanu "OFF"
Podstawowe Funkcje
Proste przepisanie wartości z zmiennej M1 do zmiennej M2. Zmienne M1 i M2 mogą być właściwie typu _ANY czyli dowolnego jednak obie muszą być tego samego typu.
Realizacja funkcji NOT zmienne mogą być tylko typu bool.
Realizacja funkcji OR, w tym przypadku zmienne mogą być tylko typu BOOL
tablica stanów funkcji
OR
M1
M2
M3
Stan 1
0
Stan 2
1
Stan 3
Stan 4
Realizacja funkcji AND, w tym przypadku zmienne mogą być tylko typu BOOL
szyszymomonn0