Simulink ist eine Software des Herstellers The MathWorks zur Modellierung von Systemen (technisch, physikalisch, finanzmathematisch, ...). Simulink ist ein Zusatzprodukt zu MATLAB und benötigt dieses zum Ausführen.
Simulink | |
---|---|
Basisdaten
| |
Entwickler | The MathWorks |
Aktuelle Version | 7.2 (MATLAB-Release R2008b) (9. Oktober 2008) |
Betriebssystem | Linux, Unix, Windows, Macintosh |
Kategorie | Mathematik, Simulation |
Lizenz | proprietär |
deutschsprachig | nein |
www.mathworks.de |
Modellierung und Funktionsweise
Simulink ermöglicht die hierarchische Modellierung mit Hilfe grafischer Blöcke. Dabei stellt Simulink einen Grundsatz an kontinuierlichen und diskreten Schaltblöcken zur Verfügung. Zusätzliche, komplexere Schaltblöcke können von The MathWorks oder anderen Herstellern bezogen werden.
Zusätzlich kann mit sogenannten S-Functions eigener Code in das Modell integriert werden. Auch das Einbinden von MATLAB-Code ist mittels Embedded MATLAB möglich.
Der Datenfluss zwischen den Blöcken wird grafisch über Verbindungslinien realisiert (sog. gerichteter Graph). Ein so erstelltes System kann dann innerhalb von Simulink gestartet werden. Dabei können aus dem Arbeitsbereich von MATLAB Datenreihen importiert werden, die errechneten Ausgangswerte können ebenfalls in den Arbeitsbereich gespeichert werden oder direkt grafisch angezeigt werden. Simulink unterstützt alle Integer-, Gleit- und Festkommatypen (float und fixed point) in der Simulation und Codegenerierung, wobei für (skalierte) Festkommatypen auch ohne Codegenerierung eine zusätzliche Toolbox-Lizenz erforderlich ist.
Blocksets
Simulink kann durch sogenannte Blocksets (z. B. das "DSP-Blockset") erweitert werden, von denen zahlreiche sowohl von Mathworks selbst als auch von vielen anderen Firmen angeboten werden.
Physikalische Modellierung
Für einzelne Domänen wie mechanische, elektrische oder hydraulische Systeme stehen spezielle Zusätze zur Verfügung, welche die Modellierung von physikalischen Systemen zusätzlich vereinfachen. Dafür wurde das Konzept der unidirektionalen Signalverbindungen um bidirektionale logische Verbindungen - den sog. physical networks - erweitert.
Codegenerierung
Mit Hilfe der Toolbox Real-Time Workshop kann aus einem Simulink-Modell Programmcode erzeugt werden, der mit Konfigurationsdateien für verschiedene Zielsprachen anpassbar ist. Soll der generierte Code auf einer Zielhardware ohne math. Coprozessor laufen, wie es oft bei eingebetteten Systemen der Fall ist, kann die zusätzliche Toolbox Real-Time Workshop Embedded Coder eingesetzt werden, die das generieren von Festkomma-Algorithmen ermöglicht. Für den gleichen Zweck kann auch TargetLink (Fa. dSpace) eingesetzt werden, das direkt auf Simulink aufsetzt, also keine weiteren Toolboxen von Mathworks benötigt. Andere modellbasierte Entwicklungsumgebungen, wie z.B. SCADE, können Simulink-Modelle in ihr eigenes System übertragen, und nach diesem Zwischenschritt dann entsprechenden Programmcode erzeugen. Vor der Ausführung muss der Code dann von einem Zielhardware-Spezifischen Kompiler (Target Compiler) in die entsprechende Maschinensprache übersetzt werden.
Eine weitere so genannte Toolbox ist der HDL-Coder mit dessen Hilfe sich ein Simulink-Modell in VHDL- oder Verilog-Code umsetzen lässt. Der erzeugte Code kann dann, mit Hilfe eines von den FPGA-Herstellern (z.B. Altera, Xilinx) gelieferten Synthesetools, synthetisiert und auf die entsprechende Hardware übertragen werden. Das Endprodukt ist dann anstatt eines ausführbaren Codes ein Stück Hardware mit den entsprechenden Funktionen (ASIC).
Literatur
- Josef Hoffmann: Matlab und Simulink: Beispielorientierte Einführung in die Simulation dynamischer Systeme, Addison-Wesley, 1998, ISBN 3-8273-1077-6
- Frieder Grupp, Florian Grupp: Simulink für Ingenieure, Oldenbourg Wissenschaftsverlag, 2007. ISBN 978-3-486-58091-4