• Nie Znaleziono Wyników

Automation Studio

N/A
N/A
Protected

Academic year: 2021

Share "Automation Studio"

Copied!
41
0
0

Pełen tekst

(1)

Sterowanie mechanizmów wieloczłonowych

Wykład 7 - Matlab Simulink + Sterownik PLC

mgr inż. Piotr Opieka (B&R)

Instytut Automatyki i Robotyki

Warszawa, 2019

(2)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Agenda

1 Oprogramowanie

Automation Studio Matlab/Simulink

Automation Studio Target for Simulink Simulink PLC Coder

2 Przykład zastosowania - wahadło odwrócone

Wahadło odwrócone Algorytm regulacji PID Algorytm regulacji LQR 3 Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID

Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

(3)

Simulink PLC Coder

B&R Industrial Automation

Rysunek:Logo B&R

Firma założona w 1979 roku w Austrii (Eggelsberg)

Od 2017 tworzy dział Machine & Factory Automation w grupie ABB Ponad 200 biur na całym świecie, ponad 3000 pracowników

W Polsce firma działa pod nazwą B&R Automatyka Przemysłowa Sp. z o.o. i zatrudnia ponad 40 osób

Wszystkie urządzenia programowane z poziomu jednego środowiska

(4)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Automation Studio Matlab/Simulink

Automation Studio Target for Simulink Simulink PLC Coder

Automation Studio

Konfiguracja wszystkich modułów B&R

Programowanie w standardzie IEC 61131-3 oraz C/C++

Rozbudowany symulator Szeroki wachlarz bibliotek

Modułowe aplikacje - mapp Technology

Instalacja

Oprogramowanie dostępne do pobrania ze strony www.br-automation.com

(5)

Simulink PLC Coder

Automation Studio

Rysunek:Struktura programu

(6)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Automation Studio Matlab/Simulink

Automation Studio Target for Simulink Simulink PLC Coder

Matlab/Simulink

Program Simulink należy do pakietu numerycznego Matlab firmy MathWorks

Rozwinięty tryb symulacji obiektów z czasem ciągłym i dyskretnym Szeroko wykorzystywany przy tworzeniu i testowaniu algorytmów sterowania

(7)

Simulink PLC Coder

Automation Studio Target for Simulink

Rysunek:Generowanie kodu

Automatyczna generacja kodu ze środowiska Matlab/Simulink do projektu w Automation Studio

Możliwość eksportu paczki jako program lub blok funkcyjny Transfer programu bezpośrednio na sterownik

Jednoczesny podgląd online parametrów w Automation Studio i Matlab/Simulink

(8)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Automation Studio Matlab/Simulink

Automation Studio Target for Simulink Simulink PLC Coder

Automation Studio Target for Simulink

Rysunek:On-Target Rapid Prototyping

„On-Target Rapid Prototyping”, czyli transfer algorytmu sterowania utwo- rzonego w środowisku Simulink na sterownik. W ten sposób możliwe jest uzyskanie bardziej zaawansowanych algorytmów sterowania w krótszym czasie i wyeliminowanie błędów w kodzie programu.

(9)

Simulink PLC Coder

Automation Studio Target for Simulink

Rysunek:Hardware-in-the-Loop

„Hardware-in-the-Loop”, czyli transfer modelu obiektu utworzonego w śro- dowisku Simulink na sterownik. Umożliwia przetestowanie zaimplemento- wanego już algorytmu sterowania na programie symulującym rzeczywisty obiekt. Dzięki temu testy są bezpieczne i zmniejszają ryzyko uszkodzenia rzeczywistego obiektu.

(10)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Automation Studio Matlab/Simulink

Automation Studio Target for Simulink Simulink PLC Coder

Simulink PLC Coder

Produkt firmy MathWorks

Generator kodu ze środowiska Matlab/Simulink na języki IEC 61131-3 Structured Text oraz Ladder Diagram

Niezależna platforma kompatybilna między innymi ze sterownikami:

B&R, Beckhoff, Rockwell, Siemens i środowiskiem CODESYS Obsługa jedynie bloków z czasem dyskretnym

(11)

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

(12)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Wahadło odwrócone Algorytm regulacji PID Algorytm regulacji LQR

Wahadło odwrócone

Rysunek:Rozkład sił w wahadle

Sumując siły działające na wózek w pionie i w poziomie otrzymujemy od- powiednie układy równań. Wiele algorytmów regulacji wymaga podania modelu obiektu w postaci równań stanu. W tym celu należy zlinearyzować układ równań w punkcie pracy.

(13)

Stanowisko laboratoryjne

Rysunek:Stanowisko wahadła odwróconego

Główny element stanowiska stanowi wózek z wahadłem, który został umiesz- czony na prowadnicy. Układ jest sterowany przez podawanie momentu siły na wał silnika, którego ruch jest przenoszony na wózek za pomocą paska zębatego. Do sensorów należy zaliczyć dwa potencjometry odczytujące po- zycję liniową oraz odchylenie kątowe wahadła i krańcówki po obu stronach konstrukcji.

(14)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Wahadło odwrócone Algorytm regulacji PID Algorytm regulacji LQR

Algorytm regulacji PID

Rysunek:Układ regulacji PID

Prosty i popularny regulator Kontrola jednej wielkości Uniwersalne rozwiązanie

(15)

Algorytm regulacji LQR

Regulator optymalny z kryterium kosztu Jednoczesna kontrola wielu wielkości Wykorzystuje model układu

Przykładowa funkcja kosztów:

JLQR = Z

0

[XT(t)QX (t) + UT(t)RU(t)]dt

gdzie Q i R są diagonalnymi macierzami wag umożliwiającymi zmianę wpływu poszczególnych zmiennych stanu i sterowań na przedstawione kry- terium jakości

(16)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Zamodelowane wahadło odwrócone

W ćwiczeniu wykorzystamy nieliniowy model wahadła odwróconego z wej- ściem ”Torque in”oraz wyjściami ”x out”oraz ”theta out”.

(17)

Ćwiczenia z regulatorem PID

Rysunek:Krok 1

Aby dobrać nastawy dla regulatora PID otwieramy program Simulink, a następnie plik o nazwie „wahadlo odwrocone”.

(18)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 2

Dodajemy blok regulatora PID. Znajdziemy go w kategorii „Simulink” -

„Continuous”.

(19)

Ćwiczenia z regulatorem PID

Rysunek:Krok 3

Tworzymy sprzężenie zwrotne od położenia kątowego.

(20)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 4

Wchodzimy w ustawienia regulatora PID, klikając na niego dwa razy. Wchodzimy w zakładkę „PID Advanced” i ustalamy limity na wyjściu. W rzeczywistym obiek- cie moment siły na silniku jest ograniczony do wartości 1,5 Nm i taką też wartość wpisujemy. Zmiany zatwierdzamy przyciskiem „Apply”.

(21)

Ćwiczenia z regulatorem PID

Rysunek:Krok 5

Wracamy do zakładki „Main” i klikamy na opcję samostrojenia „Tune”.

(22)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 6

Po wykonaniu odpowiednich operacji przez Tuner, naszym oczom powinno się ukazać następujące okno. Aby wyświetlić wyszukane wartości nastaw, klikamy opcję „Show parameters”.

(23)

Ćwiczenia z regulatorem PID

Rysunek:Krok 7

Do ręcznego skorygowania parametrów używamy suwaka. Przesuwając go w lewo lub w prawo, ustawiamy agresywność i szybkość algorytmu. Wybierając wariant

„Extended” otrzymujemy dostęp do dwóch suwaków – „Bandwidth” i „Phase margin”. Pierwszy określa agresywność algorytmu, drugi zaś decyduje o stabil- ności. Do wyboru mamy także rodzaj wyświetlanego wykresu. Wykres odpowiedzi skokowej nie będzie przydatny dla naszego układu, wybieramy więc wyświetlanie charakterystyki Bodego.

(24)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 8

Po ręcznej korekcie parametrów i wybraniu odpowiednich nastaw zatwier- dzamy zmiany i wychodzimy z ustawień regulatora. Aby zasymulować reak- cję układu na wytrącenie ze stanu równowagi, dodajemy dwa bloki „Step”.

(25)

Ćwiczenia z regulatorem PID

Rysunek:Krok 9

W pierwszym bloku ustawiamy skok z „0” na „1” w dziesiątej chwili cza- sowej.

(26)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 10

Aby stworzyć impuls, w drugim bloku ustawiamy skok z „0” na „-1” w jedenastej chwili czasowej.

(27)

Ćwiczenia z regulatorem PID

Rysunek:Krok 11

Odpowiednio sumujemy wypadkowy sygnał impulsu z sygnałem sterującym z regulatora za pomocą bloku „Add” z kategorii „Math Operations”. Aby dodać trzecie wejście, wpisujemy dodatkowy plus w odpowiedniej rubryce.

(28)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 12

Wszystkie bloki łączymy ze sobą w odpowiedni sposób.

(29)

Ćwiczenia z regulatorem PID

Rysunek:Krok 13

Dodajemy bloki „Scope” do obserwacji interesujących nas zmiennych, czyli war- tości sterowania, położenia kątowego i położenia liniowego wahadła. Przy testach należy sprawdzać odpowiedź układu, a więc zarówno położenie kątowe, jak i li- niowe. Patrząc jedynie na samo położenie kątowe możemy, na przykład, błędnie stwierdzić, że układ regulacji zrekompensował zakłócenie i wahadło stoi w miej- scu.

(30)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 14

Aby dokonać ponownego samostrojenia należy pamiętać o odłączeniu sy- gnału impulsu od układu!!!

(31)

Ćwiczenia z regulatorem PID

(a)Położenie kątowe (b)Położenie liniowe Rysunek:Przykładowa odpowiedź układu

(32)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Krok 15

W praktyce obiekt jest nieco bardziej skomplikowany. Dodajmy bardzo małe opóźnienie w torze sterowania o wartości 6 ms. W rzeczywistym obiekcie właśnie z takim opóźnieniem będziemy mieli do czynienia (czym może to być spowodowane?).

(33)

Ćwiczenia z regulatorem PID

Rysunek:Krok 16

W tym celu dodajemy blok „Transport Delay” z kategorii „Continuous” i wpisujemy odpowiednią wartość do parametru opóźnienia.

(34)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Ćwiczenia z regulatorem PID

Rysunek:Przykładowe wyjście z regulatora (moment)

Dodane opóźnienie sprawia, że układ jest trudniejszy do regulacji, na wyj- ściu z regulatora mogą nawet pojawić się drgania niegasnące. Testujemy nastawy do uzyskania zadowalających rezultatów.

(35)

Dodanie regulacji położenia liniowego wahadła

Rysunek:Układ regulacji z dwoma regulatorami PID

Aby kontrolować oba parametry wahadła, czyli położenie kątowe i liniowe, można dodać dodatkowy regulator PID. W najprostszym przypadku mogą to być dwa niezależne regulatory, których wartości sterowań są sumowane.

Pamiętajmy, że regulacja położenia liniowego ma znacznie mniejszy prio- rytet niż kątowego (dlaczego?).

(36)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Sterowanie regulatorem LQR

Rysunek:Układ regulacji z algorytmem LQR

Na potrzeby algorytmu model wahadła przedstawiono w postaci równań stanu z dodaną macierzą sprzężenia zwrotnego od stanu.

(37)

Sterowanie regulatorem LQR

Wartości macierzy stanu modelu wahadła:

A =

0 1 0 0

0 −1, 615 0, 527 0

0 0 0 1

0 −3, 314 21, 204 0

B =

 0 2, 485

0 5, 098

C =

 1 0 0 0

0 0 1 0



D =

 0 0



(38)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Sterowanie regulatorem LQR

Do obliczenia odpowiednich wartości można wykorzystać funkcję programu Matlab o nazwie ”lqr”. Funkcja ta pozwala uzyskać parametry potrzebne do realizacji sterowania, od użytkownika żądając jedynie podania macierzy A i B układu oraz macierzy wag Q, R (i opcjonalnie N).

Program uwzględnia następującą funkcję kosztów:

JLQR = Z

0

[XT(t)QX (t) + UT(t)RU(t) + 2XT(t)NU(t)]dt

(39)

Sterowanie regulatorem LQR

Składnia funkcji ma postać:

[K , P, e] = lqr (A, B, Q, R, N) gdzie,

K - macierz sprzężenia od stanu, P - rozwiązanie równania Riccatiego, e - położenie biegunów układu zamkniętego, A - macierz stanu układu,

B - macierz wejść układu, Q, R, N - macierze wag.

(40)

Oprogramowanie Przykład zastosowania - wahadło odwrócone Ćwiczenia w praktyce

Regulacja położenia kątowego z wykorzystaniem regulatora PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu PID Regulacja położenia kątowego i liniowego z wykorzystaniem algorytmu LQR

Sterowanie regulatorem LQR

Dobór nastaw regulatora LQR sprowadza się do wyznaczenia wag poszczegól- nych zmiennych. Do wektora stanu X w naszym układzie należą kolejno wartości położenia i prędkości liniowej i kątowej.

Stąd otrzymano następujące macierze wag regulatora LQR:

Q =

W1 0 0 0

0 0 0 0

0 0 W2 0

0 0 0 0

 oraz

R = W3

gdzie,

W1 - waga położenia liniowego, W2 - waga położenia kątowego, W3 - waga sterowania,

(41)

Sterowanie mechanizmów wieloczłonowych

Wykład 7 - Matlab Simulink + Sterownik PLC

mgr inż. Piotr Opieka (B&R)

Instytut Automatyki i Robotyki

Warszawa, 2019

Cytaty

Powiązane dokumenty

Zasady, według których ustalane są wyniki wyborów (system większościowy, proporcjonalny, mieszany) oraz przykłady państw, w których według tych reguł odbywają

W państwie demokratycznym mówi się czasem o wyborach pięcioprzymiotnikowych, gdyż są one powszechne, równe, bezpośrednie i proporcjonalne oraz odbywają się w głosowaniu

Czujnik położenia kątowego wału jest podstawowym elementem nowoczesnych układów sterowania.. Stosując bezpośrednie sprzężenie lub układ przekładni, ruch obrotowy wałka

Zbiegło to się z opublikowaniem przez Google katalogu niedozwolonych działań, których złamanie prowadziło do spadku widoczności strony w wyszukiwarce... Techniki BHS to nie

Szukanie z dzieckiem strategii do radzenia sobie z trudnymi doświadczeniami – aby to było możliwe, dziecko musi być w zielonej strefie, gdzie jest możliwość uczenia

Oddziaływania obiektu przedstawiono dla stanów śred- nich i wysokich (przejście fali powodziowej w Dunaju) w postaci różnic stanów wód podziemnych w odniesieniu do

Widok frezarki typu MCP..

wbudowane oprogramowanie Max for Live, dające dodatkowe instrumenty, efekty audio/MIDI oraz możliwość modyfikacji pracy całego