Kursbeschreibung
In diesem zweitägigen Kurs bereiten Sie Modelle in der Simulink®-Umgebung für die Implementierung in eingebetteten Systemen vor. Sie generieren, validieren und implementieren C-Code mit Embedded Coder®.
Themen sind unter anderem:
- Struktur und Ausführung von generiertem Code
- Codegenerierungsoptionen und Optimierung
- Integrieren von generiertem und externem Code
- Codegenerierung für Multiraten-Systeme und nichtperiodische Systeme
- Anpassen von generiertem Code
- Anpassen von Daten
Tag 1 von 2
Codegenerierung für eingebettete Systeme
Ziel: Aus einem Simulink-Modell C-Code generieren und den generierten Code interpretieren, um einen Überblick über die Verwendung von Embedded Coder zu erhalten.
- Architektur einer eingebetteten Anwendung
- Beschreibung des Beispiels
- Generieren von Code
- Code-Module
- Aufzeichnen von Zwischensignalen
- Datenstrukturen im generierten Code
- Verifizieren des generierten Codes
- Embedded Coder Build-Prozess
Optimieren von generiertem Code
Ziel: Identifizieren von Anforderungen an den generierten Code wie z.B. Effizienz oder Sicherheit und Anpassen der Modellkonfiguration, um diese Anforderungen zu erfüllen.
- Überlegungen zur Codeoptimierung
- Eliminieren überflüssigen Codes
- Eliminieren überflüssiger Datenunterstützung
- Optimieren der Datennutzung (Signal Storage)
- Analysieren des Laufzeitverhaltens des generierten Codes
- Codegenerierungsziele
Integrieren von generiertem Code mit externem Code
Ziel: Simulink-Modelle und externe Dateien vorbereiten, um mit Embedded Coder generierten und externen Code zusammenführen zu können.
- Übersicht der Integration von externem Code
- Übersicht über Modelleinsprungspunkte
- Aufrufen von generiertem Code
- Festlegen des Speicherortes für den generierten Code
- Packen generierten Codes
Festlegen der Funktionsprototypen
Ziel: Anpassen der Funktionsprototypen der Modelleinsprungspunkte im generierten Code, um Funktionsargumente wahlweise per Pointer oder direkt zu übergeben.
- Standardfunktionsprototypen
- Ändern der Funktionsprototypen
- Codegenerierung mit geänderten Funktionsprototypen
- Verwenden des generierten Codes mit geänderten Funktionsprototypen
- Überlegungen zu Funktionsprototypen
- Ändern der Standardfunktionsprototypen
Anpassen von Dateneigenschaften in Simulink®
Ziel: Einstellen von Datentypen und Speicherklassen (Storage Classes) von Daten in Simulink-Modellen, um C-Code generieren zu können, der mit externen Code-Modulen integriert werden kann.
- Dateneigenschaften
- Klassifizierung von Datentypen
- Konfigurieren von Datentypen in Simulink
- Festlegen der Speicherklassen für Signale
- Festlegen der Speicherklassen für Zustände
- Auswirkung der Speicherklasse auf die Namensgebung von Symbolen
Tag 2 von 2
Festlegen von Dateneigenschaften mit Datenobjekten
Ziel: Festlegen des Datentyps und der Speicherklasse von Daten mit Datenobjekten, um die Flexibilität und Wartbarkeit von Modellen zu verbessern.
- Überblick über Datenobjekte in Simulink
- Festlegen von Datentypen mit Datenobjekten
- Erstellung rekonfigurierbarer Datentypen
- Festlegen von Speicherklassen mit Datenobjekten
- Festlegen der Namen von Datentypen und Variablen
- Data Dictionaries
Anpassen der Architektur von generiertem Code
Ziel: Verwenden von Komponenten wie atomaren Subsystemen oder Varianten, um die Architektur des generierten Codes festzulegen.
- Architektur eines Simulink-Modells
- Konfigurieren der Code-Partitionierung
- Generieren von wiederverwendbarem Code für Subsysteme
- Generieren von Code für Komponentenvarianten
- Optionen zur Code-Platzierung
Busobjekte und Modellreferenzierung
Ziel: Verwenden von Busobjekten und Signalobjekten, um an Modellschnittstellen die Datentypen innerhalb eines Bussignals und die Speicherklasse des Bussignals für die Codeerzeugung konfigurieren zu können.
- Generieren wiederverwendbaren Codes mit Modellreferenzen
- Einstellen des Datentyps eines Bussignals
- Einstellen der Speicherklasse eines Bussignals
- SIL-Verifikation generierter Software mit Modellreferenzen
Scheduling des generierten Codes
Ziel: Simulink-Modelle mit mehreren Abtastraten so konfigurieren, dass der generierte Code im Single-Tasking-Modus, Multi-Tasking-Modus oder über Function Calls implementiert werden kann.
- Ausführungsschemata für Einzelraten- und Multiratensysteme
- Codegenerierung für Einzelratenmodelle
- Codegenerierung für Multiratenmodelle im Single-Tasking Modus
- Codegenerierung für Multiratenmodelle im Multi-Tasking Modus
- Generieren exportierbarer Funktionen
Verbessern der Codeeffizienz und Konformität
Ziel: Verwenden des Model Advisor, um die Konformität eines Simulink-Modells mit Standards und Richtlinien sicherzustellen.
- Der Model Advisor
- Parameter zur Implementierung auf Hardware
- Konformität mit Standards und Richtlinien
Stufe: Aufbaukurse
Voraussetzungen:
- Simulink Grundlagen (oder Grundlagen für Anwendungen im Automobilbau oder Simulink Grundlagen für Anwendungen in der Luft- und Raumfahrt)
- Programmierkenntnisse in C
Dauer: 2 Tage
Sprachen: Deutsch, English, Français, 日本語, 한국어, 中文