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: Automatisierter Selbsttest für Hardware-in-the-Loop-Testsysteme

HIL-Testsysteme (Hardware-in-the-Loop) zur Prüfung von sicherheitskritischen Systemen müssen eine Reihe von Anforderungen hinsichtlich der Funktionalität und Zuverlässigkeit erfüllen. Grundlage dafür ist im Automotivebereich der Standard ISO 26262. Durch einen Selbsttest des Testsystems lässt sich gewährleisten, dass diese Anforderungen nicht nur zum Zeitpunkt der Inbetriebnahme, sondern dauerhaft erfüllt werden.

Automobile enthalten immer mehr sicherheitskritische Systeme und Funktionen. Bei der Entwicklung, Fahrzeugintegration und dem Test der Systeme sind die Vorgaben der ISO 26262 (ISO, ISO26262:2018 Road vehicles - Functional safety, 2018) zu beachten. Die Norm beschreibt auch Anforderungen an den Entwicklungsprozess und dessen Tools, sowie an den Test einschließlich der Testsysteme und Test-Tools.

Für Test-Tools existieren detaillierte Anforderungen, welche im Rahmen einer Toolqualifizierung zu bewerten sind. Im Gegensatz hierzu führt die Norm im Bereich der Testsysteme (im Sinne von Hardware-Systemen), wie zum Beispiel einem HIL-System, nur sehr wenige Angaben auf.

Üblicherweise werden HIL-Testsysteme zur Auslieferung im Rahmen sog. Inbetriebnahmetests funktionsgetestet. Während der Betriebslebensphase werden Wiederholungstests bzw. Wartungen, die die Funktionstüchtigkeit nachweislich dokumentieren können, nur selten und unregelmäßig durchgeführt. Die gängigen, manuell ausgeführten, Tests sind sehr zeitintensiv und während der Zeit der Wartung steht das Testsystem für den Testbetrieb nicht zur Verfügung.

Das HIL-Testsystem muss aber ein zuverlässiges Messmittel und Signalquelle sein. Zur ressourcenschonenden Validierung des Testsystems bedarf es kurzer Wartungsintervalle und kurzer Ausführungszeiten. Daher ist der automatisierte Selbsttest eine sinnvolle und notwendige Funktionserweiterung zu HIL-Testsystemen.

Stand der Technik

Als Testumgebungen werden in verschiedenen Bereichen entwicklungsbegleitend HIL-Testsysteme eingesetzt. Das zu testende eingebettete System (Device under Test – DUT) wird dabei aus dessen realer Umgebung herausgelöst und an eine simulierte Umgebung angeschlossen. Die Simulation der realen Umgebung übernimmt dabei das HIL-Testsystem. In Abbildung 1 ist der prinzipielle Aufbau eines HIL-Systems, wie es beispielsweise im Automobilbereich oder der Medizintechnik zum Einsatz kommt, dargestellt.

Bilder Automatisierter Selbsttest 1

Bild 1: Aufbau eines HIL-Systems

Kernkomponente eines jeden HIL-Systems stellt das Echtzeitsystem dar. Es dient zur Berechnung des zumeist in MATLAB/Simulink® umgesetzten Modells, das die reale Umgebung des DUTs in Echtzeit simuliert. Die Hardwareschnittstellen des Echtzeitrechners werden vom HIL-System über Komponenten zur Signalanpassung und Fehlerinjektion an das DUT angebunden, so dass hiermit eine Simulation aller vom DUT benötigten Signale realisiert werden kann. Weiterhin ermöglicht das HIL-System die Messung von Ausgängen des DUTs, die beispielsweise an die HIL-interne Lastsimulation angebunden sind, sowie die Nachbildung von Kommunikationsbussen.

Der Echtzeitrechner dient darüber hinaus zur Steuerung und Überwachung von HIL-Komponenten, die wiederum für die Simulation der DUT-Umgebung genutzt werden. Dies betrifft beispielsweise die Versorgung des DUT. Die Signale zum DUT werden des weiteren über Baugruppen zur Fehlerinjektion geführt. Diese schaffen die Möglichkeit zur Simulation von elektrischen Fehlern. Hiermit lassen sich Fehlerreaktionen des DUT prüfen, die in einer realen Umgebung nicht oder nur mit erheblichem Aufwand prüfbar sind.

Gesteuert wird das HIL-System über einen Steuerrechner, der dem Benutzer eine entsprechende Bedienoberfläche zur Verfügung stellt. Weiterhin können auf dem Rechner automatisierte Tests in Form von Testskripten ausgeführt werden. Der Steuerrechner verfügt darüber hinaus über Schnittstellen zu Bussystemen, um Zugriff auf das DUT während der Testdurchführung zu erhalten.

Der interne Aufbau der Fehlerinjektion ist für die Durchführung des Selbsttests von wesentlicher Bedeutung. Abbildung 2 zeigt den internen Aufbau und die schaltbaren Verbindungen für einen Signalpfad innerhalb der Fehlerinjektionseinheit. Direkt am DUT besteht die Möglichkeit, über ein Relais die Verbindung zum restlichen Testsystem zu unterbrechen, womit Leitungsunterbrechungen simuliert werden. Für jeden Pfad existieren darüber hinaus zwei weitere Relais, um den Pfad mit einer der zwei Fehlerleitungen zu verbinden. Durch Verbindung von mindestens zwei Pfaden mit einer Fehlerleitung lassen sich beliebige Kurzschlüsse zwischen zwei oder mehreren Signalen herstellen.

 Bilder Automatisierter Selbsttest 2

Bild 2: Interner Aufbau Fehlerinjektion

Basierend auf dem V-Modell wird der HIL-Test der Teststufe Systemtest mit Fokus Softwaretest zugeordnet. Das Verhalten des DUT und der darauf ausgeführten Software wird im Rahmen des HIL-Tests den zugeordneten Anforderungen gegenübergestellt und hinsichtlich deren Einhaltung geprüft. Je nach DUT kann dies auch sicherheitsrelevante Anforderungen einschließen, die in Hard- oder Software umgesetzt wurden. Aus dem Test von sicherheitskritischen Anforderungen resultiert als Anforderung an das HIL-Testsystem die entsprechende Tauglichkeit. In der ISO 26262 wird beispielsweise für den Automobilbereich jedoch nicht konkret definiert, wie diese Tauglichkeit zu realisieren und nachzuweisen ist. Die ISO 26262 definiert in Teil 8 unter 9.4.3.4 lediglich:

„The test equipment used for verification shall be able to deliver valid and reproducible results and shall be controlled in accordance with the applied quality management system.” (ISO, ISO26262:2018-8 Road vehicles - Functional safety - Part 8: Supporting processes, 2018)

Die praktischen Realisierungen liegen aus diesem Grund nicht selten weit auseinander. Das Spektrum reicht dabei von einer einmaligen Prüfung des Testsystems im Rahmen einer Inbetriebnahme bis hin zu zyklisch vorgeschriebenen Wartungen, die im Extremfall sogar vor jeder Testdurchführung durchgeführt werden.

Problemstellung

Sofern keine aufwendigen zyklischen Prüfungen des Testsystems vorgeschrieben sind, wird dieser Punkt in der Praxis oftmals vernachlässigt. Defekte können trotz hochwertiger Komponenten jedoch nie gänzlich ausgeschlossen werden. Ursachen hierfür können neben Alterung und thermischem Stress auch Fehlbedienungen oder Fehlverhalten des DUTs sein, die zu Überbelastungen des Testsystems führen. Da sich ein potenzielles Problem bzw. ein Defekt am Testsystem auch direkt auf die Testergebnisse des DUT auswirkt, kann dies zu fehlerhaften Testergebnissen und nicht verwertbaren Testberichten führen. In diesem Fall hilft oft nur eine zeitaufwendige Fehleranalyse und -beseitigung am Testsystem, bevor eine Wiederholung des Testlaufs möglich ist. Aufgrund der Dauer eines Testlaufs von oftmals 36 Stunden und mehr folgen hieraus unweigerlich ein erheblicher Zeitverlust und Komplikationen mit und beim Kunden. Mangels Testreport können keine Freigaben erteilt werden, was bei ohnehin engen zeitlichen Vorgaben zu verzögerten Auslieferungen und zur Gefährdung von Meilensteinen oder SOPs (Start of Production) führen kann.

Lösung

Um Probleme am Testsystem möglichst schnell erkennen, identifizieren und beseitigen zu können, wurde eine Möglichkeit zum automatisierten Selbsttest des Systems entwickelt. Hierdurch kann eine regelmäßige und zyklische Prüfung des Testsystems jederzeit mit minimalem Ressourceneinsatz vorgenommen werden. Zur Durchführung des Selbsttests werden die bereits im System integrierten und vorab beschriebenen Komponenten zur Hardwarefehlerinjektion genutzt. Durch entsprechende Verschaltung des zu prüfenden Kanals mittels der beiden Fehlerleitungen kann eine geeignete Gegenstelle angebunden werden, wodurch die dahinter liegende Funktionalität des Testsystems durch Messen oder Stimulieren getestet werden kann. Aufgrund des Hardwarezugriffs in der Fehlerinjektion erfolgt die Funktionsprüfung über sämtliche, sich im Pfad befindlichen, Komponenten hinweg.

Für die Absicherung der verschiedenen Funktionalitäten wurde eine Gegenstelle in Form einer Einsteckkarte entwickelt, die als Referenz dient und im System ebenso an die Fehlerleitungen angebunden ist. Hierüber kann eine Verbindung mit den Signalen des Systems hergestellt werden. Funktional stellt die Referenzkarte hochgenaue Messungen für Spannungen und Ströme sowie eine Möglichkeit zur Widerstandsermittlung und Erfassung von PWM-Signalen zur Verfügung. Es können hiermit analoge, digitale und PWM-Ausgänge des Testsystems geprüft werden, indem die Ausgänge angesteuert und die generierten Signale von der Referenzbaugruppe gemessen werden. Der Vergleich zwischen Vorgabe- und Messwert erlaubt daraufhin die funktionale Bewertung des Kanals.

Bilder Automatisierter Selbsttest 3

 Bild 3: Verschaltung Selbsttest analoger Ausgang

Für Eingänge des Testsystems stellt die Referenzbaugruppe präzise Spannungsreferenzen sowie einen PWM-Generator bereit, womit eine Stimulierung der Eingänge ermöglicht wird und gleichermaßen der Vergleich zwischen Soll- und Istwert durchgeführt werden kann. Darüber hinaus können CAN-Kommunikationsbusse funktional geprüft werden. Eine entsprechende Schnittstelle auf der Referenzbaugruppe wird hierfür als Gegenstelle für den Kommunikationspfad des Testsystems genutzt.

Analog zu den Komponenten der Fehlerinjektion ist auch die Referenz am HIL-internen CAN-Bus angebunden. Hierüber lässt sich die Baugruppe in den entsprechenden Mess- bzw. Stimulationsmodus versetzen. Gleichermaßen werden per CAN-Schnittstelle Messdaten der Referenzbaugruppe über das Echtzeitsystem dem Steuerrechner zur Verfügung gestellt, so dass der automatisierte Vergleich zwischen Daten der Referenz und des Testsystems (Soll-/Istwert) erfolgen kann.

Für den automatisierten Test der einzelnen Kanäle des Testsystems stehen generische Testfunktionen zur Verfügung, die in der Skriptsprache Python implementiert wurden, den Testablauf umsetzen und testsystemunabhängig genutzt werden können. Der spezifische Aufbau des Testsystems wird in einer separaten Konfigurationsdatei - ebenfalls in Python – hinterlegt, wodurch alle testbaren Funktionen des Systems beschrieben werden. Diese in der Systembeschreibung definierten Kanäle des Systems werden den Testfunktionen übergeben, womit die Testdurchführung parametrisiert wird. Durch den einfachen und selbsterklärenden Aufbau der Systembeschreibung können vom Systemnutzer jederzeit Veränderungen der Konfiguration beispielsweise nach Anpassungen am Testsystem vorgenommen werden.

Für die Durchführung des Selbsttests müssen neben der Konfigurationsdatei noch Schnittstellen für den Zugriff auf die Funktionen des Testsystems im Echtzeitumgebungsmodell zur Verfügung gestellt werden. Für MATLAB/Simulink® handelt es sich um vom Kanaltyp abhängige Blocksets, die sich darüber hinaus in andere Simulationsumgebungen portieren und sich auch in bereits vorhandene Umgebungsmodelle einfach integrieren lassen. Das Modell kann demnach um die Selbsttestfunktionalität erweitert werden, so dass im normalen Testsystembetrieb sowie für die Selbsttestdurchführung der Einsatz desselben Modells möglich ist.

Zusammenfassung und Ausblick

iSyst HIL-Testsysteme sind für den Test von sicherheitskritischen Funktionen konzipiert und erfolgreich bei ASIL D eingestuften Projekten im Einsatz. Wer testet das Testsystem? Wir haben mit der Entwicklung des automatisierten Selbsttests für HIL-Testsysteme eine effiziente Möglichkeit geschaffen, um Probleme oder Defekte am System schnell und ressourcenschonend identifizieren, zu lokalisieren und im Nachgang beseitigen zu können. Eingesetzt werden kann nur ein validiertes Testsystem.

Der Selbsttest ermöglicht dabei einen Funktionstest von analogen, digitalen und PWM-Kanälen, unabhängig von deren Nutzung als Ein- oder Ausgang. Darüber hinaus lassen sich Widerstandswerte ermitteln und CAN-Kommunikationsbusse funktional prüfen. Geprüft wird der Bereich zwischen Echtzeitsystem und DUT, so dass neben aktiven und passiven Bauteilen sowie kompletten Baugruppen zur Signalkonditionierung und Fehlerinjektion auch Kabel und Leitungen an Steckern mit Löt-, Quetsch- und Schraubverbindungen durch den Selbsttest abgedeckt werden.

Für die Durchführung des Selbsttests werden die Möglichkeiten zur Hardwarefehlerinjektion genutzt, die hardwareseitig entweder um eine Referenzbaugruppe ergänzt werden oder bei Bedarf auch komplett nachgerüstet werden können. Für die softwareseitige Erweiterung werden entsprechende Blocksets in MATLAB/Simulink® zur Verfügung gestellt, die in jedes bereits existierende Umgebungsmodell integriert werden können. Die automatisierte Durchführung des Selbsttests basiert auf generischen Testfunktionen, die im Rahmen der Testumgebung bereitgestellt und über eine testsystemabhängige Konfigurationsdatei parametrisiert werden. Es resultiert ein Testbericht, der die korrekte Funktionsfähigkeit des Testsystems aufzeigt und im Fehlerfall Funktionsausfälle lokalisiert. So kann eine schnelle Fehlerbeseitigung ohne aufwendige Analysen erfolgen, wodurch Verzögerungen des Projektfortschritts vermieden werden können.

Für analoge Schnittstellen wird im Fall des Selbsttests geprüft, ob sich ein Vorgabe- bzw. Messwert innerhalb eines definierten Toleranzbereichs um den Sollwert befindet. Es werden jedoch keine Anpassungen der softwareseitigen Korrekturparameter vorgenommen, um die Genauigkeit der Kanäle zu maximieren. Durch die hochgenauen Messungen und Stimulationen der Referenzbaugruppe sind hierfür jedoch die hardwareseitigen Voraussetzungen bereits vorhanden. Die Erweiterung der Funktionen des Selbsttests um einen Algorithmus zu Kalibrierung und Abgleich der betroffenen Kanäle liegt demnach nahe. In diesem Fall lassen sich die Korrekturparameter automatisiert ermitteln, so dass Alterungseffekte oder andere Einflussfaktoren auf das System kompensiert werden können.

Der iSyst Selbsttest findet auf Knopfdruck zuverlässig und schnell Fehler am Testsystem. Durch die einfache Integration kann nahezu jedes Testsystem erweitert werden.

Autoren:
Mario Schmidt, iSyst Intelligente Systeme GmbH
Christopher Haas, iSyst Intelligente Systeme GmbH

www.isyst.de/



Weitere News zum Thema:

Aktuelle Termine

embedded world 2024
09. bis 11. April
zur Terminübersicht...
Control 2024
23. bis 26. April
zur Terminübersicht...
Automotive Testing Expo Europe
04. bis 06. Juni
zur Terminübersicht...

  Weitere Veranstaltungen...
  Messe-/Kongresstermine
  Seminare/Roadshows

 


Banner-Werbung