Upload
hetty-schmitz
View
245
Download
2
Embed Size (px)
Citation preview
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
Modellierung:Modellierung:MATLAB – Simulink - MATLAB – Simulink -
StateflowStateflowStefan RoseStefan Rose
[email protected]@upb.de
Uni PaderbornUni PaderbornSeminar Seminar
„„SoftwareEngineering für SoftwareEngineering für softwareintensive Systeme“ softwareintensive Systeme“
SS 2006SS 2006
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.22
MATLAB als Werkzeug zur MATLAB als Werkzeug zur modellbasierten Softwareentwicklungmodellbasierten Softwareentwicklung• mehr als „nur“ MATLAB• sehr mächtiges Werkzeug durch
verschiedene Erweiterungen• Automatische Codegenerierung • Integriertes Testen Zeitersparnis
Eingesetzt in Industrie und ForschungEingesetzt in Industrie und Forschung• Automobilbau• Luft- und Raumfahrt• Medizin• Maschinenbau
MotivationMotivation
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.33
InhaltInhalt
GrundlagenGrundlagen• Was ist MATLAB?• MATLAB Erweiterungen
ModellierungModellierung• Modellbasierte Softwareentwicklung
automatische Codegenerierung
• Anwendungsbeispiel Railroad Gate Controller
FazitFazit• Evaluation
InhaltInhalt
Modellierung
Fazit
Grundlagen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.44
Abkürzung für „MATrix LABoratory“ Abkürzung für „MATrix LABoratory“ • Kernwerkzeug + Erweiterungen(Toolboxen)
Was ist MATLAB?Was ist MATLAB?
Inhalt
Modellierung
Fazit
GrundlagenGrundlagen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.55
Kernwerkzeug Kernwerkzeug MATLAB I MATLAB I
Hochentwickelte Programmiersprache für technische Hochentwickelte Programmiersprache für technische BerechnungenBerechnungen
• Im Gegensatz zu Maple und Mupad aber rein numerisch• Operationen werden auf Matrizen ausgeführt• mathematische Funktionen (Algebra, Statistik, Filter,
Analysen) MATLAB UmgebungMATLAB Umgebung
• Interpreter• Visualisierung von Daten (2D/3D)
Erweiterbarkeit durch ToolboxenErweiterbarkeit durch Toolboxen• Erschließung von versch. Anwendungsbereichen
Finanzanalyse biologische Probleme
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugKernwerkzeugSimulinkErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.66
Kernwerkzeug Kernwerkzeug MATLAB IIMATLAB II Die Matlab UmgebungDie Matlab Umgebung
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugKernwerkzeugSimulinkErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.77
Simulink ISimulink I
Interaktive Modellierung, Simulation und Interaktive Modellierung, Simulation und Analyse von dynamischen SystemenAnalyse von dynamischen Systemen• lineare, nicht-lineare und diskrete Systeme• Modellierung durch Signalflusspläne /
Blockdiagramme• Signale können zu jedem Zeitpunkt abgegriffen
werden Voll integriert in MATLABVoll integriert in MATLAB Erweiterbarkeit durch ToolboxenErweiterbarkeit durch Toolboxen
• Codegenerierung
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkSimulinkErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.88
Grafische Oberfläche zur ModellierungGrafische Oberfläche zur Modellierung• Blockdiagrammeditor
Simulink IISimulink II Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkSimulinkErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.99
Simulink S-FunctionsSimulink S-Functions• In Simulink eingebundener Code
MATLAB, C, C++, ADA, Fortran
• Vorteile Verwendung von externem Code Einbinden von hardwarenahem Code (Treiber)
Simulink BibliothekenSimulink Bibliotheken• große Anzahl fertiger Blöcke
Standard Logik, Filter, Sources, Signalverarbeitung Regelungstechnik, Vision, Kommunikation
• mit der Umgebung per Drag and Drop einzubinden
Simulink IIISimulink III Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkSimulinkErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1010
Erweiterungen Erweiterungen (Toolboxen)(Toolboxen)
Symbolic Math ToolboxSymbolic Math Toolbox• Erweiterung von Matlab um Maple Syntax
Optimization ToolboxOptimization Toolbox• Optimierung von Funktionen und Modellen
StateflowStateflow• Erweiterung um Zustandautomaten
Image Processing ToolboxImage Processing Toolbox• Bildverarbeitung mit MATLAB (Filter etc.)
Control System ToolboxControl System Toolbox• Modellierung von Regelungen
Communications ToolboxCommunications Toolbox• Kommunikationsnetze mit MATLAB
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1111
Optimization Optimization ToolboxToolbox Methoden zur Optimierung von Methoden zur Optimierung von
FunktionenFunktionen• Nullstellensuche• Minimierung• Maximierung
Optimierung von Parametern eines Optimierung von Parametern eines Simulink ModellsSimulink Modells
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1212
Stateflow IStateflow I
StateflowStateflow• Modellierung endlicher Zustandsautomaten• Im Gegensatz zu Simulink eventgesteuert
(Modellierung ereignisdiskreter Systeme)• Generierung von Simulink S-Functions Volle integriert in Simulink
Stateflow CoderStateflow Coder• Erweiterung zur automatischen
Codegenerierung aus Stateflow Modellen
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1313
Stateflow OberflächeStateflow Oberfläche
Stateflow IIStateflow II Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1414
Semantik Stateflow Semantik Stateflow II Semantik ähnlich zu UML StatechartsSemantik ähnlich zu UML Statecharts
• Erweiterungen: Steuerung von Übergängen und Ereignissen
mit Hilfe temporaler Operatoren Condition Actions Ausführungsreihenfolge bei nicht
deterministischen Automaten• nicht in Stateflow enthalten:
Fork-Joins Synchronisationsconnectoren
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1515
Steuerung von Übergängen und Ereignissen mit Steuerung von Übergängen und Ereignissen mit Hilfe temporaler OperatorenHilfe temporaler Operatoren
• before, after, at, every
Condition ActionsCondition Actions• Ausführung in jedem Fall (vor Transition Action)
Semantik Stateflow Semantik Stateflow IIII
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1616
Ausführungsreihenfolge bei nicht Ausführungsreihenfolge bei nicht deterministischen Automatendeterministischen Automaten• grafische Anordnung im Editor entscheidet
oben vor unten links vor rechts Transitionen mit Guard werden bevorzugt
Semantik Stateflow Semantik Stateflow IIIIII
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulink
ErweiterungenErweiterungen
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1717
Überblick Überblick ModellierungModellierung
Modellbasierte Softwareentwickling mit Modellbasierte Softwareentwickling mit MATLAB/Simulink und StateflowMATLAB/Simulink und Stateflow
• Hybride Modellierung• Plattformunabhängig• (Hardware-in-the-loop) Simulation• Möglichkeit zur automatischen Codegenerierung
Beispielhafte Modellierung eines Systems anhand Beispielhafte Modellierung eines Systems anhand des Railroad Gate Controllersdes Railroad Gate Controllers
• Simulink Umgebungs-Modell• Stateflow Diagramm• Simulation
Inhalt
ModellierungModellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD Beispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1818
Modellierung IModellierung I
Modellierung hybrider SystemeModellierung hybrider Systeme• diskrete und kontinuierliche Modelle mit Simulink
möglich / auch in Kombination• bei eingebetteten Systemen oftmals aufgrund der
Umgebung nötig• Echtzeitumgebungen können so modelliert werden
SimulationenSimulationen• Hardeware-in-the-Loop
Modelle beschreiben die Hardware
• Software-in-the-Loop Hardware wird simuliert
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDDMDD Beispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.1919
Modellierung IIModellierung II
Automatische Codegenerierung mit Automatische Codegenerierung mit MATLAB/SimulinkMATLAB/Simulink• Real-Time Workshop
diskrete, kontinuierliche und hybride Modelle RTW Embedded Coder
• Stateflow Coder Zustandsdiagramm <-> C-Code
• TargetLink Externes Tool von DSPACE verschiedene Simulationsmöglichkeiten
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDDMDD Beispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2020
AnwendungsbeispielAnwendungsbeispiel
Railroad Gate ControllerRailroad Gate Controller x beschreibt die Position des Zuges (in m)
initialisiert mit 5000 v = x‘, Geschwindigkeit Zug
y beschreibt die Position der Schranke (in °) initialisiert mit 90 vSchranke = y‘, Geschwindigkeit Schranke
• (x>1000) v= 50, vSchranke= 0• x<=1000 v= 30, vSchranke= -9 (bis y= 0) • x<= -100 v= 5, vSchranke= +9 (bis y= 90)
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD BeispielBeispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2121
Modellierung des ZustandautomatenModellierung des Zustandautomaten
Railroad Gate Railroad Gate Controller IController I
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD BeispielBeispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2222
Railroad Gate Railroad Gate Controller IIController II
SchnittstellenSchnittstellen• Input
x : die Entfernung zum Bahnübergang y : die Position der Schranke z : laufende „Zeit“ um Delay u einzuhalten u : Konstante (Delay)
• Outputs v = x‘: Geschwindigkeit Zug vSchranke = y‘ : Geschwindigkeit Schranke
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD BeispielBeispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2323
Simulink ModellierungSimulink Modellierung
Railroad Gate Railroad Gate Controller IIIController III
Modell/Verhalten des ZugesModell/Verhalten des Zuges
Modell/Verhalten der SchrankeModell/Verhalten der Schranke
RG Controller alsRG Controller alsZustandautomatZustandautomat
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD BeispielBeispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2424
SimulationSimulation
Inhalt
Modellierung
Fazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD BeispielBeispiel
Railroad Gate Railroad Gate Controller IVController IV
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2525
FazitFazit Mächtiges Programm zur Modellierung und Simulation von Mächtiges Programm zur Modellierung und Simulation von
kontinuierlichen, diskreten und hybriden Modellenkontinuierlichen, diskreten und hybriden Modellen Starke Erweiterbarkeit durch sehr große Anzahl von Starke Erweiterbarkeit durch sehr große Anzahl von
ErweiterungenErweiterungen• Anpassung an sehr verschiedene Aufgabenbereiche
Medizin Robotik Automobilbau
Große Verbreitung in der IndustrieGroße Verbreitung in der Industrie• spart Zeit und Kosten• Software gewinnt an Stabilität durch verschiedene Test weniger Fehler schneller am Markt
Inhalt
Modellierung
FazitFazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD Beispiel
Stefan Rose
Modellierung:MATLAB – Simulink - Stateflow
03:04 nachm.2626
EndeEnde
Vielen Dank Vielen Dank für die für die
AufmerksamkeitAufmerksamkeit
… … Fragen?Fragen?
Inhalt
Modellierung
FazitFazit
Grundlagen KernwerkzeugSimulinkErweiterungen
MDD Beispiel