Modele układów dynamicznych
- laboratorium
SIMULINK - wprowadzenie
SIMULINK
Simulink
to przybornik (toolbox) pakietu Matlab
przeznaczony do symulacji układów
dynamicznych.
Simulink to program graficzny, w którym buduje
się schematy blokowe układów wykorzystując
bloki z biblioteki.
W Simulinku można wyróżnić:
- bibliotekę bloków,
- algorytmy numeryczne,
- polecenia konstruowania modeli.
Programowanie w
SIMULINKU
Dwie fazy programowania
1.
Definiowanie schematu blokowego odpowiadającego
opisowi dynamicznemu badanego układu (równania
różniczkowe zwyczajne)
schemat blokowy (graficznie),
s-funkcja zapisana w m-pliku, do wykorzystania z
algorytmami numerycznymi Simulinka.
2.
Analiza modelu
symulacja (rozwiązanie równań różniczkowych),
linearyzacja,
określenie punktów równowagi.
Wyniki symulacji
Rezultaty symulacji mogą być przedstawione w
postaci:
wykres czasowy y(t) (scope),
wykres fazowy na płaszczyźnie x-y (
xy graph)
,
przestrzeń robocza Matlaba ,
plik wyjściowy.
Bloki
●
Model w Simulinku skład się z
bloków (liniowe, nieliniowe, ciągłe, dyskretne),
połączeń.
●
Każdy blok charakteryzuje się:
wektorem wejść u,
wektorem wyjść y,
wektorem stanu x.
●
Parametery bloków są wyliczane i przekazywane przez
Matlab. Można wykorzystać m-pliki z danymi
wejściowymi oraz zapisywać rezultaty do pliku (menu
Model Properties).
Bloki c.d
●
Budowanie modelu polega na przeciąganiu bloków z
biblioteki do obszaru roboczego i łączenie ich w jedną
stukturę za pomoca połączeń liniowych.
●
Bloki w obszarze roboczym można:
wybierać,
kopiować,
usuwać,
obracać o kąt 90 (Ctr-R),
edytować (wybór lub zamiana funkcji, parametrów
warunków początkowych, zmiana nazwy, itd...).
Biblioteka Simulinka
●
Sources – wymuszenia, z których sygnały tylko
wypływają (step, constant).
●
Sinks – końcówki układów, do których
informacja tylko dopływa (scope, xy graph).
●
Continuous - elementy liniowe ciągłe w tym
człon całkujący i różniczkujący (integrator,
derivative, state space, transfer function).
●
Discrete – elementy dyskretne liniowe (unit
delay).
●
Math Operations – operacje matematyczne
(sum, add, product, gain, divide).
Symulacja rozwiązania w dziedzinie
czasu
Rozwiązanie równania różniczkowego po zbudowaniu
modelu i ustawieniu wartości początkowych - menu
Simulations.
Wybór algorytmu całkowania i parametrów procesu w
oknie Simulation parameters:
-
czas początkowy analizy (Start time),
- czas końcowy analizy (Stop time),
- minimalny krok całkowania (Min step size),
- maksymalny krok całkowania (Max step size),
- początkowy krok całkowania (Initial step size),
-
rodzaj algorytmu całkowania (Solver),
-
typ algorytmu: stało- lub zmiennokrokowy (Type).
Model układu dynamicznego
●
Dany układ równań różniczkowych pierwszego
rzędu przekształcamy do postaci rozwikłanej
względem najwyższej pochodnej, tak aby
najwyższe pochodne występowały po lewej stronie
równania
x
i(n)
=f(x
j≠i(n)
, x
i(n-1)
,..., x)
●
Rozwiązanie równania otrzymujemy w wyniku
symulacji numerycznej funkcji ODE (Ordinary
Differential Equations)
Zadanie
Zbudować model równania różniczkowego pierwszego rzędu
(podanego na ćwiczeniach)
x'=f(x,t)
wykorzystując bloki:
- całkowanie Integrator (Continuous),
- wzmocnienie Gain (Math),
- sumator Sum (Math),
- oscyloskop Scope (Sinks),
- wejście Step (Sorces).
Ustawić parametry symulacji (Simulation Parameters) oraz warunki
początkowe na integratorze.
Sprawdzić rozwiązania dla różnych warunków początkowych.
Narysować wykresy rozwiązania oraz porównać z rozwiązaniem
otrzymanym na ćwiczeniach (Matlab, polecenie plot).