Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Podobne dokumenty
PODSTAWY AUTOMATYKI. Wprowadzenie do Simulinka środowiska MATLAB. Materiały pomocnicze do ćwiczeń laboratoryjnych - - termin T3

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy SIMULINKA

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Modele układów dynamicznych - laboratorium. SIMULINK - wprowadzenie

Podstawy Informatyki 1. Laboratorium 8

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

Wprowadzenie do SIMULINKA

Transmitancje układów ciągłych

PODSTAWY AUTOMATYKI. MATLAB - instrukcje i funkcje zewnętrzne. Grafika w Matlabie. Wprowadzenie do biblioteki Control System Toolbox.

Ćwiczenie nr 1 Odpowiedzi czasowe układów dynamicznych

Katedra Automatyzacji Laboratorium Podstaw Automatyzacji Produkcji Laboratorium Podstaw Automatyzacji

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Uruchamianie Aby uruchomić środowisko Simulink należy wpisać w command window Matlaba polecenie simulink lub kliknąć na pasku zadań ikonę programu:

O co chodzi z tym MATLAB'em?!

WPROWADZENIE DO ŚRODOWISKA SCICOS

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYKA

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych

Identyfikacja i modelowanie struktur i procesów biologicznych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Badanie wpływu parametrów korektora na własności dynamiczne układu regulacji automatycznej Ćwiczenia Laboratoryjne Podstawy Automatyki i Automatyzacji

Teoria sterowania - studia niestacjonarne AiR 2 stopień

Rys 1 Schemat modelu masa- sprężyna- tłumik

Regulacja dwupołożeniowa.

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

UWAGA. Program i przebieg ćwiczenia:

KOMPUTERY W STEROWANIU. Ćwiczenie 5 Projektowanie kompensatora cyfrowego metodą symulacji

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 3 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

7.2.1 Przeglądarka elementów i dostęp do pomocy

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wzmacniacze operacyjne

ĆWICZENIE 6 Transmitancje operatorowe, charakterystyki częstotliwościowe układów aktywnych pierwszego, drugiego i wyższych rzędów

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Ćwiczenie - 1 OBSŁUGA GENERATORA I OSCYLOSKOPU. WYZNACZANIE CHARAKTERYSTYKI AMPLITUDOWEJ I FAZOWEJ NA PRZYKŁADZIE FILTRU RC.

1. Opis teoretyczny regulatora i obiektu z opóźnieniem.

Systemy. Krzysztof Patan

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Podstawowe zastosowania wzmacniaczy operacyjnych

1 Układy wzmacniaczy operacyjnych

Laboratorium nr 3. Projektowanie układów automatyki z wykorzystaniem Matlaba i Simulinka

1.3. Proste przykłady wykorzystania Scicosa

LABORATORIUM MODELOWANIA I SYMULACJI

Tematyka egzaminu z Podstaw sterowania

Podstawy Automatyki. Wykład 2 - podstawy matematyczne. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

PODSTAWY AUTOMATYKI. Analiza w dziedzinie czasu i częstotliwości dla elementarnych obiektów automatyki.

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Instrukcja nr 6. Wzmacniacz operacyjny i jego aplikacje. AGH Zespół Mikroelektroniki Układy Elektroniczne J. Ostrowski, P. Dorosz Lab 6.

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7

Projektowanie układów metodą sprzężenia od stanu - metoda przemieszczania biegunów

c - częstość narodzin drapieżników lub współczynnik przyrostu drapieżników,

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Katedra Metrologii i Systemów Diagnostycznych Laboratorium Metrologii II. 2013/14. Grupa: Nr. Ćwicz.

INSTRUKCJA DO ĆWICZENIA NR 7

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

przy warunkach początkowych: 0 = 0, 0 = 0

Laboratorium nr 1. Diagnostyka z wykorzystaniem modelu. 2 Detekcja uszkodzeń na podstawie modeli obiektu

Symulacja pracy silnika prądu stałego

Podstawy inżynierii sterowania Ćwiczenia laboratoryjne

Badanie właściwości dynamicznych obiektów I rzędu i korekcja dynamiczna

A-2. Filtry bierne. wersja

Wprowadzenie do Mathcada 1

Ćwiczenie nr 6 Charakterystyki częstotliwościowe

Podstawy Elektroniki dla Informatyki. Wzmacniacze operacyjne

Państwowa Wyższa Szkoła Zawodowa

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Inteligentnych Systemów Sterowania

Laboratorium elementów automatyki i pomiarów w technologii chemicznej

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Laboratorium 1. Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

WPROWADZENIE DO ŚRODOWISKA SCILAB

Rys.1. Model cieplny odcinka toru prądowego reprezentowany elementami biblioteki Power System Blockset

Laboratorium nr 1. dsolve( rownanie1, rownanie2,, warunek 1, warunek 2 );

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

Laboratorium z automatyki

Badanie właściwości dynamicznych obiektów I rzędu i korekcja dynamiczna

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Politechnika Białostocka

Projektowania Układów Elektronicznych CAD Laboratorium

Podstawy budowy wirtualnych przyrządów pomiarowych

Procedura modelowania matematycznego

Państwowa Wyższa Szkoła Zawodowa

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

4. Właściwości eksploatacyjne układów regulacji Wprowadzenie. Hs () Ys () Ws () Es () Go () s. Vs ()

1. Rejestracja odpowiedzi skokowej obiektu rzeczywistego i wyznaczenie podstawowych parametrów dynamicznych obiektu

Program ćwiczenia: SYSTEMY POMIAROWE WIELKOŚCI FIZYCZNYCH - LABORATORIUM

Transkrypt:

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Teoria sterowania Wprowadzenie do Simulinka w środowisku MATLAB Materiały pomocnicze do ćwiczeń laboratoryjnych Część 9 Opracowanie: Michał Grochowski, dr inż. Robert Piotrowski, dr inż. Łukasz Michalczyk, mgr inż. Gdańsk

. Wprowadzenie do budowy modeli w Simulinku Simulink jest jedną z nakładek środowiska MATLAB. Służy głównie do przeprowadzania badań symulacyjnych. Simulink pozwala budować schematy blokowe układów (modele symulacyjne) przy pomocy interfejsu graficznego i tzw. bloków. Simulink umożliwia przeprowadzanie zarówno symulacji z czasem dyskretnym jak i ciągłym. Definiując obiekty w Simulinku mamy możliwość odwoływania się do istniejących w pamięci zmiennych, dostępnych z wiersza poleceń środowiska MATLAB. Ogólne zasady budowy schematów analogowych Budowa modeli komputerowych w Simulinku opiera się na budowie schematów analogowych. Poniżej przedstawiono ogólne zasady tworzenia schematów analogowych pozwalających na numeryczne rozwiązywanie równań różniczkowych zwyczajnych, przy pomocy metody Kelvina (metoda ogólna). Metoda Kelvina rozwiązywania równań różniczkowych zwyczajnych Dane jest równanie różniczkowe n-tego rzędu: y ( t) a y ( t) a y ( t) a y( t) g( x, t) () ( n) ( n) ( n) n ( n gdzie y ) () t oznacza n-tą pochodną funkcji yt (), a, a,..., a n są stałymi współczynnikami występującymi przy tej funkcji, natomiast g( x, t ) jest niezależną funkcją. Dysponując warunkami początkowymi: y y y y () () ( n) o y o o o y... y y 00 0 0 ( n)0 () możemy rozwiązać równanie () względem funkcji yt () przy pomocy odpowiednio skonstruowanego schematu analogowego. Aby doprowadzić do takiego schematu należy przekształcić równanie do postaci, w której po lewej stronie równania będzie występowała najwyższa pochodna funkcji yt () ( n czyli y ) () t. Jeżeli w równaniu () przy najwyższej potędze występuje jakiś współczynnik, należy go wyeliminować dzieląc przez niego równanie (obustronnie). Po przekształceniach, równanie () będzie miało następującą postać: ( n) ( n) ( n) y t g x t a y t a y t a n y t ( ) (, ) ( ) ( ) ( ) (3)

Dla tak przedstawionego równania możemy skonstruować schemat analogowy przedstawiony na Rys.. y (n-)0 y (n-)0 y 00 g(x,t) y (n) (t) y (n-) (t) y (n-) (t) y(t) -a -a -a n Rys.. Realizacja analogowa rozwiązania równania różniczkowego (3) Rys. przedstawia funkcje poszczególnych elementów użytych na Rys.. warunek poczatkowy integrator (element całkujący) sumator wzmacniacz Rys.. Elementy schematów analogowych Efektem działania schematu z Rys. jest możliwość obserwacji wyjścia yt () czyli rozwiązania równania (). Przykład Obiekt opisany jest równaniem różniczkowym postaci: z warunkiem początkowym: 8 y t 6u t (4) y 0. Zbuduj schemat analogowy wiążący wyjście yt () z wejściem ut (). 3

Przykładowe rozwiązanie: Przekształcamy równanie do następującej postaci: 3u t 4 y t (5) Mamy zatem: u(t) 3 dy(t)/ y 00 = y(t) -4 Rys. 3. Realizacja analogowa rozwiązania równania różniczkowego (5) z Przykładu Przykład Obiekt opisany jest równaniem różniczkowym postaci: z warunkami początkowymi: 4 y t 5u t (6) y 0 3 i y 0 0. Zbuduj schemat analogowy wiążący wyjście yt () z wejściem ut (). t0 Przykładowe rozwiązanie: Przekształcamy równanie do następującej postaci: 5u t 4 y t (7) Mamy zatem: u(t) 5 d y(t)/ y 0 =0 y 00 =3 dy(t)/ y(t) -4 Rys. 4. Realizacja analogowa rozwiązania równania różniczkowego (7) z Przykładu Przykład 3 4

Dla nieobciążonego prądowo czwórnika RLC (Rys. 5) z wyjściem pojemnościowym, zbuduj schemat analogowy wiążący napięcie wyjściowe u () t z napięciem wejściowym uwe (). t R L i RL(t) i obc(t) wy u we(t) u R(t) u L(t) u C(t) i C(t) C u wy(t) Rys. 5. Schemat nieobciążonego prądowo czwórnika RLC Korzystając z II prawa Kirchhoff a dla wejściowego oczka możemy napisać: u R ( t) u ( t) u ( t) u ( t) (8) Ponao, dla tego układu zachodzą następujące zależności: napięciowe: ; ; u t u t u t i t R u t L L C we t RL wy C R RL L (9) di prądowe: C i t C du t C (0) Po podstawieniu zależności (9) i (0) do równania (8) otrzymamy: d u t du t () wy wy L C R C uwy t uwe t Aby zbudować schemat analogowy umożliwiający rozwiązanie równania () względem napięcia wyjściowego u (), t należy zgodnie z przedstawionymi wcześniej regułami wy doprowadzić do postaci, w której po lewej stronie równania będzie występowała jedynie najwyższa potęga napięcia wyjściowego u (). t Zatem mamy: wy u t R d uwy t du we wy t uwy t L C L L C () Na podstawie równania () możemy zbudować odpowiedni schemat analogowy, co pokazano na Rys. 6. 5

u we (t) /LC d u wy (t)/ u wy0 du wy (t)/ u wy00 u wy (t) -(R/L) -(/LC) Rys. 6. Realizacja analogowa rozwiązania równania różniczkowego () z Przykładu 3 Dzięki schematowi przedstawionemu na Rys. 6 jesteśmy w stanie obserwować napięcie wyjściowe uwy () t pod wpływem zmian napięcia wejściowego uwe(), t co stanowi szukane rozwiązanie równania różniczkowego. UWAGA: Należy pamiętać, aby w odpowiednim miejscu wprowadzić do integratorów warunki początkowe. 6

. Pierwsze kroki w Simulinku Schematy blokowe układów w nakładce Simulink buduje się między innymi w oparciu o bloki statyczne i dynamiczne, liniowe i nieliniowe, funkcje matematyczne i operacje logiczne, itp. Użytkowanie Simulinka można podzielić na dwa etapy. W pierwszym z nich budowany jest schemat blokowy układu odpowiadający matematycznemu opisowi tego układu. Etap drugi polega na analizie zbudowanego wcześniej modelu symulacyjnego. Mogą zachodzić interakcję pomiędzy etapami, np. można zatrzymać symulację w celu zmiany struktury czy parametrów modelu. W opracowaniu dalszej części materiału korzystano ze środowiska Matlab w wersji 7.4 (R007a) oraz z nakładki Simulink w wersji 6.6, jednak praca w innych wersjach Matlaba wygląda tak samo. Praca w bibliotece Simulink odbywa się z poziomu środowiska Matlab i jej rozpoczęcie możliwe jest na dwa sposoby (patrz Rys. 7): kliknięcie na ikonę Simulink, wpisanie komendy simulink w Command Window. Rys. 7. Ogólny rysunek środowiska MATLAB z wyszczególnieniem nakładki Simulink Wszystkie bloki Simulinka zostały podzielone na 8 grup (patrz Rys. 8). 7

Rys. 8. Grupy bloków w Simulinku Opis elementów i bibliotek Simulinka jest przedstawiony w dalszej części opracowania. Budowę schematów blokowych układów w Simulinku rozpoczyna się poprzez otwarcie nowego projektu (nowego modelu) (patrz Rys. 9). Rys. 9. Otwarcie nowego projektu w Simulinku Przenoszenie poszczególnych bloków do nowego projektu polega na opcji przeciągnij i upuść (ang. drag and drop) w odpowiednie miejsce tego projektu, a następnie ich połączeniu. Połączenie bloków liniami odbywa się za pomocą lewego przycisku myszy (bez jego zwalniania), poprzez przeciągniecie kursora od jednego do drugiego bloku (patrz Rys. 0). 8

Rys. 0. Przenoszenie i łączenie bloków w bibliotece Simulink Każdy blok można obracać poprzez jego zaznaczenie i użycie z menu Format opcji Rotate Block lub klawiszami Ctrl-R. W celu bezpośredniego przeprowadzenia symulacji możemy ją uruchomić klikając na symbol grotu strzałki (patrz Rys. 0), lub najpierw ustawić parametry symulacji korzystając z menu Simulation i opcji Configuration Parameters. Spośród wielu ustawień istnieje możliwość określenia między innymi czasu początku i końca symulacji, metody całkowania numerycznego, początkowego, minimalnego i maksymalnego kroku całkowania, błędu całkowania (patrz Rys. ). 9

Rys.. Ustawienia parametrów symulacji w Simulinku Po przeprowadzeniu symulacji można obejrzeć wynik działania modelu układu. Na Rys. pokazano wynik działania przykładowego modelu układu z Rys. 0 klikając na blok Scope. Rys.. Przykładowy wynik działania modelu zbudowanego w Simulinku 0

3. Opis bibliotek Simulinka Poniżej przedstawiono wybrane elementy poszczególnych bloków Simulinka. Wszystkie bloki są opisane w pomocy Simulinka środowiska MATLAB: The Mathworks. Simulink Dynamic System Simulation for MATLAB. Natick, 000. Grupa Continuous funkcje i elementy ciągłe Derivative blok różniczkowania sygnału ciągłego w czasie. Integrator blok całkowania sygnału ciągłego w czasie, w bloku: a. wybieramy źródło warunków początkowych (wewnętrzne, zewnętrzne), b. podajemy warunki początkowe, Możemy również: c. podać dolną i górną granicę całkowania, d. podać błąd całkowania. State-Space blok układu ciągłego opisanego w przestrzeni stanu, w bloku podajemy macierze A, B, C i D i warunki początkowe. Macierze A, B, C, i D to odpowiednie macierze równań stanu i wyjścia (wymiary tych macierzy zależą od liczby współrzędnych stanu, sterowań i wyjść): x (t ) Ax(t ) Bu(t ) n m c gdzie: x R, y R, u R. y(t ) Cx(t ) Du(t ) Transfer Fcn blok transmitancji operatorowej układu ciągłego (ciągła funkcja przejścia), w bloku podajemy licznik i mianownik transmitancji operatorowej, współczynniki zarówno licznika jak i mianownika transmitancji operatorowej podaje się według malejących potęg operatora s. Zero-Pole blok układu ciągłego opisanego w postaci transmitancji (w formie zer Z, biegunów P i wzmocnienia K): s z s z... s zm G(s ) K s p s p... s p Zerem Z (z ang. zero) transmitancji jest każdy z pierwiastków (zer) wielomianu znajdującego się w liczniku transmitancji. Biegunem P (z ang. pole) transmitancji jest każdy z pierwiastków wielomianu znajdującego się w mianowniku transmitancji. W bloku podajemy wzmocnienie, zera i bieguny opisujące układ ciągły. n

Grupa Discontinuities funkcje i elementy nieciągłe Backlash blok histerezy sygnału, w bloku podajemy szerokość histerezy. Dead Zone blok sygnału z martwą strefą, czyli strefą z zerową wartością sygnału wyjściowego, w bloku podajemy początek i koniec martwej strefy. Rate Limiter blok sygnału ograniczenia prędkości zmian sygnału wejściowego, w bloku podajemy szybkość narastania i opadania sygnału wejściowego. Saturation blok nasycenia sygnału wejściowego, w bloku podajemy dolną i górną wartość nasycenia. Grupa Discrete funkcje i elementy dyskretne Discrete State-Space blok układu ciągłego opisanego w przestrzeni stanu, w bloku podajemy macierze A, B, C i D, warunki początkowe i czas próbkowania. Macierze A, B, C, i D to odpowiednie macierze równań stanu i wyjścia (wymiary tych macierzy zależą od liczby współrzędnych stanu, sterowań i wyjść): x[ k ] Ax[ k] Bu[ k] n m c gdzie: x R, y R, u R. y[ k] Cx( k) Du[ k] Discrete Transfer Fcn blok transmitancji operatorowej układu dyskretnego (dyskretna funkcja przejścia), w bloku podajemy licznik transmitancji dyskretnej, mianownik transmitancji dyskretnej i czas próbkowania, współczynniki licznika i mianownika transmitancji dyskretnej podaje się według malejących potęg operatora z. Discrete Zero-Pole blok układu ciągłego opisanego w postaci transmitancji (w formie zer Z, biegunów P i wzmocnienia K): z z z z... z zm G( z) K z p z p... z p W bloku podajemy wzmocnienie, zera i bieguny opisujące układ i czas próbkowania. Discrete-Time Integrator blok całkowania sygnału dyskretnego w czasie, w bloku: a. wybieramy metodę całkowania (Forward Euler: metoda prostokątów z wykorzystaniem różnic wprzód transmitancja dyskretna elementu całkującego: T s ; Backward Euler: metoda prostokątów z wykorzystaniem z z różnic wstecz transmitancja dyskretna elementu całkującego: T s z Trapezoidal: metoda trapezów: z ), b. wybieramy źródło warunków początkowych (wewnętrzne, zewnętrzne), c. podajemy warunki początkowe, d. podajemy okres próbkowania. n Ts z ;

Możemy również: a. podać granice całkowania, b. wygenerować sygnał (saturation), który pokazuje kiedy zmienna stanu jest ograniczona (wartość osiągnięto górną granicę całkowania; wartość 0 nie ma ograniczeń całkowania; wartość osiągnięto dolną granicę całkowania), c. zresetować blok sygnałem zewnętrznym (none nie resetować; rising jeżeli sygnał wyzwalający (reset) ma zborze narastające; falling jeżeli sygnał wyzwalający ma zborze opadające; either jeżeli sygnał wyzwalający ma zborze narastające lub opadające; level w zależności od ustawionego poziomu sygnału wyzwalającego), d. wyprowadzić zmienną stanu z bloku. Grupa Math Operations operacje matematyczne Abs blok wartości bezwzględnej z sygnału wejściowego. Add blok dodawania/odejmowania sygnałów wejściowych, w bloku podajemy liczbę sygnałów, które będą dodane/odjęte. Divide blok dzielenia/mnożenia sygnałów wejściowych, w bloku podajemy liczbę sygnałów, które będą dzielone/mnożone. Gain blok wzmocnienia sygnału wejściowego, w bloku podajemy wartość wzmocnienia. Math Function blok operacji matematycznych na sygnale wejściowym, np. potęgowanie, pierwiastkowanie, logarytmowanie itp., w bloku wybieramy właściwą funkcję. Product blok mnożenia/dzielenia sygnałów wejściowych, w bloku podajemy liczbę sygnałów, które będą mnożone/dzielone. Rounding blok zaokrąglenia wartości liczby do liczby całkowitej, w bloku wybieramy sposób zaokrąglenia: floor zaokrąglenie w dół, ceil zaokrąglenie w górę, round zaokrąglenie do najbliższej liczby całkowitej, fix zaokrąglenie w kierunki liczby zero. Sign blok funkcji signum (funkcja przyjmująca wartość - dla ujemnych wartości wejściowych, wartość + dla dodatnich wartości wejściowych i wartość 0 dla zerowej wartości wejściowej). Sin Wave Function blok funkcji sinus, w bloku podajemy między innymi amplitudę, fazę i częstotliwość sygnału. Subtract blok odejmowania/dodawania sygnałów wejściowych, w bloku podajemy liczbę sygnałów, które będą odjęte/dodane. Sum blok dodawania/odejmowania sygnałów wejściowych, w bloku podajemy liczbę sygnałów, które będą dodane/odjęte. 3

Trigonometric Function blok funkcji trygonometrycznych, cyklometrycznych, hiperbolicznych i odwrotnych do nich, w bloku wybieramy właściwą funkcję. Grupa Signal Routing operacje na sygnałach Demux blok rozdzielania jednego sygnału wejściowego na wiele sygnałów wyjściowych, w bloku podajemy liczbę sygnałów wyjściowych. Manual Switch blok przełączania pomiędzy dwoma sygnałami wejściowymi. Multiport Switch blok przełączania pomiędzy sygnałami wejściowymi, w bloku podajemy liczbę sygnałów wejściowych, które będą podlegać przełączaniu. Mux blok łączenia wielu sygnałów wejściowych w jeden sygnał wyjściowy, w bloku podajemy liczbę sygnałów wejściowych. Selector blok wyboru elementów sygnału wyjściowego z sygnału wejściowego w postaci wektora lub macierzy. Switch blok przełączania pomiędzy dwoma sygnałami wejściowymi. Grupa Sinks funkcje i elementy do obrazowania wyników symulacji Display blok wyświetlacza cyfrowego. Out blok portu sygnału wyjściowego dla podsystemu modelu układu, w bloku podajemy numer portu. Scope blok oscyloskopu, blok rysowania wyników symulacji w dziedzinie czasu. Stop Simulation blok zatrzymania symulacji, gdy wartość sygnału wejściowego jest niezerowa. Terminator blok zakończenia sygnału wyjściowego. To File blok zapisania wyników symulacji w pliku, w bloku podajemy między innymi nazwę pliku i nazwę zmiennej. To Workspace blok zapisania wyników symulacji w przestrzeni roboczej środowiska MATLAB, w bloku podajemy nazwę zmiennej i ograniczenie liczby danych, które mają być zapisane. Dodatkowo w bloku wybieramy format zapisu danych: Struktura z czasem, Struktura lub Tablica. XY Graph blok rysowania wyników symulacji w postaci zależności między dwoma sygnałami X i Y, w bloku podajemy wartość minimalną i maksymalną sygnałów: X i Y. Grupa Sources źródła sygnałów Clock blok generowania i wyprowadzania czasu symulacji. 4

Constant blok generowania stałej wartości sygnału, w bloku podajemy wartość stałej. From File blok generowania danych wejściowych z pliku, w bloku podajemy nazwę pliku. From Workspace blok generowania danych wejściowych z przestrzeni roboczej środowiska MATLAB, w bloku podajemy nazwę zmiennej. In blok portu sygnału wejściowego dla podsystemu modelu układu, w bloku podajemy numer portu. Pulse Generator blok generowania sygnału prostokątnego, w bloku podajemy amplitudę i fazę sygnału oraz jego szerokość i opóźnienie fazowe. Ramp blok generowania sygnału liniowo narastającego w czasie, w bloku podajemy współczynnik nachylenia, czas początku sygnału i wartość początkową sygnału. Random Number blok generowania sygnału losowego, w bloku podajemy między innymi wartość średnią i wariancję sygnału. Repeating Sequence blok generowania sygnału trójkątnego, w bloku podajemy dwa wektory związane z czasem trwania sygnału i wartością sygnału w danej chwili. Signal Generator blok generowania sygnału sinusoidalnego, prostokątnego, piłokształtnego lub losowego, bloku wybieramy rodzaj sygnału i dodatkowo podajemy amplitudę i częstotliwość sygnału. Sine Wave blok generowania sygnału sinusoidalnego, w bloku podajemy między innymi amplitudę, fazę i częstotliwość sygnału. Step blok generowania sygnału skokowego, w bloku podajemy czas początku sygnału oraz wartość początkową i końcową sygnału. Grupa User-Defined Functions funkcje do samodzielnego tworzenia Fcn blok definiowania własnej funkcji, w bloku budujemy własną funkcję. MATLAB Fcn blok realizujący dowolną funkcję zdefiniowaną w środowisku MATLAB, w bloku wpisujemy właściwą funkcję. S-Function blok pozwalający na wykorzystanie modelu zapisanego w m-pliku jako s- funkcja, w bloku podajemy nazwę i parametry s-funkcji. 5

4. Przykłady W ostatniej części opracowania przedstawiono przykłady wykorzystania nakładki Simulink. Przykład 4 Obiekt opisany jest równaniem różniczkowym postaci: z warunkami początkowymi: 3 5 y t u t (3) y 0 i y 0 0. Zbuduj schemat blokowy umożliwiający rozwiązanie tego równania. Wykreśl u t t. odpowiedź tego obiektu wiedząc, że t0 Przykładowe rozwiązanie: Przekształcamy równanie (3) do następującej postaci: Mamy zatem: u t 3 5 y t (4) Step u(t) Gain Add dy/ dy/ y(t) s s Integrator Integrator Scope -3 Gain y To Workspace -5 Gain Rys. 3. Schemat w Simulinku do Przykładu 4 UWAGA: W bloku Integrator należy ustawić warunek początkowy równy ( y0 ). 6

y(t) Wynik działania: Rys. 4a. Wynik do Przykładu 4 UWAGA: Jak wspomniano wcześniej istnieje możliwość przesłania wyników symulacji z Simulinka to środowiska MATLAB. Pomocnym blokiem jest To Workspace, dzięki któremu wyniki symulacji są wysyłane do pamięci roboczej środowiska MATLAB. Wybierając w bloku To Workspace opcję Structure With Time i podpisując naszą zmienną np. jako y po wysłaniu wyników możliwe jest narysowanie wykresu bezpośrednio z wiersza poleceń (Command Window) środowiska MATLAB wykorzystując polecenie plot w postaci: plot(y.time,y.signals.values(:,)) Po wykonaniu tego poleceniu uzyskamy (dodatkowo umieszczono siatkę i podpisano osie): 0.9 0.8 0.7 0.6 0.5 0.4 0 3 4 5 6 Czas Rys. 4b. Wynik do Przykładu 4 7

W dalszej części opracowania ze względu na przejrzystość wyników będzie wykorzystywana opisana wcześniej procedura. Przykład 5 Działanie nieobciążonego prądowo czwórnika RC (Rys. 5) opisane jest równaniem: du (t ) (5) wy R C u wy(t ) u we(t ) u R (t) R i R (t) i obc (t) i C (t) u we (t) C u C (t) u wy (t) Rys. 5. Schemat do Przykładu 5 Zbuduj schemat blokowy wiążący napięcie wyjściowe uwe uwy () t z napięciem wejściowym () t (R = 00 Ω, C = 30 F). Wykreśl odpowiedź tego obiektu na następujące wymuszenia: a). impuls Diraca, b). skok jednostkowy. W obu przypadkach przedstaw wyniki dla zerowych i niezerowych warunków początkowych. Przyjmij czas symulacji równy 0,0 j.cz. Po zbudowaniu modelu przekształć układ tak aby możliwe było wpisywanie parametrów R i C, zgrupuj wszystkie elementy w jeden obiekt (wykorzystaj opcję Create Subsystem ), a następnie dokonaj jego maskowania umożliwiając dostęp do zmiany parametrów R i C (wykorzystaj opcję Mask Subsystem ). UWAGA: Grupowanie obiektów służy łączeniu obiektów elementarnych w jeden obiekt złożony. UWAGA: Maskowanie obiektów służy uzyskaniu dostępu do wewnętrznych parametrów bloku poprzez okno dialogowe. Przykładowe rozwiązanie: Przekształcamy równanie (5) do następującej postaci: du wy(t ) u we(t ) u wy(t ) R C R C (6) 8

uwy(t) uwy(t) Mamy zatem (wejście: impuls Diraca): uwe (t) du / Step Derivative Impuls Diraca /(00 *0.00003 ) /RC Add duwy (t)/ s Integrator uwy(t) Scope -/RC -/(00 *0.00003 ) napiecie To Workspace Rys. 6a. Schemat w Simulinku do Przykładu 5 wejście: impuls Diraca Dla wejścia w postaci skoku jednostkowego otrzymujemy: Step uwe (t) /(00 *0.00003 ) /RC Add duwy (t)/ s Integrator uwy(t) Scope -/RC -/(00 *0.00003 ) napiecie To Workspace Rys. 6b. Schemat w Simulinku do Przykładu 5 wejście: skok jednostkowy Wynik działania: Wejście: impuls Diraca: a). b). 4.5.5 4 3.5 3.5.5.5 0.5 0.5 0 0 0.00 0.004 0.006 0.008 0.0 0.0 0.04 0.06 0.08 0.0 Czas 0 0 0.00 0.004 0.006 0.008 0.0 0.0 0.04 0.06 0.08 0.0 Czas Rys. 7a. Wynik do Przykładu 5: a). zerowe warunki początkowe, b). niezerowe warunki początkowe 9

uwy(t) uwy(t) Wejście: skok jednostkowy: a). b). 0.9 0.8 0.7 0.6.9.8.7.6 0.5 0.4 0.3 0. 0..5.4.3.. 0 0 0.00 0.004 0.006 0.008 0.0 0.0 0.04 0.06 0.08 0.0 Czas 0 0.00 0.004 0.006 0.008 0.0 0.0 0.04 0.06 0.08 0.0 Czas Rys. 7b. Wynik do Przykładu 5: a). zerowe warunki początkowe, b). niezerowe warunki początkowe W celu stworzenia możliwości wpisywania parametrów R i C układy należy następująco przekształcić: Rys. 8a. Przekształcony schemat w Simulinku do Przykładu 5 wejście: impuls Diraca Rys. 8b. Przekształcony schemat w Simulinku do Przykładu 5 wejście: skok jednostkowy Następnie zaznaczamy wszystkie obiekty (oprócz: Step, Derivative, Scope i To Workspace ) i prawym przyciskiem myszy wybieramy opcję Create Subsystem. Tym samym uzyskamy: 0

Rys. 9a. Zgrupowany schemat w Simulinku do Przykładu 5 wejście: impuls Diraca Rys. 9b. Zgrupowany schemat w Simulinku do Przykładu 5 wejście: skok jednostkowy Porządkując schemat i podpisując zmienne i zgrupowany obiekt ostatecznie otrzymamy: Rys. 0a. Zgrupowany i podpisany schemat w Simulinku do Przykładu 5 wejście: impuls Diraca Rys. 0a. Zgrupowany i podpisany schemat w Simulinku do Przykładu 5 wejście: skok jednostkowy W celu maskowania czwórnika RC, zaznaczamy obiekt i prawym przyciskiem myszy wybieramy opcję Mask Subsystem, uzyskamy:

Rys. Opcja maskowania obiektu w Simulinku do Przykładu 5 W pozycji Parameters wpisujemy nazwy zmiennych: R i C i je opisujemy, mamy: Rys.. Maskowanie obiektu w Simulinku do Przykładu 5 Analogicznie postępujemy ze schematem z wejściem w postaci impulsu Diraca. W celu uzyskania możliwości zmiany parametrów czwórnika RC, zaznaczamy obiekt i prawym przyciskiem myszy wybieramy opcję Mask Parameters, uzyskamy okno: Rys. 3. Zmiana parametrów obiektu w Simulinku do Przykładu 5

UWAGA: W celu wykreślenia na jednym wykresie dwóch sygnałów należy w bloku To Workspace wybrać opcję Structure With Time i podpisując naszą zmienną np. jako xy wysłać wyniki do pamięci środowiska MATLAB. Następnie możliwe jest narysowanie wykresu bezpośrednio z wiersza poleceń środowiska MATLAB wykorzystując polecenie plot w postaci: plot(xy.time,xy.signals.values(:,[,])) Bibliografia Brzózka J. Ćwiczenia z automatyki w Matlabie i Simulinku. Wydawnictwo MIKOM, 997. Brzózka J., Dorobczyński L. Matlab środowisko obliczeń naukowo technicznych. Wydawnictwo MIKOM, 005. Mrozek B., Mrozek Z. Matlab i Simulink. Poradnik użytkownika. Wydanie II. Wydawnictwo HELION, 004. Osowski S. Modelowanie układów dynamicznych z zastosowaniem języka Simulink. Oficyna Wydawnicza Politechniki Warszawskiej, 999. The Mathworks. Simulink Dynamic System Simulation for MATLAB. Natick, 000. 3