CATEGORII DOCUMENTE |
DOCUMENTE SIMILARE |
||
|
||
PACHETUL DE MODELARE SI SIMULARE SIMULINK
SIMULINK este un pachet software pentru modelarea, simularea si analiza sistemelor dinamice. Pot fi modelate sisteme liniare si neliniare, continue, discrete, hibride, cu mai multe perioade de esantionare.
SIMULINK furnizeaza o interfata grafica utilizator (GUI) pentru crearea modelelor sub forma unor diagrame construite din blocuri, pe baza unor tehnici de tip click-and-drag realizate cu mouse-ul. Astfel, trasarea diagramelor este simpla si intuitiva, aproape la fel de simpla ca trasarea acestor diagrame direct pe hartie. In plus, se evita formularea matematica laborioasa (sistemele dinamice sunt de regula descrise de ecuatii diferentiale sau cu diferente).
SIMULINK dispune de o biblioteca vasta de surse, receptoare, componente liniare si neliniare, conectori etc. pe baza carora se pot trasa diagrame si construi blocuri proprii.
Modelele realizate in SIMULINK sunt ierarhice. Se poate vizualiza modelul de nivel inalt, iar la efectuarea unui dublu click pe blocul respectiv se coboara nivel dupa nivel astfel incat se pot observa toate detaliile de constructie si de organizare ale modelului.
Dupa crearea unui model se pot realiza simulari apeland la diverse metode de integrare din meniurile SIMULINK si/sau utilizand comenzi MATLAB. Prin utilizarea unor blocuri de tip osciloscop sau diverse dispozitive de afisare se pot observa rezultatele chiar in timpul simularii. De asemenea se pot schimba valorile unor parametri si se poate observa imediat efectul acestor modificari. Rezultatele obtinute se pot transporta in workspace-ul MATLAB pentru prelucrari si vizualizari ulterioare.
1. Rularea unui model SIMULINK demonstrativ
Rularea modelului
Pentru a analiza modul de lucru cu SIMULINK se poate apela la rularea unor programe (modele) demonstrative.
Unul din programele demo este modelul termodinamic al unei case. Pentru rularea programului, trebuie parcursi urmatorii pasi:
1. Se starteaza MATLAB.
2.
Se ruleaza demonstratia tastand thermo
in fereastra de comanda MATLAB sau se
tasteaza comanda demo si se alege programul demonstrativ din meniul
care apare. Aceste comenzi starteaza SIMULINK si creeaza o
fereastra model care contine modelul respectiv.
La deschiderea modelului (extensiile fisierelor SIMULINK sunt .mdl) SIMULINK-ul deschide un bloc de tip osciloscop cu doua ecrane (temperatura interioara/exterioara - Indoor vs. Outdoor Temp. si costul incalzirii - Heat Cost ($)).
3. Pentru startarea simularii se activeaza meniul Simulation si se alege comanda Start command (sau se activeaza direct butonul Start din bara de instrumente). O data cu startarea simularii sunt plotate evolutiile temperaturii interioare si exterioare, ca si costul cumulat al incalzirii.
4. Pentru oprirea simularii se alege comanda Stop din meniul Simulation (sau butonul Pause din bara de instrumente).
5. Atunci cand se doreste terminarea rularii programului se inchide modelul alegand Close din meniul File.
Descrierea modelului
Programul modeleaza sistemul termodinamic al unei case folosind o reprezentare simpla. Temperatura de referinta este setata la 70 grade Fahrenheit (aprox. 21 grade Celsius). Temperatura din casa este influentata de temperatura exterioara, care poate fi variata sub forma sinusoidala (amplitudine 15 grade F, temperatura de baza 50 grade F), variatie care simuleaza fluctuatiile temperaturii din exterior din timpul zilei.
Sunt utilizate subsisteme care fac modelul simplu si configurabil (un subsistem este un bloc alcatuit dintr-un grup de blocuri conectate). Modelul contine 5 subsisteme: Thermostat, House si trei Convertoare de temperatura (Temp Convert), din care 2 convertesc Fahrenheit in Celsius si unul Celsius in Fahrenheit.
Efectuarea unui dublu click pe blocul House permite vizualizarea blocurilor componente ale subsistemului.
Subsistemul Thermostat este de tip releu si determina pornirea sau oprirea sistemului de incalzire. Se pot vedea blocurile componente la efectuarea unui dublu click pe subsistem.
Subsistemele de conversie a temperaturii au o structura asemanatoare:
Alte demonstratii
Din fereastra bibliotecilor SIMULINK pot fi rulate si alte demonstratii care pun in evidenta diverse concepte si tehnici de modelare din diverse domenii. Pentru rularea din fereastra bibliotecilor SIMULINK se procedeaza astfel:
1.
Se tasteaza simulink3
in fereastra de comanda MATLAB; va apare
fereastra bibliotecilor SIMULINK.
Se executa dublu click pe icon-ul Demos. Va apare fereastra demo a MATLAB-ului, care contine cateva modele SIMULINK interesante.
2. Crearea modelelor SIMULINK
Tehnica de creare a unor modele SIMULINK poate fi ilustrata cel mai bine prin exemple.
Modelul prezentat in continuare integreaza un sinus si afiseaza atat rezultatul cat si unda sinusoidala de la intrare. Schema bloc a modelului este urmatoarea:
Pentru a genera modelul se tasteaza mai intai simulink
in fereastra de
comanda MATLAB. Pe sistemele de operare de tip Windows va apare Browser-ul bibliotecilor SIMULINK.
Pe sistemele UNIX, va apare fereastra bibliotecilor SIMULINK.
Pentru a genera un model nou pe sisteme UNIX se selecteaza Model din submeniul New al meniului File. Pe sisteme Windows se selecteaza butonul New Model din bara de instrumente a Browser-ului de Biblioteci.
Simulink va deschide o fereastra pentru un model nou.
Pentru constructia modelului vor fi necesare blocuri din urmatoarele biblioteci Simulink:
Biblioteca de surse (blocul Sine Wave)
Biblioteca de receptoare (blocul Scope)
Biblioteca de sisteme continue (blocul Integrator)
Biblioteca Signals & Systems (blocul Mux)
Pentru copierea blocului Sine Wave se utilizeaza Browser-ul de bibiloteci: intai se expandeaza arborele de biblioteci (prin click pe nodul Simulink si apoi click pe nodul surse) astfel incat sa fie afisate blocurile din biblioteca de surse. Apoi se selecteaza blocul Sine Wave (click).
Fereastra Browser-ului de biblioteci va arata astfel:
La pasul urmator se trage (tinand apasat butonul din stanga al mouse-ului) blocul Sine Wave din browser si i se da drumul in fereastra modelului. Simulink va face o copie a blocului Sine Wave in punctul indicat.
Se poate proceda asemanator pentru copierea blocului Sine Wave din biblioteca de surse deschisa din fereastra de biblioteci Simulink (pe sisteme Windows se poate deschide fereastra de biblioteci din Browser prin click din butonul drept al mouse-ului si apoi click pe Open Library).
Ca si in cazul utilizarii browser-ului se trage blocul Sine Wave din biblioteca de surse in fereastra modelului (drag and drop):
Se procedeaza in mod asemanator si cu copierea celorlalte blocuri din bibliotecile corespunzatoare in fereastra modelului. Se poate deplasa cu usurinta orice bloc prin tragerea cu mouse-ul sau prin selectare si deplasare cu tastele sageti.
Dupa copierea tuturor blocurilor necesare in fereastra de lucru, modelul trebuie sa arate ca in figura urmatoare:
La o examinare atenta a simbolurilor de reprezentare a blocurilor se vor observa sageti care indica intrarile sau iesirile din blocuri: daca simbolul > este orientat spre iesirea blocului atunci este un port de iesire (output port) iar daca simbolul este indreptat spre bloc este un port de intrare (input port). Un semnal circula de la un port de iesire al unui bloc spre un port de intrare al altui bloc printr-o linie de conectare, Atunci cand blocurile sunt conectate, simbolurile porturilor dispar.
Pentru conectarea blocurilor se trece intai la conectarea blocului Sine Wave la prima intrare (de sus) a blocului Mux. Pentru aceasta se pozitioneaza pointerul mouse-ului deasupra portului de iesire al blocului Sine Wave. In acest moment forma pointerului se schimba si devine de tip cruce (cursor).
Se tine apasat butonul stanga al mouse-ului si se deplaseaza cursorul pana la intrarea de sus a blocului Mux.
Urmeaza eliberarea butonului mouse-ului si se observa cum blocurile au fost conectate.
In afara liniilor care conecteaza iesirile unor blocuri la intrarile altora exista si linii de bransare a unor linii la intrarile unor blocuri (se poate observa in modelul prezentat initial). O astfel de linie este utilizata pentru conectarea iesirii din blocul Sine Wave si la blocul Integrator (exista deja conexiunea la blocul Mux).
Pentru a efectua aceasta conexiune se procedeaza astfel:
1. Se pozitioneaza pointerul pe linia dintre blocurile Sine Wave si Mux.
2. Se apasa si se tine apasata tasta Ctrl. Se apasa butonul mouse-ului si apoi se trage pana la intrarea in blocul Integrator sau pana deasupra acestui bloc.
3. Se elibereaza butonul mouse-ului si se observa cum apare o linie de bransare pana la portul de intrare in blocul Integrator.
Se procedeaza conform indicatiilor si se efectueaza toate conectarile necesare. Modelul va trebui sa arate in final astfel:
3. Rularea simularilor in SIMULINK
Dupa incheierea procedurii de constructie a modelului, trebuie rulata o simulare pentru aprecierea corectitudinii modelului si pentru obtinerea rezultatelor cerute.
Pentru aceasta se deschide mai intai blocul osciloscopului (Scope), pentru a vizualiza evolutia marimilor modelului. Pastrand fereastra osciloscopului deschisa se va seta Simulink pentru rularea unei simulari timp de 10 secunde. Pentru aceasta, parcurgem urmatorii pasi:
1. Setam parametrii simularii prin alegerea submeniului Parameters din meniul Simulation. In fereastra de dialog care apare vom seta parametrul Stop time la 0 (valoare implicita).
2. Inchidem fereastra de dialog Simulation Parameters prin click pe butonul Ok. Simulink va aplica parametrii si va inchide fereastra de dialog.
3. Se selecteaza Start din meniul Simulation si se observa curbele afisate in fereastra osciloscopului.
4. Simularea se va opri atunci cand se ajunge la finalul timpului de rulare indicat in fereastra de dialog Simulation Parameters sau la selectarea optiunii Stop din meniul Simulation (sau din bara de instrumente).
Pentru salvarea modelului se alege Save din meniul File si se introduce un nume de fisier si se alege directorul unde dorim sa salvam modelul (fisierul va avea automat extensia .mdl).
Pentru incheierea lucrului se selecteaza Exit
MATLAB sau se tasteaza quit
in fereastra de comanda a MATLAB-ului.
4. Modul de lucru al unui program SIMULINK
Fiecare bloc dintr-un model Simulink are urmatoarele caracteristici generale: un vector de intrare, u, un vector de iesire, y, si un vector de stare, x:
Vectorul de stare poate consta din stari continue, stari discrete sau combinatii ale acestora. Relatiile matematice dintre aceste marimi (intrari, iesiri, stari) sunt exprimate prin ecuatii de tipul:
Simularea consta in doua faze: initializare si simulare propriu-zisa.
Faza de initializare inseamna parcurgerea urmatoarelor etape:
1. Blocul parametrilor este trecut in MATLAB pentru evaluare. Valorile numerice rezultate sunt folosite ca parametri actuali (curenti).
2. Este parcursa ierarhia modelului. Fiecare subsistem care nu este un subsistem executat conditionat este inlocuit prin blocurile componente.
3. Blocurile sunt sortate in ordinea in care este necesara actualizarea lor. Algoritmul de sortare intocmeste o lista astfel incat orice bloc nu este actualizat pana cand blocurile care furnizeaza intrarile acestuia nu sunt actualizate. In timpul derularii acestei etape sunt detectate buclele algebrice.
4. Conexiunile dintre blocuri sunt verificate pentru asigurarea compatibilitatii iesire-intrare.
Urmeaza faza de simulare propriu-zisa. Modelul este simulat prin integrare numerica. Calculul derivatelor se face in doi pasi. Prima data iesirea fiecarui bloc este calculata in ordinea determinata de algoritmul de sortare. La al doilea pas, pentru fiecare bloc se calculeaza derivatele in functie de timp, intrari si stari. Vectorul derivatelor rezultat este returnat algoritmului de rezolvare de tip ODE, care il utilizeaza pentru calculul noului vector de stare pentru momentul de timp urmator. O data ce noul vector de stare este calculat, blocurile sunt actualizate.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 3571
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved