Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03374.jsonl.gz/2132

Simulink Coder

Der Simulink Coder bietet Ihnen ein umfassendes Framework, mit dem Sie generierten Code in Echtzeit ausführen und in Ihre Ausführungsumgebung integrieren können. Je nach den im Modell definierten periodischen Abtastzeiten erzeugt er entweder Singleraten- oder Multiratencode.
Der Code kann mit oder ohne RTOS sowie im Singletasking-, Multitasking- oder asynchronen Modus eingesetzt werden.
Singletasking-Modus
Im Singletasking-Modus ruft ein einfacher Scheduler den generierten Code als einzelnen Ausführungsthread auf und verhindert damit die Task Preemption zwischen verschiedenen Abtastraten.
Multitasking-Modus
Im Multitasking-Modus ruft ein deterministischer, ratenmonotoner Scheduler den generierten Code auf und ermöglicht damit die Task Preemption zwischen verschiedenen Abtastraten. In Bareboard-Umgebungen geschieht die Preemption durch verschachtelte Interrupts. In RTOS-Umgebungen werden dazu unterschiedliche Prioritäten und die systeminterne Task Preemption genutzt.
Asynchroner Modus
Im asynchronen Modus werden nichtperiodische oder asynchrone Raten mithilfe von Simulink S-Functions definiert. Der Simulink Coder übersetzt diese Raten in auf die jeweilige Ausführungsumgebung zugeschnittenen Code. Programmcode für Trigger-Subsysteme und für Ereignisse wie etwa Hardware-Interrupts wird dabei jeweils als einzelner, unabhängiger Task modelliert. Simulink Coder verfügt außerdem über eine integrierte Blockbibliothek für asynchrone Systeme, die als Vorlage zur Erzeugung von Bibliotheken für andere individuelle Umgebungen eingesetzt werden kann.
Echtzeit-Implementierung
Simulink und Simulink Coder verfügen über eine umfassende Auswahl Target-unabhängiger Fähigkeiten für die Echtzeit-Implementierung. Hierzu gehören:
Integration von Legacy-Code
Der generierte Code und seine Laufzeitumgebung können durch Integration von vorhandenem C-, Fortran-, Ada- und C++-Code umfassend für die Simulation und Codegenerierung angepasst werden. Der Simulink Coder enthält dazu Tools wie einen Target Language Compiler (TLC), Custom Code Blocks, Vorlagen-Makefiles, APIs für Build-Prozesse und einen S-Function Builder. Mit dem Legacy Code Tool lassen sich außerdem vorhandene C- und C++-Funktionen schnell und einfach in Simulink-Modelle integrieren, was vor allem bei der Integration von zeitdiskretem Code von Vorteil ist, wie er typischerweise in Embedded Systemen verwendet wird.