Modelica Diskrétní a hybridní systémy Použity části z přednášek Petera Fritzsona Discrete Events and Hybrid Systems.

Slides:



Advertisements
Podobné prezentace
1 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 – Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím.
Advertisements

Present Simple and Continuous
Podpora rozvoje cizích jazyků pro Evropu 21. stol. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Tento projekt je spolufinancován Evropským sociálním fondem a státním.
Present perfect tense Mgr. Ludmila Faltýnková EU OPVK ICT2-4/AJ08 Základní škola Olomouc, Heyrovského 33 Určeno pouze pro výuku Žádná část ani celek nesmí.
Novinky ze zahraničí IVIG 2008
Budoucí čas „to be going to“
Základní technická terminologie Poznámka: značka * za slovem znamená pokračování kliknutím, zbytek je načasován.
Základní elektrická terminologie Poznámka: značka * za slovem znamená pokračování kliknutím, zbytek je načasován.
Evoluce Katalýza. © 2011 Nature Publishing Group. Published by Nature Publishing Group.2 Figure 1 Rapid evolutionary innovation during an Archaean.
Daniel.steigerwald.cz Třídy, dědičnost a OOP v Javascriptu.
Tutorial: Mechanic - electrician Topic: Electric measurement the 2nd. year Measuring devices 1 Prepared by: Ing. Jiří Smílek Projekt Anglicky v odborných.
Lada Leszkowová, Gymnázium K.V. Raise Hlinsko, 2014 leden
English grammar next.
Název a adresa školy: Střední odborné učiliště stavební, Opava, příspěvková organizace, Boženy Němcové 22/2309, Opava Název operačního programu:OP.
Unit One TO BE To Have. To Be / být  I am  You are  He, she,it is  We are  You are  They are  Já jsem  Ty jsi  On, ona,ono je  My jsme  Vy.
Počítačová grafika pro inženýry - CAD systémy pro DTP - znaky, stránky, dokumenty, tisk, osvitové jednotky pro manažery - obrázky, interpretace pro autory.
Prof. Ing. Jan Flusser, DrSc. Digitální zpracování obrazu
Program pro evidenci nákladů a výnosů Jan Lisal. Požadavky Požadavky zadání: Možnost evidence nákladů a výnosů v rámci firmy Možnost evidence práv a uživatelů.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiálu VY_32_INOVACE_AJK-3.PT-19-Služby Název školyStřední odborná škola a Střední odborné učiliště, Dubno.
Píseň “ABC” Reakce?. Kdo je tady? Kdo má domácí úkol?
Výukový materiál zpracovaný v rámci projektu Označení:Sada: 3 Ověření ve výuce:Třída: Datum: Registrační číslo projektu:CZ.1.07/1.5.00/ VY_32_INOVACE_ANJ_VL_3_15.
Abba – poslech, práce s textem.
1 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 – Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím.
Tutorial:Mechanic - electrician Topic: Electric measurement the 2nd. year Power output- AC 3-phase Prepared by: Ing. Jiří Smílek Projekt Anglicky v odborných.
Tutorial :Mechanic - electrician Topic: Electrical measurements the 2nd. Year Performance measurement DC, AC 1f Prepared by: Ing. Jiří Smílek Projekt.
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
? PRESENT SIMPLE OR PRESENT CONTINUOUS. PRESENT SIMPLE PŘÍTOMNÝ ČAS PROSTÝ We read a lot. We read every day. We usually read books of fiction. Our friend,
1 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 – Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím.
Integrated Development Environment datové modely pro SharePoint Michal Černík.
David Žváček 3.B. Boiler feed pump is a sort of pump designed to pump water into a steam boiler. The pump can be used to convey fresh water or condensed.
Elektronická učebnice - II
Od konceptuálního modelu k modelu v Modelice na příkladě modelování kardiovaskulárního systému.
Tutorial: Engineering technology Topic: Casting to temporary forms Prepared by: Ing. Elena Nová Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
Tutorial: Engineering technology Topic: Pressure – flasks casting Prepared by: Ing. Elena Nová Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
Přítomné časy, budoucí – will, minulý čas prostý - 6. ročník Základní škola Jakuba Jana Ryby Rožmitál pod Třemšínem Efektivní výuka pro rozvoj potenciálu.
Předpřítomný čas Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ondřej Hoberla. Dostupné z Metodického portálu ISSN:
Podpora rozvoje cizích jazyků pro Evropu 21. stol. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Tento projekt je spolufinancován Evropským sociálním fondem a státním.
Modal Verbs = způsobová slovesa.
Čím pojedete na dovolenou ? Co takhle autíčkem ?.
Podpora rozvoje cizích jazyků pro Evropu 21. stol. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Tento projekt je spolufinancován Evropským sociálním fondem a státním.
Future Simple Tense Budoucí čas prostý. vyjádření budoucnosti vyjádření nabídky Vyjádření rozhodnutí Tomorrow, the day after tomorrow, in the future,
Jméno autora: Mgr. Olga Bayerlová Datum vytvoření: Číslo DUMu: VY_32_INOVACE_18_AJ3E Ročník: II. Anglický jazyk Vzdělávací oblast: Jazyk a jazyková.
Jazyk a jazyková komunikace Cizí jazyk Komunikace Zjisti, o čem se mluví 1 VY_22_INOVACE_26 Sada 2 Základní škola T. G. Masaryka, Český Krumlov, T. G.
Tento Digitální učební materiál vznikl díky finanční podpoře EU- OP Vzdělávání pro konkurenceschopnost. Není –li uvedeno jinak, je tento materiál zpracován.
Educational program: Mechanic - electrician Title of program: Technical training II. class Astable multivibrator Worked out: Bc. Chumchal Miroslav Projekt.
Daily problems in the job Npor.Konvalinka Petr. Glossary Mobbing - sesypat se Mobbing - sesypat se Bullying - šikana, šikanování Bullying - šikana, šikanování.
Setkání uživatelů SFX Statistické reporty SFX.
Future with „Going to“ Mgr. Ludmila Faltýnková EU OPVK ICT2-4/AJ11 Základní škola Olomouc, Heyrovského 33 Určeno pouze pro výuku Žádná část ani celek nesmí.
Číslo: Digitální učební materiál vznikl v rámci projektu "Inovace + DVPP", EU peníze do škol, CZ.1.07/1.4.00/ Název: Present simple – Yes/No questions.
Travelling Maturita oral exam rehearsal
DBS_I – PL/SQL Vojtěch Hemala ARI. 1/ ZALOZTE SI NASLEDUJICI TABULKY A NAPLNTE JE DATY PODLE VZORU INSERT INTO brew (jmeno) VALUES ('Litovel'); INSERT.
Internet publishing CSS – part 2 Petr Zámostný room: A-72a phone: 4222
EMMA European weather warnings Page 1 EMMA XML Processing and Visualisation Logic Soubor XML odeslán z národní meteorologické služby, pro každý region.
Jméno autora: Mgr. Mária Filipová Datum vytvoření: Číslo DUMu: VY_32_INOVACE_01_AJ_EP Ročník: 1. – 4. ročník Vzdělávací oblast:Jazyk a jazyková.
Příjemce Základní škola, Třebechovice pod Orebem, okres Hradec Králové Registrační číslo projektuCZ.1.07/1.1.05/ Název projektu Digitalizace výuky.
1 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 – Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím.
How To Decorate Your Small Room
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM Businessland / Making Contracts 06B16 AutorLadislava Pechová Období vytvořeníLeden.
Jméno autora: Mgr. Mária Filipová Datum vytvoření: Číslo DUMu: VY_32_INOVACE_12_AJ_EP Ročník: 1. – 4. ročník Vzdělávací oblast:Jazyk a jazyková.
1 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 – Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím.
Tutorial: Obchodní akademie Topic: Logical Functions Prepared by: Mgr. Zdeněk Hrdina Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/ je.
Tutorial: Mechanic - electrician Topic: Basics of electrical engineering the 2nd. year Measuring the capacity Prepared by: Ing. Jiří Smílek Projekt Anglicky.
Název a adresa školy: Střední odborné učiliště stavební, Opava, příspěvková organizace, Boženy Němcové 22/2309, Opava Název operačního programu:OP.
Gymnázium, Brno, Elgartova 3 GE - Vyšší kvalita výuky CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Téma: English Grammar.
Digitální učební materiál
Introduction to MS Dynamics NAV XX. (Combined Shipments)
Účetní schémata MS Dynamics NAV RTC-základy
Chapter 13 Chemical Kinetics
How Does the Xenopus laevis Embryonic Cell Cycle Avoid Spatial Chaos?
CONCLUSIONS AND RECOMMENDATION
Transkript prezentace:

Modelica Diskrétní a hybridní systémy Použity části z přednášek Petera Fritzsona Discrete Events and Hybrid Systems

Do teď jsme probírali spojité modely Co je to spojitý model? Co je to spojitý systém? V přírodě (makrosvět) většinou spojitý Potřebujeme zjednušovat

Diskrétní systémy Změna stavu pouze v „clock“ V mezičase setrvalé time event 1event 2event 3

Digitální systémy Modelica.Electric.Digital – Hradla, RS, D – Logic, nikoli Boolean! – Logic hodnota; Logic valueMeaning 'U'Uninitialized 'X'Forcing Unknown '0'Forcing 0 '1'Forcing 1 'Z'High Impedance 'W'Weak Unknown 'L'Weak 0 'H'Weak 1 '-'Don't care

Modelica.StateGraph Pro simulace stavových automatů

Základní diskrétní typy Boolean Integer Discrete Real Spojité Real

Základ – if-equation If-equation – if x > 5 then – k = true; – x = whatever; – elseif … – else k = false; x = whatever2; – end; Pozor: – Stejný počet rovnic ve VŠECH větvích – Vždy musí být else (pokud se jednoznačně nevylučuje)

If-expressions If-expresssion nebo Cílový překlad Dá se zapsat také jako if-equation: Boolean returning; equation returning = velocity < 0.0; Boolean returning; equation returning = if velocity < 0.0 then true else false; Boolean returning; equation if velocity < 0.0 then returning = true; else returning = false; end if;

Event creation – if model Diode "Ideal diode" extends TwoPin; Real s; Boolean off; equation off = s < 0; if off then v=s else v=0; end if; i = if off then 0 else s; end Diode; if then elseif then else end if; if-equations, if-statements, and if-expressions False if s<0 If-equation choosing equation for v If-expression Peter Fritzson: Discrete Events and Hybrid Systems

IF Jakýkoli if-equation musí být rozepsatelný do if-expression – Nemožno míchat s der Musí být pokryty všechny možnosti Postupuje se shora! Real k; Real m; equation der(m) = 1; if time <= 20 then k = 0.5*m - 1; elseif time < 1 then // ignorováno k = 0; else k = 5; end if;

Time Časová pozice – time s_boolean = time > 30; Je_pozde = if time > then true else false; cas = time; when time > 20. then – casZlomu = time; end when;

Co to jsou EVENTS Události nespojitosti Zastaví se výpočet integrace, nalezne se přesný čas události – (Přesný ale není naprosto přesný) – Chyba: nelze hledat přesnou rovnost Místo toho např. m > 3 and m < 3 + 1e-6 Od času události platí rovnice v druhé větvi if Real m; equation if m == 3 then … end if;

Hybrid Modeling time Continuous-time Discrete-time Hybrid modeling = continuous-time + discrete-time modeling Real x; Voltage v; Current i; Events discrete Real x; Integer i; Boolean b; A point in time that is instantaneous, i.e., has zero duration An event condition so that the event can take place A set of variables that are associated with the event Some behavior associated with the event, e.g. conditional equations that become active or are deactivated at the event Peter Fritzson: Discrete Events and Hybrid Systems

When If rozděluje, KTERÉ rovnice použít Rovnice when se provedou POUZE při události – When se chová trochu jako algorithm – Máme stop-stav

Event creation – when when then end when; when-equations Only dependent on time, can be scheduled in advance Time event when time >= 10.0 then... end when; time event 1event 2event 3 Equations only active at event times State event when sin(x) > 0.5 then... end when; Related to a state. Check for zero-crossing Peter Fritzson: Discrete Events and Hybrid Systems

model WhenConflictX // Erroneous model: two equations define x discrete Real x; equation when time>=2 then // When A: Increase x by 1.5 at time=2 x = pre(x)+1.5; end when; when time>=1 then // When B: Increase x by 1 at time=1 x = pre(x)+1; end when; end WhenConflictX; Event Priority Erroneous multiple definitions, single assignment rule violated Using event priority to avoid erroneous multiple definitions model WhenPriorityX discrete Real x; equation when time>=2 then // Higher priority x = pre(x)+1.5; elsewhen time>=1 then // Lower priority x = pre(x)+1; end when; end WhenPriorityX; Pozor na Dymolu!

Vnoření if a when Ify můžeme vnořovat (vždy lze vygenerovat if- expression) Wheny vnořovat nelze! Ify do whenů však lze

Reinit Reinit nám dovolí měnit hodnoty spojité proměnné Lze použít pouze na proměnné, které se někde vyskytují v der(__) – Jinak můžeme použít diskrétní proměnnou Pouze ve WHEN Bouncing ball reinit(veličina, hodnota); reinit(rychlost, 0.0);

Discontinuous Changes to Variables at Events via When-Equations/Statements The value of a discrete-time variable can be changed by placing the variable on the left-hand side in an equation within a when -equation, or on the left-hand side of an assignment statement in a when -statement model BouncingBall "the bouncing ball model" parameter Real g=9.18; //gravitational acc. parameter Real c=0.90; //elasticity constant Real x(start=0),y(start=10); equation der(x) = y; der(y)=-g; when x<0 then reinit(y, -c*y); end when; end BouncingBall; The value of a continuous-time state variable can be instantaneously changed by a reinit -equation within a when -equation t

Čím odpálíme eventy? if/when time > if/when sample(start, interval) if/when edge(x) if/when change(x) a_bool = edge(x); c_boo = change(a_boo); if (a > 3 and b < 1) or (C_boolean and D_integer == 4) then

Detecting Changes of Boolean Variables Using edge() and change() The expression edge(b) is true at events when b switches from false to true Detecting changes of boolean variables using edge() Detecting changes of discrete-time variables using change() The expression change(v) is true at instants when v changes value time event b edge(b) event true false time event v change(v) event true 4.1 false true

Creating Time-Delayed Expressions Creating time-delayed expressions using delay() In the expression delay(v,d) v is delayed by a delay time d time t1 v t t1+d delay(v,d) t2+d start+d

initial and terminal events Initialization actions are triggered by initial() Actions at the end of a simulation are triggered by terminal() time terminal() false true event at end time initial() false true event at start

A Sampler Model model Sampler parameter Real sample_interval = 0.1; Real x(start=5); Real y; equation der(x) = -x; when sample(0, sample_interval) then y = x; end when; end Sampler; t

PRE Předešlá hodnota ~ jiná proměnná

Obtaining Predecessor Values of a Variable Using pre() At an event, pre(y) gives the previous value of y immediately before the event, except for event iteration of multiple events at the same point in time when the value is from the previous iteration The variable y has one of the basic types Boolean, Integer, Real, String, or enumeration, a subtype of those, or an array type of one of those basic types or subtypes The variable y is a discrete-time variable The pre operator can not be used within a function time y event y pre(y)

Zeno effect – bouncing ball - 1 model BouncingBall "the bouncing ball model - crash at T=27.5" parameter Real g=9.81; //gravitational acc. parameter Real c=0.90; //elasticity constant Real height(start=10); Real velocity( start=0); equation der(height) = velocity; der(velocity)=-g; when height<0 then reinit(velocity, -c*velocity); end when; end BouncingBall;

Zeno effect – bouncing ball - 2

Zeno effect – bouncing ball - 3 Řešení – Dát si na to pozor – Terminate simulation – Rozlišit Letí / stojí when height < 1e-6 then terminate("Propadli sme podlahou"); end when;

Terminating a Simulation model terminationModel Real y; equation y = time; when y >5 then terminate("The time has elapsed 5s"); end when; end terminationMode; There terminate() function is useful when a wanted result is achieved and it is no longer useful to continue the simulation. The example below illustrates the use: simulate(terminationModel, startTime = 0, stopTime = 10) Simulation ends before reaching time 10 terminate

Zeno effect – bouncing ball - 4

Dioda

Jednoduše: Zavíráme a otvíráme jen proudem? Pozor na nulu! if i < 0 then v = Roff*i; else v = Ron*i; end if; If v < 0 then v = Roff*i; else v = Ron*i; end if;

Dioda 2 Pomocí vložené proměnné Anebo lépe off = s < 0; //off – s je napeti, not off – s je proud v = s * (if off then 1 else Ron); i = s * (if off then 1/Roff else 1); off = s < 0; if off then v = s; else v = 0; end if; i = if off then 0 else s;

Modelica.Electrical.Analog.Ideal.IdealDiode constant Modelica.SIunits.Voltage unitVoltage= 1 annotation(HideResult=true); constant Modelica.SIunits.Current unitCurrent= 1 annotation(HideResult=true); equation off = s < 0; v = (s*unitCurrent)*(if off then 1 else Ron) + Vknee; i = (s*unitVoltage)*(if off then Goff else 1) + Goff*Vknee;

Možné problémy Chattering – někde nám to příliš kmitá Numerika, numerika, numerika..

Shrnutí Co to je hybridní simulace Rozdíl mezi if a when Reinit Numerické problémy terminate()