Verbesserte Reparaturverifikation für elektronische
Fahrzeugsysteme
Die Erfindung betrifft ein Diagnosesystem und einen Diagnose¬ tester für die Überprüfung von Kraftfahrzeugsteuergeräten, mit dem nicht nur, wie bisher üblich, das Auffinden von Feh¬ lern möglich ist, sondern mit dem ebenfalls überprüft werden kann, ob eine vorgenommene Reparatur erfolgreich war. Mit dem Diagnosetester wird ebenfalls ein Verfahren zur verbesserten Reparaturverifikation vorgestellt. Diagnosesystem und Diagno¬ setester entsprechen insbesondere den gesetzlichen Bestimmun¬ gen für DiagnoseSysteme in den USA.
Diagnosesysteme und Diagnosetester für Kraftfahrzeugsteuerge¬ räte sind heutzutage in Kraftfahrzeugwerkstätten vorwiegend rechnerbasiert. Federführend bei der Einführung rechnerba¬ sierter Diagnosetester war im Jahre 1994 die Firma BMW mit dem Diagnosesystem BMW-DIS, das den Standard für die heutigen Diagnosesysteme und Diagnosetester in Kraftfahrzeugwerkstät¬ ten setzte. Dieses System ist beispielsweise beschrieben in dem Lehrbuch zur Berufsbildung von Rauner/Schreier/Spöttel: „Die Zukunft computergestützter Kfz-Diagnose", erschienen beim Bertelsmann Verlag in Bielefeld, 2002, ISBN 3-7639-3022- 1. Nachfolgende Diagnosetester haben immer wieder auf die Grundstruktur dieses Diagnosesystems zurückgegriffen. So z. B. auch eine deutsche Patentanmeldung der Firma Bosch, DE 199 21 845 Al, die hier beispielhaft genannt wird, weil sie diese
Grundstruktur besonders prägnant und kurz zusammenfasst. Be¬ schrieben wird eine Diagnosetestvorrichtung für Kraftfahrzeu¬ ge, wobei im Kraftfahrzeug programmierbare Steuergeräte mit Eigendiagnosemittel vorgesehen sind, welche programmgesteuert die Motorsteuerung und andere Systeme des Kraftfahrzeugs steuern, überwachen, Fehlercodes generieren und diese abspei¬ chern, und welche über einen kraftfahrzeugseitigen Diagnose- /Prüfstecker mit einem externen Diagnosetester verbindbar sind. Die Erfindung geht ebenfalls von einer derartigen Grundstruktur für einen Diagnosetester aus.
Die Schnittstelle bzw. der Diagnosestecker zur Verbindung ei¬ nes externen Diagnosetesters mit den kraftfahrzeugseitigen Steuergeräten war in der Vergangenheit und ist es zum Teil noch heute Gegenstand von Normierungsbestrebungen. Insbeson¬ dere in den USA werden diese Normierungsbestrebungen, mit de¬ nen der Zugang und damit die Diagnosefähigkeit der kraftfahr- zeugseitigen Steuergeräte ermöglicht und geregelt wird, noch durch gesetzgebende Maßnahmen begleitet. Ein Standard, der sich herausgebildet hat, ist das sog. Keyword-Protokoll 2000. Die Normierungsgrundlagen für dieses Keyword-Protokoll 2000 finden sich in dem internationalen Standard ISO 14 230-3, was den Application Layer angeht, und in ISO 14 230-2, was den sog. Data Link Layer angeht. Eine ergänzende Norm, auf die das Keyword-Protokoll 2000 aufsetzt, und die zum Bestandteil der vorgenannten Normen geworden ist, ist der Service Vehicle Standard SAE J1979. Für die hier beschriebene Erfindung von Bedeutung sind insbesondere die Möglichkeiten zum Auslesen der Datenspeicher in den Steuergeräten, die das Keyword- Protokoll 2000 für einen Diagnosetester bietet.
Bekannte Diagnosesysteme und Diagnosetester beschränken sich darauf, vorhandene Fehlercodes aus den Steuergeräten im Kraftfahrzeug auszulesen, mit einem Diagnoseprogramm zu ver-
arbeiten und zu interpretieren und das Ergebnis dieser Inter¬ pretation auf einem Bildschirm des Diagnosetesters zur Anzei¬ ge zu bringen. In der Kraftfahrzeugwerkstatt arbeitet dann ein Kraftfahrzeugmechaniker die angezeigte Mängelliste ab, wobei er mit Hilfe des Diagnosetesters zu den einzeln aufge¬ führten Mängel weitere Informationen abrufen kann. Von beson¬ derem Interesse für ihn sind hierbei weitere technische Grundlagen, wie technische Zeichnungen und natürlich die Re¬ paraturanleitungen, mit denen er den festgestellten Fehler beheben kann. Hat der Kraftfahrzeugmechaniker mit seinen Re¬ paraturen die Mängelliste abgearbeitet, löscht er mit Hilfe des Diagnosetesters die abgespeicherten und ausgelesenen Feh¬ lercodes in den kraftfahrzeugseitigen Steuergeräten und im Diagnosetester selbst. Eine Abschlussüberprüfung, ob die vor¬ genommenen Reparaturen erfolgreich waren oder ob sich durch die Reparatur Folgefehler ergeben haben, wird je nach Ar¬ beitsorganisation in der Kraftfahrzeugwerkstatt mit einer ab¬ schließenden Probefahrt vorgenommen. Der Patentanmelderin be¬ kannte Diagnosesysteme und Diagnosetester unterstützen die Qualitätsüberprüfung der vorgenommenen Reparaturen nicht. Sie sind hierzu auch nicht geeignet, da die Mängelliste und die Fehlercodes in den Steuergeräten vom Kraftfahrzeugmechaniker per Löschbefehl gelöscht werden. Damit gehen naturgemäß die Informationen über eine einmal vorgelegene und festgestellte Fehlfunktion verloren. Daher hatte der Kraftfahrzeugmechani¬ ker bisher von einem Diagnosetester keine Unterstützung da¬ hingehend, ob seine Reparatur erfolgreich war oder nicht.
Ausgehend von dem vorher beschriebenen Stand der Technik ist es daher das Bestreben der Erfindung, ein Diagnosesystem und einen Diagnosetester anzugeben, welche und welcher eine ver¬ besserte Reparaturverifikation mit Hilfe des Diagnosetesters ermöglichen. Besonderes Augenmerk liegt hierbei auf dem ge-
setzlichen Verbot einer Einzelfehlerlöschung bei abgasrele¬ vanten Steuergeräten in den USA.
Diese Aufgabe wird gelöst mit einem DiagnoseSystem und einem Diagnosetester entsprechend der unabhängigen Ansprüche. Vor¬ teilhafte Ausführungsformen der Erfindung sind in den abhän¬ gigen Ansprüchen aufgezeigt oder werden in der folgenden Be¬ schreibung verdeutlicht.
Die Lösung gelingt hauptsächlich mit einem rechnerbasierten Diagnosetester, der mit Hilfe eines Diagnoseprogramms über eine Diagnoseschnittstelle sowie über Datenleitungen mit den im Kraftfahrzeug verbauten Steuergeräten Informationen aus¬ tauschen kann. Die kraftfahrzeugseitigen Steuergeräte verfü¬ gen über Programmroutinen zur Eigendiagnose der Steuergeräte und sind in der Lage identifizierte Fehler in Form von Feh¬ lercodes in reservierten Speicherbereichen abzulegen. Das im Diagnosetester implementierte Diagnoseprogramm liest die Feh¬ lercodes aus den reservierten Speicherbereichen aus, inter¬ pretiert die Fehlercodes und bringt sie auf einem Display zu¬ sammen mit den Interpretationen zur Anzeige. Um zu überprüfen inwieweit vorgenommene Reparaturen erfolgreich abgeschlossen wurden, wird mit Hilfe des im Diagnosetester implementierten Diagnoseprogramms ein Status Polling durchgeführt. Bei diesem Status Polling werden zu allen im System bekannten Fehlerco¬ des die Statusinformationen dieser Fehlercodes abgefragt und ausgewertet. Es werden hierbei alle Fehlercodes zur Anzeige gebracht, deren Fehlersetzbedingungen entweder positiv getes¬ tet wurden oder deren PrüfVoraussetzungen nicht vorlagen, um einen Test durchführen zu können. Die zur Anzeige zu bringen¬ den Fehlercodes werden hierbei zunächst in einem oder mehre¬ ren primären ersten Fehlerspeichern gespeichert, und vor dem Löschen der primären Fehlerspeicher in einen sekundären zwei¬ ten Fehlerspeicher kopiert. Dies ermöglicht die Verwendung
des in den USA für Diagnosesysteme vorgeschriebenen Total- Reset der primären Fehlerspeicher, ohne dass die Diagnose re¬ levanten Informationen im zweiten Fehlerspeicher verloren ge¬ hen. Der Inhalt des sekundären Fehlerspeichers ist die Grund¬ lage für die anzuzeigenden Fehlercodes auf dem Display des Diagnosetesters.
Das Status Polling hat hauptsächlich den Vorteil, dass auf dem Diagnosetester nicht nur diejenigen Fehler zur Anzeige gebracht werden, deren Fehlersetzbedingungen in der Vergan¬ genheit einmal positiv erfüllt waren, sondern es werden auch die potentiell möglichen Fehler in Form von Fehlercodes zur Anzeige gebracht, deren Funktionen nicht überprüft werden konnten, weil hierzu die PrüfvorausSetzungen nicht vorgelegen haben. Für die Unterstützung des Werkzeugmechanikers in der Kraftfahrzeugwerkstatt bedeutet das Status Polling, dass auf der Anzeige des Diagnosetesters, so lange eine Mängelliste erscheint, bis alle identifizierten Fehler und auch alle po¬ tentiellen Fehler entsprechend der Prüfvoraussetzungen getes¬ tet worden sind und das Testergebnis keine positive Verlet¬ zung einer Fehlersetzbedingung ergeben hat. Für durchgeführte Reparaturmaßnahmen bedeutet dies, dass die Reparaturmaßnahme erst dann abgeschlossen ist, wenn mit dem Diagnosetester min¬ destens ein Mal die PrüfVoraussetzungen für die durchgeführte Reparaturmaßnahme durchlaufen wurden und dieser Durchlauf er¬ geben hat, dass nun für die überprüfte Maßnahme keine Fehler¬ setzbedingung mehr vorliegt.
In einer vorteilhaften Ausführungsform der Erfindung ist das Löschen von Fehlercodes im sekundären zweiten Fehlerspeicher mit dem Diagnosetester daran gebunden, dass für den zu lö¬ schenden Fehlercode mindestens ein weiterer Diagnoselauf durchgeführt wurde, wobei während dieses Diagnoselaufs die PrüfvorausSetzungen zur Überprüfung des betreffenden Fehler-
codes erfüllt waren und die StatusInformation das Ergebnis „getestet" liefert. Dies hat den Vorteil, dass einmal diag¬ nostizierte Fehler erst dann von der Anzeige des Diagnosetes¬ ters entfernt werden, wenn eine evtl. durchgeführte Reparatur mindestens einmal mit dem Diagnosetester kontrolliert und ü- berprüft wurde und dabei für in Ordnung befunden wurde. Falsch durchgeführte Reparaturmaßnahmen können so mit dem Di¬ agnosetester unmittelbar nach der Reparatur identifiziert werden. Noch wichtiger ist, dass mit dem vorbeschriebenen Status Polling auch diejenigen potentiellen Fehlermöglichkei¬ ten aufgefunden werden, die nur deshalb für in Ordnung befun¬ den wurden, weil die PrüfvorausSetzungen für eine sinnvolle Überprüfung nicht vorgelegen haben. Dies ist besonders dann von Bedeutung, wenn eine Reparatur durch Komplettaustausch z.B. eines Aktors oder eines Sensors vorgenommen wird. Nach dem vorbekannten Stand der Technik würde jeder Diagnosetester den neu eingebauten Aktor oder Sensor für in Ordnung befin¬ den, nur aus dem Grund, weil in dem FehlerSpeicher des zuge¬ hörigen Steuergerätes nach Löschen der primären Fehlerspei¬ cher keine Fehlercodes abgelegt sind. Mit der Erfindung hin¬ gegen verbleiben Fehlercodes mit der Statusinformation „nicht getestet" solange im sekundären Fehlerspeicher bis die Repa¬ ratur mindestens einmal entsprechend der für das Austausch¬ teil geltenden PrüfVoraussetzungen getestet wurde. Die Repa¬ ratur ist erst dann abgeschlossen wenn weder in den primären Fehlerspeichern aktivierte Fehlercodes abgelegt sind noch im sekundären Fehlerspeicher B Fehlercodes mit der Statusinfor¬ mation „nicht getestet" abgelegt sind. Die Menüführung bzw. die Bildschirmanzeige des Diagnosetesters, wie er hier be¬ schrieben wird, macht den Werkstattmechaniker auf nicht ge¬ testete Fehlermöglichkeiten aufmerksam und hilft ihm dabei, daran zu denken, die durchgeführten Reparaturmaßnahmen min¬ destens einmal ordnungsgemäß zu überprüfen. Die PrüfVoraus¬ setzungen für jeden bekannten Fehlercode sind hierbei sinn-
voller weise im Diagnoseprogramm des Diagnosetesters imple¬ mentiert, so dass der Werkstattmechaniker sich nicht für je¬ den möglichen Fehler im Kraftfahrzeug die vorgegebenen Prüf¬ voraussetzungen merken zu braucht.
In einer vorteilhaften Ausführungsform der Erfindung ist die Statusüberprüfung mittels des Diagnosetesters vom Kraftfahr¬ zeugmechaniker einzuleiten. Hierzu kann bei der Menüführung des Diagnosetesters ein für das Status PoIling reservierter Menüpunkt vorgesehen sein, bei dessen Betätigung eine Status¬ überprüfung des vom Diagnosetesters angezeigten Fehlers vor¬ genommen wird. Dies hat den Vorteil, dass der Kraftfahrzeug¬ mechaniker den Diagnosetester reparaturnah einsetzen kann, und immer dann, wenn er glaubt eine Reparaturmaßnahme abge¬ schlossen zu haben, diese Reparaturmaßnahme sofort mit dem Diagnosetester überprüfen kann.
In weniger bevorzugten Ausführungsformen der Erfindung können die Statusüberprüfungen vom Diagnosetester selbsttätig ge¬ startet werden, indem z. B. nach Anschluss des Diagnosetes¬ ters an die Diagnoseschnittstelle des Kraftfahrzeugs in zeit¬ lich regelmäßigen Abständen vom Diagnosetester eine Status¬ überprüfung der Fehlercodes initiiert und durchgeführt wird. Hierzu kann im Diagnosetester eine Uhr mitlaufen und eine Statusüberprüfung, z. B. alle 10 Minuten selbsttätig ausge¬ löst, durchgeführt werden.
In einer weiteren Ausführungsform sind beim Diagnosetester die Funktionen zur Löschung der Fehlercodes im sekundären Fehlerspeicher so lange blockiert, bis eine Statusüberprüfung durch eine weitere Diagnoseroutine sowohl die fehlerfreie Funktion der durchgeführten Reparaturmaßnahme als auch die korrekte Überprüfung der Reparaturmaßnahme anhand der für die jeweilige Reparatur vorgeschriebenen Prüfvoraussetzungen
durchgeführt wurden. Hierzu wird nach einer erfolgten Repara¬ tur ein Komplett Reset der primären FehlerSpeicher durchge¬ führt. Anschließend wird ein Diagnoselauf gestartet, bei dem im Fehlerfall die primären Fehlerspeicher wieder beschrienen werden. Mit dem Ergebnis des Diagnoselaufs werden die Einträ¬ ge im sekundären Fehlerspeicher aktualisiert. Diese Ausfüh¬ rungsform hat den Vorteil, dass für den Kraftfahrzeugmechani¬ ker die Reparatur erst dann beendet ist, wenn alle Fehler be¬ seitigt und auch ordnungsgemäß überprüft sind. Ein willkürli¬ ches Löschen einmal festgestellter Fehlercodes durch Löschbe¬ fehle oder Komplett-Reset der primären Fehlerspeicher, kann dann nicht mehr zu einem scheinbar ordnungsgemäßen Service führen, da mit dem Diagnosetester weiterhin die im sekundären Fehlerspeicher abgelegten Fehlercodes zur Anzeige gebracht werden.
In einer weiteren Ausführungsform wird die Löschung der Feh¬ lercodes im sekundären Fehlerspeicher innerhalb des Steuerge¬ rätes durchgeführt, wenn eine Statusüberprüfung sowohl die fehlerfreie Funktion der durchgeführten Reparaturmaßnahme als auch die korrekte Überprüfung der Reparaturmaßnahme anhand der für die jeweilige Fehlercodes vorgeschriebenen Prüfvor¬ aussetzungen durchgeführt wurden. Hierzu wird nach einer er¬ folgten Reparatur ein Komplett Reset der primären Fehlerspei¬ cher durchgeführt. Anschließend wird bei der Prüfbereitschaft von Fehlercodes, der Status der entsprechenden Fehlercodes im sekundären Fehlerspeicher aktualisiert. Diese Ausführungsform hat den Vorteil, daß für den Kraftfahrzeugmechaniker die Re¬ paratur erst dann beendet ist, wenn alle Fehler beseitigt und auch ordnungsgemäß überprüft sind. Ein willkürliches Löschen einmal festgestellter Fehlercodes durch Löschbefehle oder Komplett-Reset der primären Fehlerspeicher, kann dann nicht mehr zu einem scheinbar ordnungsgemäßen Service führen, da mit dem Diagnosetester weiterhin die im sekundären Fehler-
Speicher abgelegten Fehlercodes zur Anzeige gebracht werden und die Überwachung der Logik vollständig im Steuergerät liegt.
Ohne Beschränkung der Allgemeinheit wird im Folgenden die Er¬ findung anhand von graphischen Darstellungen näher erläutert.
Es zeigen:
Fig. 1 eine schematische Darstellung eines Diagnosetes¬ ters, wie er an die Steuergeräte in einem Kraft¬ fahrzeug angeschlossen ist,
Fig. 2 eine schematische Darstellung von Datenformaten, wie sie im Keyword-Protokoll 2000 vereinbart sind,
Fig. 3 eine schematische Darstellung des Kopiervorgangs der Fehlercodes aus den primären Fehlerspeichern in den sekundären Fehlerspeicher,
Fig. 4 die Speicherbelegung von primären und sekundärem
Fehlerspeicher nach einem Total-Reset der primären Fehlerspeicher,
Fig. 5 eine schematische Darstellung für den Abgleich von primären und sekundärem Fehlerspeicher nach einer Reparatur und nach erfolgter Reparaturverifikation mit dem Diagnosetester,
Fig. 6 ein Ablaufschema für eine verbesserte Reparaturve¬ rifikation mit Hilfe eines Diagnosetesters,
Fig. 7 ein weiteres mögliches AblaufSchema für eine ver¬ besserte Reparaturverifikation mit Hilfe eines Di¬ agnosetesters,
Fig. 8 eine graphische Benutzeroberfläche, wie sie vom Di¬ agnosetester dem Kraftfahrzeugmechaniker zur Anzei¬ ge gebracht wird,
Fig. 9 die graphische Benutzeroberfläche des Diagnosetes¬ ters nach Figur 5, wie sie sich dem Kraftfahrzeug¬ mechaniker zeigt, nachdem zwar die Reparaturen
durchgeführt wurden, die Reparaturen selbst aber nicht ordnungsgemäß überprüft wurden.
In Figur 1 ist eine Situation schematisch dargestellt, wie sie heute in Kraftfahrzeugwerkstätten bekannt ist. Für die Diagnose eines Kraftfahrzeuges wird ein rechnergestützter Di¬ agnosetester 1 über eine genormte Diagnoseschnittstelle 2 an das Kommunikationsnetzwerk 3 für die Steuergeräte 4 im Kraft¬ fahrzeug angeschlossen. Bekannte Diagnosetester sind z. B. das System DAS von DaimlerChrysler oder das System BMW-DIS, das in der Beschreibungseinleitung bereits erwähnt wurde. Die im Kraftfahrzeug verbauten Steuergeräte 4 sind beispielsweise über einen Datenbus miteinander in Kommunikationsverbindung. Ein verbreiteter Datenbus in Kraftfahrzeugen ist hierbei der sog. CAN-Bus (für Control Area Network) . Jedes der verbauten Steuergeräte im Kraftfahrzeug verfügt neben den Kommunikati¬ onsschnittstellen über die Fähigkeit zur Eigendiagnose. Im Rahmen der Eigendiagnose der Steuergeräte werden mit Hilfe der Diagnoseroutine in den Steuergeräten festgestellte Fehler in kodifizierter Form als sog. Fehlercodes von der Steuerge¬ räte-Software in speziell reservierte Speicherbereiche, sog. Fehlerspeicher, geschrieben. In der schematischen Darstellung der Figur 1 sind diese reservierten, nicht flüchtigen Spei¬ cherbereiche als FS (für Fehler-Speicher) bezeichnet. Für die Kommunikation und für den Datenaustausch zwischen einem Diag¬ nosetester und den im Kraftfahrzeug verbauten Steuergeräten hat sich ein Standard etabliert, der unter dem Namen Keyword- Protokoll 2000 bekannt ist und dessen Spezifizierung und Nor¬ mierung sich in der ISO-Norm 14 230-3 wiederfindet. Soweit für das Verständnis der Erfindung erforderlich, wird weiter unten im Zusammenhang mit Figur 2 noch auf dieses Keyword- Protokoll 2000 näher eingegangen. Mit den im Keyword- Protokoll 2000 verabredeten Steuerbefehlen und Datenformaten ist es möglich, über die Diagnoseschnittstelle die kodifi-
zierten Inhalte der Fehlerspeicher der einzelnen Steuergeräte mit Hilfe des Diagnosetesters auszulesen und in das Rechen¬ system des Diagnosetester zu übertragen. Die Norm zu dem Key¬ word-Protokoll 2000 umfasst hierbei zwei verschiedene Appli¬ kationsmöglichkeiten. Zum einen sieht die Norm vor, dass die Kommunikation zwischen Diagnosetester und Steuergeräte über ein Gateway S1 das z. B. den Kraftfahrzeug-CAN-Bus an die Di¬ agnoseschnittstelle 2 anbindet, erfolgt oder aber, dass wie früher üblich, die Fehlerspeicher der Steuergeräte über die sog. K- und L-Leitungen und über die normierte Diagnose¬ schnittstelle 2 direkt in den Diagnosetester ausgelesen und abgelegt werden können. In der schematischen Darstellung der Figur 1 ist die modernere Form des Zugriffs über einen CAN- Bus und damit über ein Gateway dargestellt. Für die Erfindung von Belang ist lediglich, dass es mindestens eine Möglichkeit gibt, die Fehlerspeicher der Steuergeräte mit einem Diagnose¬ tester auslesen zu können. Die Erfindung erfasst daher alle Adressierungsmöglichkeiten zwischen Diagnosetester und Feh¬ lerspeicher der Steuergeräte. Auch das verwendete Keyword- Protokoll 2000 ist lediglich eine bevorzugte Möglichkeit, mit dessen Hilfe die Dateninhalte der Fehlerspeicher aus den Steuergeräten besonders einfach in den Diagnosetester trans¬ feriert werden können.
Mit der schematischen Darstellung in Figur 2 wird kurz auf das Keyword-Protokoll 2000 eingegangen. Vollständige und de¬ tailliertere Informationen findet der Fachmann in der bereits erwähnten ISO-Norm 14 230-3. Mit dem Keyword-Protokoll 2000 wurden speziell für die Zwecke der Kraftfahrzeugdiagnose ein Datenformat und ein Mindestumfang an kodifizierten Steuerbe¬ fehlen, die ein Steuergerät im Kraftfahrzeug mindestens ver¬ arbeiten können muss, wenn es dem Keyword-Protokoll 2000 ent¬ sprechen soll, festgelegt. Das vom Keyword-Protokoll verwen¬ dete Datenformat beruht auf der ISO-Norm 14 230-2, dem sog.
Data Link Layer zum Keyword-Protokoll 2000. Der Aufbau eines solchen Datenformats beinhaltet bis zu vier verschiedene Hea¬ der Bytes, die Angaben zum Datenformat FMT, Angaben zur Ziel¬ adresse TGT7 Angaben zur Senderadresse SRC und Angaben zur Länge des nach den Header Bytes folgenden Datenbytes enthält. Nach dem Header-Block folgt immer ein hexadezimalkodifizier¬ ter Steuerbefehl, der als Service Identification SID bezeich¬ net wird. Die im Keyword-Protokoll 2000 spezifizierten Steu¬ erbefehle können hierbei herstellerspezifisch weiter unter¬ teilt und ausgeformt sein. In diesem Fall würde der Nutzda¬ tenblock 7 weitere hexadezimalkodifizierte Steuerbefehle ent¬ halten. Das Datenformat entsprechend des Keyword-Protokolls 2000 wird immer mit einem Byte abgeschlossen, dass eine Checksumme CS über alle Daten des jeweiligen Botschaftsfor¬ mats enthält. Das eben beschriebene Botschaftsformat wird in seiner Grundstruktur sowohl für Anfragen an die Steuergeräte als auch für die Antworten der Steuergeräte benutzt. Für die Erfindung von besonderem Interesse sind hierbei die sog. $18- Requests mit den zugehörigen $58-Response, die jedes Keyword- Protokoll 2000-fähige System beinhalten muss und verarbeiten können muss. Die Kodifizierung der Requests und der Response erfolgt hierbei lediglich über die Hexadezimalcodierung 18 bzw. 58 zur Bestimmung der Service Identification und legt damit die zu übertragenden Nutzdaten, die in der Response mindestens enthalten sein müssen, fest. Das Dollarzeichen wird hier in dieser Patentanmeldung lediglich dazu benutzt, um herauszustellen, dass es sich bei dem Zahlencode 18 bzw. 58 um einen kodifizierten Steuerbefehl entsprechend des Key¬ word-Protokolls 2000 handelt. Erhält ein Steuergerät in einem Kraftfahrzeug von einem Diagnosetester einen $18-Request, so antwortet es immer mit einer $58-Response. Die Nutzdaten der Antwort sind hierbei stets im Datenblock 7 der Antwortbot- schaft enthalten. Das Keyword-Protokoll 2000 definiert hier¬ bei nicht nur die Steuerbefehle, sondern spezifiziert auch
die Dateninhalte, die eine normierte Antwort auf eine nor¬ mierte Anfrage enthalten muss. So ist z. B. festgelegt, dass auf einen $18-Request die zugehörige §58-Response im Daten¬ block zu jedem im Steuergerät bekannten Fehlercode DTCl, DTC2 - DTCn auch der jeweilige Status dieses Fehlercodes mitüber¬ tragen wird. Der Status des Fehlercodes gibt hierbei an, ob die Eigendiagnoseroutine des Steuergeräts den Fehlercode ge¬ testet hat oder nicht. Im einfachsten Fall kann der Status aus einem einzelnen Bit bestehen, wobei z. B. der Bitwert „0" für eine ordnungsgemäße Überprüfung der dem Fehlercode zuge¬ ordneten Funktionen entsprechend der PrüfvorausSetzungen steht, während der Bitwert „1" für einen nicht getesteten Fehlercode oder für einen Testdurchlauf der entsprechenden Funktionen, bei dem die PrüfVoraussetzungen nicht vorlagen, steht. Selbstverständlich kann auch jede andere Codierung ge¬ wählt werden, die in der Lage ist zu unterscheiden, ob der Status eines Fehlercodes entsprechend der PrüfVoraussetzungen für die dem Fehlercode zugrundeliegenden Funktionen getestet wurde oder nicht. Die $58-Response enthält also in dem Daten¬ block 7 eine Tabelle mit allen im Steuergerät bekannten Feh¬ lercodes mit der zusätzlichen Information. Es ist also mit einem $18-Request entweder durch Setzen entsprechender Para¬ meter beim Request selbst oder durch nachträgliche Selektie¬ rung des Datenblocks der zugehörigen $58-Antwort möglich, ge¬ zielt all diejenigen Fehlercodes zu identifizieren und auszu¬ lesen, deren Status anzeigt, dass die zugehörigen Funktionen nicht ordnungsgemäß entsprechend der PrüfvorausSetzungen für diese Funktionen getestet wurden. Diese Information kann ge¬ wonnen werden völlig unabhängig davon, ob eine Fehlfunktion vorlag bzw. ob ein Fehlercode verifiziert wurde und im ent¬ sprechenden Fehlerspeicher abgelegt war oder nicht. Mit ande¬ ren Worten ist es möglich auch nicht aktivierte Fehlercodes über ihren Status abzufragen. Das Keyword-Protokoll 2000 ist im Zusammenhang mit der Erfindung als eine besonders verbrei-
tete Ausführungsvariante zu sehen. Die Erfindung selbst ist nicht auf das Keyword-Protokoll 2000 beschränkt, sondern lässt sich mit jeder Art und Form der Datenübertragung durch¬ führen, bei der neben aktivierten Fehlercodes auch deren Sta¬ tusinformationen ausgelesen und selektiert werden können.
Nach den vorbeschriebenen Grundlagen zum Verständnis der Er¬ findung wird nun im Folgenden auf den Kern der Erfindung ein¬ gegangen. An und für sich könnte man die mit der $58-Response erhaltenen Fehlercodes inklusive deren Status in einem Feh¬ lerspeicher abspeichern und den Inhalt dieses Fehlerspeichers auf der Anzeige des Diagnosetesters zur Anzeige bringen. Der Kraftfahrzeugmechaniker erhielte dann eine Liste aller iden¬ tifizierten Fehlfunktionen und könnte die Liste in einem Re- paraturprozess Punkt für Punkt abarbeiten. Um den Überblick nicht zu verlieren, würde er sicher alle bearbeiteten Fehler¬ code nach abgeschlossener Reparatur gerne per Einzelfehlerlö¬ schung aus dem Fehlerspeicher löschen, um danach angezeigt zu bekommen ob die bearbeiteten Fehlercodes bereits vom Steuer¬ gerät wieder überprüft wurden. In den USA gibt es nun die Be¬ sonderheit, dass die Diagnose von Kraftfahrzeugen strengen gesetzlichen Regelungen unterliegt. Im Zusammenhang mit der Erfindung ist hierbei besonders eine gesetzliche Regelung re¬ levant, die besagt, dass bei Reparatur und Diagnose eines Kraftfahrzeugs eine Einzelfehlerlöschung der bei der Diagnose festgestellten Fehlercodes nicht zulässig ist. Das Verbot der Einzelfehlerlöschung gilt besonders für abgasrelevante Feh¬ lercodes. In den U.S.A. ist hier nur erlaubt, alle den Feh¬ lerspeicher eines Steuergerätes komplett zu löschen. Ein der¬ artiger allgemeiner Löschbefehl wird vom Keyword-Protokoll 2000 mit dem hexadezimalcodierten $14FF00-Request und dem Di¬ agnostic Service Name: „Clear Diagnostic Information" zur Verfügung gestellt. Nachteil an diesem Löschbefehl ist, dass
bei seiner Betätigung sämtliche diagnoserelevante und damit auch reparaturrelevante Information verloren geht. Um auch in den USA mit dem gesetzlich vorgeschriebenen Total-Reset der Fehlerspeicher eine verbesserte Reparaturverifikation mit ei¬ nem Diagnosetester durchführen zu können, sind deshalb zu¬ sätzliche Maßnahmen notwendig, die den Kern dieser Erfindung ausmachen. Haupterfindungsgedanke ist hierbei das Abspeichern aller für eine Reparaturverifikation des Kraftfahrzeugs rele¬ vanten Diagnoseinformationen in einem zweiten Fehlerspeicher B und die gesonderte Behandlung dieses Fehlerspeichers B. Di¬ agnoserelevante Informationen sind hierbei alle aktivierten und getesteten Fehlercodes. Die schematische Darstellung der Figur 3 verdeutlicht in graphischer Form die Einführung eines zweiten Fehlerspeichers B. Die Einführung dieses sekundären Fehlerspeichers B ermöglicht, dass auf dem originären primä¬ ren Fehlerspeicher A weiterhin ein Total-Reset aller diagno¬ serelevanten Informationen durchgeführt werden kann, ohne den Verlust der für die Reparaturverifikation notwendigen Diagno¬ seinformationen befürchten zu müssen. Die für die Reparatur¬ verifikation notwendigen Diagnoseinformationen sind nämlich im Fehlerspeicher B zwischengespeichert. Auf dem zweiten Feh¬ lerspeicher B darf kein Total-Reset angewandt werden.
Nach einer durchgeführten Reparatur löscht der Kraftfahrzeug¬ mechaniker mit einem Total-Reset die Diagnoseinformationen in den primären Fehlerspeichern A. Die Auslösung dieses Löschbe¬ fehls wird als Triggersignal genommen, um die aktiven Fehler¬ codes aus den primären Fehlerspeichern im sekundären Fehler¬ speicher abzulegen. Nach diesem Kopiervorgang werden durch diesen Total-Reset in allen primären Fehlerspeichern der Steuergeräte die Fehlercodes und die Statusinformationen zu den Fehlercodes gelöscht. Unberührt von diesem Total-Reset bleibt der sekundäre Fehlerspeicher B. Diese Situation wird mit der graphischen Darstellung der Figur 4 verdeutlicht. In
dem zweiten Fehlerspeicher B sind nach wie vor alle vormals bemängelten Diagnoseinfαrmationen abgelegt.
Ausgehend von diesem Diagnosezustand muss es nun noch ent¬ sprechend dem Reparaturfortschritt und entsprechend einer Re¬ paraturverifikation zu einer Aktualisierung des sekundären Fehlerspeichers B kommen. Dieser Aktualisierungsschritt soll mit der graphischen Darstellung von Figur 5 verdeutlicht wer¬ den. Nach durchgeführter Reparatur und nach erfolgtem Total- Reset der primären Fehlerspeicher wird der Kraftfahrzeugme¬ chaniker mit dem reparierten Fahrzeug einen Testlauf durch¬ führen. Bei diesem Testlauf werden die Eigendiagnoseroutinen der Steuergeräte im Kraftfahrzeug aktiviert und liefern wie¬ der Diagnoseinformationen hinsichtlich aktivierter oder inak¬ tiver Fehlercodes sowie Diagnoseinformationen hinsichtlich des Status aller bekannten Fehlercodes, ob der betreffende Fehlercode getestet wurde oder nicht. Diese Diagnoseinforma¬ tion wird von den Steuergeräten wieder in die primären Feh¬ lerspeicher A geschrieben. Mit einem weiteren Auslesen der Diagnoseinformationen aus den primären Fehlerspeichern A kann nun mit dem Diagnosetester und mit dessen implementierten Di¬ agnoseprogramm ein Abgleich mit dem Fehlerspeicher B erfol¬ gen. Bei diesem Abgleich wird geprüft, welche Fehlercodes im zweiten Fehlerspeicher B nach erfolgter Reparatur gelöscht werden können. Gelöscht werden können alle diejenigen Fehler¬ codes, die durch die Eigendiagnoseroutinen der Steuergeräte getestet wurden. Nicht gelöscht werden, dürfen all diejenigen Fehlercodes, die beim Testlauf nicht von den Eigendiagnose¬ routinen getestet wurden. Im Ausführungsbeispiel der Figur 5 wäre das der Fehlercode DTC2, der nicht getestet wurde und deshalb im Fehlerspeicher B verbleiben muss. Gelöscht werden konnte der Fehlercode DTCl, da er von den Eigendiagnoserouti¬ nen getestet wurden. Fehlercodes, die nach erfolgter Repara¬ tur erstmals aktiv getestet wurden, können gegebenenfalls neu
in den sekundären Fehlerspeicher A übernommen werden. Im dargestellten Ausführungsbeispiel der Figur 5 wäre das der Fehlercode DTC3, der positiv getestet wurde und nun aktiv ist. Die Gesamtheit der Inhalte von den primären Fehlerspei¬ chern A und von dem sekundären Fehlerspeicher B enthält damit nach erfolgter Teil-Reparatur und nach erfolgtem Testlauf die Mängelsituation nach Teil-Reparatur und Testlauf. Wird die Fehlerliste der aktiven Fehlercodes aus den primären Fehler¬ speichern A und die Liste der noch nicht getesteten ursprüng¬ lichen Fehlercodes im sekundären Fehlerspeicher B mit dem Di¬ agnosetester auf dessen Anzeige dem Kraftfahrzeugmechaniker zur Anzeige gebracht, so hat der Kraftfahrzeugmechaniker eine Information, welche Reparaturen erfolgreich waren und welche noch zu erledigen sind.
Der zuvor im Zusammenhang mit den beiden Figuren 4 und 5 be¬ schriebene Abgleich von primären Fehlerspeichern A mit dem sekundären Fehlerspeicher B lässt sich in einen Diagnosetes¬ ter programmtechnisch relativ einfach implementieren. Figur 6 zeigt hierbei exemplarisch einen Programmabiaufplan, mit dem der sekundäre Fehlerspeicher B mit den primären Fehlerspei¬ chern A abgeglichen werden kann. Der Ablaufplan besteht hauptsächlich neben Beginn und Ende aus den Verfahrensschrit¬ ten 610, die notwendig sind um getestete Fehlercodes aus dem sekundären Fehlerspeicher zu löschen. Nach erster Reparatur und nach erstem Testlauf wird der sekundäre Fehlerspeicher B aktualisiert, indem im Fehlerspeicher B all diejenigen Feh¬ lercodes gelöscht werden, die nach dem Testlauf und nach ei¬ nem Status Polling in den primären Fehlerspeicher A den Sta¬ tus „getestet" haben. Nach diesem Abgleich wird die in Feh¬ lerspeicher B abgelegte Fehlerliste dem Kraftfahrzeugmechani¬ ker auf dem Diagnosetester gegebenenfalls zusammen mit der Liste der aktiven Fehlercodes aus den primären Fehlerspei¬ chern zur Anzeige gebracht.
Zusammenfassend lässt sich damit ein Programmablaufplan für eine verbesserte Reparaturverifikation aufstellen und als Di¬ agnoseprogramm in einem Diagnosetester implementieren. In Fi¬ gur 7 ist exemplarisch ein solcher Programmabiaufplan gra¬ phisch dargestellt. Nachdem das Kraftfahrzeug in die Werk¬ statt gekommen ist, wird zunächst der Diagnosetester an die Diagnoseschnittstelle des Kraftfahrzeugs angeschlossen. Der Prozess mit der verbesserten Reparaturverifikation wird mit dem Diagnosetester 700 gestartet. In einem ersten Verfahrens¬ schritt 710 werden sämtliche Fehlercodes aus den primären Fehlerspeichern A und alle Statusinformationen zu allen be¬ kannten Fehlercodes ausgelesen. Die Statusinformationen wer¬ den ausgewertet und selektiert. Von Interesse sind alle akti¬ ven Fehlercodes und all diejenigen Fehlercodes, die von den Eigendiagnoseroutinen der Steuergeräte nicht überprüft wur¬ den. Diese Fehlercodes haben den Status „nicht getestet". Zur Anzeige und zur Weiterverarbeitung werden hierbei sämtliche aktiven Fehlercodes sowie all diejenigen Fehlercodes mit dem Status „nicht getestet" gebracht. Anhand der Anzeige auf dem Diagnosetester entscheidet dann der Kraftfahrzeugmechaniker, ob eine Reparatur durchzuführen ist oder nicht. Dieser Ent- scheidungsprozess wird auch mit dem Diagnosetester nachvoll¬ zogen und ist in Figur 7 symbolisch mit der Bezugsziffer 720 dargestellt. Erfolgt eine Reparatur, dargestellt mit der Be¬ zugsziffer 721, so wird nach Abschluss der Reparatur oder zu¬ mindest nach Abschluss einer Teilreparatur mit einem Befehl zum Total-Reset der Inhalt der primären Fehlerspeicher A ge¬ löscht. Der Löschbefehl 730 wird hierbei als Triggersignal genommen, um zumindest die aktiven Fehlercodes aus den primä¬ ren Fehlerspeichern und den sekundären Fehlerspeicher zu ko¬ pieren. Dies entspricht in Figur 7 dem Verfahrensschritt mit dem Bezugszeichen 731. Nach dem Kopiervorgang werden die pri¬ mären Fehlerspeicher per Total-Reset gelöscht 732. Dadurch
gehen zunächst in den primären Fehlerspeichern A alle Diagno¬ seinformationen verloren. Zur Reparaturüberprüfung erfolgt in einem weiteren Verfahrensschritt mit dem Bezugszeichen 740 ein Testlauf. Bei diesem Testlauf, der in der Regel eine Art Probefahrt mit dem Kraftfahrzeug ist, werden die Eigendiagno¬ seroutinen der Steuergeräte im Kraftfahrzeug aktiviert. Tre¬ ten weiterhin Fehler auf, so werden die aktivierten Fehlerco¬ des von den Eigendiagnoseroutinen wieder in die primären Feh¬ lerspeicher A eingelesen, ebenso können die Statusinformatio¬ nen zu sämtlichen bekannten Fehlercodes von den Eigendiagno¬ seroutinen ermittelt werden. Ebenso können damit nach erfolg¬ tem Testlauf wiederum aktivierte Fehlercodes und Statusinfor¬ mationen aus den primären Fehlerspeichern ausgelesen und er¬ mittelt werden.
Die Aktualisierung des sekundären Fehlerspeichers B erfolgt dann in einem weiteren Verfahrensschritt 750, wie er im Zu¬ sammenhang mit dem Abgleich der beiden Fehlerspeicher A und B schon im Zusammenhang mit Figur 6 beschrieben wurde. Nach Ab¬ gleich der primären FehlerSpeicher A mit den Inhalten des zweiten Fehlerspeichers B wird der aktualisierte Inhalt von Fehlerspeicher B zusammen mit dem aktuellen aktiven Fehlerco¬ des, die in den primären Fehlerspeichern der Steuergeräte ge¬ gebenenfalls neu abgelegt wurden, auf dem Diagnosetester dem Kraftfahrzeugmechaniker zur Anzeige gebracht. Die Reparatur ist hierbei erfolgreich beendet, wenn weder im Fehlerspeicher B noch in den primären Fehlerspeichern Fehlercodes vorhanden sind, was für den Kraftfahrzeugmechaniker dadurch ersichtlich wird, dass auf der Anzeige des Diagnosetesters keine Mängel- liste mehr angezeigt wird. Sind im Fehlerspeicher B Einträge vorhanden, so werden die entsprechenden Mängel auf dem Diag¬ nosetester zur Anzeige gebracht. Dieser Entscheidungsprozess ist im Programmablaufplan der Figur 7 mit dem Bezugszeichen 760 dargestellt. Programmtechnisch umgesetzt wird eine derar-
tige Entscheidung durch eine Ja/Nein-Abfrage, ob im sekundä¬ ren Fehlerspeicher B oder den primären Fehlerspeichern A Feh¬ lercodes abgelegt sind oder nicht. Erfolgt eine Anzeige auf dem Display des Diagnosetesters, symbolisch dargestellt durch den Verfahrensschritt der Bezugsziffer 770, so setzt der Re- paraturprozess von Neu ein. Das Neueinsetzen des Reparatur¬ prozesses wird zweckmäßigerweise mit einer Programmschleife realisiert. Ein möglicher Aufsetzpunkt der Programmschleife ist hierbei der Verfahrensschritt mit dem Bezugszeichen 720 gemäß Figur 7. Andere Aufsetzpunkte können auch der Verfah¬ rensschritt mit dem Bezugszeichen 711 sein. Bei einem Auf¬ setzpunkt laut Verfahrensschritt 711 kann ein Verfahrens¬ schritt mit dem Bezugszeichen 770 entfallen.
Die Figuren 8 und 9 veranschaulichen, wie die verbesserte Re¬ paraturverifikation mit dem Diagnosetester umgesetzt werden kann. Dargestellt sind typische Screenshots von dem Anzeige¬ display des Diagnosetesters. Neben Informationen zu dem un¬ tersuchten Fahrzeug 8 zum angezeigten Dateninhalt 9 stehen dem Kraftfahrzeugmechaniker auf der Benutzeroberfläche des Diagnosetesters in Form von sog. Buttons 10 Bedienelemente zur Verfügung, mit denen er den Diagnosetester steuern und bedienen kann. Hauptpunkt der Erfindung ist die Anzeige aller aktiven Fehlercodes, die von dem Diagnosetester in den Steu¬ ergeräten des Kraftfahrzeugs aufgefunden werden konnten. Im dargestellten Beispiel sind dies die Fehlercodes 1000, 1001 und 1002. Zusätzlich können nicht nur die aktivierten Fehler¬ codes, die in der Anzeige nach Figur 8 als „aktiv" bezeichnet sind, zur Anzeige gebracht, sondern es können auch diejenigen Fehlercodes zur Anzeige gebracht werden, die den Status „nicht getestet" haben. Im Ausführungsbeispiel der Figur 8 ist dies der Fehlercode 1003. Der Screenshot nach Figur 8 soll exemplarisch die Anzeige veranschaulichen, die nach An-
Schluss des Diagnosetesters an die Diagnoseschnittstelle und nach erfolgter Datenübertragung sowie nach erfolgter Datense- lektierung dem Kraftfahrzeugmechaniker auf dem Diagnosetester zur Anzeige gebracht wird. Per Menüsteuerung, z. B. durch ein Pull-down-Menü, kann der Kraftfahrzeugmechaniker zu den ein¬ zelnen Fehlercodes weitere Informationen mit Hilfe der Be- dien-Button 10 abrufen. Von besonderem Interesse sind z. B. die zu dem jeweiligen Fehlercode zugehörigen Reparaturanlei¬ tungen, die in der Regel ebenfalls in dem Diagnoseprogramm des Diagnosetesters integriert und abgelegt sind. Mit Hilfe von Bedien-Buttons 10 kann der Kraftfahrzeugmechaniker nach erfolgter Gesamtreparatur eine Reparaturverifikation starten.
Ein mögliches Ergebnis einer dermaßen durchgeführten Repara¬ turverifikation wird mit dem Screenshot nach Figur 9 darge¬ stellt. In dem exemplarisch gewählten Ausführungsbeispiel nach Figur 8 wurden alle Reparaturen zu den Fehlercodes 1000, 1001, 1002, 1003 durchgeführt. Die dann gestartete Reparatur¬ verifikation hat jedoch ergeben, dass für zwei der vier Feh¬ lercodes die PrüfvorausSetzungen nicht vorlagen, um mit Hilfe der Eigendiagnoseroutinen der betreffenden Steuergeräte das ordnungsgemäße Funktionieren der betreffenden Funktionen zu testen. Diese beiden Fehlercodes sind im sekundären Fehler¬ speicher B verblieben. Deshalb wird dem Kraftfahrzeugmechani¬ ker dieser Befund zur Anzeige gebracht. Es wird ihm ange¬ zeigt, welcher vorher bemängelte Fehlercode nach erfolgter Reparatur nicht getestet werden konnte. Besonders zweckmäßig sind zu jedem Fehlercode in dem Datenbanksystem des Diagnose¬ testers auch die vorgeschriebenen PrüfvorausSetzungen abge¬ legt. Zweckmäßigerweise ist für die Abrufung dieser Prüfvor¬ aussetzungen ein spezieller Informations-Button 12 implemen¬ tiert, bei dessen Betätigung zu einem ausgewählten Fehlerco¬ de, z. B. Fehlercode 1000, per Menüauswahl Zusatzinformatio¬ nen abgerufen werden können. Diese Zusatzinformationen können
neben den PrüfvorausSetzungen auch Angaben darüber enthalten, welche PrüfVoraussetzungen nicht erfüllt waren. In dem darge¬ stellten Ausführungsbeispiel könnte z. B. die notwendige Min¬ destdrehzahl des Bordnetzgenerators nicht erreicht worden sein, damit die nicht getesteten Stromsensoren Fehlercode 1000, 1001 überhaupt getestet werden können. Der Kraftfahr¬ zeugmechaniker erhält dann einen Hinweis, dass er die Motor¬ drehzahl des Kraftfahrzeugmotors für eine erfolgreiche Über¬ prüfung mindestens auf z. B. 2000 Umdrehungen pro Minute steigern muss.
Eine Reparaturverifikation ist erst erfolgreich abgeschlos¬ sen, wenn der Diagnosetester keine Fehlercodes mehr zur An¬ zeige bringt, d.h. wenn die primären Fehlerspeicher A keine aktiven Fehlercodes enthalten und im sekundären Fehlerspei¬ cher B alle Einträge nach erfolgtem Test und Status Polling gelöscht wurden.