Software-Simulation Steuergeräte modellbasiert entwickeln

Matlab/Simulink ist ein in vielen ingenieurwissenschaftlichen Disziplinen verbreitetes Werkzeug. Es wird im automobilen Umfeld beispielsweise zum Modellieren dynamischer Systeme sowie für das Beschreiben von Zuständen und deren Übergängen verwendet. Da diese Algorithmen auf Steuergeräten ablaufen, die untereinander kommunizieren, ist es im Verlauf des Entwicklungsprozesses notwendig, den Zugang zum Fahrzeugnetzwerk bereitzustellen.

Der Zugang erfolgt mittels Simulink- Blöcken, die mit der Bus-Hardware kommunizieren, direkt aus dem Modell. Daraus resultieren jedoch verschiedene Nachteile:

  • Das Modell ist immer netzwerkspezifisch. Zwar können durch eine intelligente Strukturierung mit Subsystemen der Netzwerk- und der Applikationsanteil getrennt werden. Jedoch ist es vorteilhafter, ein generisches Modell zu haben, das sich sehr einfach auf unterschiedliche Netzwerke anpassen lässt.
  • Zusätzliche Protokollschichten wie Netzwerk-Management (NM), Interaction Layer (IL) oder Transport-Protokolle (TP) sowie eine Restbussimulation sind nur sehr aufwendig in einem Simulink-Modell realisierbar.

 

 

Ein einfacherer Zugang zu einem Netzwerk ist beispielsweise mit der Simulations- und Test-Software CANoe von Vector gegeben. Mit dieser Software wird typischerweise das Steuergerätenetzwerk mit den erforderlichen Knoten simuliert (Restbussimulation). Die Applikationsschicht eines Knotens, also jener Teil, der durch ein Matlab/Simulink-Modell beschrieben ist, setzt dabei auf einer reinen Signalschnittstelle auf (Bild 1). Es besteht kein Bezug mehr zum konkreten Netzwerk. Das Modell schreibt lediglich Signalwerte an seinem Ausgang beziehungsweise liest Signalwerte an seinem Eingang. Durch diese Abstraktion auf Signalebene kann der Anwender seine vorhandenen Modelle nahezu unverändert weiterverwenden.

Aber nicht nur Signale lassen sich zwischen CANoe und dem Simulink- Modell austauschen, sondern auch Systemvariablen. Dies sind CANoeinterne Variablen, die entweder der Benutzer explizit anlegt oder die automatisch erzeugt werden. Nach der Installation des CANoe-Matlab-Integrationspaketes von Vector steht ein Simulink- Blockset zur Verfügung, das entsprechende Blöcke für den Datenaustausch mit CANoe bereitstellt. Es besteht im Wesentlichen aus Funktionen zum Schreiben und Lesen von Bus-Signalen, Systemvariablen und Umgebungsvariablen.