Upload
dragana-krstic
View
33
Download
3
Embed Size (px)
Citation preview
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
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
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
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
SIMULINK OKRUŽENJE
BLOKOVI
Blokovi se mogu prilagoditi (kastomizovati) ličnim potrebama i grupisati u vlastite biblioteke blokova
KONTINUALNI I DISKONTINUALNI BLOKOVI
7
BLOKOVI IZLAZA I ULAZA
MATEMATIČKE OPERACIJE
8
9
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
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
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
PRIMER
POJEDINI PODSISTEMI PRIMERA
13
PREGLED REZULTATA SIMULACIJE PRIMERA
OSNOVNE GRUPE BLOKOVA
ulazi - Sourcesizlazi - Sinksdiskretni sistemi - Discretelinearni sistemi - Linearnelinearni sistemi - Nonlinearveze između blokova - Connectionsdodatni blokovi - Extras
14
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
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
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
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
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
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
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
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
- 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
PRIMERI
1. Formirati model u Simulinku za sistem opisan sledećom diferencijalnom jednačinom
,
24
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
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