simulink grundlagen - eal.ei.tum.de · pdf filesimulink grundlagen erstellen eines modells...

41
SIMULINK Grundlagen SIMULINK Grundlagen Lehrstuhl f¨ ur Elektrische Antriebssysteme und Leistungselektronik Simulation mit Matlab/Simulink

Upload: phamthuan

Post on 06-Feb-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

SIMULINK

Grundlagen

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink

Page 2: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Inhalt

• Was ist SIMULINK ?

• Erstellen von Modellen mittels Bibliotheken

• Simulationsparameter und Algorithmen

zur numerischen Integration

• Strukturierte Organisation von Modellen

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink

Page 3: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Was ist Simulink ?

• Erganzungspaket zu MATLAB

• Grafische Oberflache zur Modellierung von DGLs und

physikalischen Systemen mittels Signalflussgrafen

• Simulink-Erweiterungen:

– Blocksets (z.B. SimPowerSystems, SimMechanics, SimScape)

– zusatzliche Funktionalitaten (z.B. Simulink Control Design,

Stateflow, Simulink Coder)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 1

Page 4: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Erstellen eines Modells

Bibliotheken Sources & Sinks

Bibliotheken Math & Logic Operations

Ausgabe von Daten

Simulationssteuerung und Diagnose

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 2

Page 5: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Starten von SIMULINK

Befehl Befehl simulink

open system (’simulink’) oder Button

offnet Bibliotheksfenster offnet Library Browser

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 3

Page 6: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Starten von SIMULINK

• Basis sind Funktionsbausteine

• Funktionsbausteine sind

gekennzeichnet durch Ein- und

Ausgange, Name, Block-Icon

(jeweils konfigurierbar)

• Bei Doppelklick offnet sich

Block Parameters Dialogbox

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 4

Page 7: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

SIMULINK Bibliotheken Sources und Sinks

Unterbibliothek Sources:

• Generieren von Signalen

• Einlesen von Daten aus dem

Workspace

• Einlesen von Daten aus

Dateien

Step

Sine Wave

SignalGenerator

RepeatingSequence

Ramp

PulseGenerator

untitled.mat

From File

simin

FromWorkspace

1

Constant

1In1

uvm.

Unterbibliothek Sinks:

• Grafische Anzeige von Signalen

• Schreiben von Daten auf den

Workspace

• Schreiben von Daten in eine Datei

1Out1

XY Graphsimout

To Workspace

untitled.mat

To File

Scope

uvm.

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 5

Page 8: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Beispiel: Erzeugung und Ausgabe von Signalen

bsp sources sinks.mdl bsp sources sinks sl.mdl

Speicherung auf Workspace uber

• To Workspace,

• Scope,

• Outport (→ Config. Parameters)

Verfugbare Formate:

• T imeSeries: plot (simout)

• Array: plot (tout, yout)

• Structure with T ime:plot (simout.time, simout.signals.values)

Speicherung auf WS mit Signal Logging:

1. Signal Properties → Log signal data

2. Signal name und/oder Logging namevergeben

3. Simulation starten

4. Datenobjekt logsout entpacken:sig = logsout.get (’signal’)

5. T imeSeries plotten: plot (sig.Values)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 6

Page 9: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

SIMULINK–Bibliotheken Math und Logic Operations

Unterbibliothek Math Operations:

• Arithmetische Operationen

• Mathematische und

trigonometrische Funktionen

sin

TrigonometricFunction

Sum

floor

RoundingFunction

Product

P(u)O(P) = 5

Polynomial

min

MinMax

eu

MathFunction

1

Gain

Dot Productuvm.

Unterbibliothek Logic and Bit Operations:

• Logische Operationen

und Vergleiche

• Operationen auf Bitebene,

Signaluberwachungen <=

RelationalOperator

AND

LogicalOperator Extract Bits

Upper Half

Extract BitsU > U/z

DetectIncrease

U ~= U/z

DetectChange

BitwiseAND0xD9

BitwiseOperator

uvm.

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 7

Page 10: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Beispiel zu Math Operations

Modellierung der Gleichung f(t) = 80 · e−

1

80t· sin (0.25t + π

3)

Mogliche Losung:

gedaempfteSinussschwingung

Sine Wave

Product2

Product1 Mux

eu

MathFunction −1

Gain1

−1

GainDivide

80

Constant

Clock

bsp math.mdl

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 8

Page 11: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Simulations- und Parametersteuerung

• von SIMULINK aus: Buttons , und

• vom MATLAB Command Window bzw. Matlab-Skripten:

– Simulation mit beliebigen Simulationsparametern:

sim (’system’)

simout = sim (’system’, ’StartTime’, ’0’, ’StopTime’, ’20’);

– Starten, Anhalten, Fortsetzen einer Simulation :

set param (’system’, ’SimulationCommand’, ’cmd’)

(cmd = start / stop / pause / continue)

– Abfragen des Simulationsstatus:

get param (’system’, ’SimulationStatus’)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 9

Page 12: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Fehlerbehandlung: Simulation Diagnostics Viewer

• Fenster mit Fehlermeldungen bzw. Warnungen offnet sich abhangig

von Einstellungen bei Configuration Parameters (siehe Folie 25)

• Fehlerbeschreibung, Ursache, Pfadangabe zur Fehlerquelle

• Link zum betroffenen Block

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 10

Page 13: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Simulationsparameter und Solver

Grundlagen numerischer

Integrationsalgorithmen in SIMULINK

Konfigurationsmoglichkeiten

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 11

Page 14: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Numerische Integration von Differentialgleichungen

Inhomogene Differentialgleichung:

DGL y(t)u(t) y(t) = f(u(t), y(t))

Integration: yn+1 = yn +

tn+1∫

tn

f(u(t), y(t))dt

Verschiedene Verfahren:

• Polygonzugverfahren nach Euler

• Trapezverfahren nach Heun

• Runge–Kutta–Verfahren

• Verfahren nach Adams-Bashforth

• · · ·

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 12

Page 15: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Numerische Integration von Differentialgleichungen

Polygonzugverfahren nach Euler (explizit)

y0

y0

hy0y(t)

t0

h

t1t

y1

y

dyy(t1)

y1 = y0 + h · y0

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 13

Page 16: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Numerische Integration von Differentialgleichungen

Trapezverfahren von Heun

y0

y0

y1

t0

h

(P)

Mittelwertder Steigungen

t1t

y1

y1

y

y0+y1

2

(P)

(P)

bei separierbaren Variablen: y1 = y0 + h ·(y0 + y1)

2

bei nicht separierbaren Variablen: y1 = y0 + h ·(y0 + yP

1 )

2Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 14

Page 17: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Numerische Integration von Differentialgleichungen

Runge–Kutta–Verfahren

y0

y2

y2

P

y0

y1

P

y

P3 2(t )

t0

h

t1 t2t

y1

P

y2

P

y

y2 = y0 +2h

[y0 + 4y P

1 + y P2

]

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 15

Page 18: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Numerische Integration von Differentialgleichungen

Verfahren nach Adams–Bashforth

yn-2

P2(t)

P2 n+1(t )

tn-2 tn-1 tn tn+1

t

yn-1

yn

y

h

yn+1 = yn +h

12· [23yn − 16yn−1 + 5yn−2]

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 16

Page 19: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Parameters Dialogbox: Solver

• Festlegen der

Start- und Stoppzeit

• Festlegen der

Simulations-Schrittweite

• Festlegen des

Integrationsalgorithmus

– Variable-step:∗ Erst Simulation mit default-Einstellungen, dann bei Bedarf:

∗ Solver-Typ, Toleranzen und Zero crossing control an Systemdynamikanpassen: gewunschte Genauigkeit ↔ tolerierbare Rechenzeit

∗ bei no continuous states: evtl. Max step size anpassen

– Fixed-step:∗ Fixed step size: Genauigkeit ↔ Rechenzeit beachten

∗ Bei multirate systems: Tasking mode... und Check Boxen fur Prioritaten/Datentransfer beachten

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 17

Page 20: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Solver: Integrationsalgorithmen in MATLAB (1)

Variable–step solver:

• Fur zeitkontinuierliche, nicht–steife Systeme:

ode45 (first try), ode23, ode113

• Fur zeitkontinuierliche, steife Systeme:

ode15s, ode23s, ode23t, ode23tb

• Fur zeitdiskrete Systeme und

Systeme ohne kontinuierliche Zustandsgroßen:

discrete (no continuous states) (Variable–step)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 18

Page 21: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Solver: Integrationsalgorithmen in MATLAB (2)

Variable–step solver:

• Variable Integrationsschrittweite fur minimale Rechenzeit

• Fehleruberwachung zur Einhaltung der geforderten Genauigkeit

• Zusatzlich erhohte Genauigkeit bei Unstetigkeiten (zero crossings)

Optimum Schrittweite

durchIntegrationsschritt

Fehler

Gesamtfehler

durch Rundung(Fortpflanzung)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 19

Page 22: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Solver: Integrationsalgorithmen in MATLAB (3)

Fehleruberwachung

•”Fehler“ = Anderung aller Zustandsgroßen im letzten Schritt

• ei ≤ max (reltol · |xi|, abstol)︸ ︷︷ ︸acceptable error

abstol = auto:t0: abstol = 10−6

t1 . . . tfinal: abstol = reltol ·max (|xi|)

tn tn+1

t

Acceptable errorwird durch

reltol*|x | bestimmti

Acceptable errorwird durch

reltol*|x | bestimmtiAcceptable errorwird durch

abstol bestimmt

xi(t)

local error ei

} }}

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 20

Page 23: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Solver: Integrationsalgorithmen in MATLAB (4)

Unstetigkeiten (zero crossings)

• Unstetigkeiten (discontinuities) im Verlauf der Zustandsgroßen

(z.B. sprungformiges Signal, Abs, Saturation, Logische Funktion)

• Nulldurchgange, Vorzeichenwechsel

tn

tn+1

tn+1tn-1

t

xi(t)

zero crossingVariable

t

Nulldurchgangnicht

detektiert

Nulldurchgangdetektiert

t

xi(t) xi(t)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 21

Page 24: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Solver: Integrationsalgorithmen in MATLAB (5)

Fixed–step solver:

• arbeiten mit fester Integrationsschrittweite

• keine Fehleruberwachung oder Erkennung von Unstetigkeiten

• definierte (und endliche) Rechenzeit

• notwendig fur Echtzeitanwendungen (Code-Generierung, HIL, etc.)

• fur zeitkontinuierliche Systeme: ode5, ode4, ode3, ode2, ode1, ode14x

• fur zeitdiskrete Systeme und Systeme ohne kontinuierliche

Zustandsgroßen: discrete (no continuous states) (Fixed–step)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 22

Page 25: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Parameters Dialogbox: Data Import/Export

• Laden von Daten aus dem Workspace in Inport-Blocke

auf oberster Modellebene (Formate beachten!)

• Initialisierung von Zustandsgroßen (sinnvoll, wenn vorher

mittels Save to workspace/Final states gespeichert)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 23

Page 26: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Parameters Dialogbox: Optimization

• Festlegung von Simulationsoptionen, die Rechen- und Speicher-

aufwand beeinflussen (default-Einstellungen reichen meist aus)

• Umwandlung von boolean Ausgangssignalen zu double (z.B. fur

Logical Operator, Relational Operator, Hit Crossing)

• Verstellbarkeit von Blockparametern wahrend der

Simulation (Parameter inlining)

• bei lizensiertem Coder: Optionen zur optimierten Codegenerierung

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 24

Page 27: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Parameters Dialogbox: Diagnostics

• Festlegung der Reaktion bei Fehlern: none, warning, error

• Fehler in Unterregistern nach Ursachen sinnvoll gruppiert, z.B.:

– Algebraic loop

– Unconnected block input/output ports

– Model block version mismatch

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 25

Page 28: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Param. Dialogbox: Hardware Implementation

• Zur Codegenerierung von Modellen, die spater auf Mikrocontrol-

lern bzw. Signalprozessoren (DSPs) ausgefuhrt werden sollen

• Eigenschaften der Zielhardware (Embedded hardware)

konnen spezifiziert werden.

• Vorteil: Eigenschaften der Zielhardware konnen bereits bei der

Simulation berucksichtigt werden; entstehende Probleme werden

somit fruhzeitig erkannt !

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 26

Page 29: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Strukturierte Modellierung

Subsysteme

Model Referencing

Signal Routing & Attributes

Maskierung und Callbacks

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 27

Page 30: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Subsysteme

Anwendung

• Ubersichtliche Gestaltung komplexer Modelle

• Zusammenfassung von Blocken ahnlicher Funktion

• Aufbau einer hierarchischen Struktur

Erstellung mit

• Menupunkt Edit/Create Subsystem

• Unterbibliothek Ports & Subsystems

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 28

Page 31: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

SIMULINK Bibliothek Ports & Subsystems

Unterbibliothek Ports & Subsystems:

1

Out1

while { ... }In1

ICOut1

While IteratorSubsystem

In1 Out1

TriggeredSubsystem

In1 Out1

Subsystem

bsp_referencing_gIn1 Out1

Model

if { }

In1 Out1

If ActionSubsystem

u1if(u1 > 0)

else

If

function()

In1 Out1

Function−CallSubsystem

f()

Function−CallGenerator

for { ... }In1 Out1

For IteratorSubsystem

In1 Out1

EnabledSubsystem

In1 Out1

Atomic Subsystem

Trigger

1

In1

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 29

Page 32: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Bedingt ausgefuhrte Subsysteme

Bedingt ausgefuhrte Subsysteme

• Ausfuhrung wird durch Steuersignal bestimmt

• Abhangig von der Bedingung wird unterschieden zwischen

– Enabled Subsystems: Sie enthalten einen Enable-Block

– Triggered Subsystems/Function-Call Subsystems: Sie enthalten

einen Trigger-Block

– Control Flow Subsystems: Mit ihnen konnen Schleifen und Ver-

zweigungen realisiert werden wie if-then, while, do, for etc.

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 30

Page 33: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Beispiele zu bedingt ausgefuhrten Subsystemen

Sine Wave

Scope

In1 Out1

Enabled SubSystem

bsp ensub.mdl

In1 Out1

Triggered SubSystem

Sine Wave1

Sine WaveScope

bsp trigsub.mdl

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 31

Page 34: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Maskierung von Subsystemen

Maskierung von Subsystemen

• Erstellen neuer Benutzer-Schnittstellen fur Subsysteme

durch Bundeln wichtiger Parameter in Dialogboxes (Maske)

• Entwurf benutzerdefinierter Bibliotheken moglich

zur Weitergabe bzw. zur Verwendung in verschiedenen Modellen

Beispiel bsp mask.mdl

b y−Achsenabschnitt

m

Steigung

yx

⇒y=mx+b

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 32

Page 35: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Model Referencing

Anwendung

• Aufteilung großer Modelle in unabhangige Arbeitspakete (Dateien)

• Mehrfache Verwendung einer Funktion im selben Modell

bsp referencing.mdl und referenziertes Modell bsp referencing g.mdl

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 33

Page 36: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Configuration Parameters Dialogbox: Model Referencing

• Model Referencing: Modell enthalt referenzierte Modelle (aus an-

deren Simulink-Dateien bzw. Bibliotheken) als”Unterfunktionen“.

• Festlegung, wann referenzierte Modelle neu kompiliert werden

sollen (Zeitersparnis bei Simulation bzw. Codegenerierung).

• Model dependencies: Angabe zusatzlicher Dateien (M, MAT),

die dabei berucksichtigt werden.

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 34

Page 37: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Arbeiten mit Model Callback-Routinen

Automatisches Ausfuhren von benutzerdefinierten

(Matlab-)Funktionen wahrend des Simulationsablaufs:

• Initialisierung von komplexen Modellen mittels M-File (InitFcn)

• Ausgabe und Auswertung der Simulationsergebnisse (StopFcn)

• Verknupfung des M-Files mit Simulinkmodell:

– Menupunkt File/Model properties ⇒ Callbacks oder

– set param (’modellname’, ’InitFcn’, ’m file name’)

Alternativ: Ausfuhren nach Doppelklick auf Block (als”Button“):

• Verknupfung des M-Files mit Block-Callback (OpenFcn):

– Block-Kontextmenu Properties ⇒ Callbacks oder

– set param (’modellname/blockname’, ’OpenFcn’, ’m file’)

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 35

Page 38: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Beispiel zu Callback-Routinen

repeat

To Workspace2

verst_Konst

To Workspace1

erg

To Workspace

Scope

RepeatingSequence

>=

RelationalOperator

[u3]

Goto3

[u2]

Goto2

[u1]

Goto1

verst

Gain

[u3]

[u2]

[u1]

Konst

Constant

bsp parameter.mdl

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 36

Page 39: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

SIMULINK Bibliotheken Signal Routing/Attributes

Unterbibliothek Signal Routing: Verknupfung und

Auswahl von Signalen, Datenspeicher-Management

Selector

Mux

MultiportSwitch

Manual Switch

[A]

Goto

[A]

From

Demux

Demux

A

Data StoreWrite

A

Data StoreRead

A

Data StoreMemory Bus

Selector uvm.

Unterbibliothek Signal Attributes: Signaleigenschaften

Width

0

Signal Specification

inheritSignalConversion

Rate Transition

Probe

W:0, Ts:[0 0], C:0, D:0, F:0Data Type Conversion

Convert

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 37

Page 40: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Strukturierte Modellierung

Model Referencing:

• fur große Modelle

• projektspezifische Blocke

• modulare Erstellung

• verteilte Entwicklung

• Codegenerierung

Eigene Bibliotheken:

• fur Standard-Funktionen

• allgemein wiederverwendbar

• sequentielle Entwicklung

(erst Bibliothek, dann Modell)

• nachtragliche Anderungen

kritisch

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 38

Page 41: SIMULINK Grundlagen - eal.ei.tum.de · PDF fileSIMULINK Grundlagen Erstellen eines Modells Bibliotheken Sources & Sinks Bibliotheken Math & Logic Operations Ausgabe von Daten Simulationssteuerung

SIMULINK Grundlagen

Zusammenfassung

• Grafische MATLAB-Erweiterung fur Signalflussgrafen

– Ein Projekt ⇒ immer dieselbe Simulink-Version !

• Typische Anwendungen:

– Modellbildung, Systemauslegung

– Codegenerierung, HIL-Simulation

– Modell als ausfuhrbare Spezifikation

• Ausblick

– Simulation linearer und nichtlinearer Systeme (DGLs)

– Stateflow: Zustandsautomaten

Lehrstuhl fur Elektrische Antriebssysteme und Leistungselektronik

Simulation mit Matlab/Simulink 39