simulink sem rad

31
Tehnološki fakultet u Leskovcu SEMINARSKI RAD Tema: Simulacija dinamičkih sistema pomoću Simulinka -Primena specifičnih softvera u procesnom inženjerstvu- 3

Upload: dragana-krstic

Post on 19-Jan-2016

28 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Simulink Sem Rad

Tehnološki fakultet u Leskovcu

SEMINARSKI RAD

Tema: Simulacija dinamičkih sistema pomoću Simulinka

-Primena specifičnih softvera u procesnom inženjerstvu-

Student:

3

Page 2: Simulink Sem Rad

Uvod

Program MatLab služi za rešavanje različitih matematičkih problema, čitav niz izračunavanja i simulacija vezanih uz obradu signala, upravljanje, regulaciju i identifikaciju sistema. Prva verzija MatLab-a, jednostavna matrična laboratorija (Matrix Laboratory), napisana je krajem 1970. godine na univerzitetima University of New Mexico i Stanford University s ciljem primene u matričnoj teoriji, linearnoj algebri i numeričkoj analizi. Korišćen je Fortran i delovi biblioteka LINPACK i EISPACK. Početkom 80-tih se prelazi na C programski jezik uz dodavanje novih mogućnosti, i to prvenstveno u područjima obrade signala i automatskog upravljanja. Od 1984. MatLab je dostupan kao komercijalni proizvod kompanije MathWorks.Danas svojstva MatLab-a daleko prelaze originalni “matričnu laboratoriju”. Radi se o interaktivnom sistemu i programskom

jeziku za opšta tehnička i naučna izračunavanja. Osim osnovnog sistema postoje i brojni programski paketi koji ga proširuju i pokrivaju gotovo sva područja inženjerske delatnosti: obradu signala i slike, 2D i 3D grafičke prikaze, automatsko upravljanje, identifikaciju sistema, statističke obrade, analizu u vremenskom i frekvencijskom domenu, simboličku matematiku i brojne druge. Jedan od važnijih paketa je SIMULINK—vizualni alat koji omogućuje simulaciju kontinuiranih i diskretnih sistema pomoću funkcijskih blok dijagrama pri tom ne zahteva od korisnika detaljno poznavanje sintakse nekog programskog jezika. MatLab je takođe zamišljen kao sistem u kojem korisnik na jednostavan način može graditi svoje sopstvene alate i biblioteke i modifikovati postojeće. U tu svrhu se koristi jednostavni programski jezik. Takođe je moguće koristiti C, Fortran, Adu ili Javu. Matlab je moćan softver koji ima sposobnost modeliranja komponenti elektroenergetskog sistema pomoću Toolboxa unutar Simulink paketa.1

MATLAB je interaktivni i user-friendly sistem za numeričke računanje i vizualizaciju grafike za inženjere i naučnike . Ima programski jezik moćan i jednostavan za korišćenje . To omogućava izražavanje problema i rešenja na jednostavan način, za razliku od drugih programskih jezika .MATLAB objedinjuje numeričke funkcije analize , matricu algebre , obradu signala , grafički 2D i 3D vizualizacije , itd . Može se koristiti interaktivno ili kod programiranja . U interaktivnom režimu , korisnik ima mogućnost brzih proračuna i predstavljanja rezultata u digitalnom obliku ili u vidu grafa . U modu programiranja je moguće pisati skripte (programe). Kao i kod drugih jezika korisnik može kreirati i svoje funkcije koje se mogu nazvati interaktivno ili u skripti . Ove funkcije daju MATLABu prednost : njegovu proširivost.U MATLABu, osnovni element je matrica . Korisnik se ne bavi dodelom memorije ili promeniti veličina kao u klasičnim jezicima . Tako se numerički problemi mogu rešiti u rekordnom roku , što predstavlja samo mali deo vremena u poređenju sa drugim jezicima kao što su Basic , C , C + + ili Fortran . MATLAB se koristi i u industriji kao moćno sredstvo simulacije i vizualizacije numeričkih problema.U akademskom svetu MATLAB se koristi za učenje linearne algebre , obrade signala , automatici , kao i u naučnim istraživanjima . U industrijskom sektoru se koristi za rezoluciju i simulaciju praktičnih inženjerskih problema i prototipova .

4

Page 3: Simulink Sem Rad

MATLAB je skraćenica od matrice laboratorija . Prvobitno je bio napisan u FORTRAN-u Cleva Molera. MATLAB je dizajniran da olakša pristup softveru matrice i razvijen je u okviruLINPACK i EISPACK projekata.  MATLAB je podržan od strane raznih Setova (alata) specifičnih za različita polja . Još jedna prednost MATLAB je njegova prenosivost. Isti deo koda može se koristiti na različitim platformama bez ikakvih promena.2

Simulink je deo MatLab-a namenjen simuliranju dinamičkih sistema. Za sam unos i opis sistema koji se simulira koristi se jednostavno grafičko okruženje u kojem sastavljamo/crtamo model kombinujući gotove komponente. Takvim pristupom je simulacija sistema značajno olakšana jer se od korisnika ne zahteva unos diferencijalnih jednačina koje opisuju sistem uz poznavanje MatLab programskog jezika već je dovoljno znati blok-shemu sistema. Simulink je interaktivno grafičko razvojno okruženje za Modelovanje i simulaciju linearnih i nelinearnih dinamičkih sistema pomoću grafa protoka signala, korišćenjem odgovarajućih blok dijagrama.3

Bilo da čitalac želi da predstavi dinamički model jednostavnog klatna ili dizajnira kontroler za ruku robota, uvek je korisno da bude u mogućnosti da animira dinamički model. Takođe, ovaj model može pomoći u preliminarnoj proceni učinka kontrolera. Osim toga, animacije mogu pomoći učenicima i manje-tehničkoj publici da shvate krajnje rezultate dinamičkog modela bez ulaženja u dugotrajana matematička izračunavanja.4

5

Page 4: Simulink Sem Rad

SIMULINK

Simulink se upotrebljava se za simulaciju dinamike sistema (u grafičkom okruženju),mogu se analizirati linearni, nelinearni, vremenski kontinualni ili diskretni multivarijabilni sistemi sa koncentrisanim parametrima, radi kao proširenje MATLAB-a, dodaje osobine karakteristične dinamičkim sistemima, zadržava MATLAB-ovu funkcionalnost, koristi se blok dijagram prozor kao glavni grafički alat, model se formira kao blok dijagram upotrebom miša, simulacija se ostvaruje upotrebom SIMULINK funkcija za numeričko rešavanje običnih diferencijalnih jednačina prvog reda.Upotrebljava se u dve faze:

- formiranje simulacionog modela (Model-Based Design)

- analiza modela - simulacije

FORMIRANJE SIMULACIONOG MODELA

upotrebljavaju se blokovi - tipična upotreba formiranje modela podseća na crtanje blok-dijagrama postoje biblioteke blokova

- Standardna, proširiva SIMULINK biblioteka

- korisnikova biblioteka blokovi se kopiraju iz biblioteke i povezuju vizuelno

- Kod složenih modela blokovi se mogu grupisati u hijerarhije

- blokovi poseduju parametre koji se postavljaju na željene vrednosti

- parametri blokova se mogu menjati i u toku simulacije programski interfejs (API) omogudava povezivanje sa proširenjima (simulacionim

programima) i pisanje MATLAB koda.

6

Page 5: Simulink Sem Rad

SIMULINK OKRUŽENJE

BLOKOVI

Blokovi se mogu prilagoditi (kastomizovati) ličnim potrebama i grupisati u vlastite biblioteke blokova

KONTINUALNI I DISKONTINUALNI BLOKOVI

7

Page 6: Simulink Sem Rad

BLOKOVI IZLAZA I ULAZA

MATEMATIČKE OPERACIJE

8

Page 7: Simulink Sem Rad

9

Page 8: Simulink Sem Rad

RUTIRANJE SIGNALA, KORISNIKOVE FUNKCIJE, LOGIČKE I BIT OPERACIJE

IZGRADNJA MODELA

Izgradnja modela se zasniva na dovlačenju (drag & drop) blokova iz bibliotreke u grafički editor i njihovom povezivanju linijama koje uspostavljaju matematičke relacije.Model se može urediti upotrebom operacija poput: copy, paste, undo, align, distribute, resize.Model se može organizovati u nekoliko nivoa upotrebom hijerarhija podsistema i model referenci.

- Podsistem enkapsulira grupu blokova i signala u jedan blok

- Podsistemu se može kreirati izgled tako da se prikazuje kao atomski (nedeljiv) blok sa svojom slikom (ikonom) i okvirom dijaloga za unos parametara bloka (maskom).

Pojedinačne komponente modela se mogu nezavisno simulirati, verifikovati, snimati u biblioteke

- komponente/podsistemi se mogu referencirati u modelima gde su upotrebljene

- Biblioteke su kompatibilne sa configuration management sistemima, poput CVS, ClearCase, ...

10

Page 9: Simulink Sem Rad

SIGNALI I PARAMETRI MODELA

Mogu se definisati atributi signala i parametri pridruženi modelu Signali su vremenski promenljive vrednosti predstavljene linijama koje povezuju

blokove Parametri su koeficijenti koji pomažu u definsanju dinamike i ponašanja sistema Atributi signala i parametara se mogu direktno postaviti na dijagramu modela ili u

posebnom data dictionary

- Model Explorer omogućava uređenje data dictionary-ja Atributi signala i parametara:

- Tip podatka — single, double, signed or unsigned 8-, 16- or 32-bit integers; Boolean; fixed-point

- Dimenzionlanost — scalar, vector, matrix, or N-D arrays

- Realna ili kompleksna vrednost

- Min i max opseg, početna vrednost, inženjerske jedinice

POKRETANJE SIMULACIJE

Podržani su

- fixed-step and variable-step solveri,

- grafički debugger,

- model profiler.Simulacije se mogu pokretati

- interaktivno upotrebom Simulink GUI ili

- iz MATLAB komandne linije (m-datoteka)Modovi simulacija su:

- Normalan (podrazumevan) - model se interpretira

- Accelerator - ubrzava simulaciju kompajliranjem koda i dozvoljavanjem izmena parametara modela (blokova)

- Rapid Accelerator - brži od Accelerator moda, ali sa manje interaktivnosti gde se izvršavanje odvija odvojeno od Simulink-a

Postoje MATLAB komande za učitavanje i procesiranje podataka modela, parametara i vizuelizaciju rezultata.

11

Page 10: Simulink Sem Rad

SOLVERI

Solveri su numerički integracioni algoritmi koji računaju vremenske promene promenljivih stanja modelaPodržane su simulacije brojnih tipova modela, poput:

- vremenski kontinualnih (analog),

- vremenski diskretnih (digital),

- hibridnih (mixed-signal), i

- multirate sistema (sa više perioda odabiranja).Solveri mogu simulirati stiff sisteme i sisteme sa diskretnim promenama stanja (diskontinuiteti, trenutne promene dinamike).Parametri simulacionog algoritma se mogu podešavati. Uključuju:

- Tip i osobine solvera

- Početno i krajnje vreme simulacije

- Da li se učitavaju ili snimaju simulacioni podaci?

- Optimizacione i dijagnostičke informacijePodešavanja se mogu snimiti sa modelom.

PRIMER FORMIRANJA MODELA DINAMIČKOG SISTEMA

12

Page 11: Simulink Sem Rad

PRIMER

POJEDINI PODSISTEMI PRIMERA

13

Page 12: Simulink Sem Rad

PREGLED REZULTATA SIMULACIJE PRIMERA

OSNOVNE GRUPE BLOKOVA

ulazi - Sourcesizlazi - Sinksdiskretni sistemi - Discretelinearni sistemi - Linearnelinearni sistemi - Nonlinearveze između blokova - Connectionsdodatni blokovi - Extras

14

Page 13: Simulink Sem Rad

BLOKOVI ULAZA

generator vremena - Clockgenerator diskretnog vremena - Digital clockgenerisanje vremenske funkcije tabelom koja se periodično ponavlja Repeating Sequencegenerator konstantne vrednosti - Constantgenerator signala: sinusni, četvrtke, trougaoni ili beli šum - Signal Generatorgenerator impulsa - Pulse Generatorgenerator sinusnog oblika - Sine Wavegenerator jedinične funkcije - Step Inputgenerator funkcije definisane podacima iz MAT datoteke - From File generator funkcije generator funkcije definisane podacima iz radnog prostora - From Workspace generator sinusnog oblika sa linearno rastudom frekvencijom - Chirp Signal generator serije slučajnih brojeva - Random Number generator ograničenog belog šuma - Band-Limited White Noise

15

Page 14: Simulink Sem Rad

BLOKOVI IZLAZA

grafički prozor za prikaz vremenske promene veličina - Scope,Graph, Auto-Scale Graphgrafički prozor za prikaz promene jedne veličine u zavisnosti od druge - XY Graphsmeštanje rezultata u MATLAB promenljivu - To Workspacesmeštanje rezultata u MAT datoteku - To Filezaustavljanje simulacije (kada je ulaz u blok <>0) - Stop Simulationpromena koraka integracije (obično pri pojavi diskontinuiteta) – Hit Crossing

16

Page 15: Simulink Sem Rad

BLOKOVI VREMENSKI DISKRETNIH SISTEMA

kašnjenje jedne periode odabiranja - Unit Delaydigitalni filter - Filterzadavanje linearnog model diskretnog sistema:

- u prostoru stanja - Discrete State-Space

- preko polinoma funkcije prenosa - Discrete Transfer Fcn

- preko nula i polova - Discrete Zero-Pole

produživači signala

- nultog reda - Zero-Order Hold

- prvog reda - First-Order Hold

diskretni integrator - Discrete-Time Integrator i integrator Discrete-Time Limited Integrator

17

Page 16: Simulink Sem Rad

BLOKOVI LINEARNIH SISTEMA

sabirač-Summnožač (unutrašnji proizvod vektora) - Inner ProductIntegratordiferencijator - Derivativepojačavač - Gainmatrični pojačavač - Matrix Gainklizač kao pojačavač - Slider Gainzadavanje linearnog kontinualnog modela sistema:u prostoru stanja - State-Spacepreko polinoma funkcije prenosa - Transfer Fcn

NELINEARNE KOMPONENTE

znak broja (1,0,-1) - Signapsolutna vrednost - Absproizvod - Productfunkcija - Fcnhisterezis - Backlashzona neosetljivosti - Dead Zoneograničavač gradijenta - Rate Limiter

18

Page 17: Simulink Sem Rad

zavisnost izlaza od ulaza data tablicom - Look-Up Tablezavisnost izlaza od dva ulaza data tablicom - 2-D Look-Up Tablerelej - Relayprekidač, izlaz se prebacuje kada srei (parametra) - Switchtransportno kašnjenje - Transport Delaypromenljivo transportno kašnjenje - Variable Transport Delayfunkcija MATLAB-a - MATLAB FcnS-Functiondiskretizovanje ulaza - Quantizerstatičko trenje - Coulombic Frictionrelacioni operator - Relational Operatorlogički operator - Logical Operatorkombinatorno logičko kolo - Combinatiorial Logicmemorija (uvodi kašnjenje od jednog koraka integracije) - Memoryintegrator sa ograničavačem - Limited Integrator

19

Page 18: Simulink Sem Rad

BLOKOVI ZA VEZE

multiplekser - Mux (upotrebljava se za grupisanje signala)demultiplekser - Demuxulaz u posmatrani model - Inportizlaz iz posmatranog modela - Outport

POSEBNI BLOKOVI

primeriFlip-Flop-ovi: Latch, SR, D, JKkontroleri i PID kontroleriniskopropusni, visokopropusni i pojasni filtrianaliza signala: auto i kros korelacija, spektar, spektar snageprevođenje koordinata između polarnog i Dekartovog koordinatnog sistemablokovi drugih Toolbox-ova

identifikaciju sistema veštačke neuronske mreže analizu robustnosti sistema, ...

20

Page 19: Simulink Sem Rad

ANALIZA MODELA

Ugrađeni su brojni alati za analizu modela, različiti simulacioni algoritmi i formiranje linearnog modela sistema (linearizacija modela), nalaženje stacionarnih stanja, tok simulacije se može pratiti tokom njenog rada, krajnji rezultati se mogu preneti u MATLAB-ovo okruženje.

NAČINI UPOTREBE

Potpuno interaktivan rad

- komande se zadaju iz menija

- rezultati se posmatraju u grafičkim prozorima Simulink-aPokretanje simulacije iz MATLAB-a

- model se može formirati interaktivno

- pokretanje simulacije i preuzimanje rezultata se radi u MATLAB-uUpotreba S-funkcija

- model dela sistema se opiše programski - S-funkcijom

- postoji blok S-Function

SIMULACIJA

Simulacija uključuje numeričku integraciju skupa diferencijalnih jednačina Postoji nekoliko algoritama za integraciju:

- sa promenljivim korakom integracije

- sa fiksnim korakom integracijePokretanje simulacije vrši se iz menija i iz komandne linije - MATLAB-a.

21

Page 20: Simulink Sem Rad

IZLAZI MODELA - PRIKAZ REZULTATA

Označavanje izlaza blokom za izlaz modelaprenos vrednosti kao izlaza modela u MATLABprenos vrednosti kao ulaz u druge Simulink blokove

Grafički prikaz trajektorije pomodu Graph blokovaPrenos vrednosti u MATLAB pomoću "To Workspace" blokaZapis u datoteku - "To File" blok

POČETNA STANJA

primenjuju se u trenutku tstartnalaze se u samim blokovimamogu se postaviti (promeniti) iz komandne linije

[t,x,y] = sim('model',tfinal,simset('initialstate',x0))[t,x,y] = linsim('model', tfinal, x0 )

početna stanja postojedeg modela se mogu očitati pomodu[sizes,x0] = model

sizes su podaci u modelu: broj ulaza, izlaza,...

ALGEBARSKE PETLJE

Algebarske ili implicitne petlje se javljaju kada dva ili više blokova imaju direktan prenos svojih ulaza i formiraju povratnu spregurešavaju se iterativno (u najviše 200 iteracija Newton-Raphson tehnikom)znatno umanjuju brzinu simulacije i treba ih izbegavatijavljaju se kod:

- blokova sa pojačanjima

- vedine nelinearnih blokova

22

Page 21: Simulink Sem Rad

- funkcija prenosa sa jednakim stepenima brojioca i imenioca ili jednakim brojem nula i polova

- modela u prostoru stanja sa nenultom matricom D

KAKO SIMULINK FUNKCIONIŠE

svi parametri blokova se izračunavaju u MATLAB-u i zamenjuju brojnim vrednostimablokovi se sortiraju prema redosledu računanja (hijerarhija podsistema se ovde ignoriše)proveravaju se dimenzije veza među blokovima (broj izlaza predhodnog se mora slagati sa brojem ulaza narednog bloka)prva faza simulacije:

- računaju se izlazi svih blokova na osnovu (početnih) stanjadruga faza simulacije:

iterativno se računaju izvodi na osnovu tekudeg vremena, ulaza i stanja. Izračunati izvodi se prosleđuju algoritmu za integraciju

23

Page 22: Simulink Sem Rad

PRIMERI

1. Formirati model u Simulinku za sistem opisan sledećom diferencijalnom jednačinom

,

24

Page 23: Simulink Sem Rad

2. Napraviti u Simulinku simulacioni diagram punjenja i pražnjenja dva kaskadno vezana rezervoara prikazana na slici. Isticanje tečnosti definisano je sledećim izrazima:

i .

Rešenje. Model sistema

25

Qu(t)

h(t)

Qi(t)

Rezervoar

Qi2

Qi1 = Qu2 = Qz

h2

Qu1

h1

Qz

To Workspace2

h2

To Workspace1

h1

To Workspace

Step

Scope4

Scope3

Scope2

Scope1

Scope

Qu(t)

h(t)

Qi(t)

Rezervoar 2

Qu(t)

h(t)

Qi(t)

Rezervoar 1

Page 24: Simulink Sem Rad

Literatura

1. M. H. Idrisa, S. Hardia, M. Z. Hasana, Teaching Distance Relay Using Matlab/Simulink Graphical User Interface, Malaysian Technical Universities Conference on Engineering & Technology 2012, MUCET 2012, Part 1 - Electronic and Electrical Engineering

2. N. Martaj, M. Mokhtari, MATLAB R2009, SIMULINK et STATEFLOW pour Ingenieurs, Chercheurs ´et Etudiants, SBN 978-3-642-11763-3 e-ISBN 978-3-642-11764-0 DOI 10.1007/978-3-642-11764-0,Springer Heidelberg Dordrecht London New York

3. W. D. Pietruszka , MATLAB und Simulink in der Ingenieurpraxis Modellbildung, Berechnung und Simulation, 2006, ISBN: 978-3-8351-0100-5 (Print) 978-3-8351-9074-0

4. N.Khaled , Virtual Reality and Animation for MATLAB® and Simulink® Users, Introduction to Virtual Reality in MATLAB® and Simulink® Environment 2012, pp1-2

5. T. Petković, Kratke upute za korištenje MATLABA, Zavod za elektronske sustave I obradu informacija, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, travanj 2005.

6. M. Essert, T. Žilić, MATLAB-Matrični Laboratorij, Zagreb 20047. Ž.Ban, Osnove Matlaba, Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva,

Zagreb 2006.

26