Upload
votram
View
213
Download
0
Embed Size (px)
Citation preview
Semantik in Simulink-Modellen
Christian Burger
2009-06-13
C. Burger () Simulink-Semantik 2009-06-13 1 / 18
1 Motivation
2 Modellsemantik
3 Semantik in der Simulation
C. Burger () Simulink-Semantik 2009-06-13 2 / 18
Motivation
Einfuhrung
Was ist Semantik allgemein?
Bedeutungslehre
ermoglicht Benutzung einer Sprache/ eines Programmes
beschreibt wie ein Modell interpretiert werden soll
Was ist Semantik in Simulink-Modellen?
Bedeutung der einzelnen Blocke und den Verknupfungen fur das Ergebnisder Simulation.
C. Burger () Simulink-Semantik 2009-06-13 3 / 18
Motivation
MotivationWarum interessiert die Simulink-Semantik?
aus Anwendersicht
Vermeidung von Fehlern im Design
schnelles Finden von Ursachen fur ungewunschtes Verhalten
ein Bewusstsein fur den Unterschied zwischen der Simulation und derWirklichkeit
aus Entwicklersicht
korrekte Transformation von Simulink-Modellen in andereModellierungssprachen (Lustre, Z)
Grenzen der Transformationen kennen
Erweitern von Simulink um eigene Bauelemente
C. Burger () Simulink-Semantik 2009-06-13 4 / 18
Modellsemantik
1 Motivation
2 Modellsemantik
3 Semantik in der Simulation
C. Burger () Simulink-Semantik 2009-06-13 5 / 18
Modellsemantik
Einsatzzweck
Modellieren, Simulieren, Analysieren von dynamischen/ reaktiven Systemen
Modellierung
Modellierung graphischer Reprasentationen der Systeme und passendeErganzungen durch Code
Modellsemantik
mathematische Beziehung von Eingabe, Systemzustand und Ausgabe inAbhangigkeit der Zeit
C. Burger () Simulink-Semantik 2009-06-13 6 / 18
Modellsemantik
Blocke
Ausgabefunktion: fo(t, x , ~u) = ~y
Aktualisierungsfunktion: fu(t, x , ~u) = ~xdk+1
Ableitungsfunktion: fd(t, x , ~u) = ~x ′c
mit innerem Zustand: x =( ~xc~xdk
)f ist definiert durch Blocktyp und optional Parameter
C. Burger () Simulink-Semantik 2009-06-13 7 / 18
Modellsemantik
Blocke
Eigenschaften und ihre Semantik
persistent gegenuber direkt durchgeschliffene Eingaben(direct-feedthrough)
virtuell gegenuber nicht-virtuell
diskret gegenuber kontinuierlich
(einstellbare) Blockparameter (konnen MatLab-Ausdrucke sein)
(implizite) Abtastrate
Blockklassen und Beispiele
Klassen Quellen, Senken, arithmetische Funktionen, logischeFunktionen, kontinuierliche und diskrete Funktionen; aberauch: benutzerdefinierte Funktionen (Embedded Matlab oderS-Functions)
Beispiele Mux, Demux, Add, Sub, Integral, Memory
C. Burger () Simulink-Semantik 2009-06-13 8 / 18
Modellsemantik
Blocke
Eingangs-, Ausgangssignal
Datentypen: double, single, int**, uint** (**: 8, 16, 32)
dimensionalisiert
hierarchisches Modell
Subsystem-Block: eigenstandiges Blockdiagramm
⇒ theoretisch beliebig tiefe Verschachtelung von Blockdiagrammen
virtuelle gegenuber atomare Subsysteme
bedingte Ausfuhrung: Trigger-Subsystems, Enabled-Subsystems
C. Burger () Simulink-Semantik 2009-06-13 9 / 18
Modellsemantik
Kontrollflussblocke
eigentlich durch Stateflow ubernommen
Typen: for, if-else, switch, while
C. Burger () Simulink-Semantik 2009-06-13 10 / 18
Modellsemantik
Schleifen
entspricht: z = u − z ⇔ z = u2
geht problemlos mit rein arithmetischen Schleifen
C. Burger () Simulink-Semantik 2009-06-13 11 / 18
Semantik in der Simulation
1 Motivation
2 Modellsemantik
3 Semantik in der Simulation
C. Burger () Simulink-Semantik 2009-06-13 12 / 18
Semantik in der Simulation
Simulationsablauf (In zwei Phasen)
Vorbereitung
1 Modell konkretisieren (Block-Parameter berechnen, vom Benutzernichtdefinierte Signaleigenschaften festlegen: eindeutiger Name,Daten-Typ)
2 Syntaktisch verfizieren (Ausgangssignaltypen passen zuEingangssignalen)
3 Ablaufoptimierung
4 Berechnungsreihenfolge festlegen (virtuelle und atomare Subsysteme)
5 einzelne Block-Abtastraten und Gesamtabtastrate festlegen
C. Burger () Simulink-Semantik 2009-06-13 13 / 18
Semantik in der Simulation
Simulationsablauf (In zwei Phasen)
Durchfuhrung
1 Ausgabewerte aktualisieren
2 innere Zustande (diskret, kontinuierlich) aktualisieren
3 Nullstellenerkennung (nur bei kontinuierlichen Blocken)
4 nachsten Zeitschritt ermitteln
C. Burger () Simulink-Semantik 2009-06-13 14 / 18
Semantik in der Simulation
Solver
Fixed-Step gegenuber Variable-Step
Diskret gegenuber Kontinuierlich
Solver-Semantik
Model(XC ,UC ,YC , I , f , h)
x : t → XC
y : t → YC
u : t → YC
fixed-step Solver mit Abtastabstand δ
Abtastzeitraum t = [ti , tf ]
Startzustand: x(ti ) ∈ I
Aktualisierung: ∀t ∈ [ti , tf ], x(t + δ) = x(t) + δf (x(t), u(t))
Ausgabe: ∀t ∈ [ti , tf ], y(t) = h(x(t), u(t)).
C. Burger () Simulink-Semantik 2009-06-13 15 / 18
Semantik in der Simulation
Eulersches Polygonzugverfahren
C. Burger () Simulink-Semantik 2009-06-13 16 / 18
Semantik in der Simulation
Am Beispiel: Kontinuierliches Systeme
C. Burger () Simulink-Semantik 2009-06-13 17 / 18
Anhang
Ende
1 Motivation
2 Modellsemantik
3 Semantik in der Simulation
C. Burger () Simulink-Semantik 2009-06-13 18 / 18