Od 2019 roku prowadzimy kursy programowania sterowników PLC. Przez ten czas setki osób zrealizowały nasze szkolenia on-line programowania sterowników PLC.
Wiele razy słyszeliśmy pytanie:
„Kiedy nowe szkolenia? Czy planujecie zrobić kurs z programowania napędów?”
Stworzenie kursu on-line z programowania urządzeń automatyki przemysłowej nie jest łatwym zadaniem! Wymaga to sporo czasu… Materiały oraz ćwiczenia muszą być dostosowane do formuły e-learningu. Wszystkie ćwiczenia, które zawieramy w kursie będziesz mógł wykonać na swoim komputerze, w oparciu o cyfrowego bliźniaka realnego stanowiska ze sprzętem.
Taka formuła naszych szkoleń jest nowością na rynku! Pozwoliła nam zbudować ogromną społeczność automatyków na naszej platformie.
Od kilku miesięcy pracowaliśmy nad kursem programowania napędów serwo w oparciu o naszą sprawdzoną formułę szkoleń on-line z zastosowaniem stanowiska do symulacji – cyfrowego bliźniaka.
W tym artkule chcę Ci pokazać dostępne narzędzia na rynku, dzięki którym w czasie 3 tygodni opanujesz tworzenie aplikacji napędowych w oparciu o światowe standardy.
1. Nauka programowania napędów firmy Siemens
Sterowniki PLC i napędy firmy Siemens to standard w dzisiejszym świecie automatyki. Na rynku europejskim jest to około 40-50% sprzętu stosowanego przemyśle.
Kiedy ja zaczynałem swoją przygodę ze sterownikami (rok 2010), dostępne były podstawowe symulatory dla sterowników PLC. O symulowaniu pracy napędów można było pomarzyć.
Wraz z wprowadzeniem systemu TIA – Totally Integrated Automation Portal i dostępnego tam symulatora PLCSIM, możliwości testowania aplikacji automatyki były coraz większe.
Przełomem było wprowadzenie rozszerzonej wersji symulatora – PLCSIM Advanced (aktualnie – wersja 4.0). dzięki SIMATIC S7-PLCSIM Advanced można tworzyć wirtualne instancje sterowników do symulacji CPU S7-1500 i ET 200SP. Symulator S7-PLCSIM Advanced pozwala na symulacje bloków związanych z obiektami technologicznymi i sterowania ruchem.
Tworząc projekt aplikacji napędowej w sterowniku PLC automatycznie tworzone są bloki MC-Interpolator, MC-Servo (również MC-PreServo i MC-PostServo). Standardowy symulator PLCSIM nie dysponuje funkcjonalnością pozwalającą przetestować taką aplikację. Do tego zadanie niezbędny jest PLCSIM Advanced.
Symulator PLCSIM Advanced umożliwia podłączenie poprzez API dowolnego środowiska symulacji obiektu automatyki. Może to być Factory IO, Siemens NX, SIMIT + Unity. Możesz w dowolnym systemie samodzielnie stworzyć system do symulacji Twojego układu i zintegrować go poprzez API.
1. Zaprogramuj latającą piłę na PLC Siemens i testuj na swoim PC
Przykładem standardowej aplikacji napędowej, która wykorzystuje bardziej zaawansowane funkcje, takie jak synchronizacja pracy osi, jest tzw. latająca piła – Flying Saw. W tym procesie materiał jest w ruchu ciągłym (np. folia, metal, papier, tektura falista, profile stalowe itp.). Suport piły synchronizuje swoją prędkość z podajnikiem materiału, wykonuje cięcie i wraca do pozycji bazowej. Po wykryciu kolejnego znacznika lub po ustalonej długości, cykl się powtarza.
Taką aplikację możesz bez problemu testować z wykorzystaniem symulatora PLCSIM Advanced! Dostępne są również przykładowe modele 3D wykonane w środowisku Unity. Sprzęgając symulator PLC z wizualizacją 3D poprzez oprogramowanie SIMIT, masz szansę dopracować swoją aplikację napędową w najdrobniejszych szczegółach.
Poniżej znajduje się przykładowa wizualizacja procesu dla aplikacji latającej piły. Na tej wizualizacji możesz wykonać całkiem dokładną symulację transportu materiału oraz cięcia!
2. Środowisko Codesys i dodatek Softmotion
W karierze każdego automatyka zdarza się, iż musi dywersyfikować sprzęt w projektach automatyki. Może okazać się, iż umiejętność programowania Siemens nie wystarcza!
Środowisko Codesys jest świetnym rozwiązaniem, ponieważ daje Ci możliwość obsługi urządzeń ponad 200 producentów (WAGO, Beckhoff, Weintek…). Co więcej, możesz uczyć się programowania serowonapędów korzystając z wbudowanego symulatora wirtualnych osi oraz Twojego komputera..
Jak symulować układy napędowe?:
- instalujesz darmowe oprogramowanie Codesys – licencja bez ograniczeń czasowych
- tworzysz nowy projekt oraz wirtualną oś
- piszesz program z wykorzystaniem bloków PLC Open Motion
- testujesz układ w symulatorze bez użycia rzeczywistego PLC
- TO WSZYSTKO! Teraz możesz realizować Twoje pomysły z dowolnego miejsca na świecie
Jeżeli chcesz dowiedzieć się jak szybko, przy naszej pomocy zrealizować wszystkie powyższe kroki to zapisz się na nasz darmowy minikurs programowania serwonapędów. Znajdziesz tam instrukcje w postaci materiałów video, dzięki którym zaoszczędzić czas na zrozumienie potrzebnych podstaw.
Jakie możliwości daje symulacja Softmotion? Najważniejsze to możliwość dodania wirtualnych osi (obrotowa i liniowa). Nadajemy nazwę dla osi, przeprowadzamy konfigurację i gwałtownie przechodzimy do tworzenia aplikacji w strukturze drzewa projektu. Do realizacji zadań możesz wybrać Twój ulubiony język programowania z normy IEC 61131-3. W praktyce część bloków funkcyjnych obsługujemy w języku graficznym np. FBD, a sekwencję dla maszyny piszemy w języku tekstowym ST (Structured Text). Takie podejście daje nam przejrzyste i skalowalne rozwiązanie.
Automatyka to dynamicznie rozwijająca się branża. Z roku na rok powstają nowe podzespoły automatyki oraz oprogramowanie. Producenci prześcigają się w dostarczaniu na rynek rozwiązań, które znacząco ułatwiają pracę. Rozwijane są również biblioteki pozwalające na obsługę skomplikowanych procesów z wykorzystaniem pojedynczych „bloczków”. Absolutnym wymogiem w aplikacji sterowania ruchem jest znajomość standardu PLC Open Motion. Dzięki temu standardowi otrzymujesz zbiór bloków funkcyjnych do konfiguracji napędu oraz wykonania odpowiednich ruchów. Bloki FB powiązane są ze sobą w określony sposób. Obrazuje to graf zależności wykonywania poszczególnych instrukcji.
3. Jak wygląda przykładowy program w symulatorze Codesys?
Na początek zapoznaj się z blokami funkcyjnymi z biblioteki PLC Open Motion. Pierwszą operacją jaką trzeba wykonać jest zasilenie osi z wykorzystaniem bloku MC_Power. Wystarczy podłączyć wirtualną oś do bloku, a następnie zmienne do wejścia Enable, bRegulatorOn oraz bDriveStart. Po wykonaniu tej operacji możesz przejść do wykonania pierwszych kroków sterowania ruchem. Z doświadczenia wiem, iż sukcem każdego początkującego programisty jest uruchomienie napędu w trybie JOG. w uproszczeniu ta instrukcja daje możliwość poruszania osią z określoną prędkością w trybie ciągłym. Może być stosowana np. do sterowania osią w trybie manualnym.
Kolejnym krokiem jest wykorzystanie bloków MC_MoveAbsolute oraz MC_Moverelative. Tłumacząc na polski jest to wykonanie ruchu względnego (przejazd o zadany dystans) oraz ruchu bezwzględnego (przejazd na wybrana pozycję). Wymienione bloki wymagają podanie większej liczby parametrów, ale z tym również poradzisz sobie bez problemów. Przetestuj również blok MC_Stop, który odpowiada za zatrzymanie osi, o ile wykonywana jest inna instrukcja.
Pomocnym narzędziem w Codesys jest wizualizacja i gotowe szablony wizualizacyjne. dzięki kilku kliknięć podłączasz instancje bloków funkcyjnych oraz dodajesz symbol osi obrotowej lub liniowej. Następnie wystarczy wgrać program do symulatora i cieszyć się pierwszym działającym programem sterowania ruchem. Przypominam, iż wystarczy tylko Twój komputer. Nie będziesz potrzebował rzeczywistego sterownika PLC oraz serwowzmacniacza.
3. Symulacja 2D/3D układów wieloosiowych i robotów
Codesys to potężne narzędzie, które spełnia większość wymagań programisty automatyka. Oprócz sterowania pojedynczymi osiami możesz przeprowadzić synchronizację napędów i wykorzystać np. profile sterowania ruchem. To jednak nie wszystko. Biblioteka SM3_Robotics pozwala na wybranie odpowiedniego układu kinematyki i pisania programu np. dla robotów i manipulatorów.
Jedyne co musisz zrobić to zdefiniować odpowiednie osie (obrotowe, liniowe) w projekcie, a następnie wybrać istniejący układ kinematyki w Codesys. Do dyspozycji masz podstawowe układy np. układ polarny składający się z osi liniowej oraz obrotowej. Dzięki temu gwałtownie stworzysz aplikację do przenoszenia produktów z podajnika na podajnik.
Ciekawa opcją jest obsługa robotów typu SCARA, które świetnie nadają się do przenoszenia produktów oraz ich inspekcji. W tym przypadku będziesz potrzebował zdefiniować trzy osie równoległe. Twoja konfigurację możesz gwałtownie podłączyć do szablonów wizualizacji dla konkretnego układu kinematyki i przetestować zaprogramowaną sekwencję ruchu.
To jednak nie wszystko! Odpowiedni dodatek pozwala na tworzenie symulacji linii produkcyjnych z robotami i manipulatorami w 3D. Dzięki temu gwałtownie i sprawnie przedstawisz Twojemu potencjalnemu klientowi koncepcję rozwiązania i przetestujesz koncepcję bez konieczności tworzenia rzeczywistego stanowiska na hali. Jest to tak zwana koncepcja programowania off-line.
4. Pisanie sekwencji dla napędów w standardzie PackML
W życiu każdego automatyka przychodzi pora na realizację programu sterowania ruchem od podstaw. Każda maszyna działa zgodnie z wdrożonym algorytmem. Sekwencja wykonywania programu jest szczególnie ważna w aplikacjach napędowych. Musisz przewidzieć wszystkie możliwe ruchu poszczególnych osi i odpowiednio przygotować poszczególne kroki sekwencji.
Muszę Ci się do czegoś przyznać. Z początku miałem duże problemy z rozpisaniem działającej sekwencji. Było to związane z tym, iż nie miałem dostępu do określonego szablonu postępowania. Samodzielnie próbowałem ustalić najlepsze scenariusze dla moich programów. Wszystko zmieniło się, kiedy kolega z pracy pokazał mi pewien standard…
W większości zakładów przemysłowych maszyny działają według z góry ustalonych zasad. Przed przystąpieniem do pisania programu należy ustalić z Twoim klientem koncepcję działania maszyny. Istnieje pewne narzędzie, które znacznie ułatwi Ci pracę. Wykorzystaj standard PackML!
Standard PackML dostarcza szablon kroków sekwencji, który możesz wykorzystać w Codesys. Znajdziesz tam kilka stanów: EXECUTE, ABORT, STOP, START, IDLE etc. Każdy stan obsługuje inne bloki PLC Open Motion. Przykładowo stan EXECUTE oznacza produkcję, więc napędy muszą być włączone i wykonywać określony ruch. Stan ABORT obsługuje procedurę awaryjnego zatrzymania (blok MC_Stop) i co za tym idzie należy przejść odpowiednią procedurę startu w sekwencji, aby wrócić do stanu produkcji.
Standard PackML dostarcza szablon kroków sekwencji, który możesz wykorzystać w Codesys. Znajdziesz tam kilka stanów: EXECUTE, ABORT, STOP, START, IDLE etc. Każdy stan obsługuje inne bloki PLC Open Motion. Przykładowo stan EXECUTE oznacza produkcję, więc napędy muszą być włączone i wykonywac określony ruch. Stan ABORT obsługuje procedurę awaryjnego zatrzymania (blok MC_Stop) i co za tym idzie należy przejść odpowiednią procedurę startu w sekwencji, aby wrócić do stanu produkcji. Więcej o standardzie PackML znajdziesz na naszym YouTube.
Sekwencja w Codesys jest pisana jest zwykle w języku tekstowym Structured Text. Pozwala to na pełna kontrolę nad pisanym programem oraz szybkimi zmianami w sekwencji. Każdy stan maszyny posiada własną sekcję w programie, gdzie podajesz konkretne instrukcje. Ważnym elementem jest szablon wizualizacji na którym wyświetlany jest aktywny stan sekwencji. Dzięki takiemu podejściu przyśpieszysz swoją pracę i będziesz miał pewność, iż każdy ruch Twojego napędu zostanie wykonany w poprawnym momencie.
5. Podsumowanie
Czwarta rewolucja przemysłowa zagościła nie tylko do zakładów przemysłowych, ale także do ośrodków szkoleniowych. Z roku na rok, oprogramowanie pozwalające na symulację układów automatyki jest coraz bardziej dostępne i pozwala na wyszkolenie kompetentnej kadry inżynierskiej w krótszym czasie.
Kiedyś, aby nauczyć się zasad działania bardziej zaawansowanej aplikacji napędowej, musiałeś testować scenariusze podczas prototypowania lub docelowego uruchomienia linii produkcyjnej.
Dzisiaj wystarczy odpowiednio przygotowane szkolenie on-line!
Na swoim komputerze PC możesz uruchomić symulację choćby najbardziej złożonych układów napędowych i przygotować aplikację bez wykorzystania sprzętu.
Stwarza to niesamowite możliwości i wejścia na wyższy poziom w dziedzinie programowania aplikacji napędowych automatyki.
Maciej Kurantowicz