Zacznij swoją przygodę z PLC
Sporo osób ostatnimi czasy zwraca się do mnie z pytaniem: jak zacząć swoją przygodę ze sterownikami PLC, jak nauczyć się takie sterowniki programować. Jakoś mnie wzięło i zapragnąłem rzucić garścią rad. Uprzedzam - to nie jest ama ani kurs programowania tylko zbiór rad i linków - niestety nie mam zbyt wiele czasu i energii.
Sterownikami zajmuję się już drugi rok, w tym rok praktycznego doświadczenia w firmie, więc prosiłbym także o dorzucanie w komentarzach innych rad dla początkujących od dużo bardziej doświadczonych oraz o ewentualne poprawienie nieścisłości. Jako że jestem pasjonatem programowania PLC to stworzyłem ten wykop, lubię dzielić się wiedzą.
Co to jest/ z czym się to je? :
No cóż - nie będę się tutaj mądrzył i nie będę sypał definicjami z zakresu automatyki przemysłowej. Wystarczy na początek wiedzieć że sterownik PLC służy do sterowania jakimś urządzeniem. A nazwa, pozwólcie że rozwinę:
P - Programmable
L - Logic
C - Controller
Sterownik PLC posiada wejścia oraz wyjścia. Do wejść przeważnie podłączamy jakieś czujniki, przyciski a do wyjść urządzenie, którym chcemy sterować.To taka skrzynka - nie interesuje nas co siedzi w środku.
Przykłady:
naciskamy przycisk - żarówka się świeci --> najprostszy przykład
czujnik wykrywa wysoką temperaturę - uruchomienie chłodzenia
Jednak aby taka "skrzynka" miała do czegoś służyć należy ją odpowiednio zaprogramować. Co nie jest trudne. Ale o tym później.
Po programowaniu napisany program trzeba wgrać do sterownika i można działać.
Zastosowanie? Głównie przemysł, ale także i rozwiązania w dziedzinie inteligentnych budynków :) PLC używamy do sterowania taśmą produkcyjną, sterowania ilością wody w zbiorniku, do sterowania układami pneumatycznymi i do wielu innych rzeczy.
Sam sterownik do najtańszych rzeczy nie należy, ale nikt nie mówił że będzie tanio.
Jak zacząć? :
Przede wszystkim należy poznać zasady programowania takich sterowników. Przeważnie korzysta się z dwóch języków: drabinkowy (LAD) i blokowy(FBD). Języki te są graficzne, generalnie programowanie polega na przeciąganiu i odpowiednim łączeniu elementów.
Do samej nauki programowania nie jest potrzebny sterownik PLC i nie radzę go kupować na początku. Dlaczego? Bo znam sporo osób, które się że tak powiem "napaliły" na programowanie, zakupiły sterownik za ponad 400 zł, zaczęły się uczyć i się zniechęcili. Można użyć środowisk programowania, w których nie potrzebny jest sterownik i jest tam przeprowadzana symulacja.
Jest sporo świetnych środowisk do programowania, przede wszystkim polecam wersję demo programu Logo! Soft Comfort od Siemensa (wersja demo ogranicza was tylko tyle, że nie możecie wgrać programu do sterownika). Po napisaniu programu można wykonać symulację na której doskonale widać stan wyjść. Są też środowiska od innych producentów, radzę poszukać. Można też skorzystać z symulatora PLC online, do którego podam link na końcu.
Jeżeli dobrze opanujemy język programowania i poczujemy że to jest coś co nas kręci można kupić sterownik PLC. Wtedy zaczyna się prawdziwa zabawa - jednak nie jest ona tania :]
Programowanie:
Żeby nauczyć się języka drabinkowego czy blokowego należy znać podstawowe funkcje logiczne. Programowanie opiera się głównie na operowaniu na dwóch stanach: 0 i 1. Przydadzą się też podstawy podstaw elektroniki cyfrowej (stan wysoki, stan niski, bramki logiczne).
Jak już to umiesz - doskonale. I teraz zapewne ciśnie ci się na usta pytanie: to od jakiego języka zacząć: drabinkowego czy blokowego?
To zależy od ciebie, ja zaczynałem od drabinkowego a potem z łatwością przeszedłem na blokowy.
Niestety (albo stety) niektóre elementy (bloczki) zależą od oprogramowania na którym pracujemy (i co za tym idzie od sterownika), niektórych może nie być (wtedy trzeba samemu taki bloczek sobie skonstruować). Ale nie jest to problem dla osoby, która opanuje język programowania na innym sterowniku, ponieważ wtedy łatwo przenieść się na inny sterownik). Link do kursu języka drabinkowego zamieściłem na końcu.
Dobra. Powiedzmy że opanowałeś podstawy języka (przyjmujmy że drabinkowego) tzn. znasz symbole, mniej więcej wiesz do czego który służy. I chcesz się dalej rozwijać w tym kierunku. Proponuję wtedy zadawanie sobie pewnych praktycznych problemów do rozwiązania, powiedzmy sterowanie taśmą produkcyjną z towarami. Można znaleźć na internecie także kurs PLC, w którym są konkretne problemy do rozwiązania np. sterowanie przepływem wody w zbiorniku bądź też sterowanie pralką. Istnieje też pdf od Siemensa, w którym są zadane pewne problemy oraz są one rozwiązane (w języku blokowym). Można sporo szukać i sporo znaleźć. Jeżeli będziecie chętni to postaram się znaleźć w odmętach dysku twardego sporo ciekawych zadań.
Oczywiście najlepiej poznać oba języki programowania, bo niektóre problemy łatwiej rozwiązać w innym języku niż ten który się nauczyliśmy i na odwrót. Ja w swojej pracy częściej korzystam z języka blokowego niż z drabinkowego - programuję sterowniki Siemensa.
Linki:
Podstawowe elementy języka drabinkowego: LADDER
Symulator PLC online: Symulator
Siemens Logo!Soft: Siemens
Jest jeszcze program Automation Studio - można sprawdzić w nim jak działa to w praktyce - piszemy tam w języku drabinkowym program, odpowiednio podłączamy wejścia oraz wyjścia sterownika (oczywiście wirtualnego) i sprawdzamy efekty na układzie hydraulicznym lub pneumatycznym.
Sporo ciekawych rzeczy na temat PLC można znaleźć w wykładach z AGH oraz innych uczelni.
Co do oprogramowania innych producentów wystarczy też sporo poszperać po internecie, tego jest masa i nie mam już siły szukać i wrzucać:)
Proszę o rozwinięcie tej listy linków w powiązanych, dodatkowe porady dla początkujących - będą oni wam wdzięczni! Mam nadzieję że nie pominąłem ważnych kwestii i nie popełniłem gaf - jeśli tak jest to wybaczcie (ostatnio mam sporo obowiązków na głowie).
Wykop ten ma na celu pomóc, naprowadzić jakoś początkującego. Tu nie ma wielu innych ważnych rzeczy z tej tematyki ponieważ można by napisać grubą knigę na ten temat :)
I jeszcze jedno - powodzenia i wytrwałości w nauce!
Komentarze (128)
najlepsze
Do "zabawy" poleciłbym jeszcze FluidSim jeżeli ktoś nie zna. Ciekawy program do symulacji układów pneumatycznych ;)