folien simulink grund - hs-augsburg.dewohlfart/download/folien_simulink_grund.pdf ·...
TRANSCRIPT
SIMULINK Grundlagen
Inhalt
• Was ist SIMULINK?
• SIMULINK–Bibliotheken Sources, Sinks und Math
• Simulationsparameter
• Algorithmen zur numerischen Integration
• SIMULINK–Bibliotheken Signals&Systems, Subsystems
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth
SIMULINK Grundlagen
Was ist Simulink?
• Graphische Oberflache zur Modellierung von physika-
lischen Systemen mittels Signalflußgraphen
• Erganzungspaket zu MATLAB (Toolbox)
• Simulink–Erweiterung: Blocksets (SimPower-Systems,
SimMechanics)
gedaempfteSinusschwingung
Sine Wave
Product3
Product2Product1
Mux
eu
MathFunction −1
Gain1
−1
Gain
80
Constant
Clock
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 1
SIMULINK Grundlagen
Starten von SIMULINK (Windows)
Befehl open system(’simulink’) Befehl simulink offnetoffnet Bibliotheksfenster Library Browser
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 2
SIMULINK Grundlagen
Starten von SIMULINK
• Basis sind Funktionsbausteine
• Funktionsbausteine sind gekennzeichnet durch Ein- und
Ausgange, Name (anderbar), Block–Icon
• Bei Doppelklick offnet sich
Block Parameters Dialogbox
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 3
SIMULINK Grundlagen
SIMULINK Bibliotheken Sources und Sinks
Unterbibliothek Sources:
• Generieren von Signalen
• Einlesen von Daten aus dem
Workspace
• Einlesen von Daten aus
Dateien
StepSine WaveSignal
Generator
RepeatingSequence
Ramp PulseGenerator
untitled.mat
From File
simin
FromWorkspace
1
Constant
1In1
Unterbibliothek Sinks:
• Graphische 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
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 4
SIMULINK Grundlagen
Beispiel zu Sources und Sinks
Signal 1
Signal 2
Signal Builder
Scope
1s
Integrator
Signal Builder : bsp sigbuild.mdl
Signal Builder Dialogbox fur die drei Signalgruppen
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 5
SIMULINK Grundlagen
SIMULINK Bibliothek Math Opertions
Unterbibliothek Math:
• Arithmetische, logische und Vergleichsoperationen
• Mathematische und trigonometrische Funktionen
sin
TrigonometricFunction
Sum
1
SliderGain <=
RelationalOperator
Product
K*u
MatrixGain
eu
MathFunction
AND
LogicalOperator
1
Gain
Dot Product
uvm.
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 6
SIMULINK Grundlagen
Beispiel zu Math Opertions
Simulink-Modell bspmath.mdl der Gleichung
f(t) = 80 · e−1
80t· sin (0.25t+ π
3)
gedaempfteSinusschwingung
Sine Wave
Product3
Product2Product1
Mux
eu
MathFunction −1
Gain1
−1
Gain
80
Constant
Clock
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 7
SIMULINK Grundlagen
Simulation: Parameter und Integrationsverfahren
Configuration
Parameters
Dialogbox
Register Solver:
• Festlegen von Beginn und Ende der Simulation
• Algorithmen zur numerischen Integration
• Ausgabeoptionen
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 8
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• · · ·
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 9
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
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 10
SIMULINK Grundlagen
Numerische Integration von Differentialgleichungen
Runge–Kutta–Verfahren
y0
y0
y1 P3(t)
P3 2 2(t ) = yP
t0
h
t1 t2t
y1
y
y2 = y0+2h
6· [y0+4y1+ f(u2, y
P2 )]
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 11
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]
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 12
SIMULINK Grundlagen
Solver: Integrationsalgorithmen in MATLAB
Variable–step solver:
• arbeiten mit variabler Integrationsschrittweite
• ermoglichen Fehleruberwachung
• ermoglichen Erkennung von zero crossings
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 13
SIMULINK Grundlagen
Solver: Integrationsalgorithmen in MATLAB
Fehleruberwachung
• Fehler = Anderung der Zustandsgroßen vom letzten
zum aktuellen Zeitpunkt
• 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
} }}
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 14
SIMULINK Grundlagen
Solver: Integrationsalgorithmen in MATLAB
zero crossings
• discontinuities: Unstetigkeiten im Verlauf der Zustands-
großen (z.B. Abs, Saturation)
• gewohnliche Nulldurchgange
tntn-1
t
xi(t)
t
Nulldurchgangnicht
detektiert
Nulldurchgangdetektiert
t
xi(t) xi(t)
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 15
SIMULINK Grundlagen
Solver: Integrationsalgorithmen in MATLAB
Variable–step solver:
• fur zeitkontinuierliche, nicht–steife Systeme:
⇒ ode45 (first try), ode23, ode113
• fur zeitkontinuierliche, steife Systeme:
⇒ ode15s, ode23s, ode23t,ode23tb
• Fur zeitdiskrete Systeme:
⇒ discrete (Variable–step)
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 16
SIMULINK Grundlagen
Solver: Integrationsalgorithmen in MATLAB
Fixed–step solver:
• arbeiten mit fester Integrationsschrittweite
• keine Fehleruberwachung oder Erkennung von Unste-
tigkeitsstellen
• fur zeitkontinuierliche Systeme:
⇒ ode5, ode4, ode3, ode2, ode1
• Fur zeitdiskrete Systeme:
⇒ discrete (Fixed–step)
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 17
SIMULINK Grundlagen
Simulation: Parameter und Integrationsverfahren
Configuration
Parameters
Dialogbox
Register Data Import/Export:
• Initialisierung
• Laden von Daten aus dem Workspace
• Schreiben von Daten auf den Workspace
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 18
SIMULINK Grundlagen
Simulation: Parameter und Integrationsverfahren
Configuration
Parameters
Dialogbox
Register Diagnostics:
• Steuerung von Fehlermeldungen
• Einstellung von Simulationsoptionen
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 19
SIMULINK Grundlagen
Simulation
Starten und Anhalten einer Simulation
• von SIMULINK aus
• vom MATLAB Command Window aus
– set_param(’sys’, ’SimulationCommand’, ’cmd’)
get_param(’sys’, ’SimulationStatus’)
– [t,x,y] = sim(’model’, timespan, options, ut)
options = simset(property, value, ...)
newopts = simset(oldopts, property, value, ...)
struct = simget(’model’)
Beispiel:
[t,x,y] = sim(’m1’,[],simset(simget(’m1’),’Solver’,’ode23’,’MaxStep’,0.01))
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 20
SIMULINK Grundlagen
Arbeiten mit Callback-Routinen
Automatische Ausfuhrung von benutzerdefinierten Funktionen direkt
vom Simulink-Modell aus zu festen Zeitpunkten wahrend des Simu-
lationsablaufs z.B. InitFcn oder PreLoadFcn:
• Initialisierung von komplexen Modellen mittels Matlab-Skript
• in Block Parameters Dialogbox steht nur noch Variable
• Verknupfung des Skripts mit Blockdiagramm:
– set param(’modellname’,’InitFcn’,’modellname ini’)
set param(’modellname’,’PreLoadFcn’,’modellname ini’)
set param(0,’CallbackTracing’,’on’)
oder
– Menupunkt File/Model properties Callbacks
• Ausfuhren des Skripts (manuell/Editor) entfallt
• Simulink hat Zugriff auf Workspace-Variablen
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 21
SIMULINK Grundlagen
Beispiel zu Callback-Routinen
Beispiel bspparameter.mdl
repeat
To Workspace2
verst_Konst
To Workspace1
erg
To Workspace
RepeatingSequence
>=
RelationalOperator
verst
Gain
Konst
Constant
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 22
SIMULINK Grundlagen
Fehlerbehandlung
Simulation
Diagnostics
Viewer
• oberer Fensterteil: Fehlerumstande (Art, Ursache, Pfa-
dangabe zur Fehlerquelle, Komponente)
• unterer Fensterteil: Volltext der Fehlermeldung
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 23
SIMULINK Grundlagen
SIMULINK Bibliothek Signal Routing
Unterbibliothek Signal Routing:
• Datenspeicher–Management
A
Data StoreWrite
A
Data StoreRead
A
Data StoreMemory
• Verknupfung und Auswahl von Signalen
SelectorMux
[1]
ICHit Crossing
[A]
Goto
[A]
From
Demux
Demux
BusSelector
uvm.
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 24
SIMULINK Grundlagen
Subsysteme
Subsysteme:
• Ubersichtliche Gestaltung komplexer Modelle
• Zusammenfassung von Blocken ahnlicher Funktion
• Aufbau von hierarchischer Struktur
• Erstellung mit
1. Menupunkt Edit/Create Subsystem
2. Unterbibliothek Subsystems
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 25
SIMULINK Grundlagen
SIMULINK Bibliothek Subsystems
Unterbibliothek Subsystems:
while { ... }In1
ICOut1
While IteratorSubsystem
In1 Out1
TriggeredSubsystem
In1 Out1
Subsystem
ActionIn1 Out1
If ActionSubsystem
u1if(u1 > 0)
else
If
function()
In1 Out1
Function−CallSubsystem
In1 Out1
EnabledSubsystem
In1 Out1
Atomic Subsystem
uvm.
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 26
SIMULINK Grundlagen
Bedingt ausgefuhrte Subsysteme / Maskierung
Bedingt ausgefuhrte Subsysteme
• Ausfuhrung wird durch Steuersignal bestimmt
• enthalten Enable oder Trigger
Maskierung von Subsystemen
• aus einem Subsystem wird neuer Block erzeugt
• leichtere Parametrierung komplexer Subsysteme
• Entwurf von benutzerdefinierter Unterbibliothek moglich
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 27