MATLAB i Simulink w automatyce przemysłowej
Rafał Płatek print
Przed projektantami i producentami rozwiązań dla branży automatyki przemysłowej stawiane są coraz wyższe wymagania. Oczekiwania wobec produktów dotyczą przede wszystkim ich jakości i niezawodności. Wykorzystanie narzędzi środowisk MATLAB i Simulink ułatwia licznym firmom podołać postawionym wymaganiom, a także zmniejszyć koszty oraz czas realizacji projektu.
Projektowanie i produkcja sprzętu przeznaczonego do zastosowania w automatyce przemysłowej są związane z integracją różnych podsystemów. W skład kompletnego systemu wchodzą elementy mechaniczne, elektryczne, a także realizujące zadania przetwarzania sygnałów czy sterowania.
Model-Based Design
Wykonanie gotowego systemu jest procesem długotrwałym i wieloetapowym. Oprogramowanie MATLAB i Simulink, wraz z zastosowaniem metodyki Model-Based Design (MBD), wspiera pracę inżynierów na każdym etapie. Umożliwia modelowanie systemu, symulację, automatyczną generację kodu oraz testowanie i weryfikację. MATLAB to środowisko obliczeń numerycznych, wizualizacji i programowania. Pozwala na rozwijanie algorytmów, tworzenie aplikacji, obliczenia równoległe, automatyczną generację kodu i przygotowanie raportów.
Simulink rozszerza funkcje oprogramowania o symulację systemów dynamicznych za pomocą hierarchicznych schematów blokowych. W zagadnieniach związanych z automatyką przemysłową pełnię możliwości pakietu MATLAB i Simulink można wykorzystać, stosując metodykę Model-Based Design. Podejście to polega na oparciu każdego etapu projektowania na modelu zbudowanym w programie Simulink. W tradycyjnym procesie projektowania między poszczególnymi etapami występują wyraźne granice. Widoczny jest również podział między zespołami pracującymi nad projektem. Każdy z nich realizuje swoje zadania, a efekty ich pracy są integrowane na końcu procesu. Także weryfikacja i testy opracowanego rozwiązania następują dopiero po zakończeniu wcześniejszych prac.
Zastosowanie metodyki MBD pozwala na łatwiejsze przechodzenie między poszczególnymi etapami procesu oraz ułatwia komunikację pomiędzy zespołami projektowymi. Jest to możliwe dzięki wykorzystywaniu, w każdej fazie projektu oraz przez każdy zespół, modeli programu Simulink, które pełnią funkcję platformy komunikacyjnej. W jednym modelu mogą być zawarte elementy mechaniczne, elektryczne oraz algorytmy sterowania lub przetwarzania sygnałów. Istotną zaletą MBD jest możliwość ciągłego testowania oraz weryfikacji na każdym etapie projektu.
Takie podejście znajduje zastosowanie w licznych projektach z dziedziny automatyki przemysłowej. Można tu wymienić m.in. systemy sterowania robotów przemysłowych, automatyzację produkcji, algorytmy sterowania napędów elektrycznych czy też konwersję energii.
Modelowanie i symulacja
W początkowej fazie projektu powstaje specyfikacja, która ma określać sposób zachowania budowanego urządzenia lub systemu. Już na tym etapie można rozpocząć korzystanie z metodyki MBD. Tworzenie specyfikacji projektu w postaci modelu pozwala na jasne i jednoznaczne określenie elementów składowych, ich interfejsów, a także wzajemnych zależności. Jednocześnie utworzony model jest wykonywalną specyfikacją, ponieważ można przeprowadzać jego symulacje. Podczas projektowania systemu da się wykorzystać standardowe bloki programu Simulink, realizujące proste modele matematyczne, a także bloki pakietu Simscape, które umożliwiają modelowanie fizyczne. Takie podejście zwalnia projektanta z wnikania w matematyczny opis pracy danego komponentu. Biblioteki Simscape, SimMechanics, SimElectronics, SimDriveline, Sim-PowerSystems oraz SimHydraulics zawierają wiele elementów, gotowych do wykorzystania w modelach (m.in. napędy, sprzęgła, zawory, czujniki).
W trakcie modelowania systemu duże znaczenie ma również możliwość wykorzystania narzędzi przeznaczonych do projektowania systemów sterowania. W środowiskach MATLAB i Simulink dostępne są przyborniki do projektowania standardowych systemów sterowania (Simulink Control Design, Control System Toolbox), sterowania rozmytego (Fuzzy Logic Toolbox), sieci neuronowych (Neural Network Toolbox) czy też systemów decyzyjnych i maszyn skończenie stanowych (Stateflow). Można również przeprowadzić optymalizację nastaw, parametrów (Simulink Design Optimization, Optimization Toolbox) oraz identyfikację systemu (System Identification Toolbox).
Możliwość przeprowadzania symulacji ma bardzo duże znaczenie dla zespołu pracującego nad projektem. Ułatwia szybkie sprawdzenie różnych wariantów rozwiązania, a także przeprowadzenie optymalizacji parametrów systemu. Testowanie kolejnych rozwiązań nie wiąże się z dodatkowymi kosztami, ponieważ nie trzeba budować prototypu dla każdego pomysłu. Ważną zaletą jest także sposobność przeprowadzenia symulacji zachowania się systemu w sytuacjach skrajnych, w których testy na prototypie wiązałyby się ze stworzeniem zagrożenia (np. systemy energetyczne lub napędy).
Automatyczna generacja kodu
Po zakończeniu symulacji i opracowaniu najlepszego rozwiązania należy przejść do etapu implementacji. W tej fazie projektu budowane są podsystemy mechaniczne i elektryczne, natomiast elementy programistyczne mogą zostać wygenerowane automatycznie. Dzięki narzędziom automatycznej generacji kodu można uniknąć błędów popełnianych podczas ręcznego kodowania, zoptymalizować powstający kod czy też ograniczyć nakład pracy programistów. Moduły oferowane przez środowiska MATLAB i Simulink, przeznaczone do automatycznej generacji kodu, to:
- MATLAB Coder – generuje niezależny kod C i C++ (zgodny z ANSI/ISO) z kodu języka MATLAB.
- Simulink Coder – generuje niezależny kod C i C++ z modeli programu Simulink, diagramów Stateflow oraz funkcji MATLABa. Otrzymany kod może służyć do przyspieszenia symulacji, zadań szybkiego prototypowania oraz testów typu hardware-in-the-loop.
- Embedded Coder – rozszerza możliwości narzędzi MATLAB i Simulink Coder, pozwala generować czytelny, zwarty i szybki kod produkcyjny C/C++, przeznaczony do pracy na konkretnym sprzęcie.
- HDL Coder – generuje przenośny i syntezowalny kod Verilog oraz VHDL. Otrzymany kod może być wykorzystany na układach FPGA oraz ASIC.
- Simulink PLC Coder – generuje sprzętowo niezależny kod w języku ST (Structured Text), zgodny z wymaganiami normy IEC 61131. Wygenerowany kod może być użyty do programowania kontrolerów PLC i PAC.
Narzędzia automatycznej generacji kodu wspierają liczne platformy sprzętowe, a także współpracują z wieloma popularnymi środowiskami programistycznymi (IDE).
Weryfikacja projektu
Zastosowanie metodyki MBD daje możliwość ciągłej weryfikacji projektu we wszystkich jego fazach. Dostępne są narzędzia sprawdzające kompatybilność zbudowanego modelu z dokumentacją zawierającą wymagania. Podobnie można przeprowadzać weryfikację zgodności wygenerowanego kodu z modelem, z którego kod pochodzi. Powstały w projekcie kod można również poddać analizie statycznej oraz przetestować pod względem błędów czasu wykonania (z wykorzystaniem produktów z rodziny Polyspace). Dokumentowanie prac projektowych usprawniają narzędzia automatycznej generacji dokumentacji (MATLAB i Simulink Report Generator). Funkcje te znacznie ułatwiają sprawdzenie poprawności projektu i przeprowadzenie procesu certyfikacji produktu. Dla wsparcia procesu certyfikacji dostępny jest IEC Certification Kit, który zawiera dokumentację, certyfikaty i szablony, pomocne w procesie certyfikacji, zgodnie z wymaganiami norm ISO 26262, IEC 61508, EN 50128 oraz IEC 62304.
Zastosowanie
Wiele firm produkujących sprzęt oraz instytucji badawczych i jednostek naukowych, zajmujących się automatyką przemysłową, zdecydowało się na wykorzystanie narzędzi środowiska MATLAB i Simulink. Wśród nich można wymienić:
- Festo – zaprojektowanie i implementacja systemu sterowania pneumatycznym ramieniem robota. Narzędzia z rodziny MATLAB i Simulink posłużyły do modelowania, symulacji, optymalizacji oraz generacji kodu. Istotną zaletą zastosowania MBD było osiągnięcie zautomatyzowanej, pełnej implementacji rozwiązania na sterowniku PLC.
- ATB Technologies – opracowanie oprogramowania sterującego, które maksymalizuje wydajność silnika synchronicznego. Przeprowadzono symulację oraz wykorzystano automatyczną generację kodu do implementacji rozwiązania na procesorze TI C2000. Użycie MBD pozwoliło na skrócenie czasu realizacji projektu o połowę.
- Centre for Concepts in Mechatronics – wykonanie systemu sterowania, który pozwolił na zwiększenie rozdzielczości obrazu uzyskiwanego przez drukarki przemysłowe. Narzędzia środowisk MATLAB i Simulink wykorzystano do realizacji projektu oraz implementacji rozwiązania. Pozwoliło to na zrobienie kolejnych iteracji projektu w bardzo krótkim czasie, a także uzyskanie rozwiązania niezależnego od platformy sprzętowej.
Więcej przykładów użycia oprogramowania MATLAB i Simulink można znaleźć na stronie producenta, pod adresem www.mathworks.com/company/user_stories/.
OPROGRAMOWANIE NAUKOWO-TECHNICZNE
ul. Oboźna 11
30-011 Kraków
tel. 12 630 49 50
e-mail: info@ont.com.pl
www.ont.com.pl
source: Automatyka 3/2015