57
SIMULINK MATLAB Softver za modeliranje, simulaciju i analizu dinamičkih sistema

SIMULINK - · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

  • Upload
    dotruc

  • View
    248

  • Download
    13

Embed Size (px)

Citation preview

Page 1: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

SIMULINK

MATLAB

Softver za modeliranje, simulaciju i analizu dinamičkih sistema

Page 2: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Uopšteno o SIMULINK-u

• 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

Page 3: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Upotreba SIMULINK-a

• upotrebljava se u dve faze

– formiranje simulacionog modela (Model-Based Design)

– analiza modela - simulacije U praksi se primenjuju oba koraka iterativno dok se ne dostignu željena ponašanja. Preporučuje se formiranje novog modela na osnovu postojedeg, tj. ne treba raditi “sve iz početka”.

Page 4: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Simulink proširenja

• Brojni hardver i softver se oslanjaju/proširuju Simulink

• Stateflow uvodi rad sa dijagramima stanja.

• Real-Time Workshop generiše C kod za real-time implementacije sistema u proizvodnji, dizajn embedded system-a.

• xPC Target zajedno sa x86-zasnovanim real-time sistemima pruža okruženje za simulacije i testiranje Simulink i Stateflow modela u relanom vremenu na PC računarima. Podržane su i druge brojne platforme (Infineon C166, Motorola 68HC12, Motorola MPC 555, TI C2000, TI C6000).

• Simulink HDL Coder omogudava automatsko generisanje VHDL i Verilog-a.

• SimEvents dodaje biblioteku grafičkih blokova za modelovanje redova čekanja. Pored vremenski zasnovanih (time-based) simulacija dodaje i vremenski diskretne simulacije zasnovane na događajima (event-based).

Page 5: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Formiranje simulacionog modela

• upotrebljavaju se blokovi – tipična upotreba

• formiranje modela podseda 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.

Page 6: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer modela

Page 7: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Simulink okruženje

Page 8: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer jednostavnog modela

Generatorsignala 2

Pojacanje

Mux

Multiplekser

pera

u MAT LAB

Graf

Page 9: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi

• Veliki broj predefinisanih blokova organizovanih u grupe blokova

– Continuous and discrete dynamics blocks, sadrže Integration, Unit Delay, ...

– Algorithmic blocks, sadrže Sum, Product, Lookup Table, ...

– Structural blocks, sadrže Mux, Switch, Bus Selector, ...

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

• Dodatne grupe blokova donose MATLAB proširenja

– Za aerospace, communications, radio frequency, signal processing, video and image processing, ...

– Proširenja za modelovanje fizičkih sistema (mehaničkih, električnih, hidrauličnih komponenti): Simscape™, SimDriveline™, SimHydraulics®, SimMechanics™, SimPowerSystems™.

Page 10: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Kontinualni i Diskontinualni blokovi

Page 11: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi Ulaza (izvora) i Izlaza (ponora)

Page 12: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Matematičke operacije

Page 13: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Rutiranje signala, Korisnikove f-je, Logičke i bit op.

Page 14: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Izgradnja modela

• Zasniva se 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, ...

Page 15: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Uslovno izvršavanje podsistema

• Tokom testiranja se mogu omoguditi/onemogučiti izvršavanja delova dizajniranog modela

– To se postiže upravljanjem logičkim signalima

– Logički signali pokredu izvršavanje podsistema u predefinisanim trenucima ili zasnovano na događajima u sistemu

– Složena logika takvih signala se može realizovati upotrebom dijagrama stanja u alatu Stateflow®

Page 16: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

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 omogudava 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

Page 17: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

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.

Page 18: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Solveri

• Solveri su numerički integracioni algoritmi koji računaju vremenske promene promenljivih stanja modela

• Podrž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 informacije

– Podešenja se mogu snimiti sa modelom

Page 19: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer formiranja modela dinamičkog sistema

Page 20: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer

Page 21: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pojedini podsistemi primera

Page 22: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pregled rezultata simulacije primera

Page 23: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Osnovne grupe blokova (v4)

• ulazi - Sources

• izlazi - Sinks

• diskretni sistemi - Discrete

• linearni sistemi - Linear

• nelinearni sistemi - Nonlinear

• veze između blokova - Connections

• dodatni blokovi - Extras

Linear Connections

SIMULINK Block Library (Version 1.3c)

ExtrasSources Discrete NonlinearSinks

Page 24: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi ulaza (v4)

• generator vremena - Clock

• generator diskretnog vremena - Digital clock

• generisanje vremenske funkcije tabelom koja se periodično ponavlja - Repeating Sequence

• generator konstantne vrednosti - Constant

• generator signala: sinusni, četvrtke, trougaoni ili beli šum - Signal Generator

• generator impulsa - Pulse Generator

• generator sinusnog oblika - Sine Wave

• generator jedinične funkcije - Step Input

• generator funkcije definisane podacima iz MAT datoteke - From File

• 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

Signal Source Library

RandomNumber

Chirp Signal

RepeatingSequence

Band-Limi tedWhite Noise

SignalGenerator

1

Constant

Sine Wave Step Input

untitled.mat

From File

[T,U]

FromWorkspace

12:34

Digital ClockClock

PulseGenerator

Page 25: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi izlaza (v4)

• grafički prozor za prikaz vremenske promene veličina - Scope, Graph, Auto-Scale Graph

• grafički prozor za prikaz promene jedne veličine u zavisnosti od druge - XY Graph

• smeštanje rezultata u MATLAB promenljivu - To Workspace

• smeštanje rezultata u MAT datoteku - To File

• zaustavljanje simulacije (kada je ulaz u blok <>0) - Stop Simulation

• promena koraka integracije (obično pri pojavi diskontinuiteta) - Hit Crossing

Signal Sinks Library

STOP

Stop Simulation

XY Graph

Graph

yout

To Workspace

untitled.mat

To File

Scope

Auto-ScaleGraph

Hit Crossing

Page 26: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi vremenski diskretnih sistema (v4)

• kašnjenje jedne periode odabiranja - Unit Delay

• digitalni filter - Filter

• zadavanje 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 sa ograničavačem - Discrete-Time Limited Integrator

Zero-OrderHold

(z-1)

z(z-0.5)

DiscreteZero-Pole

1/z

Unit Delay

1

1+2z -1

Filter

1

z+0.5

DiscreteTransfer Fcn

y(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)

Discrete State-Space

Discrete-T ime Library

1

z-1

Discrete-T imeIntegrator

First-OrderHold

Discrete-T imeLimited Integrator

Page 27: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi linearnih sistema (v4)

• sabirač - Sum

• množač (unutrašnji proizvod vektora) - Inner Product

• Integrator

• diferencijator - Derivative

• pojačavač - Gain

• matrični pojačavač - Matrix Gain

• klizač kao pojačavač - Slider Gain

• zadavanje linearnog kontinualnog modela sistema:

– u prostoru stanja - State-Space

– preko polinoma funkcije prenosa - Transfer Fcn

– preko nula i polova - Zero-Pole

Linear Library

.

InnerProduct

++

Sum

1/s

Integrator

du/dt

Derivative

1

s+1

Transfer Fcn

(s-1)

s(s+1)

Zero-Po le

1

Gain

K

MatrixGain

1.04

SliderGain

x' = Ax+Bu y = Cx+Du

State-Space

Page 28: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Nelinearne komp. (v4)

• znak broja (1,0,-1) - Sign

• apsolutna vrednost - Abs

• proizvod - Product

• funkcija - Fcn

• histerezis - Backlash

• zona neosetljivosti - Dead Zone

• ograničavač gradijenta - Rate Limiter

• zavisnost izlaza od ulaza data tablicom - Look-Up Table

• zavisnost izlaza od dva ulaza data tablicom - 2-D Look-Up Table

• relej - Relay

• prekidač, izlaz se prebacuje kada srednji ulaz pređe preko zadate vrednosti (parametra) - Switch

• transportno kašnjenje - Transport Delay ...

Nonlinear Library

Rate Limiter

Saturation

Dead Zone

Backlash

CoulombicFriction

Quantizer

RelaySign

2-D Look-UpTable

Look-UpTable

Abs

Abs

*

Product

SwitchCombinatorial

Logic

AND

LogicalOperator

>=

RelationalOperator

system

S-Function

MATLABFunction

MAT LAB Fcn

1/s

ResetIntegrator

f(u)

Fcn

VariableTransport Delay

TransportDelay

Memory

1/s

LimitedIntegrator

Page 29: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Nelinearne komponente - nastavak

• promenljivo transportno kašnjenje - Variable Transport Delay

• funkcija MATLAB-a - MATLAB Fcn

• S-Function

• diskretizovanje ulaza - Quantizer

• statičko trenje - Coulombic Friction

• relacioni operator - Relational Operator

• logički operator - Logical Operator

• kombinatorno logičko kolo - Combinatiorial Logic

• memorija (uvodi kašnjenje od jednog koraka integracije) - Memory

• integrator sa ograničavačem - Limited Integrator

Page 30: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Blokovi za veze (v4)

• multiplekser - Mux (upotrebljava se za grupisanje signala)

• demultiplekser - Demux

• ulaz u posmatrani model - Inport

• izlaz iz posmatranog modela - Outport

Mux

Mux

Demux

Demux

1

Outport

1

Inport

LibraryConnections

Page 31: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Dodatni blokovi

• primeri

• Flip-Flop-ovi: Latch, SR, D, JK

• kontroleri i PID kontroleri

• niskopropusni, visokopropusni i pojasni filtri

• analiza signala: auto i kros korelacija, spektar, spektar snage

• prevođenje koordinata između polarnog i Dekartovog koordinatnog sistema

• blokovi drugih Toolbox-ova

– identifikaciju sistema

– veštačke neuronske mreže

– analizu robustnosti sistema, ...

MuToolsDemos

RobustControlDemos

System IDControllers

Additional blocks using the mask uti l i ty (documented in release notes):

Fi l ters

BlockLibrary

Most commonlyused blocks

DEMOS

SIMULINKDemos

Blocks and demos which require toolboxes:

Conversion Flip-Flops PID ControllersAnalyzers

NeuralNetworks

Posebni blokovi (v4)

Page 32: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Analiza modela

• ugrađeni su brojni alati za analizu modela

– različiti simulacioni algoritmi

– 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

Page 33: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Analiza modela – načini upotrebe

1. potpuno interaktivan rad

– komande se zadaju iz menija

– rezultati se posmatraju u grafičkim prozorima Simulink-a

2. pokretanje simulacije iz MATLAB-a

– model se može formirati interaktivno

– pokretanje simulacije i preuzimanje rezultata se radi u MATLAB-u

Postupak je fleksibilniji od predhodnog jer se dobijeni rezultati mogu dodatno obraditi upotrebom MATLAB-a

3. upotreba S-funkcija

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

– postoji blok S-Function

Ne postoji jasna granica izmeđe upotrebe ova tri načina, tj. načini se međusobno preklapaju.

Način analize modela obično zavisi od faze razvoja modela.

Page 34: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Analiza modela - Simulacija

• simulacija uključuje numeričku integraciju skupa diferencijalnih jednačina

• postoji nekoliko algoritama za integraciju:

– sa promenljivim korakom integracije

– sa fiksnim korakom integracije

Zbog razlika u dinamičkom ponašanju različitih sistema, ni jedan algoritam ne garantuje da de za svaki model davati tačne i efikasne (brze) rezulatate.

Za dobijanje tačnih rezultata treba požljivo izabrati metodu integracije i postaviti njene parametre.

Page 35: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pokretanje simulacije

• iz menija

• iz komandne linije - MATLAB-a

• pokretanje simulacije iz MATLAB-a u odnosu na pokretanje simulacije iz menija ima vedu fleksibilnost, mogu se:

• zadati početna stanja

• formirati “spoljašnji” ulazi preko dodatne promenljive ut

• pokretati simulacije iz MATLAB skript datoteke, gde se parametri mogu programski menjati

Page 36: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pokretanje simulacije iz menija

Parametri algoritma se posebno postavljaju u dijalogu (v4):

– izbor algoritma integracije

– vremena početka i kraja simulacije: tstart i tfinal

– tolerancija, min. i maks. korak integracije: tol, minstep, maxstep

– imena promenljivih sa rezultatima simulacije: txy (vreme, prom. stanja, izlazi sistema kao [t,x,y])

Mogudnost izbora integracionog algoritma fiksnog i promenljivog koraka

v7

Page 37: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pokretanje simulacije iz komandne linije (v7)

*t,x,y+ = sim(‘model’,<TIMESPAN>,<OPTIONS>,UT, p1, p2, …)

• <TIMESPAN> se zadaje na jedan od načina:

– TFinal,

– [TStart TFinal], ili

– [TStart OutputTimes TFinal].

• <OPTIONS> se postavlja upotrebom simset

• UT = [T, U1, ... Un]

Primeri:

sim(‘model',tfinal)

*t,x,y+=sim(‘model',tfinal)

sim(‘model',[tstart tfinal],simset('initialstate',x0))

sim(‘model',[tstart tfinal],simset('initialstate',1,'solver','ode23'))

Page 38: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Pokretanje simulacije iz komandne linije (v4)

Parametri algoritma se zadaju kao argumenti

*t,x,y+ = linsim( ‘model’, *tstart,tfinal+, x0, *tol,minstep,maxstep+,

UT, p1, p2, … );

ili krade, gde pojedini parametri imaju podrazumevane vrednosti

*t,x,y+ = linsim( ‘model’, tfinal );

Page 39: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Izlazi modela - prikaz rezultata

1. Označavanje izlaza blokom za izlaz modela

- prenos vrednosti kao izlaza modela u MATLAB

- Prenos vrednosti kao ulaz u druge Simulink blokove

2. Grafički prikaz trajektorije pomodu Graph blokova

3. Prenos vrednosti u MATLAB pomodu “To Workspace” bloka

4. Zapis u datoteku - “To File” blok

Graph

1

OutportStep Input1

Step Input

1

s+1

Transfer Fcn

1

s+1

Transfer Fcn1

Step Input2

1

s+1

Transfer Fcn2

yout

To Workspace

Page 40: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Početna stanja

• primenjuju se u trenutku tstart

• nalaze se u samim blokovima

• mogu se postaviti (promeniti) iz komandne linije [t,x,y] = sim(‘model',tfinal,simset('initialstate',x0)) %v7 [t,x,y] = linsim( ‘model’, tfinal, x0 ) %v4

• početna stanja postojedeg modela se mogu očitati pomodu [sizes,x0] = model sizes su podaci u modelu: broj ulaza, izlaza, ...

Page 41: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Algebarske petlje

• algebarske ili implicitne petlje se javljaju kada dva ili više blokova imaju direktan prenos svojih ulaza i formiraju povratnu spregu

• rešavaju se iterativno (u najviše 200 iteracija Newton-Raphson tehnikom)

• znatno umanjuju brzinu simulacije i treba ih izbegavati

• javljaju se kod:

– blokova sa pojačanjima

– vedine nelinearnih blokova

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

– modela u prostoru stanja sa nenultom matricom D

x

To Workspace

1

Gain

1

Constant

+-

Sum

Page 42: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Interpolacija podataka

• potrebna je zbog promenljivog koraka integracije

• dobijaju se neekvidistantne tačke koje se teško upoređuju

• MATLAB-ove funkcije za interpolaciju podataka procenjuju vrednosti u vremenskim trenucima različitim od poznatih

• metode:

– linearna interpolacija yint = table1( [ t, y ], tint )

– interpolacija polinomom (1-D biharmonična interpolacija) yint = interp2( t, y, tint )

– interpolacija kubnim splajnom yint = spline( t, y, tint ) Ove funkcije imaju i dodatne parametre.

Page 43: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Osobine simulacionih algoritama (v4)

• linsim

– upotrebljava se za linearne sisteme sa: funk. prenosa, modelima u prostoru stanja, modelima preko nula i polova, sabiračima i pojač.

– može se upotrebiti i za sisteme koji sadrže nelinearne elemente, ali ako su sastavljeni pretežno od linearnih elem.

– dobar je za stiff sisteme - sisteme sa jednovremeno prisutnom i brzom i sporom dinamikom

• rk23, rk45

– najbolji za izrazito nelinearne i diskontinualne sisteme

– dobar za “mešane” kontinualne i diskretne sisteme

– loš za stiff sisteme

...

Page 44: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Osobine simulacionih algoritama - nastavak ...

• gear

– dobar za nelinearne i “glatke” sisteme

– dizajniran za stiff sisteme, a manje je efikasan za ostale

– loš za sisteme sa singularitetima i brzim poremedajima i promenema na ulazima

• adams

– dobar za nelinearne i “glatke” sisteme

– loš za sisteme sa vremenskim konstantama koje se menjaju u širokim granicama

• euler

– dobar samo za proveru rezultata

– generalno: izbegavati ga!

Page 45: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer (v4)

opt = [1e-3, 1e-5, 10]; % tolerancija, min i max korak

Tf = 20;

x0 = [1; 1];

[tr23, xr23] = rk23( 'vdp', Tf, x0, opt );

plot( tr23, xr23 )

X1' = X1( 1 - X2*X2 ) - X2

1 - u * u

(1-x2*x2) Scopes

1

s

1

*

i l iX'' + ( X*X - 1 ) X' + X = 0

Van der Pol jednacina:

1

-

+

X1'

X2' = X1

X1

X2

Page 46: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Poređenje metoda integracije (v4) tol=0.001

referenca je rk45 sa tolerancijom od 1e-6

računato na PC486/33

Metod Br. računanjaizvoda

Tačaka naizlazu

Vremenaračunanja

Greška(po tački)

linsim 144 136 1,37 0,0051

rk23 316 89 1,50 0,0023

rk45 204 35 1 0,0041

adams 270 55 1,51 0,0019

gear 336 65 1,91 0,0048

euler 365 366 3,03 0,2881

Page 47: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Poređenje metoda integracije (v4) tol=0.1

referenca je rk45 sa tolerancijom od 1e-6

računato na PC486/33

Metod Br. računanjaizvoda

Tačaka naizlazu

Vremenaračunanja

Greška(po tački)

linsim 77 74 2.38 0.0326

rk23 86 23 1.29 0.3730

rk45 140 21 1.46 0.8811

adams 116 34 2.69 0.1005

gear 181 48 4.17 0.2319

euler 33 34 1 1.5835

Page 48: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Vremenski diskretni modeli u Simulink-u

• sadrže diskretne blokove

– svaki blok ima “ugrađene”:

• odabirač na ulazu i

• produživač signala 0-tog reda na izlazu

– ulazi se osvežavaju (računaju) samo u trenucima odabiranja

– izlati imaju stalnu vrednost između dva trenutka odabiranja

– vreme odabiranja i ofset (opcija) su parametri bloka t = n·T + ofset

• model može sadržati diskretne blokove sa različitim periodama odabirača

• modeli mogu biti sačinjeni isključivo od diskretnih blokova

• modeli mogu biti hibridni, sa pomešanim diskretnim i kontinualnim blokovima

Page 49: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Linearizacija modela

• funkcija linmod formira linearan vremenski kontinualan model na osnovu Simulink 'model'-a rez = linmod(’model’,x,u)

gde su:

– ulazi i izlazi modela označeni “ulaznim” i “izlaznim” blokovima (iz biblioteke veza među blokovima)

– x i u nominalne vrednosti promenljivih stanja i ulaza - radna tačka oko koje se vrši linearizacija (mogu se izostaviti ako je radna tačka u 0)

– rez je dobijeni linearan model u nekoliko oblika:

*A,B,C,D+ = linmod(’model‘,x,u)

[P, Q+ = linmod(’model‘,x,u)

struktura = linmod(’model‘,x,u)

• kod vremenski diskretnih ili hibridnih modela upotrebljava se funkcija dlinmod, sa dodatnim parametrom - vremenom odabiranja Ts rez = dlinmod(’model’,Ts,x,u)

Page 50: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Linearlizacija modela - primer

» [a, b, c, d] = linmod(‘model2bloka')

a = -2 -1 1 1 0 0 0 1 -1 b = 1 0 0 c = 0 1 0 0 0 1 d = 0 1

2

Outport1

1

s+1

Transfer Fcn2

1

Outport

1

s +2s+1 2

Transfer Fcn1

1

Inport

+ +

Sum

Page 51: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Linearlizacija modela – primer 2

» [a,b,c,d]=linmod('zad7blok');

» tf(ss(a,b,c,d))

Transfer function:

17 s^3 + 76.5 s^2 + 204 s + 297.5

---------------------------------------------------------------------------------------

s^6 + 7.5 s^5 + 46.5 s^4 + 124.5 s^3 + 293.2 s^2 + 289.7 s + 315.8

1

Out1

-K-

G7

s+2.5

1

G6

s+1

s +2s+72

G5

s +s+22

2

G4

1.7

G3

s+2

10

G2

.5

G1

1

In1

Page 52: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Određivanje stacionarnih tačaka (trim)

• Za zadate vrednosti ulaza (i promenljivih stanja) mogu se odrediti vrednosti izlaza u ustaljenom stanju, i obrnuto

• Za zadate vrednosti izlaza mogu se odrediti vrednosti ulaza, ili kombinacija ...

Primer

Odrediti vrednosti ulaza i promenljivih stanja koje na izlazu modela daju y=[1;1]

» x = [0 0 0]'; u = 0; % početno pogađanje promenljivih stanja i ulaza

» y = [1;1]; % željene vrednosti izlaza

» ix = []; iu = []; % dozvoljene su promene vrednosti prom. stanja i ulaza

» iy = [1;2]; % izlazi modela koji su fiksirani: 1. i 2.

» [x, u, y, dx] = trim('model2bloka', x, u, y, ix, iu, iy)

x = 0.0000 1.0000 1.0000 u = 3.5135e-016

y = 1.0000 1.0000 dx = 1.0e-015 * 0 0.0800 0.2220

Page 53: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer - Amortizer

• Nelinearan model:

» *t,x,y+=sim(‘AmortizerNelin',20,*+,*0 10; 10 10+);

» plot(t,y)

380)(,5,10

)())(()()(

xxFcm

tftxFtxctxm

k

k

)(80

)()(

)(

)()(

3

122

21

txm

txm

c

m

tftx

txtx

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Odziv x(t) na pobudu 10h(t)

Page 54: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer Amortizer – stacionarno stanje

Stacionarno stanje:

» Upoc = 10; Xpoc = [1;1]; Ypoc = [1];

» [Xnom, Unom, Ynom] = trim(‘AmortizerNelin', Xpoc, Upoc, Ypoc, [], 1, [])

Xnom = 0.5000

0.0000

Unom = 10

Ynom = 0.5000

fx

tftxtxctxm

3

3

80

)()(80)()(

Page 55: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer Amortizer - linearizacija

» *a,b,c,d+ = linmod(‘AmortizerNelin‘, Xnom, Unom)

a = 0 1.0000

-6.0000 -0.5000

b = 0

0.1000

c = 1 0

d = 0

» w = tf(ss(a,b,c,d))

Transfer function:

0.1

------------------

s^2 + 0.5 s + 6 )(ˆ)(ˆ60)(ˆ5)(ˆ10

)(ˆ)(ˆ240)(ˆ)(ˆ

5.010,80

)(ˆ)(ˆ80380)(ˆ)(ˆ

2

3

23

tftxtxtx

tftxxtxctxm

xffx

tfftxxxtxctxm

Linearizacija modela

Page 56: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Primer Amortizer - poređenje

Poređenje odziva linearnog i nelinearnog modela:

» [y, t, x] = step(w, 25); % odziv na jediničnu pobudu

» UT = [0 Unom+1; 25 Unom+1]; % pobuda je ustaljeno stanje + 1 (jed.pobuda)

» [tn, xn, yn+ = sim(‘AmortizerNelin‘, 25, simset('InitialState',Xnom), UT);

» plot(t, y+Ynom, tn, yn)

0 5 10 15 20 25 300.5

0.505

0.51

0.515

0.52

0.525

0.53

0.535

Page 57: SIMULINK -   · PDF filemultivarijabilni sistemi sa koncentrisanim parametrima • radi kao proširenje MATLAB-a ... rešavanje običnih diferencijalnih jednačina prvog reda

Kako SIMULINK funkcioniše

1. svi parametri blokova se izračunavaju u MATLAB-u i zamenjuju brojnim vrednostima

2. blokovi se sortiraju prema redosledu računanja (hijerarhija podsistema se ovde ignoriše)

3. proveravaju se dimenzije veza među blokovima (broj izlaza predhodnog se mora slagati sa brojem ulaza narednog bloka)

4. prva faza simulacije: računaju se izlazi svih blokova na osnovu (početnih) stanja

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

6. osvežava se ekranski prikaz.