Wykład 6
Materiały pomocnicze do zadań
Simulink
czyli drugie oblicze Matlab-a
(część pierwsza)
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
1. Informacje wstępne
1.1. Co to jest i do czego służy Simulink?
(strona 2)
Simulink
jest interaktywnym pakietem przeznaczonym do modelowania,
symulacji i analizy dynamicznych układów ciągłych, układów dyskretnych
w czasie oraz mieszanych (dyskretno-ciągłych).
Simulink
jest zintegrowany z Matlab-em; nie jest możliwe używanie
Simulink-a
bez zainstalowania Matlab-a.
Simulink
jest stosowany do projektowania i testowania urządzeń oraz
systemów sterujących.
Badanie układów metodami symulacyjnymi znacznie zmniejsza koszty
i czas, niezbędny do przygotowywania lub modernizacji prototypów
urządzeń i systemów sterowania.
Simulink
Biblioteka bloków
– zestawy
bloków używanych do
graficznego
definiowania modeli
Algorytmy numeryczne
– służą do
numerycznego rozwiązywania układów
równań różniczkowych zwyczajnych
i linearyzacji modeli oraz określania
ich punktów równowagi
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
1. Informacje wstępne
1.2. Rozszerzenia Simulink-a
(strona 3)
Rozszerzenia umożliwiają współpracę
Simulink-a
z oprogramowanie innych
producentów, np. Texas Instruments (Code Composer Studio do
programowania procesorów sygnałowych TMS320); National Instruments
(LabView do programowania modułowych systemów sterowania); dSPACE
(środowisko programowe do obsługi uniwersalnych sterowników
mikroprocesorowych), itd.
Etapy analizy układów dynamicznych w Matlab-ie i Simulink-u
Opracowanie
modelu
układu
w postaci
równań
różniczkowych
Budowa
modelu
graficznego
i zapis
w pliku .mdl
Przygotowanie
parametrów
modelu
i parametrów
symulacji
Symulacja
Wizualizacja
i analiza
wyników
symulacji
Kartka
papieru
Simulink
Simulink
i / lub Matlab
Simulink
Simulink
i / lub Matlab
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
2. Uruchomienie Simulink-a
2.1. Możliwości uruchomienia Simulink-a
(strona 4)
Pierwsza możliwość: w oknie głównym Matlab-a w menu File/New/Model;
Druga możliwość: poleceniem simulink wydanym w oknie poleceń
Matlab-a;
Trzecia możliwość: za pomocą ikony w pasku przycisków okna głównego
Matlab-a;
Zawartość
biblioteki
Opis zaznaczonego
bloku
Lista dostępnych
bibliotek
Wyszukiwarka
bloków
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Bloki do okna modelu dodaje
się za pomocą metody „prze-
ciągnij i upuść” (przeciąganie
z okna głównego Simulink-a).
Łączenie bloków odbywa się
myszką przez wskazanie
połączenia pomiędzy wyjściem
jednego bloku a wejściem drugiego lub przez wskazanie bloku źródłowego
i docelowego przy wciśniętym klawiszu Ctrl.
Wygląd modelu (kolory bloków, kolory linii, czcionki) można formatować.
Bloki można powiększać i pomniejszać, obracać i „odbijać” co umożliwia
utrzymanie przejrzystości modelu.
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
2. Uruchomienie Simulink-a
2.2. Okno modelu
(strona 5)
Obszar do budowy
graficznych modeli
układów dynamicznych
Przykładowy model
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Biblioteka główna Simulink-a (nazwana na liście bibliotek po prostu
„Simulink”) zawiera kilka bibliotek podstawowych bloków, stosowanych do
budowy modeli układów dynamicznych.
Biblioteki mogą mieć strukturę hierarchiczną.
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
3. Biblioteki bloków Simulink-a
3.1. Zawartość biblioteki głównej Simulink-a
(strona 6)
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.1. Opracowanie równań modelu
(strona 7)
Załóżmy, że jest dany model układu dynamicznego drugiego rzędu,
składający się z dwóch, połączonych kaskadowo, układów pierwszego
rzędu, opisanych następującymi równaniami:
gdzie: U
1
, U
2
– sygnały wejściowe układów pierwszego rzędu; V
1
, V
2
–
sygnały wyjściowe układów pierwszego rzędu; a
1
, a
2
- współczynniki.
Należy wyznaczyć (za pomocą symulacji komputerowej) odpowiedź V tego
obiektu na skok jednostkowy sygnału wejściowego U.
Schemat blokowy całego modelu symulacyjnego przedstawiono na
rysunku poniżej.
1
V
1
=
∫
0
T
a
1
U
1
−
V
1
dt ;
2
V
2
=
1
a
2
∫
0
T
U
2
−
V
2
dt ; a
1
=
5; a
2
=
0.8 ;
S
+
-
a
1
∫
S
+
-
1/
a
2
∫
V
2
=V
V
1
=U
2
U=U
1
(1)
(2)
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.2. Budowa modelu w Simulink-u
(strona 8)
Dla przedstawionego układu należy zbudować model graficzny
w Simulink-u (prezentacja na wykładzie).
Model ten można dodatkowo sformatować w celu poprawienia czytelności.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.3. Przygotowanie parametrów modelu
(strona 9)
Parametry modelu zostaną zapisane w pliku skryptowym Matlab-a.
Plik ten należy uruchomić w oknie poleceń Matlab-a.
Parametry zostaną przekazane do modelu za pośrednictwem przestrzeni
roboczej okna poleceń.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.3. Przygotowanie parametrów modelu
(strona 10)
Parametry modelu zostaną zapisane w pliku skryptowym Matlab-a.
Plik ten należy uruchomić w oknie poleceń Matlab-a.
Parametry zostaną przekazane do modelu za pośrednictwem przestrzeni
roboczej okna poleceń.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.3. Przygotowanie parametrów modelu
(strona 11)
Pozostałe parametry zostaną wpisane w modelu w maski poszczególnych
bloków.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.3. Przygotowanie parametrów modelu
(strona 12)
Pozostałe parametry zostaną wpisane w modelu w maski poszczególnych
bloków.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.3. Przygotowanie parametrów modelu
(strona 13)
Pozostałe parametry zostaną wpisane w modelu w maski poszczególnych
bloków.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.4. Wybór parametrów symulacji
(strona 14)
Parametry symulacji zostaną wybrane w specjalnym oknie, otwieranym
przez menu Simulation/Configuration Parameters w okna modelu.
Parametry symulacji można ustawiać też z poziomu okna poleceń lub pliku
skryptowego.
Katalog parametrów
Solver
Ramy czasowe symulacji:
Start time – czas początkowy
Stop time – czas końcowy
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.4. Wybór parametrów symulacji
(strona 15)
Parametry symulacji zostaną wybrane w specjalnym oknie, otwieranym
przez menu Simulation/Configuration Parameters w okna modelu.
Parametry symulacji można ustawiać też z poziomu okna poleceń lub pliku
skryptowego.
Katalog parametrów
Solver
Wybór metody całkowania
równań różniczkowych
i jej opcji
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.4. Wybór parametrów symulacji
(strona 16)
Parametry symulacji zostaną wybrane w specjalnym oknie, otwieranym
przez menu Simulation/Configuration Parameters w okna modelu.
Parametry symulacji można ustawiać też z poziomu okna poleceń lub pliku
skryptowego.
Katalog parametrów
Solver
Opcje dodatkowe
(detekcja przejścia przez zero,
systemy z wieloma różnymi
krokami czasowymi
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.4. Wybór parametrów symulacji
(strona 17)
Metody całkowania dzielą się na dwie grupy: stałokrokowe (ang.: Fixed-
step) i zmiennokrokowe (ang.: Variable-step), wybierane w menu Type.
Metody stałokrokowe: ode1, ode14x, ode2, ode3, ode4, ode5,
discrete; charakteryzują się tym, że krok obliczeń (całkowania) jest stały,
określony przez użytkownika w parametrach symulacji (parametr Fixed-
step size); metody te nie kontrolują dokładności obliczeń; dokładność
obliczeń jest uzależniona od wyboru kroku całkowania; są szybsze.
Metody zmiennokrokowe: ode45, ode23, ode113, ode15s, ode23s,
ode23t, ode23tb, discrete; charakteryzują się tym, że krok obliczeń
(całkowania) jest dobierany automatycznie przez algorytm kontroli
dokładności obliczeń; użytkownik określa krok początkowy, minimalny
i maksymalny (parametry, odpowiednio: Initial, Min, Max step size) oraz
dokładność obliczeń (parametry Absolute, Relative Tolerance).
Krok i dokładność obliczeń może być określona automatycznie, gdy jako
wartość parametru podamy „auto”.
Metodą domyślną jest ode45 (sprawdza się w większości przypadków).
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.4. Wybór parametrów symulacji
(strona 18)
Dla zbudowanego modelu należy wybrać następujące parametry symulacji:
Dla pozostałych parametrów należy pozostawić wartości domyślne.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.5. Uruchomienie symulacji
(strona 19)
Uruchomienie symulacji następuje po wybraniu w menu Simulation/Start
lub po naciśnięciu odpowiedniego przycisku w pasku narzędziowym okna
modelu. Zatrzymanie (lub chwilowe wstrzymanie) symulacji – analogicznie.
W czasie symulacji można oglądać wyniki po otwarciu
okna oscyloskopu (dwukrotne kliknięcie). Automatyczne
przeskalowanie osi następuje po naciśnięciu przycisku
z symbolem lornetki na pasku narzędziowym tego okna.
Wyniki symulacji są
tracone po jej
zakończeniu.
Można zmodyfikować
model tak, aby wyniki
pozostały w przestrzeni
roboczej okna poleceń
Matlab-a.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.6. Modyfikacja modelu
(strona 20)
Modyfikacja modelu polega na dodaniu bloków „To Workspace”,
przesyłających wyniki symulacji do przestrzeni roboczej okna poleceń
w formie macierzy, przy czym nazwa zmiennej zawierającej tą macierz
podawana jest w masce bloku; wektor kroków czasowych symulacji
przekazywany jest automatycznie jako zmienna „tout”.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.6. Modyfikacja modelu
(strona 21)
Modyfikacja modelu polega na dodaniu bloków „To Workspace”,
przesyłających wyniki symulacji do przestrzeni roboczej okna poleceń
w formie macierzy, przy czym nazwa zmiennej zawierającej tą macierz
podawana jest w masce bloku; wektor kroków czasowych symulacji
przekazywany jest automatycznie jako zmienna „tout”.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
4. Budowa prostego modelu
4.6. Modyfikacja modelu
(strona 22)
Należy także dokonać modyfikacji parametrów symulacji w zakładce „Data
Import/Export”
Wyłączyć!!!
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
5. Budowa podsystemów
5.1. Informacje wstępne
(strona 23)
Podsystemy
umożliwiają tworzenie hierarchicznych modeli obiektów
dynamicznych.
Podsystemy
służą do grupowania dowolnej ilości bloków i innych
podsystemów w jeden blok.
Podsystem
można utworzyć na dwa sposoby:
- zaznaczając w modelu pewną ilość bloków i wybierając z menu
kontekstowego (przez prawy klawisz myszki) opcję „Create Subsystem”;
- umieszczając w modelu pusty blok „Subsystem” z biblioteki „Ports &
Subsystems” i budując dowolny model w tym
podsystemie
(po jego
otwarciu przez dwukrotne kliknięcie).
Sygnały wejściowe są przekazywane do
podsystemu
za pomocą bloku „In”.
Sygnały wyjściowe są przekazywane z
podsystemu
za pomocą bloku „Out”.
Nazwy bloków „In” i „Out” pojawiają się w symbolu
podsystemu
jako
etykiety jego wejść i wyjść.
●
Podsystemy
poprawiają czytelność modelu graficznego.
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
5. Budowa podsystemów
5.2. Przykład podsystemu
(strona 24)
Wyjścia
podsystemu
Wejście
podsystemu
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
5. Budowa podsystemów
5.3. Kolejna modyfikacja przykładowego modelu – utworzenie podsystemów
(strona 25)
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab
Wykład 6 – Simulink czyli drugie oblicze Matlab-a
5. Budowa podsystemów
5.3. Kolejna modyfikacja przykładowego modelu – utworzenie podsystemów
(strona 26)
dr inż. Roman Niestrój
Zakład Maszyn Elektrycznych i Inżynierii Elektrycznej w Transporcie
Programy wspomagania obliczeń inżynierskich. Część 2.
Obliczenia inżynierskie – Matlab