Sterowanie mechanizmów wieloczłonowych
Wykład 8 - Matlab Simulink + Sterownik PLC
mgr inż. Piotr Opieka (B&R)
Instytut Automatyki i Robotyki
Warszawa, 2019
Agenda
1 Eksport modelu wahadła odwróconego na sterownik PLC
Stworzenie modelu wahadła w programie Simulink Eksport za pomocą Simulink PLC Coder
Eksport za pomocą AS Target for Simulink
2 Zaprogramowanie algorytmu regulacji
Podstawy Automation Studio
Zaprogramowanie bloku regulatora PID Testy na symulatorze
Wahadło odwrócone
Rysunek:Wahadło odwrócone
Obiekt typu SIMO (single input, multiple outputs) Dwie wielkości sterowane - położenie i odchylenie Jedna wielkość sterująca - siła przyłożona do wózka Dwa punkty równowagi - pozycja pionowa górna i dolna
Stworzenie modelu wahadła w programie Simulink
Przybliżymy model wahadła odwróconego układem w przestrzeni stanu w dziedzinie dyskretnej. Zlinearyzowany model będzie poprawny dla niewiel- kich odchyleń kątowych wahadła od pionu.
Równania opisujące układ po dyskretyzacji będą miały postać:
X (k + 1) = AdX (k) + BdU(k) Y (k) = CdX (k) + DdU(k) gdzie:
Ad, Bd, Cd, Dd - dyskretne macierze stanu, wejść, wyjść i przenoszenia,
X - wektor stanu układu,
Y - wektor sygnałów wyjściowych, U - wektor sygnałów wejściowych.
Stworzenie modelu wahadła w programie Simulink
Rysunek:Utworzony model w środowisku Simulink
Eksport modelu za pomocą Simulink PLC Coder
Z naszego układu tworzymy podsystem. W tym celu należy zaznaczyć układ, kliknąć prawym przyciskiem myszy i wybrać opcję ”Create Sub- system from Selection”.
Rysunek:Krok 1
Eksport modelu za pomocą Simulink PLC Coder
Następnie klikamy prawym przyciskiem myszy na utworzony podsystem i zaznaczamy PLC Code - Enable ”Treat as atomic unit”to generate code.
W oknie zaznaczamy ”Treat as atomic unit”.
Rysunek:Krok 2
Eksport modelu za pomocą Simulink PLC Coder
Wchodzimy jeszcze raz w kategorię PLC Code i otwieramy okno ”Options”.
Wybieramy Target IDE jako B&R Automation Studio 4.0.
Rysunek:Krok 3
Eksport modelu za pomocą Simulink PLC Coder
Poprawność naszego bloku funkcyjnego możemy przetestować w PLC Code - Check Subsystem Compatibility.
Rysunek:Krok 4
Eksport modelu za pomocą Simulink PLC Coder
Aby wygenerować kod należy wybrać opcję PLC Code - Generate Code for Subsystem. W podsumowaniu możemy podejrzeć wygenerowane pliki
Rysunek:Krok 5
Tak stworzoną paczkę możemy zaimportować do odpowiedniego środowi- ska programistycznego, np. Automation Studio.
Eksport modelu za pomocą AS Target for Simulink
Automation Studio Target for Simulink funkcjonuje jako wtyczka do pro- gramu Matlab. Aby zainstalować narzędzie należy otworzyć z poziomu prze- glądarki plików Matlab plik instalacyjny install.p.
Rysunek:Krok 1
Uwaga! Przy pracy z narzędziem AS Target for Simulink zalecane jest otwarcie środowiska Matlab w trybie Administratora.
Eksport modelu za pomocą AS Target for Simulink
Po instalacji wtyczki użytkownik zyskuje dostęp do kategorii bloków funk- cyjnych ”B&R Automation Studio Toolbox”.
Rysunek:Krok 2
Eksport modelu za pomocą AS Target for Simulink
Do naszego modelu wklejamy blok B&R CONFIG. W nim znajduje się konfiguracja eksportowanej paczki.
Rysunek:Krok 3
Eksport modelu za pomocą AS Target for Simulink
Po kliknięciu dwa razy na blok ukaże nam się poniższe okno. W zakładce
”Model Configuration”możemy zmienić m.in. docelowy język i dyskretyza- cję układu. Ustawiamy czas próbkowania na 2 ms.
Rysunek:Krok 4
Eksport modelu za pomocą AS Target for Simulink
W zakładce ”Basic Settings”znajdziemy ustawienia eksportu paczki. Tutaj należy wpisać odpowiednią ścieżkę do docelowego projektu w Automation Studio.
Rysunek:Krok 5
Eksport modelu za pomocą AS Target for Simulink
Wklejamy do projektu bloki B&R IN oraz B&R OUT i podpinamy je pod odpowiednie zmienne. Bloki utworzą interfejs pomiędzy programem a ste- rownikiem.
Rysunek:Krok 6
Eksport modelu za pomocą AS Target for Simulink
Tak przygotowany model obiektu kompilujemy poleceniem ”Build Model”.
Po poprawnym wykonaniu eksportu na ekranie wyświetli się odpowiedni komunikat.
Rysunek:Krok 7
Podstawy Automation Studio
Rysunek:Automation Studio
Automation Studio jest rozbudowanym środowiskiem do obsługi kompo- nentów firmy B&R. Za pomocą narzędzia możemy programować sterowniki PLC, dokonywać konfiguracji modułów, tworzyć wizualizację, obsługiwać napędy i dokonywać diagnostyki.
Podstawy Automation Studio
Rysunek:Logical View
Zbiór programów i konfiguracji dla danego systemu nosi miano projektu.
W Automation Studio dostępne są trzy widoki podglądu projektu. ”Logical View”zawiera wszystkie jednostki organizacyjne projektu typu: programy, deklaracje zmiennych i struktur, biblioteki, wizualizacje, pliki użytkownika.
Podstawy Automation Studio
Rysunek:Physical View
Widok ”Physical View”obejmuje konfigurację i komunikację wszystkich modułów w systemie sterowania.
Podstawy Automation Studio
Rysunek:Klasy zadaniowości
Automation Runtime jest systemem operacyjnym sterowników B&R. Jest to wielozadaniowy system czasu rzeczywistego, który wykonuje każde zada- nie ze ściśle określonym czasem cyklu wykonywania, priorytecie i tolerancji.
Zaprogramowanie bloku regulatora PID
Otwieramy nowy projekt i eksportujemy do niego model używając AS Tar- get for Simulink. Sprawdzamy poprawność eksportu ze środowiska Simu- link. W widoku Logical View powinien pojawić się odpowiedni program oraz dodane biblioteki Matlab. Dodajemy również swój program, np. o nazwie
”Regulacja”.
Rysunek:Logical View
Zaprogramowanie bloku regulatora PID
Rysunek:MTBasics
Do zadania sterowania wahadłem odwróconym wykorzystamy bibliotekę MTBasics. Biblioteka zawiera szereg podstawowych bloków funkcyjnych przydatnych do regulacji procesu, m.in. blok regulatora PID, który użyjemy w projekcie. Opis biblioteki znajduje się w B&R Help Explorer w dziale Programming - Libraries - Mechatronics libraries - MTBasics
Zaprogramowanie bloku regulatora PID
Rysunek:MTBasicsPID
Blok funkcyjny MTBasicsPID posiada wejścia i wyjścia widoczne na ob- razku. Pomarańczowy obszar oznacza komendy i parametry niezbędne do pracy danego bloku, szary obszar oznacza cykliczne zmienne procesowe, a biały komendy i parametry opcjonalne.
Zaprogramowanie bloku regulatora PID
Rysunek:Przykładowy kod programu
Testy na symulatorze
Rysunek:Generacja zakłócenia
Używamy timera TON do generowania impulsów o odpowiedniej długości, które posłużą jako zakłócenie dla układu.
Testy na symulatorze
Rysunek:Przykładowa odpowiedź modelu
Testujemy nastawy regulatorów obserwując odpowiedź układu na podane
Sterowanie mechanizmów wieloczłonowych
Wykład 8 - Matlab Simulink + Sterownik PLC
mgr inż. Piotr Opieka (B&R)
Instytut Automatyki i Robotyki
Warszawa, 2019