Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel,...

15
27. Oktober, 2004 Anfang Präsentation Objektorientierte Modellierung • Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung physikalischer Systeme zu erläutern, und aufzuzeigen, wie diesen Anforderungen in Praxis Genüge getan werden kann. • Die Vorlesung offeriert erste Einblicke in einige der Fähigkeiten von Dymola, einer Softwareumgebung, welche dafür geschaffen wurde, physikalische Systeme in object-orientierter Weise zu beschreiben. Dymola bietet eine graphische Benützerschnittstelle an. • Einige Eigenschaften der darunter liegenden alpha-numerischen Modelbeschreibungsebene, welche Modelica genannt wird, werden ebenfalls vorgestellt.

Transcript of Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel,...

Page 1: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Objektorientierte Modellierung• Diese Vorlesung hat zum Ziel, die Anforderungen an eine

objektorientierte Modellierung physikalischer Systeme zu erläutern, und aufzuzeigen, wie diesen Anforderungen in Praxis Genüge getan werden kann.

• Die Vorlesung offeriert erste Einblicke in einige der Fähigkeiten von Dymola, einer Softwareumgebung, welche dafür geschaffen wurde, physikalische Systeme in object-orientierter Weise zu beschreiben. Dymola bietet eine graphische Benützerschnittstelle an.

• Einige Eigenschaften der darunter liegenden alpha-numerischen Modelbeschreibungsebene, welche Modelica genannt wird, werden ebenfalls vorgestellt.

Page 2: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Übersicht

• Kausalität der Modellgleichungen• Graphische Modellierung• Modellstruktur in Modelica• Modelltopologie in Modelica• Vererbungsregeln• Hierarchische Modellierung

Page 3: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Die Kausalität der ModellgleichungenU 0

i+

R

I 0

I0

R

U0 = f(t)

i = U0 / R

I0 = f(t)

u = R· I0

Identische Objekte

Unterschiedliche Gleichungen

-

-

Die Kausalität der Gleichungen darf nicht vorgegeben werden. Sie kann erst nach Ermittlung der Topologie bestimmt werden.

Page 4: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Grundforderungen der OO Modellierung

• Physikalische Objekte sollen durch mathematische graphische Objekte dargestellt werden können.

• Die graphischen Objekte sollen topologisch verknüpft werden können.

• Die mathematischen Modelle sollen hierarchisch beschrieben werden können. Dazu muss es möglich sein, Netzwerke gekoppelter Objekte wiederum als graphische Objekte darzustellen.

Page 5: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Ein Beispiel

model Circuit1 SineVoltage U0(V=10, freqHz=2500); Resistor R1(R=100); Resistor R2(R=20); Capacitor C(C=1E-6); Inductor L(L=0.0015); Ground Ground; equation connect(U0.p, R1.p); connect(R1.n, C.p); connect(R2.p, R1.n); connect(U0.n, C.n); connect(Ground.p, C.n); connect(L.p, R1.p); connect(L1.n, Ground.p); connect(R2.n, L.n);end Circuit1;

Page 6: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Graphische Information (Annotation)package CircuitLib annotation (Coordsys( extent=[0, 0; 504, 364], grid=[2, 2], component=[20, 20])); model Circuit1 annotation (Coordsys( extent=[-100, -100; 100, 100], grid=[2, 2], component=[20, 20])); Modelica.Electrical.Analog.Sources.SineVoltage U0(V=10, freqHz=2500) annotation (extent=[-80, -20; -40, 20], rotation=-90); Modelica.Electrical.Analog.Basic.Resistor R1(R=100) annotation (extent=[ -40, 20; 0, 60], rotation=-90); Modelica.Electrical.Analog.Basic.Capacitor C(C=1E-6) annotation (extent=[-40, -60; 0, -20], rotation=-90); Modelica.Electrical.Analog.Basic.Resistor R2(R=20) annotation (extent=[0, -20; 40, 20]); Modelica.Electrical.Analog.Basic.Inductor L(L=0.0015) annotation (extent=[40, 20; 80, 60], rotation=-90); Modelica.Electrical.Analog.Basic.Ground Ground annotation (extent=[0, -100; 40, -60]); equation connect(U0.p, R1.p) annotation (points=[-60, 20; -60, 60; -20, 60], style(color=3)); connect(R1.n, C.p) annotation (points=[-20, 20; -20, -20], style(color=3)); connect(R2.p, R1.n) annotation (points=[0, 0; -20, 0; -20, 20], style(color=3)); connect(U0.n, C.n) annotation (points=[-60, -20; -60, -60; -20, -60], style(color=3)); connect(Ground.p, C.n) annotation (points=[20, -60; -20, -60], style(color=3)); connect(L.p, R1.p) annotation (points=[60, 60; -20, 60], style(color=3)); connect(L.n, Ground.p) annotation (points=[60, 20; 60, -60; 20, -60], style(color=3)); connect(R2.n, L.n) annotation (points=[40, 0; 60, 0; 60, 20], style(color=3)); end Circuit1;end CircuitLib;

Page 7: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Modelle in Modelica

• Modelle in Modelica bestehen aus einer Beschreibung der Modellstruktur sowie einer Beschreibung der Einbettung in die Modellumgebung:

model Modellname Beschreibung der Modelleinbettung; equation Beschreibung der Modellstruktur;end Modellname;

Page 8: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Modellstruktur in Modelica• Die Modellstruktur in Modelica besteht entweder aus

Gleichungen, aus einer Beschreibung der Modelltopologie oder aber aus einer Mischung der zwei Modellstruktur-beschreibungsarten.

• Eine topologische Modellbeschreibung erfolgt graphisch durch das Einschleppen von Modellen aus Modell-bibliotheken, welche dann untereinander verbunden werden.

• Die gespeicherte Textversion des topologischen Modells besteht aus der Deklarationen der Untermodelle (Modellumgebung), der Deklaration der Verbindungen (Modellstruktur), sowie der Deklaration der graphischen Darstellungselemente (Annotation).

Page 9: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Modelltopologie in Modelica

Class name

Instance name

Modifier

Connection

Connector

model MotorDrive PI controller; Motor motor; Gearbox gearbox(n=100); Shaft Jl(J=10); Tachometer wl; equation connect(controller.out, motor.inp); connect(motor.flange , gearbox.a); connect(gearbox.b , Jl.a); connect(Jl.b , wl.a); connect(wl.w , controller.inp);end MotorDrive;

motor

controller

PIn=100

Jl=10

w l

w r

Page 10: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Widerstände in Modelica

Rivp vn

u

connector Pin Voltage v; flow Current i;end Pin;

model Resistor "Ideal resistor" Pin p, n; Voltage u; parameter Resistance R; equation u = p.v - n.v; p.i + n.i = 0; R*p.i = u;end Resistor;

Voltage

type ElectricPotential = Real (final quantity="ElectricPotential", final unit="V");type Voltage = ElectricPotential;

Page 11: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Ähnlichkeit zwischen Elementen

Rivp vn

u

model Resistor "Ideal resistor" Pin p, n; Voltage u; parameter Resistance R; equation u = p.v - n.v; p.i + n.i = 0; R*p.i = u;end Resistor;

model Capacitor "Ideal capacitor" Pin p, n; Voltage u; parameter Capacitance C; equation u = p.v - n.v; p.i + n.i = 0; C*der(u) = p.i;end Capacitor;

Civp vn

u

Page 12: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Teilmodelle und Erbeigenschaften

ivp vn

u

partial model OnePort Pin p, n; Voltage u; equation u = p.v - n.v; p.i + n.i = 0; end OnePort;

model Resistor "Ideal resistor" extends OnePort; parameter Resistance R; equation R*p.i = u;end Resistor;

model Capacitor "Ideal capacitor" extends OnePort; parameter Capacitance C; equation C*der(u) = p.i;end Capacitor;

ivp vn

u

R

ivp vn

u

C

Page 13: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Zerlegung und Abstraktion

planetary1=110/50

C4=0.12 C5=0.12

planetary2=110/50

C6=0.1

2

bearing2

C8=0.1

2

dem

ultip

lex

shaftS=2e-3

S

planetary3=120/44

C11=0.12

shaftS1=2e-3

S

C12=0.1

2

bearing1bearing4

Cou

rtes

y T

oyot

a T

ecno

-Ser

vice

Page 14: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Heterogene Modellierungsformalismen

inertialx

y

axis1

axis2

axis3

axis4

axis5

axis6r3Drive1

1

r3Motorr3ControlqdRef

1

S

qRef

1

S

k2

i

k1

i

qddRef cut joint

q: angleqd: angular velocity

qdd: angular acceleration

qd

tn

Jmotor=J

gear=i

spring=c

fric

=R

v0

Srel

joint=0

S

Vs

-

+diff

-

+pow er

emf

La=(2

50

/(2*D

*wm

))R

a=250

Rd2=100

C=0.004*D/w m

-

+OpI

Rd1=100

Ri=10

Rp1=200

Rp2=50

Rd4=100

hall2

Rd3=100

g1

g2

g3

hall1

g4

g5

rw

cut in

iRef

qd q

rate2

b(s)

a(s)

rate3

340.8

S

rate1

b(s)

a(s)

tacho1

PT1

Kd

0.03

w Sum

-

sum

+1

+1

pSum

-

Kv

0.3

tacho2

b(s)

a(s)

q qd

iRefqRef

qdRef

Page 15: Anfang Präsentation 27. Oktober, 2004 Objektorientierte Modellierung Diese Vorlesung hat zum Ziel, die Anforderungen an eine objektorientierte Modellierung.

27. Oktober, 2004Anfang Präsentation

Referenzen

• Brück, D., H. Elmqvist, H. Olsson, and S.E. Mattsson (2002), “Dymola for Multi-Engineering Modeling and Simulation,” Proc. 2nd International Modelica Conference, pp. 55:1-8.

• Otter, M. and H. Elmqvist (2001), “Modelica: Language, Libraries, Tools, Workshop, and EU-Project RealSim,” Modelica web-site.