Sunteți pe pagina 1din 10

Teoria Sistemelor ndrumar de laborator

1
UTILIZAREA PROGRAMULUI SIMULINK
OBIECTIVE
Folosind MATLAB -SIMULINK-ul se va realiza:
Prezentarea principalelor blocuri din Simulink;
Crearea schemelor bloc n Simulink, att pentru sisteme continue ct i
pentru sisteme discrete;
Transferul de date ntre Matlab Simulink;
Exerciii propuse.

Simulink este un program pentru simularea sistemelor dinamice conceput
ca o extensie a pachetului de programe MATLAB. Utilizarea progrmului se face
n dou faze:
definirea modelului;
analiza modelului.
Pentru a putea utiliza programul trebuie mai nti nvat cum se
construiete, din punct de vedere al programului simulink, un model i apoi
trebuie nvat cum se manipuleaz blocurile din bibliotecile progrmului.
1.1. Realizarea unei sesiuni n simulink
O sesiune tipic ncepe prin realizarea modelului unui sistem sau apelarea
unui model creat anterior. Pentru a facilita definirea modelului se utilizeaz o
clas de ferestre numit diagrame bloc. n aceste ferestre modele sunt create i
desenate n principal cu ajutorul mouse-ului.
O mare parte din nsuirea programului const n familiarizarea cu regulile
de manipulare a compartimentelor n cadrul acestor ferestre.
Pentru realizarea unui anumit model blocurile programului sunt copiate n
ferestre de lucru i legate dup regulile care vor fi analizate mai jos.
Evoluia simulrii poate fi urmrit pe parcursul rulrii experimentului de
simulare i rezultatele finale pot fi gsite n spaiul de lucru al Matlab-ului, atunci
cnd simularea este complet.
Teoria Sistemelor ndrumar de laborator

2
Pasul 1. Lansarea programului.
Lansarea programului de simulare se face n dou moduri:
prin apsarea butonului ;
prin tastarea n linia de comand a cuvntului simulink.
Cele dou moduri au ca efect deschiderea unei ferestre ce conine
bibliotecile cu blocurile de baz reprezentate prin nume i icoan. n acast
fereastr, se selecteaz din meniul File, comanda New pentru a deschide o
fereastr activ goal n care se construiete modelul sistemului care urmeaz a
fi analizat, sau se selecteaz Open pentru a deschide o ferestr a unui model
editat mai nainte. Fereastra poate fi redimensionat pentru a realiza o rezoluie
convenabil folosind mouse-ul cu ajutorul cruia se trag marginile n poziia
dorit. Se pot salva noile dimensiuni ale ferestrei cu comanda Save din meniul
File. La urmtoarea ncrcare a ferestrei ea va apare cu noile dimensiuni stabilite
la precedenta ncrcare.
Pasul 2. Plasarea blocurilor n fereastra activ.
Pentru construirea modelului se vor deschide una sau mai multe biblioteci
i blocurile necesare se vor muta cu ajutorul mouse-ului n fereastra activ.
Deschiderea unei biblioteci se face prin realizarea unui dublu click pe imaginea
acesteia.
Pasul 3. Legarea blocurilor.
Dup ce blocurile au fost plasate se realizeaz conectarea lor prin
trasarea unor linii de conectare cu ajutorul mouse-ului, mutnd pointerul de
mouse i innd apsat butonul din stnga de la ieirea unor blocuri la intrarea
altora.
Pasul 4. Setarea parametrilor blocurilor.
Se deschid pe rnd blocurile printr-un dublu click pe imaginea lor i se
seteaz parametrii care apar n caseta de dialog. Parametrii unui bloc pot fi orice
expresie Matlab corect din punct de vedere sintactic. Un exemplu de caset de
dialog este prezentat n figura 1. Aceast caset corespunde bloculului step
(mrime de intrarea a unui sistem) i setarea const n intoducerea pasului (
reprezint momentul de timp n secunde cnd semnalul de ieire sare de la
valoarea iniial la valoarea final), a valorii iniiale (reprezint momentul de
nceput a semnalului de ieire), a valorii finale (reprezint momentul de sfrit a
semnalului de ieire, amplitudinea semnalului) i a perioadei de eantionare (n
cazul sistemelor discrete).
Teoria Sistemelor ndrumar de laborator

3

Fig.1 Caseta de dialog a blocului step
Pasul 5. Setarea parametrilor simulrii.
Parametrii simulrii se seteaz selectnd comanda Configuration
Parameters din meniul Simulation. Pentru rularea unei simulri pe PC, este
nevoie de o tehnic numeric de rezolvare a ecuaiilor difereniale (ex ode45).
Sistemul poate fi simulat ca un sistem continuu sau ca un sistem discret, n
funcie de blocurile ce formeaz sistemul. Prin setarea parametrilor se nelege:
alegerea metodei de integrare, stabilirea limitelor pentru variabila independent
(timpul), stabilirea limitelor pentru funcie, stabilirea pasului minim i maxim de
integrare.

Fig.2 Caseta de dialog pentru setarea parametrilor simulrii
Pasul 6. Simularea.
Pornirea simulatorului se poate face selectnd comanda Start din meniul
Simulation sau prin apsarea butonului . n timpul simulrii n
locul comenzii Start apare comanda Stop, prin intermeiul creia se poate opri
Teoria Sistemelor ndrumar de laborator

4
simularea. Este recomandat ca nainte de simulare s se salveze modelul prin
alegerea comenzii Save din meniul File.
Pentru a vizualiza rezultatelor simulrii, se utilizeaz blocul Scope, care
poate fi conectat n locurile n care se dorete, prin realizarea unei legturi spre
intrarea acestora din punctul dorit. Blocul scope conine o serie de butoane care
au urmtoarea semnificaie:

- tiprire;

- setare parametri;

- zoom pe axa x i y;

- zoom pe axa x;

- zoom pe axa y;

- scalare automat;

- salvare setare axe;

- ntoarce vechile setri;

- scope variabil;

- deblocare setare axe;

- selectare semnal.
Scalarea automat realizeaz un zooming pe ambele axe. Apsnd
butonul setare parametri(parameters) se va deschide fereastra din figura 3:

Fig.3 Caseta de dialog pentru setarea parametrilor
unde:
number of axes (numrul de axe ) permite selectarea numrului de axe
y folosite (de exemplu dac numrul de axe este 1, atunci pe acelai
grafic putem reprezenta dou sau mai multe semnale, iar dac
numrul de axe este 2 (sau 3 etc), atunci fiecare semnal va fi
Teoria Sistemelor ndrumar de laborator

5
reprezentat pe un grafic separat), axa x rmnnd neschimbat pentru
fiecare grafic; dimensiunile axei y pot varia de la un grafic la altul;
numrul de axe este egal cu numrul porturilor de intare;
time range permite fixarea limitelor axei x prin introducerea unui numr
(numr de secunde) sau a cuvntului auto; prin introducerea numrului
de secunde, obinem limitele axei x, iar introducnd auto, nseamn c
limitele axei x sunt egale cu durata simulrii;
tick labels permite prezentarea axelor graficului, sau omiterea
acestora;
floating scope permite transformarea blocului Scope ntr-un scope
variabil sau mai simplu se copiaz blocul Floating Scope din
biblioteca Sinks n fereastra activ; blocul Floating Scope are
parametrul floating scope selectat automat; pentru a folosi un Floating
Scope n timpul simulrii, mai nti se deschide blocul, dup care se
apas butonul de selectare a semnalului (signal selection); se va
deschide o alt fereastr de unde vom putea selecta semnalul care se
dorete a fi simulat n blocul Floating Scope; se poate selecta orice
semnal inclusiv cele din cadrul subsitemelor care nu sunt deschise;
sampling reprezint un factor de decimare; dac se dorete o
reprezentare sub form de perioade de eantionare se va alege
opiunea sampling time .
Putem controla cantitatea de informaie (numrul de puncte) care s apar n
blocul Scope prin setarea opiunii Data History. Putem limita numrul de puncte
salvate prin selectarea opiunii Limit data points to last.
Datele obinute n urma simulrii pot fi salvate automat prin selectarea opiunii
Save data to workspace. Se va introduce un nume n cmpul Variable name,
specificndu-se i formatul sub care se salveaz datele respective, selectnd
una din opiunile din cmpul Format.
Pentru selectarea limitelor axei y, se va da click dreapta pe grafic i se va selecta
opiunea Axes properties. Pe ecran va aprea fereastra din figura 4:

Fig.4 Setarea propietilor axei y
n Y-min se va scrie valoarea minim pentru axa y, n Y-max se va scrie
valoarea maxim pentru axa y, iar n title se va preciza titlul graficului.
Se poate utiliza blocul To Workspace pentru a trimite rezultatele n mediul
Matlab unde pot fi prelucrate utiliznd funciile Matlab.
Teoria Sistemelor ndrumar de laborator

6
n cazul apariiei unor erori, acestea trebuie eliminate, schimbnd una sau
mai multe conexiuni, tergnd blocuri sau schimbnd parametrii unor blocuri.
Comenzile pentru tergere sunt comune aplicaiilor Windows. Elementul care
urmeaz s fie ters va fi selecat i apoi cu tasta Del va putea fi ters.
Se pot utiliza modificri ale traseelor legturilor cu ajutorul mouse-ului. De
asemenea, n cazul n care modelul este prea mare ( conine prea multe blocuri)
se poate realiza o grupare a acestora ntr-un singur bloc prin comanda Block.
Orientarea unui bloc se poate schimba din meniul Format. Dimensiunea
unui bloc se poate schimba, ca la orice obiect grafic Windows, prin selectare cu
mouse-ul i apoi redimensionare.
Blocurile pot fi mutate n orice loc n fereastr. Orice linie care este
conectat la un bloc care se mut rmne conectat. Dac sunt mutate mai
multe blocuri ele i menin poziia relativ.
Programul simulink realizeaz adugarea unui nume pentru fiecare bloc
utilizat. Dac mai multe blocuri sunt de acelai fel atunci progrmul adaug un
numr la numele blocului deoarece fiecare bloc trebuie s aib un nume distinct.
Utilizatorul poate schimba numele blocului pentru a realiza o documentare ct
mai bun, cu condiia respectrii regulii de mai sus.
Ca i exemplu, se va ncerca n continuare reprezentarea funciei sinus. Din
fereastra ce conine bibliotecile cu blocurile de baz se vor alege blocurile:
Sine wave i Scope
n fereastra activ se va construi urmtorul model:
Si ne Wave Scope

Fig.5 Model pentru simularea funciei sinus
Dup terminarea simulrii, prin dublu click pe Scope se poate vizualiza
rezultatul.
1.2. Transfer de date ntre Simulink i Matlab
Pentru a realiza transferul de date ctre programul MATLAB, se adaug la
programul din SIMULINK, dou blocuri To Workspace, din biblioteca Sinks. n
exemplul urmtor (figura 6), se va prezenta un sistem cu bucl nchis, realiznd
trasferul de date ntre MATLAB i SIMULINK. Se vor folosi urmtoarele blocuri:
Sum din biblioteca Math;
dou blocuri To Workspace din biblioteca Sinks.
Ieirea din blocul Step, notat cu u, va fi conectat la intratea unui bloc To
Workspace, iar intrarea din blocul Scope, notat cu y, va fi conectat la cellalt
bloc To Workspace; n cele dou blocuri To Workspace se modific
urmtoarele cmpuri:
Teoria Sistemelor ndrumar de laborator

7
Variable name= Out se va schimba cu u pentru primul bloc,
respectiv cu y pentru cellalt bloc;
Maximum number of row=inf- numrul real de elemente va fi
decis n urma simulrii;
Save format=Structure se modific n Array.
Parametrii decimation i sample time pot fi ignorai.
Variabila timp t (timpul de simulare), este transmis ctre MATLAB folosind
blocul Clock (ceas) din biblioteca Source i blocul To Workspace. Utiliznd
funcia plot(t,y) n linia de comand a MATLAB-ului se va obine o figur
asemntoare cu figura din fereastra grafic SIMULINK.

Fig.6 Transfer de date ctre MATLAB

Transferul de date ctre SIMULINK se realizeaz introducndu-se, de exemplu
numrtorul num i numitorul den al funciei de transfer n mediul MATLAB
(figura 7). n linia de comand MATLAB se vor seta urmtoarele valori num=1 i
den=[1 1]. Se va observa c valorile u i y au fost transferate n MATLAB
Workspace.

Fig. 7 Transfer de date ctre SIMULINK

Teoria Sistemelor ndrumar de laborator

8
1.3. Exerciii propuse
Exerciiul 1.
Calculai valoarea polinomului 3 + 2 + = ) (
2
x x x f n punctul 2. n Simulink,
se vor alege urmtoarele blocuri:
din biblioteca Math Operations, blocul Polynomial;
din biblioteca Sources, blocul Constant;
iar pentru vizualizarea rezultatului din biblioteca Sinks se va alege
blocul Display.

Exerciiul 2.
Fie funciile:

<

=
1 ,
1 ,
) (
3
2
x x
x x
x f i

+
+ +
=
cazurilor restul n y x
y x y x
x g
,
2 ) ( 0 , ) (
) (
2 2
2
.

S se calculeze n Simulink ) 2 ( f , ) 2 - ( f , ) 2 - , 1 ( g . Mai nti n mediul
MATLAB se va realiza un fiier funcief, respectiv funcieg dup care se vor
alege din Simulink urmtoarele blocuri:
din biblioteca Sources, blocul Constant;
din biblioteca User-Defined Functions, blocul MATLAB Fcn;
iar pentru vizualizarea rezultatului din biblioteca Sinks se va alege
blocul Display.

Exerciiul 3.
Fie sistemul din figur, avnd o intrare ) (s U i o ieire ) (s Y .


Acest sistem are urmtorii parametri: ] 1 : 0 [ = t cu pasul 0.02, 5 =
n
, 6 . 0 = .
Reprezentai rspunsul la intrarea treapt a sistemului de ordinul 2 folosind
simulink-ul.
Din Simulink se vor alege urmtoarele blocuri:
din biblioteca Sources, blocul Step;
din biblioteca Continuous, blocul Transfer Fcn;
din biblioteca Sinks, blocul Source.

Exerciiul 4.
Teoria Sistemelor ndrumar de laborator

9
Fie sistemul discret reprezentat prin:
(
(
(

=
5 . 0 0 0
1 5 . 0 0
2 1 5 . 0

(
(
(

=
1 0
0 0
0 1

(

=
1 0 0
0 0 1
C
Reprezentai grafic (folosind simulink-ul) rspunsul obinut prin aplicarea
unui semnal de tip treapt unitar pe fiecare canal de intrare (2 canale de intrare)
cu ] 1 : 1 . 0 : 0 [ = t , respectiv ] 1 : 0 [ =
1
t .
Din Simulink se vor alege urmtoarele blocuri:
din biblioteca Sources, blocul Step;
din biblioteca Discrete, blocul Discrete State-Space;
din biblioteca Sinks, blocul Source.

Exerciiul 5.
Fie sistemul continuu din figur:

S se simuleze rspunsul sistemului nchis la intrarea treapt unitar, cu
] 1 : 1 . 0 : 0 [ = t .
Din Simulink se vor alege urmtoarele blocuri:
din biblioteca Sources, blocul Step;
din biblioteca Continuous, blocul Transfer Fcn;
din biblioteca Math Operations, blocul Sum;
din biblioteca Sinks, blocul Source.
Transferai apoi datele din SIMULINK n MATLAB i realizai simularea n
MATLAB.

Exerciiul 6.
Fie sistemul discret din figur:


Teoria Sistemelor ndrumar de laborator

10
S se simuleze rspunsul sistemului nchis la intrarea treapt unitar, cu
] 1 : 1 . 0 : 0 [ = t .
Din Simulink se vor alege urmtoarele blocuri:
din biblioteca Sources, blocul Step;
din biblioteca Discrete, blocul Discrete Transfer Fcn;
din biblioteca Math Operations, blocul Sum;
din biblioteca Sinks, blocul Source.
Observaie:
Trecerea de la sistem continuu la sistem discret se va realiza n MATLAB.
Exerciiul 7.
Fie sistemul continuu reprezentat n spaiul strilor:
0 ) 0 (
] 0 [ ] 0 1 [
1
0
1 - 1 -
1 0
2
1
2
1
2
1
=
+
(

=
(

+
(

=
(

x
u
x
x
y
u
x
x
x
x
&
&

Reprezentai grafic (folosind simulink-ul) rspunsul sistemului obinut prin
aplicarea unui semnal de tip ramp unitar la intrare.
Din Simulink se vor alege urmtoarele blocuri:
din biblioteca Sources, blocul Ramp;
din biblioteca Continuous, blocul State-Space;
din biblioteca Sinks, blocul Source.