© Claas, Vector Informatik ENT WICKLUNG DIAGNO SE AUTOREN Datengetriebene automatisierte Diagnose-Applikations-Validierung Seit vielen Jahren wird die Diagnoseprotokoll-Implementierung eines Steuergeräts über automatisch generierte Tests validiert. Diese basieren auf Diagnosebeschreibungs-Dateien des Fahr- Dipl.-Ing. (FH) Nils Niedermark ist als Entwicklungsingenieur im Bereich Entwicklung Elektronik Integration bei der Claas Selbst fahrende Erntemaschinen GmbH in Harsewinkel. Friedemann Löw, B. Sc. ist in der Produktlinie Kfz-Diagnose bei der Vector Informatik GmbH in Stuttgart als SoftwareEntwickler für CANoe.DiVa tätig. zeugherstellers. Die entsprechende Schnittstelle eines Steuergeräts kann so nachweislich effizient getestet werden und führt zu einer Verbesserung der Produktqualität. Je nach Vollständigkeit der Diagnosebeschreibung ist darüber hinaus auch die automatisierte inhaltliche Validierung von Diagnoseparametern und Fehlercodes möglich, wie die Zusammenarbeit von Claas und Vector Informatik zeigt. 44 Dipl.-Inf. Simon Müller ist Produktmanager in der Produktlinie Kfz-Diagnose bei der Vector Informatik GmbH in Stuttgart. AUFGABENSTELLUNG Der Landmaschinenkonzern Claas beschreibt in seinen Diagnosedaten die Beziehung zwischen Diagnoseparametern und den Steuergeräte Ein- und Ausgängen. Auch die Beschreibung von Fehlersetzkriterien wird für Neuimplementierungen formal dokumentiert. In der Vergangenheit wurden diese Informationen zur Durchführung von manuellen Tests verwendet oder Testingenieure implementierten spezielle Testfälle. Eine breite Testabdeckung konnte jedoch nicht erreicht werden. In Zusammenarbeit mit der Vector Informatik werden diese Verbindungsinformationen automatisiert mit der vorhandenen Netzwerk-(K-Matrix) und Hardwarebeschreibung verknüpft. Basierend auf bereits verfügbaren Spezifikationsdaten wie CDD (CANdela Diagnostic Data) oder ODX (Open Diagnostic Data Exchange) werden vollautomatisiert Diagnoseapplikationstests generiert und in einer Testumgebung ausgeführt. Durch automatisierte Stimulation der Steuergeräteumgebung wird das inhaltlich korrekte Verhalten der Diagnose-Implementierung getestet. Dazu werden zum Beispiel Signale in der Bussimulation modifiziert oder gezielt Hardware-I/Os angesteuert. So ist es möglich, das korrekte Setzen von Diagnoseparametern zu prüfen oder Fehlerzustände zu erzeugen und die richtige Ablage zu testen. AUTOMATISIERTE TESTGENERIERUNG Um eine automatisierte Testgenerierung und Testdurchführung von Applikationstests zu erreichen, müssen Diagnoseparameter und Steuergeräte-I/Os in Verbindung gebracht werden. Als Quelle dafür dienen neben den Diagnosedaten (ODX, CDD) auch Spezifikationsdaten mit nur mittelbarem Diagnosebezug. Das sind beispielsweise Netzwerkbeschreibungen (dbc, arxml) oder Umgebungskonfigurationen wie die Interface-Beschreibung einer HiL-Konfiguration. Mit diesen Systeminformationen können in einer Testumgebung die Ein- und Ausgänge des Steuergeräts stimuliert und gemessen werden. Üblicherweise sind die Abhängigkeiten zwischen Diagnose und Steuergeräteumgebung heute in den Diagnosedaten nicht formal sondern - falls überhaupt 06I2015 10. Jahrgang vorhanden - nur natürlichsprachlich beschrieben. Dadurch ist die automatisierte Weiterverarbeitung im Allgemeinen nicht möglich. Heuristiken können hier Abhilfe schaffen und zumindest eine teilweise Nutzung zur Testautomatisierung ermöglichen. Liegen zusätzlich Fahrzeughersteller-spezifische Detailkenntnisse über Art und Umfang der Steuergeräte-I/O-Beschreibung vor, so lassen sich daraus Tests der Diagnoseapplikation ableiteten. Insbesondere sind dadurch automatisierte Diagnoseparameter- und Fehlerspeichertests möglich. FEHLERSPEICHERTESTS Den Diagnosedaten entnimmt man die Struktur und die formalen Inhalte der Fehlerspeicherdaten: beispielsweise den Aufbau der Fehlerumgebungsdaten aus DIDs (Data Identifiers) oder die Setzbedingungen für DTCs (Diagnostic Trouble Codes). Letztere liegen jedoch meist in einer nicht-formalen Beschreibung vor. Wenn es gelingt, die Diagnosebeschreibung in Beziehung zur Steuergeräteperipherie zu bringen, kann geprüft werden, ob ein DTC unter den richtigen Bedingungen korrekt im Fehlerspeicher abgelegt wird. Darüber hinaus können die DTC-Statusübergänge und das korrekte Löschen von DTCs validiert werden. Für jeden DTC muss dafür die jeweilige Setzbedingung bekannt sein. Diese besteht mindestens aus: – I/O-Typ (Ein- oder Ausgang, Netzwerk oder Sensor/Aktor) – I/O-Bezeichnung (Botschaftsname, Kanalname) – Fehlerbild (zum Beispiel Kurzschluss nach Masse). Das Fehlerbild kann oft direkt aus dem standardisierten Failure Type Byte (FTB) des DTCs abgeleitet werden (SAE J2012). Je nach Fehlerbild werden zusätzlich Schwellwerte, Setzzeiten und Informationen zur Fehlerüberwachung benötigt (Monitor). DIAGNOSEPARAMETERTESTS Analog zu den Fehlerspeichertests wird auch für Tests der Diagnoseparameter die Beziehung zwischen Diagnoseparametern und den Steuergeräte-Pins benötigt. Das Validieren eines Diagnosewertes kann durch Vergleich mit – einem Messwert eines Steuergeräte-Pins – einem Bus-Signal – einem CCP/XCP-Signal. erfolgen. Neben I/O-Typ und Bezeichner sind auch Umrechnungen, wie zum Beispiel Widerstand am Sensor in Temperatur im Diagnoseparameter nötig, um vergleichen zu können. Auch die Aktualisierungsfrequenz am Diagnoseparameter oder am Steuergeräteausgang ist zu berücksichtigen. Weiterhin sind Testwerte für die I/O-Stimulation nötig, da diese selten in der Diagnosebeschreibung dokumentiert sind und geeignete Werte sich in der Regel nicht aus den Spezifikationsdaten ableiteten lassen. Sowohl für Fehlerspeicher- als auch für Parametertests kann es Vorbedingungen geben, damit eine zu testende Funktion verfügbar ist. So muss beispielsweise für das Schleifen der Messer eines Feldhäckslers der Hauptantrieb eingeschaltet sein. Diese Abhängigkeiten müssen bei der Testausführung bekannt sein und berücksichtigt werden. ZIEL UND UMSETZUNG BEI CLA AS Bei Claas sind viele der für Applikationstests erforderlichen Daten formal beschrieben. Ziel ist es daher auf Basis dieser Informationen die Testerstellung und -ausführung zu automatisieren. Um dies zu erreichen setzt Claas das Tool CANoe.DiVa von Vector Informatik ein. Die in der Diagnosebeschreibung (CDD) und anderen Quellen vorhandenen I/OInformationen werden in CANoe.DiVa importiert um einen Testgenerator zu parametrisieren. Anschließend werden die generierten Applikationstests automatisiert in der bereits für das zu testende Steuergerät vorhandenen CANoeTestumgebung ausgeführt, BILD 1. Alle für die Applikationstests relevanten Daten pflegt Claas in einer Entwicklungsdatenbank. Da sie auch in die Diagnosebeschreibungsdatei importiert werden, reicht diese in der Regel zur Generierung der Parametertests aus. Nur für I/Os, die im Diagnoseparameter andere Einheiten verwenden als am Steuergeräte-Pin, werden für den Test zusätzliche Umrechnungsinformationen benötigt. Diese werden in Form eines CANoe Mappings beigesteuert, welches Signalwerte über eine Umrechnungsvorschrift auf CANoeSystemvariablen abbildet. Mit diesen Daten lassen sich drei verschiedene Parametertests automatisiert parametrisieren und generieren: 45 ENT WICKLUNG DIAGNO SE Löschens des Fehlerspeichers in verschiedenen Sicherheitslevels rundet die Fehlerspeichertests ab. Zum Messen und Stimulieren von Spannungen und Strömen an den Steuergeräte-Pins ist bei Claas ein HiL-System von Vector Informatik im Einsatz – das VT-System, BILD 2. Um die Daten der Diagnosebeschreibung und der Entwicklungsdatenbank für das automatisierte Ansteuern des VT-Systems verwenden zu können, wurden Namenskonventionen für die VT-System-Konfiguration definiert. CLA AS ERHÖHT DIE TESTABDECKUNG BILD 1 Systemarchitektur: Automatisierte DiagnoseApplikationstests bei Claas (© Vector Informatik) – Eingangstests: Die Testumgebung stimuliert einen Sensor-Pin des Steuergeräts. Der zugehörige Diagnoseparameter wird ausgelesen und mit dem Wert am Pin verglichen. BILD 2 Testaufbau bei Claas zum Messen und Stimulieren von Spannungen an Steuergeräte-Pins mit dem VT-System von Vector (© Claas) 46 – Ausgangstests: Ein Diagnosedienst (I/O Control) schreibt einen neuen Wert in das Steuergerät, der die Ansteuerung eines Aktors bewirkt. Anschließend wird der Wert am Ausgang gemessen und mit dem Wert des geschriebenen Diagnoseparameters verglichen. – Passive Tests: Einige Signale können per Diagnosedienst nicht angesteuert sondern nur ausgelesen werden. Die Ansteuerung erfolgt an der Diagnoseschicht vorbei alleine in der Steuergeräteapplikation. In diesem Fall kann ein Test generiert werden, der den anliegenden Wert per Diagnosedienst liest und mit dem Wert am Steuergeräteeingang oder -ausgang vergleicht. Im Gegensatz zu den Parameterdaten sind die für Fehlerspeichertests benötigten Daten bei Claas nicht vollständig in der Diagnosebeschreibung vorhanden. Sie werden daher aus der Entwicklungsdatenbank als Excel-Datei exportiert und zur Testparametrisierung eingelesen. Im daraus abgeleiteten Test wird ein Steuergeräte-I/O so stimuliert, dass es zu einer Fehlersituation kommt. Anschließend wird die richtige Ablage des DTCs im Fehlerspeicher verifiziert. Durch Beheben der Fehlersituation, Einbau von Wartezeiten und wiederholtes Setzen des Fehlerzustandes können zusätzlich die DTC-Statusübergänge und die zum Fehler abgelegten DTC-Umgebungsdaten verifiziert werden. Das Überprüfen des Diagnosefähige Steuergeräte befinden sich bei Claas nicht nur in Mähdreschern und Traktoren, sondern zum Beispiel auch in Mähwerken und Ballenpressen. In den größten Claas-Maschinen sind dabei je nach Ausstattung bis zu 40 Steuergeräte verbaut. Für alle diese Baureihen müssen Applikationstests durchgeführt werden. So wird sichergestellt, dass die Steuergeräte per Claas Diagnose System (CDS) bedient werden können. Das größte von Claas verbaute Steuergerät besitzt mehr als 75 I/Os, mit denen je nach Maschinenausstattung bis zu 15 verschiedene erlebbare Maschinenfunktionen realisiert sind. Zu diesen I/Os gehören mehr als 200 DTCs, die im Test geprüft werden müssen. Durch den Ausbau der automatisierten Erstellung und Durchführung von Applikationstests reduziert sich der Aufwand zur Verifikation der Steuergeräte erheblich. Die herstellerspezifische Erweiterung des Test-Tools erlaubt bei Claas eine Erhöhung der Testabdeckung durch automatisierte Tests für Fehlerspeicher und Diagnoseparameter von vorher 55 auf nun 95 %. Claas hat sich zum Ziel gesetzt, mittelfristig alle Steuergeräte automatisierten Applikationstests mit CANoe.DiVa zu unterziehen. Der Aufwand für Diagnosetests an Hardware-I/Os ist trotz automatischer Testgenerierung und Testdurchführung hoch. Insbesondere der Aufbau der Testumgebung ist zeitaufwendig. Je nach Steuergerät kann die Ansteuerung einzelner I/Os durchaus komplex sein, sodass ein individueller Zugriff implementiert werden muss. Im Vergleich dazu ist das Validieren von Diagnoseparameter gegen Netzwerksignale nur mit geringem initialen Aufwand verbunden: Die benötigte Infrastruktur kann über das Generieren einer Restbussimulation aus der K-Matrix automatisch erzeugt und vom Test verwendet werden. ZUSAMMENFASSUNG UND AUSBLICK Das automatisierte Generieren und Ausführen von Tests, wie sie bei Claas mit dem Werkzeug CANoe.DiVa von Vector durchgeführt werden, bieten ein großes Potenzial die Testtiefe zu erhöhen und gleichzeitig den Testaufwand zu reduzieren. Für eine vollständige Testabdeckung durch CANoe.DiVa müssen manche Funktionalitäten auch bei Claas zurzeit noch manuell konfiguriert werden, da noch keine formale Beschreibung verfügbar ist, die für eine automatisierte Parametrisierung verwendet werden kann. So gibt es beispielsweise I/Os, deren Ansteuerung für Parametertests sehr komplex ist: Hier sind teilweise Vorbedingungen in der Steuergeräteumgebung notwendig, bevor es möglich ist, einen I/O wie beabsichtigt zu verwenden. Analog dazu gibt es auch für einige Fehlerspeichertests Vorbedingungen, die hergestellt werden müssen, bevor ein Fehlermonitor aktiv ist und folglich ein DTC erkannt und im Fehlerspeicher abgelegt werden kann. Die aktuell umgesetzten Tests lassen sich noch um weitere Details ergänzen: zum Beispiel Prüfen von Selbstheilungsfunktionalität, Priorisieren der Fehlerspeicherablage oder auch das Testen unterschiedlicher Fehlersituationen, die zum selben DTC führen. An dieser Stelle wird sich die Testlösung kontinuierlich weiterentwickeln. Auch in der Automobilindustrie ist ein Trend zum Zusammenführen von Entwicklungsdaten für elektrische und elektronische Architekturen zu beobachten. Datenbanken und Werkzeuge verfügen damit direkt oder indirekt über Informationen, um Elektrik, Elektronik und (Diagnose-) Software im Verbund automatisiert zu testen. Die weitere Formalisierung der Daten ist zunächst mit höherem Aufwand verbunden. Vor allem für automatisierte Tests ergibt sich durch die formale Beschreibung aber ein lohnenswert hohes Optimierungspotenzial. Sowohl die voranschreitende Standardisierung (etwa Autosar) als auch die Integration und Interoperabilität von Entwicklungswerkzeugen werden vielfältige neue Ansätze auf dem Feld der automatisierten Testbarkeit ermöglichen. CANoe.DiVa folgt dieser Entwicklung und wird von diesen neuen Möglichkeiten Gebrauch machen, um weitere automatisierte Tests der Diagnoseapplikation abzuleiten. Die Möglichkeiten für automatisierte, datengetriebene Tests sind noch lange nicht ausgeschöpft. Es bleibt spannend. LITERATURHINWEIS [1] Peti, P.; Timmerberg, A.; Pfeffer, T.; Müller, S.; Rätz, C.: Automatische Validierung der Diagnoseservices. In: ATZelektronik 3 (2008), Nr. 6, S. 58-64 DOWNLOAD DES BEITRAGS www.springerprofessional.de/ATZelektronik READ THE ENGLISH E-MAGAZINE order your test issue now: [email protected]
© Copyright 2025 ExpyDoc