Sunteți pe pagina 1din 8

48

Lucrarea de laborator nr. 8


MATLAB Simulink. Introducere.
1. Scopul lucr`rii
Simulink este un pachet software pentru modelarea, simularea ]i analiza
sistemelor dinamice. Simulink, extensie a pachetului de programe Matlab, permite
at@t analiza sistemelor liniare, c@t ]i a celor neliniare, continue, discrete sau
hibride. Definirea modelelor este realizat` [n mod grafic prin intermediul
interfe\ei grafice (GUI). Modelele sunt construite sub forma unor diagrame bloc,
cu ajutorul blocurilor grafice existente [n bibliotecile Simulink. Lucrarea
urm`re]te prezentarea facilit`\ilor pachetului Simulink 1.3 (pentru versiunea
MATLAB 4.2) pentru modelarea sistemelor ]i analiza ]i proiectarea sistemelor de
conducere..
2. Mod de lucru [n Simulink MATLAB
Accesul la mediul Simulink este posibil lans@nd urm`toarea comand` [n
Matlab:
>> simulink
Va fi deschis` urm`toarea fereastr`, din care sunt accesibile cele 7
biblioteci Simulink. Aceste biblioteci con\in toate elementele pentru construc\ia
unui model grafic al sistemului dorit (e.g. opera\ii matematice de baz`,
comutatoare, elemente de conectare, func\ii de transfer, generatoare de semnal,
etc.). Toate func\iile disponibile [n Simulink pot fi accesate prin intermediul
blocurilor grafice.
Cele mai importante blocuri ce pot fi selectate din aceste biblioteci sunt
urm`toarele:
Sources
Library
Clock
Constant
Signal generator
Sine wave
Step Fcn
White Noise
Afi]eaz` timpul sistem
Genereaz` ca intrare o valoare constant`
Genereaz` diferite forme de semnal
Genereaz` o form` de semnal sinusoidal
Genereaz` o func\ie de tip treapt`
Genereaz` semnal de tip zgomot alb
Sinks
Library
Scope
To File
Afi]eaz` grafic semnalele [n timpul
simul`rii
49
To Workspace Scrie datele de simulare [ntr-un fi]ier
Scrie datele de simulare [ntr-o matrice
Discrete-
Time
Library
Discrete State Space
Discrete Transfer
Fcn
Discrete Zero-Pole
Reprezentare de stare discret` a sistemului
Func\ie de transfer discret`
Reprezentare sistem discret sub forma
poli-zerouri
Linear
Library
Sum
Integrator
Derivative
Gain
State-Space
Transfer Fcn
Zero-Pole
Sumator
Integrare semnal
Calculeaz` derivata semnalului de intrare
Multiplicare cu o constant` a semnalului
de intrare
Reprezentarea de stare a unui sistem liniar
Reprezentarea unui sistem liniar sub
forma de func\ie de transfer
Reprezentarea unui sistem liniar sub
forma de poli-zerouri
Nonlinear
Library
Abs
Backlash
Dead Zone
Saturation
Product
Valoare absolut`
Histerezis
Zona de insensibilitate
Satura\ie
Produs
Conections Mux
Demux
Inport
Outport
Multiplexor
Demultiplexor
Leg`tura de la o intrare extern`
Legatur` la o ie]ire extern`
Extras Con\ine mai multe biblioteci din care pot fi selectate regulatoare
(Controllers), regulatoare PID (PID controllers), filtre (Filters), etc
Meniurile Simulink, disponibile [n partea de sus a ferestrei de lucru.sunt
urm`toarele:
FILE Acest meniu permite deschiderea unei noi ferestre de
lucru Simulink (op\iune New), salvarea fi]ierului curent
(op\iune Save), sau [nchiderea ferestrei active (op\iunea
Close)
CLIPBOARD Permite definirea tipului de imagine grafic` a ferestrei
curente (Windows Metafile sau Windows Bitmap)
EDIT Comenzi pentru definirea unui model grafic Simulink
(selec\ie, copiere de blocuri, etc).
OPTIONS Op\iuni de lucru [n fereastra Simulink
SIMULATION Acest meniu permite definirea parametrilor de simulare
]i controlul asupra sesiunii de simulare. O simulare
poate fi [nceput` fie din linia de comand`, fie prin meniul
Simulation / Start.
Parametrii de simulare pot fi selectati din Simulation /
Parameters
O sesiune de lucru [n Simulink este format` din dou` etape:
a) Definirea modelului
50
Definirea unui model este realizat` prin crearea unei diagrame bloc, prin
aducerea [n fereastra de lucru a unor blocuri grafice din bibliotecile existente.
Simulink va utiliza informa\ia din diagrama bloc pentru a construi o func\ie-
sistem (S-function), o reprezentare intern` a modelului. Fiecare diagram` bloc
creat` de utilizator are drept corespondent o func\ie sistem cu acela]i nume ca ]i
modelul, func\ie ce va fi utilizat` pentru simularea ]i analiza sistemului de c`tre
rutinele de integrare, liniarizare, etc. Acest func\ii sistem sunt de fapt func\ii
Matlab obi]nuite cu o sintax` special` de apel care permite accesul la ecua\iile
dinamice ale modelului.
Pentru exemplificare se consider` implementarea unui model simplu. Pa]ii
urma\i sunt urm`torii:
Pas 1 Se selecteaz` New din meniul File din fereastra Simulink. Pe ecran va
apare o nou` fereastr` denumit` untitled. Dac` se dore]te utilizarea
unui model deja existent, se va selecta op\iunea File/Open... din
fereastra Simulink
Pas 2 Se apas` de dou` ori pe butonul din st@nga al mouse-ului pe
bibliotecile Sources, Sinks ]i Linear din fereastra Simulink. Aceastea
vor fi deschise.
Pas 3 Se selecteaz` cu mouse-ul blocurile Step ]i Clock din Sources ]i se
trage de ele p@n` [n fereastra nou`.
Pas 4 Se selecteaz` blocurile Scope ]i To Workspace din Sinks ]i se aduc [n
fereastra modelului.
Pas 5 Se selecteaz` blocul Transfer Function din Linear ]i se trage de el
p@n` [n noua fereastr`.
Pas 5 Se salveaz` noua fereastr` sub numele ex1.m
Pas 6 Se conecteaz` blocurile selectate conform figurii 1. Se multiplic` blocul
To Workspace (se selecteaz` cu mouse-ul, se copiaz` cu Ctrl/C ]i
Ctrl/V) ]i se redenume]te variabila time [n fereastra de dialog.
Pas 7 Se seteaz` parametrii blocurilor. Se selecteaz` fiecare bloc [n parte ]i
se apas` pe fiecare de dou` ori pe butonul din st@nga al mouse-ului.
Pentru fiecare bloc va apare o fereastr` de dialog de genul prezentat [n
figura 2. Prin intermediul lor pot fi seta\i parametrii fiec`rui bloc.
pentru Step Input se aleg: Step Time = 0, Initial Value = 0, Final
Value = 2
pentru Transfer Fcn: Numerator = [1], Denominator = [2 1 1]
pentru Scope: Horizontal Range = 10, Vertical Range = 3
Pas 8 {n fereastra modelului se selecteaz` meniul Simulation/Parameters ...
]i se seteaz` urm`toarele variabile de simulare: Start Time = 0, Stop
Time = 10, Min Step Size = 0.0001, Max Step Size = 10, Tolerance = 1e-
3, metoda de integrare = Runge Kutta 3.
51
Figura 1 Simularea r`spunsului la treap` al unui sistem liniar
Figura 2 Setarea parametrilor blocurilor grafice (e.g. func\ia treapt`)
b) Simularea modelului
Simularea modelelor SIMULINK implic` integrarea unor ecua\ii
diferen\iale ordinare. Sunt accesibile urm`toarele metode de integrare numeric`:
linsim: metod` utilizat` pentru modele liniare (func\ii de transfer,
reprezentare de stare, reprezentare poli - zerouri, sumator)
rk23, rk45: metode Runge-Kutta de ordinul 2, respectiv 4, utilizate [n special
pentru sisteme profund neliniare sau cu discontinuit`\i, continui sau discrete
gear: pentru sisteme neliniare; nu se recomand` [n cazul sistemelor cu
singularit`\i sau sisteme a c`ror intrare este rapid variabil` [n timp
adams: pentru sisteme neliniare
euler: se recomand` doar pentru verificarea rezultatelor

Parametrii se simulare care pot fi seta\i prin intermediul meniului
Simulation/Parameters ... au urm`toarele semnifica\ii:
Start Time este timpul ini\ial de [ncepere a simul`rii
Stop Time este timpul final de simulare
valorile scalare Min Step Size ]i Max Step Size reprezint` valorile minime,
respectiv maxime ale pasului de integrare. Func\iile de integrare numeric`
variaz` [n mod automat valoarea pasului de integrare pentru a produce puncte
de ie]ire [n limitele de eroare acceptate. Metodele de integrare cu pas variabil
52
(euler, linsim, rk23, rk45) pot fi transformate [n metode cu pas fix aleg@nd
valori egale pentru ace]ti doi parametri..
parametrul Tolerance controleaz` eroarea relativ` de integrare la fiecare pas.
Are valori uzuale [ntre 0.1 ]i 1e-6. O simulare c@t mai precis` se ob\ine aleg@nd
acest parametru cu valori c@t mai mici, ceea ce produce mai multi pa]i de
integrare.
Simularea modelelor se poate face [n dou` moduri:
A. Din meniul Simulation/Start...
Pas 1 Se selecteaz` blocul Scope ]i apas` de dou` ori pe butonul din st@nga al
mouse-ului pentru deschiderea ferestrei osciloscopului, prin
intermediului c`reia poate fi urm`rit` evolu\ia simul`rii.
Pas 2 Selecteaz` Simulation/Start ... din meniul ferestrei modelului. Prin
selec\ia Start va [ncepe sesiunea de simulare, [n conformitate cu rutina
de integrare selectat`.
Pas 3 Sesiunea de simulare poate fi oprit` prin intermediul meniului
Simulation/Stop ... .
Urm@nd pa]ii 1-3 se poate experimenta pentru diverse valori al
parametrilor de simulare. Varabila time va con\ine vectorul valorilor de timp la
care se face actualizarea st`rilor. La sf@r]itul simul`rii, [n mediul de lucru Matlab
se vor reg`si cei doi vectori: time (vectorul de timp) ]i yout (ie]irea procesului).
Asupra acestor variabile se poate opera uzual [n modul cunoscut. De exemplu, ele
pot fi afi]ate grafic ]i salvate [ntr-un fi]ier pentru prelucr`ri ulterioare, ca de
exemplu:
>> plot(time, yout), grid
>> save rezultat.mat time yout
B. Din linia de comand` a MATLAB-ului
Simularea unui model creat [n Simulink poate fi executat` at@t din linia de
comand` (instruc\iune cu instruc\iune) sau dintr-un fi]ier Matlab [n care s-a salvat
secven\a de comenzi dorit`. {n acest mod pot fi explorate un num`r mare de
condi\ii de simulare.
Ca exemplu, se consider` urm`toarea secven\` de comenzi, care permite
ob\inerea acelora]i rezultate ca ]i [n cazul anterior.
1. >> tfinal = 10;
2. >> minstep = 0.0001;
3. >> maxstep = 10;
4. >> tol = 1e-3;
5. >> options = [tol, minstep, maxstep];
6. >> [timp, x] = rk45('ex1', tfinal, [], options);
7. >> plot(timp, yout), grid
Liniile de program 1 - 5 permit setarea parametrilor de simulare
corespunz`tori celor din fereastra Simulation/Parameters ... .
53
Linia 6 con\ine comanda de simulare a modelului ex1.m cu op\iunile dorite.
Returneaz` vectorul de timp ]i matricea st`rilor modelului.
Linia 7 permite afi]area rezultatelor simul`rii.
3. Studiul unui sistem neliniar de ordinul II (ecua\ia Van der Pole)
Se consider` sistemul neliniar de ordinul II:
dx
dt
a x
dx
dt
x x x
dx
dt
x
2
2
2
0
1 0 0
0
0 + + = = =

( ) , ( ),
( )
( ) (1)
Pentru ob\inerea sistemului corespunz`tor de ecua\ii diferen\iale de
noteaz`
x x
dx
dt
x
=
=
1
2
(2)
de unde rezult`:
x x
x a x x x x x x x


=
= = =
1
2
2
1
2
2 1 1 2
1 0 0 0 0 ( ) ( ) ( ), ( ) ( )
(3)
Modelul Simulink corespunz`tor sistemului de ecua\ii diferen\iale (3) este
prezentat [n figura 3.
Figura 3 Modelul Simulink pentru ecua\ia Van der Pole
Pentru simulare ]i compara\ie [ntre diversele metode de integrare se ve
executa urm`toarea secven\` de comenzi:
1. >> tf = 10;
2. >> minstep = 1e-5;
3. >> maxstep = 10;
4. >> tol = 1e-3;
5. >> options = [tol, minstep, maxstep];
6. >> x0 = [0;1];
7. >> [tl, xl] = linsim('vdp', tf, x0, options);
54
8. >> [tr23, xr23] = rk23('vdp', tf, x0, options);
9. >> [tr45, xr45] = rk45('vdp', tf, x0, options);
10. >> plot(tl, xl, 'w', tr23, xr23, 'b', tr45, xr45, 'r')
4. Simularea sistemelor discrete
Func\iile grafice pentru simularea sistemelor discrete sunt grupate [n
biblioteca Discrete. Fiecare bloc discret are la intrare un element de e]antionare,
iar la ie]ire un element de re\inere de ordinul zero. {n cazul [n care un model
con\ine at@t blocuri continue, c@t ]i discrete, ie]irea blocului discrete va fi
men\inut` constant` [ntre pa]ii de e]antionare.
Modelele discrete pot fi cu actualizare simpl` (toate blocurile sunt
actualizate la acela]i moment de timp) sau cu actualizare multipl` (la intervale
diferite). Intervalul de e]antionare poate fi setat [n c@mpul Sample time al ferestrei
de dialog a blocului Discrete Transfer Fcn, prin intermediul vectorului [Ts offset].
Blocul discret va fi actualizat la moment de timp multiplu al perioadei de
e]antionare Ts plus valoarea offset-ului:
t = n * Ts + offset
Pentru exemplificare se consider` sistemul discret prezentat [n figura 4. Se
simuleaz` sistemul pe intervalul [0 10].
Figura 4
Diverse alegeri ale Ts ]i offset produc urm`torii vectori de timp:
[Ts offset] = [1 0.1]
timp = [0 0.1 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.110]
[Ts offset] = [0.5 0]
timp = [0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10]
[Ts offset] = [0.5 0.1]
timp = [0 0.1 0.6 1.1 1.6 2.1 2.6 3.1 3.6 4.1 4.6 5.1 5.6 6.1 6.6 7.1 7.6 8.1 8.6 9.1 9.6
10.0]
Sistemele discrete pure de tipul prezentat [n figura 4 pot fi simulare
utiliz@nd orice metod` de integrare. Nu exist` nici o diferen\` [ntre solu\ii.
5. Desf`]urarea lucr`rii
1. S` se construiasc` modelul prezentat [n sec\iunea 1, urm@nd pa]ii men\iona\i.
Se vor explora ambele moduri de simulare (prin meniu ]i linie de comand`).
2. S` se construiasc` modelul Simulink pentru ecua\ia Van der Pole. Se va analiza
comportarea sistemului neliniar pentru a = + 0.1, a = + 1, Se vor trasa
traiectoriile de stare conform indica\iilor din sec\iunea 2.
3. Se va studia sistemul cu actualizate multipl` prezentat [n figura 5.
55
Figura 5
Modelul va fi simulat din linia de comand` pe intervalul de timp [0 5], prin
comanda:
>> [t, x, y] = euler(multirat, 5)
Ie]irile y vor putea fi afi]ate grafic cu ajutorul func\iei stairs:
>> stairs(t, y)
4. S` se proiecteze modelul Simulink al sistemului mecanic prezentat [n lucrarea
6, pagina 40, figura 5. S` se simuleze ]i s` se analizeze comportarea acestui
sistem. Se cunosc M
1
= M
2
= 1000 kg, B
1
= 1, B
2
= 0.1, k
1
= k
2
= 2*10
7
, F = 10N.

S-ar putea să vă placă și