Diese Website nutzt Cookies, um gewisse Funktionen gewährleisten zu können. Durch die Nutzung der Website stimmen Sie unseren Datenschutz-Richtlinien zu.
Nachrichten und Informationen zu Test- und Messtechnik für Elektronik in Entwicklung, Produktion und Service.  

Newsletter abonnieren

Alle 14 Tage alle News im Überblick
captcha 
Bitte geben Sie auch den angezeigten Sicherheitscode ein.

Aktuelle Test- und Messtechnik-News

Hintergrund: Effektiver Test eingebetteter Systeme mittels Hardware-in-the-Loop

Es kommt bei Automotive-Steuergeräten bzw. Systemen immer wieder vor, dass diese wegen Softwarefehler zurückgerufen werden müssen oder dass sogar ein Produktionsstopp notwendig ist. Ein Problem in diesem Zusammenhang ist die hohe und gleichzeitig stetig zunehmende Komplexität der Systeme. Entscheidend ist ein umfassender Software-Test. Aber wie lässt sich dieser effektiv realisieren?

Im Bereich der Entwicklung eingebetteter Systeme, wie sie beispielsweise in Form von Steuergeräten im Automobilbereich eingesetzt werden, ist ein rasanter technischer Fortschritt zu verzeichnen. Die Komplexität der Funktionen und der Entwicklungsaufwand – vor allem im Bereich der Software/Firmware – steigt stetig. Unter diesen Bedingungen lassen sich Tests nur durch eine höchstmögliche Automatisierung in der nötigen Testtiefe und gleichzeitig wirtschaftlich realisieren. Neben den genannten allgemeinen Testanforderungen stellen komplexere Steuergeräte auch hohe Anforderungen an die Entwicklung. Bei der Software-Entwicklung auf der Ziel-Hardware werden immer umfangreichere Umgebungsemulationen durch Simulation notwendig, um das Steuergerät in einen für den Entwickler nutzbaren Betriebszustand zu versetzen. Es bestehen ähnliche Anforderungen, wie für die Umgebungssimulation bei HIL-Testsystemen (Hardware-in-the-Loop).

Modulare, skalierbare Testsysteme

HIL Bild1Idealerweise folgen entsprechende Testsysteme damit dem HIL-Ansatz. Die iSyst Intelligente Systeme GmbH nutzt bei ihren Systemen zudem einen zweiteiligen Aufbau aus Steuer- und Echtzeitrechner, wobei beim Echtzeitrechner je nach Aufgabenstellung verschiedene Hardwareplattformen zum Einsatz kommen (Bild 1). Dies beginnt bei einfachen Testsystemen und Software-Entwicklerarbeitsplätzen mit einem ARM Cortex-A8 Prozessor und geht bis hin zu sehr leistungsfähigen Industrie-PCs.

Die Abstraktion der Hardware erfolgt mit der Echtzeit-Middleware Gamma V der Firma RST. Neben der Hardwareabstraktion stellt die Middleware auch ein Zeitmodell für die deterministische Ausführung des Umgebungsmodells unter Linux zur Verfügung. Mit Hilfe des Simulink-Blocksets der iSyst GmbH für Gamma V ist es möglich Simulink Modelle auch von anderen Testsystemplattformen auf den iSyTester zu portieren. Die Modelle können dabei auf den verschiedenen Hardwareplattformen (ARM und x86) eingesetzt werden, ohne dass Änderungen am Modell notwendig sind.

Die Anbindung der Hardware an die Gamma V Middleware erfolgt über sogenannte Plugins, welche die Konfiguration der Hardware übernehmen und die IO-Kanäle als Channels zur Verfügung stellen. Diese Channels werden innerhalb der Middleware mit sogenannten PVs (Prozess-Variablen) verknüpft und stellen damit die Schnittstelle für das Umgebungsmodell und die Testautomatisierung dar.

HIL Bild2

Weiterhin erlaubt die Middleware eine transparente Vernetzung mehrerer Systeme über Ethernet. Über diese Funktionalität lässt sich das Echtzeitsystem eines iSyTesters einfach mit dem Steuerrechner verknüpfen (Bild 2). Der Steuerrechner hat mittels der Gamma V Middleware direkten Zugriff auf alle PVs des Echtzeitsystems und unterstützt so den Einsatz verschiedener Testautomatisierungssysteme, wie zum Beispiel das iTestStudio der iSyst GmbH. Damit lassen sich automatisierte Tests erstellen, ausführen und dokumentieren.

Framework für die Testautomatisierung

Das Testautomatisierungswerkzeug iTestStudio der iSyst GmbH wird zur Erstellung und automatisierten Ausführung von Tests unter Verwendung der Testsysteme, z.B. HIL-Testsysteme, eingesetzt. Dabei wird auf die verschiedenen Test-Tools, wie zum Beispiel CANape, CANalyzer und ControlDesk, über Automatisierungsschnittstellen (z.B. DLLs oder COM) zugegriffen und es werden auch Schnittstellen zu verschiedenen Echtzeitplattformen – z.B. Gamma V, dSPACE rtplib, dSPACE XIL oder NI – unterstützt.

Die Software iTestStudio besteht aus dem iTestStudio TA, TestSupport-Bibliotheken und dem TestToolkit (Bild 3). Die Komponente iTestStudio TA stellt die Benutzeroberfläche dar. Diese umfasst die Organisation der Testfälle mit der Zusammenstellung von Testserien und Testsequenzen, das Ausführen/Starten der Testskripte und das Erstellen der Testreports.

HIL Bild3

Die TestSupport-Bibliotheken sind für die Ausführung der Tests mit der zugehörigen Python-Version erforderlich, welche nicht zwingend die Python-Version der iTestStudio TA GUI sein muss. Darüber hinaus sind Funktionen zum Speichern der Ergebnisse enthalten.

Das TestToolkit beinhaltet spezielle Testfunktionen, Schnittstellen zu Tools (wie Vector CANape oder dSPACE ControlDesk) sowie Container für Cal- und HIL-Variablen. Die Cal-Variablen repräsentieren die Variablen im Steuergerät, auf welche, zum Beispiel über XCP mittels des Tools CANape, zugegriffen werden kann. Die HIL-Variablen stellen wiederum die Daten des Umgebungsmodells zur Verfügung.

Anwendungsbeispiel – Simulation von CAN-Knoten

Im Folgenden soll der Einsatz des iSyTesters für die Simulation und den Test der CAN-Kommunikation eines DUTs (Restbussimulation) dargestellt werden. Das iTestStudio dient der Umsetzung des automatisierten Tests. Die Konfiguration der CAN-Kommunikation erfolgt mittels einer XML-Datei im CAN-Plugin. Diese XML-Datei kann unter anderem aus einer Beschreibungsdatei, wie zum Beispiel DBC oder Fibex, erzeugt werden. Die Middleware stellt dabei nicht nur den Zugriff auf die Nutzdaten des CAN-Frames zur Verfügung, es werden auch Channels für die Änderung der Länge, die Einstellung der Zykluszeit für das zyklische Senden des CAN-Frames und die Sendezeit bereitgestellt. Diese Channels stehen direkt als PVs in der Middleware zur Verfügung.

Der Inhalt für den CAN-Frame wird anhand der PVs direkt über die Testautomatisierung gesetzt. Andererseits ist es möglich, auch das dynamische Verhalten anderer Steuergeräte oder auch Protokolle wie CANopen mittels des Umgebungsmodells zu implementieren.

Typische Testfälle bei der Prüfung des CAN-Busses am HIL sind:

  • Erkennung von BusOff bei einem Kurzschluss von CAN-Low und CAN-High
  • Neustart der Kommunikation nach BusOff
  • Prüfung der Wertebereiche und Umrechnungen für Signale
  • Prüfung der Fehlererkennung für Prüfsummen
  • Prüfung der Fehlererkennung für Botschaftszähler bzw. Toggel-Bits
  • Prüfung der Fehlererkennung für falsche Botschaftslängen
  • Prüfung der Fehlererkennung für falsche Zykluszeiten

Die Erstellung der Testskripte für den automatisierten Test der CAN-Kommunikation kann auf Basis der Beschreibungsdatei, wie zum Beispiel DBC oder Fibex, automatisiert erfolgen.

Damit ist es möglich die Standard-Tests (wie sie in der vorangegangen Liste beschreiben sind) vollständig automatisiert zu erstellen und auszuführen. Und auch die Absicherung der Buskommunikation ist hierdurch ohne manuelle Erstellung der Umgebungssimulation oder der Testskripte effektiv und effizient möglich.

Anwendungsbeispiel – Simulation eines proprietären Busprotokolls

Im Rahmen der Testprojekte der iSyst GmbH gibt es immer wieder die Anforderungen proprietäre Busprotokolle von Kundensystemen nachzubilden. Dies ist mit der Flexibilität der Gamma V Middleware leicht zu realisieren.

In diesem Beispiel sollten HIL-Tests für Steuergeräte eines medizintechnischen Systems durchgeführt werden. Die Steuergeräte kommunizieren dabei über ein proprietäres Protokoll, welches auf dem CAN-Bus aufsetzt.

Zur Realisierung der Testumgebung wurde ein Plugin für die Gamma V Middleware erstellt, welches das Kommunikationsprotokoll implementiert. Die Konfiguration – welche dem zu simulierenden Steuergerät entspricht – wird mittels einer XML-Datei dem Plugin übergeben. Da die Kommunikation einer Beschreibungsdatei des Kunden maschinenlesbar vorliegt, konnte ein Generator für die Generierung der Restbussimulation erstellt werden.

Mit einem Entwicklungsaufwand von wenigen Wochen, für das Plugin und das Konfigurationstool, konnte eine vollständig automatisierbare Testumgebung für die Steuergeräte des medizintechnischen Systems realisiert werden.

Wiederverwendung und Skalierbarkeit

Auf Basis des iSyTesters und des iTestStudios können einmal entwickelte Funktionen für die Umgebungssimulation und Testskripte für den automatisierten Softwaretest auf Testsystemen verschiedener Größe und Funktion wiederverwendet werden. Dank des modularen Konzeptes des iSyTesters stehen verschiedene Hardware-Plattformen für die Echtzeitsysteme zur Verfügung. Durch den Einsatz der Echtzeit-Middleware Gamma V ergibt sich eine einheitliche Schnittstelle für die Umgebungssimulation, welche mittels des Gamma V Blocksets mit der Welt von Simulink verknüpft ist. Simulink wiederum stellt eine effektive Umgebung für die plattformunabhängige Modellierung von Umgebungssimulationen zur Verfügung. Im Zusammenspiel dieser Komponenten können Testsysteme vom Entwicklerarbeitsplatz bis zum Fullsize-HIL-System mit demselben Umgebungsmodell eingesetzt werden.

Neben dem Umgebungsmodell können auch Testskripte von Projekt zu Projekt bzw. von DUT zu DUT (Device under Test) weiterverwendet werden.

Fazit

Der iSyTester bietet die Möglichkeit skalierbare Testsysteme im Hinblick auf Preis und Leistung zu realisieren und unterstützt eine weitreichende Wiederverwendbarkeit von Umgebungssimulationen und Testskripten. Die Leistung reicht dabei von kompakten Testsystemen für den Entwicklerarbeitsplatz mit Cortex-A8 oder Cortex-A9-Prozessoren, welche ab ca. 10.000 € realisierbar sind, bis hin zu Fullsize-HIL-Systemen mit Industrie-PCs und Core i7-Prozessoren für einige 10.000 €.

Basierend auf diesen Testsystemen können mit Hilfe des iTestStudios umfangreiche, wiederverwendbare Testskripte erstellt werden, welche die Absicherung der Software eingebetteter Systeme stark beschleunigt und vertieft. Damit ist es möglich, auch komplexe eingebettete Systeme tiefgehend zu prüfen, ohne dass die Budgets für den Test stark steigen.

Da der Aufwand für umfassende Tests auf den hier beschriebenen Systemen deutlich unter den Kosten eines Rückrufes oder eines Produktionsstopps liegen, sind auch aus ökonomischer Sicht die Tests den Risiken von schwerwiegenden Softwarefehlern eindeutig vorzuziehen.

Autor

Dr.-Ing. Kristian Trenkel

iSyst Intelligente Systeme GmbH

www.isyst.de/



Weitere News zum Thema:

Aktuelle Termine

SINDEX 2020
- abgesagt -
zur Terminübersicht...
Messtec & Sensor Masters 2020
verschoben auf 22./23. Sept. 2020
zur Terminübersicht...
EMV-Fachtagung
30. Sep. bis 01. Okt.
zur Terminübersicht...

Banner-Werbung

Social Media

twitter_follow_420x50px