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
Komentarz usunięty przez moderatora
W Polsce są różnice w wynagrodzeniach automatyków i informatyków, które wynikają z tego że informatykom znacznie łatwiej odpalić własny biznes, oraz z tego że prace w IT można wykonywać zdalnie. Za granicą takich różnic nie ma.
@Zdzichoslaw: W Polsce łatwo trafić na debilną
Mam w planie zacząć amatorsko programować PLC aby za rok stać się profesjonalistą i znaleść pracę, Czy mam szanse ? Jestem inż mechanikiem a nie elektronikiem
@emesc: fajna sprawa :) jestem informatykiem, jednak kolega automatyk nie bardzo chce rozmawiać na temat sterowników, dlatego mój kontakt z modułowym systemem był tylko przy projekcie instalacji centrali alarmowej Satela, gdzie sami to wszystko instalowaliśmy i podłączaliśmy. Chyba się bardziej w to wkręcę bo to czarna magia nie jest :)
W fabrykach samochodów się tego używa, gdzie na stacji masz kilka(naście) karoserii o różnym typie nadwozia, właśnie w SCLu między innymi
Są biblioteki do podłączania urządzeń 1-Wire pod USB. A tu masz już czujniki, przetworniki adc/dac, ekspandery, timery itd. Ale masz też lutowanie, zatem lepiej wybrać coś jak np. FT232R plus jakieś przekaźniki (zdaje się, że 5 da się bez problemu podłączyć i obsługiwać z poziomu aplikacji PC), ewentualnie możesz emulować SPI i I2C (lub wybrać taki FT z takimi sprzętowymi interfejsami) lub też dodać uC ze sprzętowym RS232 -
Niby zajebiste, ale gdzie tu dla laika droga do pracy w tym, skoro muszę mieć do czynienia z tymi fizycznymi urządzeniami, które kosztują
Istnieją jakieś kursy, po których dostaje się odpowiedni papierek? Czy trzeba raczej kończyć wyższe uczelnie?