-
Die
Erfindung betrifft ein Verfahren zum Durchführen eines Tests eines in einem
Fahrzeug befindlichen Steuergeräts,
eine Einrichtung zum Durchführen
eines Tests eines in einem Fahrzeug befindlichen Steuergeräts sowie
ein Computerprogramm und ein Computerprogrammprodukt.
-
Stand der Technik
-
In
den letzten Jahren hat die Komplexität der Software von Motorsteuergeräten stetig
zugenommen. Um eine qualitativ hochwertige Software entwickeln zu
können,
steigert sich ebenfalls der Testaufwand für einzelne Softwarekomponenten.
Dies bedeutet, dass bei gleichbleibenden Prozessen der Entwicklungsaufwand von
einer Steuergerätegeneration
zur nächsten
Steuergerätegeneration
zunimmt. Daher ist es notwendig, neue Strategien und Werkzeuge zu
Effizienzsteigerung derartiger Tests zu entwickeln, um einerseits
die Qualität
der Software weiter zu steigern und andererseits den Entwicklungsaufwand
zu minimieren.
-
Bislang
werden alle für
den Überwachungsfunktionstest
im Fahrzeug notwendigen Tätigkeiten
manuell durchgeführt,
so werden bspw. Kurzschlüsse
erzeugt, Pedale betätigt,
Messergebnisse evaluiert, usw..
-
Derartige
Testdurchführungen
und Auswertungen sind in der Regel sehr zeitaufwendig. Die notwendige
Beeinflussung von Sensoren und Aktoren, die mit dem Steuergerät wechselwirken,
erfolgt durch eine Testperson manuell, so dass eine schlechte Reproduzierbarkeit
gegeben ist. Außerdem
müssen
Messungen zumeist nach Ende des Tests manuell ausgewertet werden.
Ein Überwachungsfunktionstest-Protokoll
wird ebenfalls manuell ausgefüllt,
wobei typischerweise eine Checkliste abgehakt wird.
-
Aufgrund
des steigenden Aufwands bei zunehmender Anzahl von Überwachungsfunktionstests
und durchzuführenden
Testfällen
wurde der sog. "Black
Box Überwachungsfunktionstest" eingeführt, der
jedoch aufgrund einer geringen Testtiefe vergleichsweise oberflächlich ist.
-
Die
Druckschrift
DE 103
03 489 A1 beschreibt ein Verfahren zum Testen von Software
einer Steuereinheit eines Fahrzeugs. Bei diesem Verfahren ist vorgesehen,
dass die Steuereinheit in einem Steuergerät angeordnet ist, das mit einem
Testsystem über
Datenaustausch wechselwirkt. Hierbei werden diejenigen, die über eine
Schnittstelle direkt von dem Testsystem zu dem Steuergerät übertragen
werden, verwendet. Dabei wird durch das Testsystem eine von der
Steuereinheit steuerbare Regelstrecke wenigstens teilweise simuliert. Das
Testsystem umfasst einen Simulationsrechner mit einem Simulationsmittel,
das Modelle zur Simulation des Fahrzeugs und/oder des Fahrers und/oder
der Umwelt umfasst, wodurch die jeweiligen Einflüsse dieser Grössen auf
die Steuereinheit allein rechnergestützt, ohne dass mechanische
Einrichtungen erforderlich sind, beeinflusst werden können.
-
Offenbarung der Erfindung
-
Bei
dem erfindungsgemäßen Verfahren
zum Durchführen
eines Tests eines in einem Fahrzeug befindlichen Steuergeräts wird
mindestens eine Betriebssituation, die sich während eines Betriebs des Fahrzeugs ergeben
kann, automatisch simuliert.
-
Somit
ist ein Test des Steuergeräts
und insbesondere einer Softwaretest für dieses Steuergerät bei Verwendung
im Fahrzeug und somit unter realen Bedingungen möglich. Als die mindestens eine
Betriebssituation wird bspw. ein Fahrerkommando und somit eine Eingabe
eines Fahrers des Fahrzeugs automatisch simuliert. Hierzu kann eine
Betätigung
eines Pedals, also Bremsen, Gasgeben oder Treten des Kuppeln, durch ein
hierfür
vorgesehenes Hardwaremodul normiert und reproduzierbar erfolgen.
Des weiteren kann als die mindestens eine Betriebssituation ein
Fehler des Fahrzeugs automatisch simuliert werden. Als denkbare
Betriebssituationen sind somit sämtliche
Umwelteinflüsse
auf das Fahrzeug sowie das Steuergerät automatisch und wiederholbar
zu simulieren.
-
In
Ausgestaltung wird der Test in mindestens einer Testumgebung und/oder
unter mindestens einer Testbedingung durchgeführt. Somit kann der Test innerhalb
einer aus mehreren Abschnitten bestehenden Testreihe unter Laborbedingungen
und/oder während
einer Fahrt des Fahrzeugs durchgeführt wird. Folglich ist es möglich, das
Steuergerät
unter Berücksichtigung
verschiedenartiger Bedingungen vielseitig zu testen.
-
Ergänzend wird
typischerweise mindestens ein Schritt des Tests automatisch durchgeführt, so
dass eine zuverlässige
Kontrolle des Tests zu realisieren ist. Hierbei in Frage kommende
Schritte sind eine automatisierte Messung, eine automatische Auswertung
sowie Protokollierung des Tests. Ein Ablauf des Tests wird üblicherweise
auch automatisch evaluiert, d.h. analysiert, beschrieben und/oder
bewertet, sowie abgearbeitet. Zudem können Testeingaben automatisiert
werden.
-
Die
erfindungsgemäße Einrichtung
ist zum Durchführen
eines Tests eines in einem Fahrzeug befindlichen Steuergeräts ausgebildet
und weist mindestens ein Modul auf, das dazu ausgebildet ist, mindestens eine
Betriebssituation, die sich während
eines Betriebs des Fahrzeugs ergeben kann, automatisch zu simulieren.
-
Hierbei
ist in Ausgestaltung das mindestens eine Modul als Hardwaremodul
ausgebildet, dabei handelt es sich in der Regel um eine roboterartig
ausgebildete elektromechanische Beaufschlagungsvorrichtung, die zur
automatischen Betätigung
von Komponenten, bspw. eines Hebels, Pedals, Knopfs usw., des Fahrzeugs während des
Test ausgebildet ist. Dabei erzeugt dieses Hardwaremodul Fahrerkommandos
bzw. Eingaben des Fahrers. Des weiteren können durch Hardwaremodule auch
sonstige Umwelteinflüsse,
bspw. Wetterbedingungen, oder Straßenverhältnisse, automatisch simuliert
werden. Derartige Hardwaremodule sind bspw. als Pedalsimulationsmodul,
Relaismodul, Startermodul usw. ausgebildet. Das mindestens eine
Modul kann auch als Softwaremodul ausgebildet sein und in dieser
Eigenschaft das Verfahren und somit den Test rechnergestützt durchführen.
-
Die
Erfindung betrifft zudem ein Computerprogramm mit Programmcodemitteln,
um alle Schritte eines erfindungsgemäßen Verfahrens durchzuführen, wenn
das Computerprogramm auf einem Computer oder einer entsprechenden
Recheneinheit, insbesondere in einer erfindungsgemäßen Einrichtung,
ausgeführt
wird.
-
Die
Erfindung betrifft des weiteren ein Computerprogrammprodukt mit
Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert
sind, um alle Schritte eines erfindungsgemäßen Verfahrens durchzuführen, wenn
das Computerprogramm auf einem Computer oder einer entsprechenden
Recheneinheit, insbesondere in einer erfindungsgemäßen Einrichtung,
ausgeführt
wird.
-
Mit
der Erfindung wird insbesondere das Testsystem Automatic Test Control
(A.T.C., automatische Testkontrolle) vorgestellt, mit dessen Hilfe
Tests der Software von Motorsteuergeräten am und/oder im Fahrzeug
oder unter Laborbedingungen automatisiert werden können.
-
Da
bei der Softwareentwicklung das Testen ungefähr 40–50% des Gesamtaufwands verursacht,
bietet die mit der Erfindung bereitgestellte Möglichkeit zur Testautomatisierung
große
Einsparpotentiale. Zudem ist ein höherer Grad an Reproduzierbarkeit
und ein exakt definierter Testablauf zu erreichen, was manuell nicht möglich wäre.
-
Gerade
bei Software-Tests im Fahrzeug bietet sich eine Automatisierung
an, da oftmals die gleichen Testabläufe durchgeführt werden
müssen,
bspw. für Überwachungsfunktionstests,
Input/Output-Tests, Dauerlauftests, oder CAN- bzw. Controller-Area-Network-Tests.
Mit der A.T.C. wurden am Beispiel eines Überwachungsfunktionstests erste
Erfahrungswerte gesammelt.
-
Laut
der Verfahrensanweisung Nr. Y 400 899 025 wird mit dem Überwachungsfunktionstest überprüft, ob die
im Steuergerät
zum Schutz von Personen realisierten Funktionen und Maßnahmen
in erwartetem Umfang wirken. Der Überwachungsfunktionstest umfasst
am Beispiel eines realisierten Projekts insgesamt 71 standardisierte
Testfälle.
-
Da
der Test per Definition im Fahrzeug durchgeführt werden muss, bietet er
sich für
eine erste Evaluierung von Überwachungsfunktionstests
die A.T.C. an.
-
Mit
der vorliegenden Erfindung und insbesondere der Automatic Test Control
(A.T.C.) wird eine Komplettlösung
aus Hard- und Software bereitgestellt, um Testabläufe automatisiert
abzuarbeiten und evaluieren zu können.
Das erfindungsgemäße Verfahren
ist projekt- und steuergeräteunabhängig und
kann in verschiedenen Testumgebungen, bspw. im Labor oder im Fahrzeug,
unter Anwendung von Testfällen
eingesetzt werden.
-
Das
erfindungsgemäße Verfahren
und/oder die erfindungsgemäße Einrichtung
und somit das Testsystem simulieren dabei nicht die Umgebung des
Steuergeräts,
die in der Regel aus Sensoren und Aktoren besteht, die mit dem Steuergerät Wechselwirken,
sondern Eingaben des Fahrers und im Fahrzeug möglicherweise auftretende Fehler.
-
Daher
ist es möglich,
die Steuergerätesoftware
unter möglichst
realitätsnahen
Bedingungen und demnach im realen Fahrzeug auf ein korrektes Verhalten
im Fehlerfall zu überprüfen. Bei
Durchführung
des Verfahrens werden in der Regel als Testeingabe Fahrerkommandos
wie Gasgeben, Bremsen oder Starten automatisiert sowie Kurz- und
Nebenschlüsse
am Kabelbaum des Steuergeräts
erzeugt.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
eine erste Ausführungsform
einer Anordnung, die zur Realisierung einer ersten Variante des
erfindungsgemäßen Verfahrens
geeignet ist.
-
2 zeigt
in schematischer Darstellung eine zweite Ausführungsform einer Anordnung,
die zur Realisierung einer zweiten Variante des erfindungsgemäßen Verfahrens
geeignet ist.
-
Ausführungsformen der Erfindung
-
1 zeigt
eine erste Ausführungsform
einer Anordnung 2, die zur Realisierung einer ersten Variante des
erfindungsgemäßen Verfahrens
geeignet ist. Diese Anordnung 2 umfasst einen Computer 4,
auf dem die zur Durchführung
des Verfahrens geeignete Software abgespeichert und auszuführen ist.
Eine Einrichtung 6 zur Durchführung des Verfahrens weist
in dieser Ausführungsform
ein als Daten-Bus 8 ausgebildetes erstes Hardwaremodul
sowie ein zweites Hardwaremodul, das hier als Empfangseinheit 10 bzw.
eine sog. Aufbrechbox ausgebildet ist, auf. Das weiteren umfasst
die Anordnung 2 ein paralleles Schnittstellenmodul 12,
ein Fahrzeug 14, wobei es sich auch um ein Testfahrzeug
bzw. sog. Labcar handeln kann, sowie das zu testende Steuergerät 16 für das Fahrzeug 14.
Das Steuergerät 16 ist
in dem Fahrzeug 14 angeordnet und zur Durchführung oder
Unterstützung
von Funktionen des Fahrzeugs 14 vorgesehen.
-
Die
Aufbrechbox 10 der Einrichtung 6 ist über einen
Standard-Kabelbaum 18 mit dem Fahrzeug 14 verbunden,
die Empfangseinheit 8 ist über einen zweiten Kabelbaum 20 mit
dem Steuergerät 16 verbunden. Demnach
ist die Einrichtung 6 zwischen dem Fahrzeug 14 und
dem Steuergerät 16 geschaltet.
Lediglich eine Kommunikationsleitung 22 (RS232 Interface)
und ein CAN-Interface 24 werden zur Steuerung der Einrichtung 6 vom
Computer 4 aus benötigt.
Denkbar wäre
auch eine Kombination der automatischen Testkontrolle (A.T.C.) und
der Aufbrechbox 10 zu einem einheitlichen Modul.
-
Die
Eingabe von Testfällen
erfolgt typischerweise über
die Metasprache von TAXI. Hierbei kann der Nutzer Testschritte im
Volltext in eine Excel-Tabelle eingetragen. Bereits bestehende Testfälle können für die A.T.C.
verwendet werden. Während
des Tests werden die Testschritte von der A.T.C. abgearbeitet. Die
Auswertung erfolgt, indem aktuelle Werte aus dem Steuergerät 16 mit
der Software INCA ausgelesen und mit Sollwerten verglichen werden.
Das Ergebnis der Auswertung wird von der A.T.C. protokolliert und
bspw. im HTML-Format tabellarisch gespeichert. Zusätzlich kann
eine automatische Messung mit allen relevanten Meßkanälen via
INCA aufgezeichnet werden. Dies dient neben dem Testprotokoll als
Nachweis eines gültigen
Testablaufs.
-
Während eines
Testablaufs sind die einzelnen Testschritte mit Hilfe eines TAXI-Excel
Sheets als Benutzeroberfläche
verfolgbar. Diese weist ein Statusfenster von der A.T.C. auf, das
weitere nützliche
Informationen zu auftretenden Fehlern, dem Teststatus usw. liefert.
-
Die
bei Durchführung
des Verfahrens verwendete Software ist als Windows-Anwendung realisiert
und auf beliebigen Windows-PCs und Laptops ausführbar. Alle für den Testablauf
notwendigen Einstellungen können über ein
graphisches Benutzerinterface eingegeben werden.
-
Die
Eingabe der Testfälle
erfolgt mit einem für
TAXI eingeführten
Excel-Template. Dadurch ist es möglich,
bereits bestehende TAXI-Testfälle
auch mit der A.T.C. ablaufen zu lassen. Zudem wird durch die Verwendung
von dieser bereits weit verbreiteten und leicht zu bedienenden Eingabeform
der Einschulungsaufwand minimiert. Die Software nutzt zur Auswertung
INCA als Schnittstelle zum Steuergerät 16. Damit wird ein
weitgehend standardisiertes Werkzeug verwendet.
-
Neben
der Messdatei von INCA wird zur Testauswertung ein HTML-Protokoll
erstellt. Daher ist es nicht mehr notwendig, den Test nach dessen
Ablauf manuell auszuwerten, da dies von der A.T.C. schon während des
Testablaufes automatisch erledigt wird.
-
Zusätzlich wird über eine
CAN-Schnittstelle auf den fahrzeugspezifischen CAN zugegriffen,
um Botschaften, wie bspw. ein redundantes Bremssignal, zu simulieren.
-
2 zeigt
in schematischer Darstellung eine zweite Ausführungsform einer Anordnung 50,
die zur Realisierung einer zweiten Variante des erfindungsgemäßen Verfahrens
zum Testen einer Software eines Steuergeräts 58 geeignet ist.
-
Diese
Anordnung 50 umfasst eine erste Einheit 52, eine
zweite Einheit 54, die in dieser Ausführungsform eine zur Durchführung des
Verfahrens vorgesehene Einrichtung bilden, und ein Fahrzeug 56 mit
einem darin befindlichen Steuergerät 58. Die erste Einheit 52 weist
eine Software 60 mit hier drei Softwaremodulen, nämlich mit
einer A.T.C.-Software zur automatischen Testkontrolle, einem Vector-CAN-Treiber
und einer INCA-Software, sowie eine CAN-Hardware 62 mit
einer Vector CAN CardX auf. Die Software 60 ist auf einem Computer
gespeichert und zur Durchführung
des Verfahrens auf diesem auszuführen.
-
Die
zweite Einheit 54 umfasst acht untereinander wechselwirkende
Hardwaremodule 64, 66, 68, 70, 72, 74, 76, 78,
nämlich
ein Pedalsimulationsmodul 64, ein Empfangmodul 66,
ein CAN-Rx/Tx-Modul 68,
ein Startermodul 70, ein Relaismodul 72 sowie
jeweils optional ein PWM-Modul 74,
ein Eingabemodul 76 zum Empfang digitaler Daten und ein
Ausgabemodul 78 zur Ausgabe analoger Daten oder Signale.
Die Software 60 ist über
eine serielle RS232-Schnittstelle 80 mit
dem Empfangsmodul 66 und somit über dieses Empfangsmodul 66 mit
sämtlichen
Hardwaremodulen 64, 66, 68, 70, 72, 74, 76, 78 der
zweiten Einheit 54 verbunden. Des weiteren ist die CAN-Hardware 62 über eine
CAN(Controller Area Network)-Schnittstelle 82 mit dem CAN-Rx/Tx-Modul 68 verbunden.
Das erste Softwaremodul ist außerdem über eine
MAC-Schnittstelle 84 mit dem Fahrzeug 56 und somit
auch mit dem Steuergerät 58 verbunden.
Zwischen den Hardwaremodulen 64, 66, 68, 70, 72, 74, 76, 78 der
zweiten Einheit 54 und dem Fahrzeug 56 und damit
auch dem Steuergerät 58 ist über einen
Standard-Kabelbaum 86 eine Verbindung bereitgestellt.
-
Die
Hardwaremodule 64, 66, 68, 70, 72, 74, 76, 78 der
Einrichtung werden mit Hilfe des Computers über die serielle RS232-Schnittstelle 80 von
der Software 60 angesteuert. Zusätzlich besteht die Möglichkeit, mit
Hilfe der CAN-Hardware 62, die über die CAN-Schnittstelle 82 und
somit über
einen CAN-Bus die zur Durchführung
des Tests versendeten bzw. empfangenen Botschaften zu manipulieren.
-
Die
aus den beiden Einheiten 52, 54 bestehende Einrichtung
ist als modulares System aufgebaut. Im wesentlichen besteht dieses
System aus der Empfangseinheit 66, die die während des
Tests vom Computer versendeten Daten auswertet, und der hier als
Daten-Bus dienenden RS232-Schnittstelle 80, die während des Tests
einzelne Test- und somit Hardwaremodule 64, 66, 68, 70, 72, 74, 76, 78 ansteuert.
-
Das
erste realisierte Hardwaremodul ist das Pedalsimulationsmodul 64.
Mit diesem ist vorgesehen, dass durch ein Potentiometer, das von
einem Servomotor angesteuert wird, ein Pedalsignal zur Betätigung eines
Brems-, Gas- oder Kupplungspedals simuliert werden kann, so dass
verschiedene Drehzahlbereiche vollautomatisch erreicht werden können. Das
Relaismodul 72 ist zum Testen von Relais geeignet. Mit
Hilfe von Relais werden Lastabfälle
bzw. Kurzschlüsse
simuliert. Die maximale Anzahl an Relais ist derzeit auf 1024 Stück beschränkt. Wobei
ca. 300–500
Relais ausreichen, um alle softwarerelevanten Pins des Steuergeräts 58 zu
manipulieren.
-
Bei
dem Startermodul 70 handelt es sich um eine Logik, mit
der das Fahrzeug 56 mit Startbuttons bzw. -knöpfen vollautomatisch
gestartet werden kann. Außerdem
können
unter relativ geringem Aufwand weitere Hardwaremodule bspw. ein
CAN Modul, das PWM-Modul 74, das Ausgabemodul 78 für Analogsignal
usw. realisiert werden.
-
Um
einen sicheren Betrieb der automatischen Testkontrolle (A.T.C.)
gewährleisten
zu können,
ist vorgesehen, in einer Anweisung zur Durchführung des Verfahrens geeignete
Maßnahmen
zu definieren. Denkbar ist bspw. eine Absicherung gegen eine Bewegung
des Fahrzeugs 56 durch mechanische Sperren, indem die Abschleppstange
an einer Betonwand befestigt oder der Ganghebel verriegelt wird.
Des weiteren ist eine Absicherung durch einen Betrieb am Rollenprüfstand bei
Durchführung
des Verfahrens unter Laborbedingungen möglich. Zudem ist eine Sicherstellung
durch eine Verfahrensanweisung, wonach eine Testperson das Fahrzeug 56 während des
Tests nicht verlassen darf, geeignet.
-
Das
Verfahren kann nicht nur zur Durchführung eines Überwachungsfunktionstests
verwendet werden, sondern eignet sich auch für beliebige andere Standtests
im Fahrzeug 56, bspw. CAN-Tests, I/O-Tests, Abwürgetests,
Test of known bugs, Regression Tests, usw.. Durch den modularen
Software- und Hardwareaufbau sind auch Erweiterungen an zukünftige Anforderungen
leicht realisierbar, wie zum Beispiel die Ausgabe von beliebigen
Analog- oder Digitalsignalen, um weitere Eingaben des Fahrers zu
simulieren. Bei Betrieb auf einem Rollenprüfstand sind auch Tests im Fahrbetrieb
des Fahrzeugs 56 denkbar.
-
Das
Verfahren sowie die Einrichtung sind nicht projektspezifisch ausgelegt,
so dass ein Einsatz in unterschiedlichen Bereichen möglich ist.
Voraussetzung hierfür
ist lediglich eine INCA-Schnittstelle
von der Software 60 zu dem Steuergerät 58. Auch eine Anbindung
an das Fahrzeug 56 bzw. ein Labcar ist möglich, so dass
Fahrerkommandos an das Fahrzeug 56 zu übermitteln und somit zu realisieren
sind. Hierzu wird nur ein geringer Konfigurationsaufwand an dem
Fahrzeug 56 benötigt.
Damit sind auch während
Fahrzyklen Tests zu simulieren.
-
Bedingung
hierfür
ist lediglich die durch den Standard-Kabelbaum 86 bereitgestellte
standardisierte Schnittstelle zwischen dem Fahrzeug 56 und
der zweiten Einheit 54 der Einrichtung sowie eines closed-loop Betriebs
des Fahrzeugs 56.
-
Der Überwachungsfunktionstest
im Fahrzeug
56 wurde mehrfach erfolgreich durchgeführt. Dabei zeichnete
sich eine rund 80-prozentige Verkürzung des Testablaufes im Vergleich
zum manuellen Testen ab. Der durchschnittliche Aufwand für einen
manuellen Überwachungsfunktionstest
beträgt
derzeit in Mannstunden (Mh):
| Steuergerät 58 am
Testplatz vorbereiten | 0,5
Mh |
| Testaufbau
im Fahrzeug 56 | 1,5
Mh |
| Durchführen der Überwachungsfunktionstest-Tests
bei 71 Testfällen |
| im
Stand: 61 Testfälle | 15
Mh |
| im
Fahrbetrieb: 10 Testfälle | 1
Mh |
| Auswertung
der Messungen | 4
Mh |
| (Häkchenliste,
INCA DAT-file analysieren) | |
| Fertigstellen
des Überwachungsfunktionstest-Protokolls | 1
Mh |
| Summe: | 23
Mh |
-
Der
durchschnittliche Aufwand eines mittels der Erfindung durchgeführten Überwachungsfunktionstest
beträgt
dagegen:
| Steuergerät 58 am
Testplatz vorbereiten | 0,5
Mh |
| Testaufbau
im Fahrzeug 56 | 1,5
Mh |
| Durchführen der Überwachungsfunktionstest-Testfälle bei
71 Testfällen |
| im
Stand: 61 Testfälle
(automatisch) | 1
Mh |
| im
Fahrbetrieb: 10 Testfälle
(manuell) | 1
Mh |
| Auswertung
des autom. Protokolls | 1
Mh |
| Summe: | 5
Mh |
-
Die
für den Überwachungsfunktionstest
pro Projekt einmal notwendige Erstellung der TAXI-Testfälle hat
ca. eine Mannwoche in Anspruch genommen. In Zukunft kann dieser
Initialaufwand weiter verkürzt
werden. Es ist dann lediglich notwendig, die Testfälle an das
entsprechende Fahrzeug 56 unter Berücksichtigung von unterschiedlichem
Startverhalten, anderen Fahrpedal-Kennlinien usw. sowie von kundenspezifischen
Softwarefunktionen anzupassen.