Programowanie sterowników

Nieustannie dokonujący się postęp w dziedzinie oprogramowania i sprzętu komputerowego przyczynia się do zmniejszenia ilości zadań związanych z programowaniem i zapewnia większą użyteczność, możliwość konfiguracji, skalowalność, komunikację w tle pomiędzy programami oraz możliwość łatwego budowania, tworzenia środowiska symulacyjnego lub cyfrowych bliźniaków dla wybranych procesów przemysłowych.

Współczesna automatyka – zarówno od strony sprzętowej, jak i oprogramowania – zapewnia wysoki poziom integracji funkcji w stosunku do działających w odosobnieniu, zewnętrznych sterowników maszyn. Dlatego też istnieje potrzeba zapewnienia zintegrowanego rozwoju i stworzenia środowiska programistycznego, które będzie dostępne i spójne.

Nie wystarczy jedynie dokonać wyboru standardowego, jednolitego języka programowania – to jest możliwe tylko w przypadku prostych aplikacji. Nowoczesne systemy i urządzenia automatyki maszyn wymagają kompleksowej integracji interfejsu użytkownika (HMI) HTML5, układów I/O, logiki sekwencyjnej, bezpieczeństwa ruchu i sieci, czujników wizyjnych, bezpiecznej robotyki, monitoringu zapotrzebowania i zużycia energii oraz stanu podzespołów, komunikacji maszyny z maszyną, koordynacji z wieloma modułami produkcji i inteligentnego systemu śledzenia, a także komunikacji z chmurą, urządzeniami peryferyjnymi i panelami sterowania.

Tych wymagań nie są w stanie spełnić proste urządzenia sterowania. Dlatego właśnie istnieje rosnąca potrzeba integracji funkcji raportowania, zarządzania bazami danych i symulacji maszyn wewnątrz jednego systemu, a także niezbędna jest ciągła optymalizacja pracy zarówno poszczególnych maszyn, jak i całych procesów, poprzez stosowanie cyfrowych bliźniaków.

Te możliwości wymagają z kolei holistycznego podejścia do platform programowych automatyki, które są skalowalne, modułowe, udokumentowane, zdolne do ponownego zastosowania i zbudowane w oparciu o języki programowania standardu IEC 61131-3. Obecnie firmy branży automatyki oferują najnowsze technologie i wszechstronne możliwości funkcjonalne, takie jak jednoosiowe i dwuosiowe manipulatory, urządzenia CNC, urządzenia z funkcjami recipe i alarmami, zarządzaniem oraz możliwością przeprowadzania prób audytów, standardami przemysłowymi (PackML od OMAC Packaging Workgroup) oraz diagnostyką sieci.

Wiele z wymienionych narzędzi było kiedyś dostępnych tylko jako zewnętrzne oprogramowanie, ale obecnie jest już standardowym wyposażeniem wielu rozwiązań, które pomagają w implementacji automatyki.

Rys. 1. Dynamiczny interfejs HMI, z elementami takimi jak skalowanie grafiki wektorowe, pomaga w ilustrowaniu zaawansowanych procesów wytwarzania. Źródło: B&R Industrial Automation

Animowany interfejs użytkownika

Dynamiczna zawartość interfejsu użytkownika sprawia, że łatwiej jest ilustrować skomplikowane procesy wytwarzania. Jedna z możliwości to wykorzystanie widżetów pozwalających na wizualizację wbudowanych, skalowalnych i wektorowych grafik XML (SVG) lub konwertowanie danych 2D z systemów CAD.

Użytkownik za pomocą techniki „przesuń i upuść” może dodać widżet na żądanej stronie interfejsu i go skonfigurować. Podczas pracy animacje mogą być kontrolowane przez program. Obracanie, przejścia oraz ruch może wykorzystywać jeden plik SVG, co skraca czas i koszty związane z utworzeniem sekwencji różnych obrazów. Ponieważ pliki graficzne SVG są stworzone w formacie grafiki wektorowej, zachowują wysoką rozdzielczość bez straty jakości po ich powiększeniu.

Zarządzanie wariantami systemu dla różnych maszyn

W dowolnym czasie, bez najmniejszej ingerencji w kod, możliwe jest zwiększenie liczby wejść i wyjść (I/O) w istniejących programach poprzez implementację rozwiązań modułowych. Można tego dokonać przed dostarczeniem maszyny lub nawet w trakcie jej pracy, co upraszcza proces zarządzania maszynami i tworzenia wariantów sprzętowych. Konfiguracje różnych wariantów konfiguracyjnych wejść/wyjść (I/O) można generować za pomocą systemu ERP (enterprise resource planning) lub innego, starszego systemu zarządzania. Nie potrzeba żadnych narzędzi inżynierskich, nawet wówczas, gdy dołączone zostaną zewnętrzne dyski lub moduły.

Dodatkowe warianty i opcje mogą być konfigurowane bezpośrednio na maszynie za pomocą odpowiednich narzędzi. Niektóre z takich środowisk konfiguracyjnych zawierają narzędzie pozwalające na programowanie danej opcji w języku logiki drabinkowej, bez wpływu na standardową aplikację danej maszyny. Maszyna może zostać uruchomiona bez potrzeby modyfikacji oryginalnego oprogramowania, co zapewnia niezbędną elastyczność użytkownikowi, przy jednoczesnej integralności rozwiązań wprowadzonych przez producenta sprzętu (OEM).

Rys. 2. Konfiguracje różnych wariantów wejść/wyjść (I/O) można generować za pomocą systemu ERP lub innego, starszego systemu zarządzania bez potrzeby użycia specjalizowanych narzędzi inżynierskich. Źródło: B&R Industrial Automation

Zintegrowana wizja

Kolejnym trendem jest integracja kamer z programem sterującym maszyną. Dotyczy to tzw. inteligentnych kamer, oświetlenia i zaawansowanych algorytmów przetwarzania obrazu. Takie rozwiązanie pozwala na trwającą zaledwie tysięczne części sekundy synchronizację między tym, co „widzi” maszyna za pośrednictwem kamer, a innymi komponentami automatyki, z wykorzystaniem jednego narzędzia inżynierskiego i jednej aplikacji do zarządzania.

Raporty PDF

Platformy do komunikacji mogą być wbudowane w system sterowania i automatycznie generować raporty w formacie PDF. Funkcje raportowania gromadzą dane statystyczne dotyczące pracy maszyn i informacji z wszystkich rodzajów oprogramowania wykorzystywanego przez platformę sterującą. Dane, wygląd i treść raportu można spersonalizować, a użytkownik może sam zdefiniować stosowany język i jednostki miary.

Konfiguracja wyglądu raportu to możliwość personalizacji wedle określonych potrzeb użytkownika. Integralną częścią tak generowanych raportów mogą być elementy graficzne, takie jak rysunki i tabele. Aby chronić plik przed nieautoryzowanym dostępem, może on zostać zaszyfrowany. Raporty mogą być automatycznie wysyłane pocztą elektroniczną o ustalonej porze lub też wtedy, gdy zajdzie konkretne zdarzenie. Ponadto raporty mogą być zapisywane na zewnętrznych pamięciach jak pendrive USB lub wysyłane bezpośrednio z maszyny do drukarek w sieci.

Rys. 3. Platformy komunikacji mogą zostać wbudowane w system sterowania i automatycznie generować raporty w postaci plików PDF. Istnieją rozwiązania służące personalizacji raportów według potrzeb poszczególnych użytkowników. Źródło: B&R Industrial Automation

Zarządzanie danymi

Implementacja baz danych w aplikacjach obsługi maszyn i procesów jest łatwiejsza, jeśli wykorzystuje się w tym celu narzędzia do tego przeznaczone. Dane, parametry, logi zdarzeń z fabryki mogą być archiwizowane w bazie danych, niezależnie od tego, czy baza danych znajduje się w fabryce, czy na serwerach w chmurze. Upraszcza to zarządzanie dużymi ilościami danych, co jest bardzo ważne w przypadku pozyskiwania danych na potrzeby Przemysłowego Internetu Rzeczy (IIoT) i analizy danych.

Maszyny produkcyjne generują ogromne ilości danych, które aby były przydatne, muszą być odpowiednio przetwarzane i analizowane, przedstawiane graficznie, archiwizowane lub przekazywane do innych działów w celu obróbki.

Wyposażenie systemu sterującego w interfejs bazy danych umożliwia przesyłanie danych bezpośrednio ze sterownika do bazy danych. Popularne funkcje bazy danych, takie jak przechowywanie procedur, pozwalają na tworzenie kluczowych wskaźników efektywności (KPI), co przyczynia się do optymalizacji procesów produkcyjnych.

Symulacja i cyfrowy bliźniak

Programowanie automatyki nie jest ograniczone do programów napisanych dla poszczególnych maszyn. Obecnie dotyczy ono zintegrowanych systemów produkcji, takich jak następna generacja inteligentnych rozwiązań śledzących – istoty koncepcji maszyn samoadaptacyjnych.

Warto rozważyć wykonanie oprogramowania automatyki niezależnie kontrolującego np. poszczególne produkty transportowane na wózkach, skoordynowane z dziesiątkami lub setkami innych przenośników.

Każda stacja robocza reprezentuje jeden moduł maszyny, a wszystkie jej funkcje sterujące i funkcje podrzędne dotyczą każdego produktu, modułu produkcyjnego i całego systemu.

Wbudowane oprogramowanie do symulacji jest przydatnym narzędziem do wizualizacji, analizy i optymalizacji systemu transportującego. Ułatwia wykonywanie zadań inżynierskich i redukuje czas potrzebny do rozwoju nowych systemów transportujących i bardziej efektywnego wykorzystania już istniejących. Zintegrowane oprogramowanie symulacji bazuje na programowaniu procesowym (ukierunkowanym na proces).

Te narzędzia symulacyjne zapewniają, że transportery się nie zderzają, nie przekraczają wirtualnych barier, ani nie naruszają zdefiniowanych ograniczeń prędkości. Można również wdrożyć śledzenie zgodne z FDA. Oprogramowanie może łączyć dane produktu z odpowiednimi wózkami transportowymi i umożliwić śledzenie procesu produkcyjnego.

Gdy są tworzone aplikacje systemu transportowego z wykorzystaniem programowania zorientowanego na proces, inżynier programista określa zasady zachowania się transporterów na torze. Reguły te stają się aktywne, gdy transporter przechodzi przez wirtualne punkty wyzwalające. Dzięki temu implementacja sekwencji ruchu staje się bardziej efektywna, a w przypadku poszczególnych transporterów ilość pracy poświęconej na programowanie jest mniejsza.

Dzięki zintegrowanej symulacji programista systemu transportowego może przeprowadzić testy w celu określenia optymalnej liczby transporterów i ich prędkości, by zmaksymalizować ich produktywność. To samo oprogramowanie systemowe jest wykorzystywane zarówno w symulacji, jak i w rzeczywistym zastosowaniu, co w dowolnym momencie umożliwia przełączanie się między symulacją a rzeczywistym funkcjonowaniem systemu. Wizualizować można również sposób, w jaki transporter współpracuje z maszynami.

Rys. 4. Z pomocą narzędzi do integracji baz danych możliwa jest archiwizacja danych w bazie danych pochodzących bezpośrednio z urządzeń w fabryce. Ułatwia to zarządzanie dużą ilością danych. Źródło: B&R Industrial Automation

Zintegrowana platforma automatyki

Przykłady dostępnych dla programisty sposobów automatyzacji maszyn pokazują, jak daleko poza samodzielne działanie maszyny wybiega współczesne oprogramowanie i narzędzia. Nie jest to już jedynie kwestia wyboru między logiką drabinkową a językiem C. Chodzi o wybór zintegrowanej platformy automatyki, która dostarcza cały pakiet konfigurowalnego oprogramowania do kompleksowego zarządzania pracą maszyn, a nie jedynie ich sterowania.

Dla architekta sieci opracowanie tych funkcji niezależnie dla każdego rodzaju maszyny byłoby w najlepszym przypadku zniechęcające, a w rzeczywistości niepraktyczne. Jednocześnie tego rodzaju nowe funkcje oprogramowania są niezbędne do realizacji koncepcji „maszyny połączonej”, nie wspominając już o produkcji wykorzystującej technologię Przemysłowego Internetu Rzeczy. Rozwiązania przedstawione w artykule są zaprojektowane w celu stworzenia maszyn zdolnych do obsługi nowych cyfrowych modeli biznesowych.


John Kowal jest dyrektorem w dziale business development w firmie B&R Industrial Automation Corp.