Grundlagen der Restbus-Simulation

Überblick

Fahrzeuge werden heute mit zunehmender technologischer Intelligenz elektronisch immer komplexer. Mit diesem erhöhten IQ der Fahrzeuge geht auch ein erheblicher Anstieg der Anzahl der Codezeilen sowie der Anzahl der Steuergeräte einher, die fundierte und blitzschnelle Entscheidungen treffen müssen. Jedes dieser Steuergeräte interagiert mit anderen Steuergeräten und ist auf zusätzliche Steuergeräte angewiesen, um bedarfsgerecht zu arbeiten, was beim Testen und Validieren der Embedded-Software für ein Steuergerät zu Herausforderungen führen kann. Die Restbus-Simulation ist ein Verfahren zur Validierung der Steuergerätefunktionalität, mit dem Teile eines fahrzeuginternen Busses wie das Controller Area Network (CAN) simuliert werden. Die Verwendung eines Validierungsverfahrens wie z. B. der Restbus-Simulation kann Testzeit und -kosten stark reduzieren, da Unternehmen reale Bedingungen über einen Fahrzeugbus simulieren können, um festzustellen, wie ein Steuergerät reagiert, ohne ein komplettes Fahrzeugnetzwerk einrichten oder teure Feldtests durchführen zu müssen. In diesem Artikel werden die Grundlagen der Restbus-Simulation wie Modellimport und Stimulusprofile sowie Möglichkeiten zur Simulation bestimmter realer Situationen erläutert.

Inhalt

Tools von NI für die Restbus-Simulation

In diesem Dokument wird häufig auf verschiedene Hardware- und Software-Tools von NI verwiesen, die Sie für typische Restbus-Simulationsanwendungen und -strategien verwenden können. Mit diesen Tools können Sie die für die Restbus-Simulation erforderlichen Funktionen realisieren und den Zeitaufwand für die anwendungsspezifische Konfiguration erheblich verkürzen:

  • NI-XNET CAN-, LIN- und FlexRay-Schnittstellen: CAN-, LIN- und FlexRay-Hochleistungsschnittstellen für das Senden und Empfangen von Busverkehr.
  • NI VeriStand: Leistungsstarkes, sofort einsatzbereites Software-Tool zur effizienteren Ausführung von Echtzeit-Testapplikationen.
  • NI VeriStand Stimulus Profile Editor: Tool zur Erstellung von Echtzeit-Testskripten und anspruchsvollen Echtzeit-Sequenzen, die Entscheidungsfindung, Multitasking und komplexe mathematische Funktionen umfassen.

Die 8 grundlegenden Verfahren für die Restbus-Simulation

Die Restbus-Simulation kann für viele unterschiedliche Anwendungen und Tasks eingesetzt werden. Die meisten davon ergeben sich jedoch aus acht verschiedenen Verfahren und grundlegenden Bausteinen, die auf vielfältige Weise eingesetzt werden können. Im übrigen Teil dieses Dokuments wird näher auf diese acht Tasks eingegangen und beschrieben, wie Sie sie mithilfe der oben genannten Tools implementieren können.

1. Umschalten zwischen realen und simulierten Steuergeräten

Wie bereits erwähnt, können Sie mithilfe der Restbus-Simulation ein fahrzeuginternes Netzwerk vollständig oder teilweise simulieren. Aus diesem Grund gehört zum erwünschten Funktionsumfang bei dieser Art von Anwendungen das einfache Auswechseln eines simulierten Steuergeräts durch ein echtes Steuergerät oder umgekehrt, um verschiedene Teile des ganzen Netzwerks zu simulieren. Da eine große Anzahl von Steuergeräten über dasselbe Netzwerk kommunizieren kann, muss dieser Übergang von realen zu simulierten oder von simulierten zu realen Systemen so einfach und nahtlos wie möglich erfolgen.

Simulated and Real ECU.bmp

Enable and Disable Transmission Triggers.bmp

Abbildung 1: Nutzen Sie NI VeriStand mit NI-XNET-Schnittstellen für ein schnelles Umschalten zwischen der Simulation eines realen Steuergeräts und dem Anschluss eines realen Steuergeräts an den Bus.

Mit NI-XNET-Fahrzeugbusschnittstellen und NI VeriStand können Sie diesen Task mühelos bewältigen. Durch das Einrichten von Deaktivierungs- und Aktivierungs-Triggern für bestimmten Datenverkehr auf dem Bus können Sie problemlos zwischen Übertragung und Nichtübertragung der Netzwerkkommunikation wechseln, um ein Steuergerät zu simulieren oder das tatsächliche Steuergerät im Netzwerk zu verwenden. Dieses Verfahren kann auf die gesamte CAN-, LIN- oder FlexRay-Schnittstelle oder nur auf einzelne Frames angewendet werden, je nachdem, in welchem Ausmaß Sie Kommunikation simulieren möchten.

2. Importieren eines Netzwerk-Simulationsmodells

NI VeriStand ermöglicht Ihnen die Interaktion mit Modellen aus einer Vielzahl von Modellierungsumgebungen und Programmiersprachen. Es können kompilierte Modelle ausgeführt werden, die in einer beliebigen unterstützten Modellierungsumgebung erstellt wurden. Ebenso können unkompilierte Modelle (MDL-Dateien) ausgeführt werden, die mithilfe der Software Simulink®1 von The MathWorks, Inc. erstellt wurden. Anschließend können Sie die Ein- und Ausgänge dieser Modelle eingehenden oder ausgehenden Nachrichten für die NI-XNET-Geräte zuordnen.  

 

Importing Simulation Model.bmp

Abbildung 2: Ein Beispiel für ein Sinusschwingungsmodell wurde für die Netzwerkkommunikation in NI VeriStand importiert.

[1] Simulink® ist eine eingetragene Marke von The MathWorks, Inc.

3. Benutzerdefinierte Skripterstellung für die Netzwerkkommunikation

Zusätzlich zur Verwendung von Modellen für die Netzwerkkommunikation müssen Sie möglicherweise benutzerdefinierte Skripte für die Netzwerkkommunikation schreiben, um bestimmte Tasks auszuführen. Im Gegensatz zur Übertragung einer zyklischen Nachricht mit einer gewünschten Rate müssen Sie für die Skripterstellung oft ein bestimmtes Muster oder Profil auf den Bus übertragen. Mit dem NI VeriStand Stimulus Profile Editor können Sie spezifische Profile und Sequenzen entwickeln, um ein gewünschtes Profil für die Netzwerkkommunikation auf den Bus zu übertragen und die Reaktion eines Steuergeräts auf bekannte Stimuli zu testen.

Custom Network Communication Scripting.bmp

Abbildung 3: Erstellen eines Stimulusprofils für die Netzwerkkommunikation mit dem NI VeriStand Stimulus Profile Editor.

4. Einreihen in die Nachrichtenübertragungs-Queue

Im Gegensatz zum Erstellen eines Profils für eine bestimmte Nachricht oder eine Reihe von Nachrichten müssen Sie für das Einreihen in Nachrichtenübertragungs-Queues oft eine bestimmte Reihenfolge verschiedener zu übertragender Netzwerknachrichten mit entsprechenden Triggern festlegen. Auch hierfür können Sie den NI VeriStand Stimulus Profile Editor verwenden. Mit dem gleichen Tool und der gleichen Umgebung, die Sie für benutzerdefinierte Skripte verwenden, können Sie Netzwerknachrichten in einer bestimmten Reihenfolge in eine Queue einreihen und Übertragungstrigger für jeden Frame konfigurieren. Wenn Sie nur eine zyklische Nachricht mit einer gewünschten Rate übertragen möchten, können Sie diese im NI VeriStand System Explorer konfigurieren und die Nachricht automatisch aus Netzwerkdatenbanken wie FIBEX- und DBC-Dateien importieren.

Import Cyclic Frames.bmp

Abbildung 4: Die NI VeriStand-Umgebung ermöglicht das automatische Parsen von Netzwerkdatenbanken im Hinblick auf die Konfiguration der Übertragung zyklischer Frames.

5. Manuelle Nachrichtenübertragung

Darüber hinaus müssen Sie möglicherweise ereignisgesteuerte Nachrichten senden, die auf Anforderung oder beim Eintreten einer Trigger-Bedingung gesendet werden. Die gleichen Tools, die Sie für die zyklische Übertragung verwenden, können auch für die manuelle Übertragung von Ereignisnachrichten verwendet werden.

Import Event Frames.bmp

Abbildung 5: Verwenden Sie die NI VeriStand-Umgebung auch zum Parsen einer Netzwerkdatenbank, um die Übertragung ereignisgesteuerter Nachrichten zu konfigurieren.

6. Wiedergabe der Protokolldateidaten

Mit den gleichen Schritten, mit denen der zuvor aufgezeichnete Busverkehr in seiner ursprünglich kommunizierten Form übertragen wurde, können Sie Änderungen an der Steuergerätesoftware effektiv testen und die Reaktion auf bekannte Stimuli überwachen. Mit dem NI VeriStand System Explorer können Sie aufgezeichnete Netzwerkprotokolldateien von Fahrzeugen so konfigurieren, dass sie genau so übertragen werden, wie sie aufgezeichnet wurden. Sie können die Dateiwiedergabe auch mit benutzerspezifischen Einstellungen konfigurieren und z. B. eine Trigger-Bedingung für den Start der Wiedergabe einrichten, zu übertragende Frames einschließen oder Frames von der Übertragung ausschließen.

data replay.bmp

Abbildung 6: Konfigurieren einer aufgezeichneten Protokolldatei, die mithilfe von NI VeriStand und NI-XNET-Schnittstellen übertragen werden soll.

7. Trigger-Bedingungen für die Kommunikation

Durch die Kombination der NI VeriStand-Tools mit NI-XNET-Schnittstellen stehen mehrere leistungsstarke Optionen für das Auslösen von Kommunikation zur Verfügung. In diesem Dokument wurde beim Erörtern der Trigger-Bedingungen, die für viele weitere Grundlagen der Restbus-Simulation konfiguriert werden können, auf zahlreiche dieser Optionen verwiesen. Darüber hinaus können Sie zwischen mehreren Trigger-Quellen wählen, darunter Wertänderungen, spezifische Nachrichten, benutzerspezifische Kanäle und andere I/O. 

8. Testerstellung und Protokollerstellung

Der komplette Prozess besteht nicht nur aus dem einfachen Durchführen der Simulation. Sie müssen auch die Ergebnisse zusammenfassen und testen, ob das Gerät wie erwartet funktioniert. Mit dem NI VeriStand Stimulus Profile Editor können Sie benutzerdefinierte Pass/Fail-Tests entwickeln und Protokolle in einem Standardformat wie ATML erstellen, um Testergebnisse anzuzeigen und zu teilen.

test report.bmp

Abbildung 7: Mit dem NI VeriStand Stimulus Profile Editor können Sie anpassbare Tests und Protokolle erstellen und die Ergebnisse anderen Benutzern zur Verfügung stellen.

Fazit

Ein Testverfahren wie die Restbus-Simulation zur Validierung von Steuergerätesoftware kann eine wertvolle Methode sein, um langfristig Zeit und Geld zu sparen, erfordert aber auch mehrere spezifische Komponenten und Verfahren. Wenn Sie die Grundlagen der Restbus-Simulation und der Tools für effiziente Tests verstanden haben, kann dies dazu beitragen, die Entwicklungszeit für Anwendungen zu verkürzen und Fehler frühzeitig zu finden. Mit den Hardware- und Software-Tools von NI wie NI VeriStand, dem NI VeriStand Stimulus Profile Editor und den NI-XNET-Fahrzeugbusschnittstellen erhalten Sie die erforderlichen Tools, um Ihre Restbus-Simulationsanwendungen schnell und vollständig anzupassen.

Simulink® ist eine eingetragene Marke von The MathWorks, Inc. Andere erwähnte Produkt- und Firmennamen sind Marken oder Handelsmarken der jeweiligen Unternehmen.