Software-Simulation

Steuergeräte modellbasiert entwickeln

10. Mai 2010, 14:15 Uhr | Von Jochen Neuffer und Dr. Carsten Böke
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 4

Modellberechnung in CANoe

Um die Modellberechnung besser zu verstehen, ist das Verständnis des Ablaufmodells in CANoe von Bedeutung. CANoe rechnet grundsätzlich ereignisgesteuert. Ereignisse sind hierbei eintreffende Netzwerkbotschaften oder Timer. Bei jedem eintreffenden Ereignis wird die Simulationszeit in CANoe auf den Zeitstempel des jeweiligen Ereignisses gesetzt. Dabei wird die Zeitbasis abgeleitet von hochauflösenden Nicht-Windows-Timern auf den Netzwerkschnittstellen.

Somit wird eine hohe Genauigkeit der Zeitstempel erreicht, obwohl CANoe unter Windows läuft. Wird nun der Konfiguration ein generiertes Matlab/Simulink-Modell in Form einer DLL hinzugefügt, muss dieses zyklisch gerechnet werden. Wie oben erwähnt, sind auch Timer Ereignisse, welche die Simulationszeit von CANoe setzen können. In dem Modell wird also ein Timer mit genau der Zeit gesetzt, die in den Solver-Einstellungen des Simulink-Modells spezifiziert ist.

Parametrieren des Modells

Eine häufige Anforderung der Anwender ist es, das Modell nachträglich zu verändern, ohne es erneut compilieren zu müssen. Die Anwendungsfälle lassen sich folgendermaßen einteilen:

  • Die Modelle unterscheiden sich in den einzelnen Steuergeräte- oder Fahrzeugvarianten lediglich durch interne Parameter. Das Ändern der Parameter ist, z.B. im Rahmen von automatischen Tests, auch zur Laufzeit möglich. So können dieselben Modelle für verschiedene Fahrzeugvarianten verwendet werden.
  • Im Modell sind zu Simulationsbeginn bestimmte Anfangsbedingungen festzulegen, welche die eigentliche Modell-Logik nicht verändern dürfen, aber in verschiedenen Testszenarien durchaus verschieden sein können. Beispiel: Es sollen die Verstärkungsfaktoren bei Regelschleifen verstellt werden, um so unterschiedliche Regelcharakteristiken zu testen.
  • Der Real-Time Workshop und/oder ein Microsoft-Compiler stehen nicht zur Verfügung, die Zeit für häufiges Neu-Compilieren ist zu lang, oder die Modelldatei selbst steht nicht zur Verfügung. So können auch Nutzer ohne Matlab/ Simulink-Installation die Modelle noch zur Laufzeit ändern.

In solchen Fällen ist es sinnvoll, das Parametrieren nicht über einzeln generierte DLLs zu realisieren – ständiges, zeitaufwendiges Umkonfigurieren der Komponenten an den Knoten im Simulationsaufbau wäre die Folge. Um diesen Anwendungsfällen gerecht zu werden, lassen sich die für CANoe erzeugten Komponenten auch nach dem Compilieren noch parametrieren. Bei der Code-Generierung werden hierbei für jeden Parameter im Modell Systemvariablen generiert, die CANoe anschließend liest und schreibt. Modellparameter sind typischerweise die Eigenschaften der einzelnen Simulink-Blöcke. Das kann bei einem Integratorblock sein Anfangszustand sein oder bei einem Sinus- Block dessen Frequenz, Phase, Offset oder Amplitude. Eine Systemvariable, die beispielsweise den Verstärkungsfaktor eines Simulink-Gain- Blocks repräsentiert, lässt sich dann in den Analysefenstern (Grafik, Daten, Trace) sowie Panels, CAPL-Programmen und Tests verwenden. Ein weiterer Vorteil ist die Möglichkeit zur Feinabstimmung des Modells, da interne Parameter iterativ leicht zu variieren sind.


  1. Steuergeräte modellbasiert entwickeln
  2. Offline Mode für Rapid Prototyping
  3. Synchronized Mode für frühe Entwicklungsphasen
  4. Online Mode oder Hardware-in- the-Loop Mode
  5. Modellberechnung in CANoe
  6. Betrachten eines Simulink-Modells in CANoe
  7. Betrachten eines Simulink-Modells in CANoe

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Vector Informatik GmbH