Automatyczne generowanie kodu w sterowaniu układami mechatronicznymi

Pracochłonna, ręczna implementacja kodu, niosąca często ryzyko popełnienia błędu, należy już do przeszłości. Innowacyjne rozwiązania układów regulacji mogą być współcześnie badane i rozwijane między innymi z użyciem Matlaba i Simulinka, a następnie wgrywane do sterowników B&R za pomocą AR4Matlab.  

Zacznijmy od wyjaśnienia podstawowych pojęć związanych z tym tematem:
 
Szybkie prototypowanie
Polega na automatycznym generowaniu kodu programu sterowania do wybranej platformy docelowej z poziomu Matlab/Simulink. Nawet bardzo złożone struktury regulatorów mogą w łatwy sposób zostać zaimplementowane w ramach funkcji sterujących urządzenia czasu rzeczywistego. Wiele potencjalnie dobrych koncepcji nie jest wprowadzanych w życie z uwagi na długi czas (i niebezpieczeństwo niepowodzenia) implementacji w urządzeniu docelowym. Dzięki szybkiemu prototypowaniu wszystkie koncepcje można efektywnie i szybko przetestować w warunkach rzeczywistych.  

Symulacje Hardware-in-the-loop  

Każda modyfikacja regulatora (parametrów, struktury) niesie ze sobą niebezpieczeństwo uszkodzenia urządzenia sterowanego podczas prac uruchomieniowych. Zagadnienie badań symulacyjnych HIL polega na przesłaniu do docelowego systemu sterowania zarówno regulatora, jak i modelu sterowanego procesu (opracowanych w Matlab/Simulink). Odpowiednio przygotowana aplikacja PLC pełni rolę systemu obliczeniowego symulowanego modelu sterowanego procesu. Dzięki temu możliwe jest (bez niebezpieczeństwa uszkodzenia elementów rzeczywistego procesu) przetestowanie rozmaitych koncepcji systemów sterowania (regulatorów). Możliwe jest również testowanie takiego rozwiązania, w którym zarówno regulator, jak i symulowany proces wgrywane są do jednego systemu docelowego.  

AR4Matlab firmy Bernecker&Rainer  
Jak już wspomniano, szybkie prototypowanie umożliwia prostą i elastyczną implementację najbardziej nawet wyszukanych struktur układów regulacji w systemach B&R. Innowacyjne rozwiązania układów regulacji, które w przeszłości byłyby pewnie zarzucone z powodu nakładu pracy, jaki trzeba byłoby ponieść na ich przetestowanie w warunkach eksperymentu praktycznego, mogą być współcześnie badane i rozwijane z użyciem Matlaba i Simulinka. Wgrywanie ich do sterowników B&R odbywa się za pomocą AR4Matlab (B&R Automation Studio Target dla Simulink).  
Pracochłonna, ręczna implementacja kodu, która niesie często ryzyko popełnienia błędu, należy już do przeszłości. Procedura jest całkiem prosta (patrz rysunek powyżej): zadanie opracowane w formie schematu blokowego modelu Matlab/Simulink, w kilku krokach przenoszone jest do sterownika B&R z użyciem funkcji B&R Automation Studio Target dla Simulink.

Aby uniknąć zniszczenia elementów (np. urządzeń wykonawczych) sterowanego procesu podczas testów nowo opracowywanych algorytmów sterowania, dobrze jest najpierw zaimplementować krytyczne dla działania elementy w środowisku emulacyjnym (symulującym rzeczywiste działanie). W tym celu można wykorzystać drugi sterownik B&R (patrz rys. 2.). Zadanie sterowania, które stanowi emulację sterowanego systemu, symuluje zachowanie rzeczywistego procesu tak dokładnie, na ile jest to możliwe. Nowe koncepcje systemów sterowania testowane są dzięki temu w środowisku symulacyjnym. A zatem ryzyka zniszczenia komponentów sprzętowych sterowanego procesu.
Jeżeli zastosowanie może mieć sterownik o wystarczająco dużej mocy obliczeniowej, wtedy obydwa zadania – sterowania i emulacji procesu – mogą zostać uruchomione na jednym systemie docelowym. Jest to możliwe dzięki strukturze zadań sterowania w projekcie Automation Studio. Należy tutaj zauważyć, że wszędzie tam, gdzie podczas badań symulacyjnych hardware-in-the-loop trzeba uwzględniać specyfikę działania fizycznych We/Wy, należy stosować dwa systemy docelowe. Osobno dla układu regulacji i modelu sterowanego procesu.  

Cechy charakterystyczne AR4Matlab  
Największą zaletą AR4Matlab, z punktu widzenia użytkowników, dla których środowisko Matlab/Simulink jest typowym narzędziem symulacji oraz projektowania układów sterowania, jest zupełny brak problemów z opanowaniem techniki programowania zadań sterowania w sprzęcie B&R. Użytkownicy ci z pewnością docenią możliwość przeniesienia swoich pomysłów wprost do programu, który jest wykonywany przez deterministyczny, wielozadaniowy system operacyjny czasu rzeczywistego przez fizyczne urządzenie sterujące.

Z drugiej strony użytkownicy sterowników B&R, wraz z AR4Matlab, uzyskują nowe, wielofunkcyjne narzędzie. Takie, które może w efektywny sposób poprawić jakość projektowanych, złożonych systemów sterowania – dzięki możliwości ich weryfikacji w warunkach symulacji Hardware-in-the-loop (algorytm wraz z modelem symulacyjnym sterowanego procesu wykonywane są w czasie rzeczywistym przez urządzenie sterujące).

Przykład zastosowania – OCEAN  
Z uwagi na swoje właściwości oprogramowanie AR4Matlab znajduje zastosowanie wszędzie tam, gdzie konieczny jest duży nakład pracy, a wynik podejmowanych działań nie jest do końca pewny. Takim właśnie przypadkiem z całą pewnością są projekty naukowo-badawcze. Oprogramowanie AR4Matlab wykorzystywane jest podczas realizacji projektu OCEAN*, prowadzonego przez interdyscyplinarny zespół Wydziału Elektrycznego i Wydziału Inżynierii Mechanicznej i Mechatroniki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie. Aktualnie prowadzone są próby na obiekcie, jakim jest obrabiarka z układem napędowym opartym na śrubach tocznych. Kolejne badania będą obejmować rozwiązanie oparte o silniki liniowe.

Obiektem sterowania jest 3-osiowa obrabiarka (frezarka) sterowana numerycznie. Z punktu widzenia systemu sterowania jest to „arystokrata” wśród obiektów. Z jednej strony łączy wszystkie aspekty automatyzacji procesów przemysłowych (komunikacja w sieci, sterowanie cyfrowe, sterowanie ruchem z użyciem serwonapędów, wizualizację sterowanego procesu), z drugiej zaś parametry obróbki skrawaniem (w przypadku frezowania metali jest to dokładność na poziomie pojedynczych mikrometrów). To sprawia, że zagadnienie poprawy jakości sterowania tego typu układami stanowi bardzo atrakcyjny temat i nie lada wyzwanie.  

Upraszczając, realizacja podstawowych funkcji systemu sterowania CNC sprowadza się do kilku czynności:

  • włączenie zasilania,
  • sprawdzenie komunikacji,
  • inicjalizacja systemu CNC,
  • inicjalizacja poszczególnych osi ruchu,
  • zasilenie regulatorów w osiach, 
  • oczekiwanie na ruch / rozpoczęcie wykonywania programu obróbki,
  • rozpoczęcie realizacji funkcji zawartych w programie,
  • zakończenie wykonywania programu obróbki.

O indywidualnych cechach systemu stanowi to, co można zrobić w otwartym systemie sterowania (w porównaniu do dostępnych na rynku systemów CNC), poza realizacją funkcji zawartych w programie obróbki. System otwarty, którego architekturę sprzętowo-programową opracowano w ramach omawianego tutaj projektu, ma aktualnie funkcjonalności, dzięki którym możliwe będzie (po opracowaniu zaleceń co do postępowania i odpowiednich algorytmów obliczeniowych) wprowadzenie korekt procesu obróbczego, które obejmować będą m.in.:

  • bloki korekcyjne uwzględniające zagadnienia termiczne podczas obróbki,
  • bloki korekt uwzględniających drgania układu,
  • bloki korekt z uwagi na siłę skrawania,
  • bloki korekt z uwagi na odkształcenia / niedokładności konstrukcji obrabiarki,
  • bloki korekt z uwagi na zmienne w czasie obciążenie układu napędowego wskutek ubytkowego charakteru obróbki,
  • bloki korekt z uwagi na początkowe położenie obrabiarki względem przedmiotu obrabianego,
  • bloki korekt online, uwzględniających opracowany w ramach projektu model układu i jego zmienność.

System w aktualnej wersji umożliwia podczas wykonywania procesu obróbki wprowadzanie (jako korekty wartości zadanych w poszczególnych osiach ruchu) dodatkowych sygnałów co 400 mikrosekund. Alternatywnie możliwe jest (co 2 milisekundy) dokonywanie zmian wartości parametrów regulatorów serwonapędów w poszczególnych osiach ruchu.  
Po opracowaniu modelu funkcje sterujące zostaną rozbudowane (po przeprowadzeniu odpowiednich badań symulacyjnych na przyjętych modelach) i zaimplementowane w bibliotece oprogramowania Matlab/Simulink, opracowanej podczas realizacji zadań badawczych projektu OCEAN, na potrzeby kolejnych, planowanych w przyszłości projektów (na lata 2010–2013).

Dzięki zastosowaniu narzędzi takich jak AR4Matlab opracowane bloki korekcyjne można będzie szybko przetestować, dzięki funkcjonalności automatycznego generowania kodu, w warunkach pracy na obiekcie rzeczywistym. Pierwsze próby implementacji korekt, z uwagi na niedokładności i luzy w korpusie, zaplanowane są na czerwiec bieżącego roku.  

Dr inż. Krzysztof Pietrusewicz jest pracownikiem Instytutu Automatyki Przemysłowej Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie.