Gesetzliche On-Board-Diagnose und ODX

Transcription

Gesetzliche On-Board-Diagnose und ODX
Gesetzliche On-Board-Diagnose und ODX
Klaus Beiter, Christoph Rätz, Oliver Garnatz
Abstract
Legislated On-Board-Diagnostics is based on the requirement to monitor emission
related systems during the complete life cycle of a vehicle. There have been many
standardization activities since the CARB released OBD-I in 1988. The latest standard under creation is WWH-OBD. This paper gives an overview of the available
OBD standards with their inter-relationships and their connection to other important
diagnostic standards.
ODX (Open Diagnostic Data Exchange) is a well accepted and widely used standard
for the description of ECU and vehicle diagnostics. One part of the ODX standard
(ISO 22901-2) is dedicated to the description of OBD data. This article will briefly
introduce ODX and present the underlying design principles of the OBD ODX description. Differing requirements of the data description, based on different use cases
(parameterization of diagnostic testers, diagnostic software generation, diagnostic
software validation) will be analyzed and discussed.
WWH-OBD has now been implemented in its first vehicle platforms. Questions arising from the WWH-OBD introduction, together with implementation approaches, will
complete the article.
Kurzfassung
Die gesetzliche On-Board-Diagnose basiert auf der Anforderung, Abgasvorschriften
nicht nur zum Zeitpunkt der Zulassung, sondern über den gesamten Lebenszyklus
eines Fahrzeugs hinweg zu überwachen. Seit Verabschiedung der OBD-I Norm im
Jahr 1988 durch die CARB gab es weltweit mehrere Standardisierungsaktivitäten,
die in dem gerade entstehenden WWH-OBD Standard münden. Der Beitrag gibt einen Überblick über die vorhandenen OBD-Standards und ihre Beziehungen zueinander und zu anderen Diagnosestandards.
ODX (Open Diagnostic Data Exchange) ist ein heute weit verbreiteter Standard zur
Beschreibung der Steuergeräte- bzw. Fahrzeugdiagnose. Ein Teil des ODXStandards (ISO 22901-2) ist der Beschreibung von OBD-Daten gewidmet. Der Beitrag wird eine kurze Übersicht über ODX geben und die zugrunde liegenden Designprinzipien der OBD ODX-Beschreibung vorstellen. Die unterschiedlichen Anforderungen an die Datenbeschreibung in Abhängigkeit von der geplanten Verwendung
(Testerparametrierung, Steuergerätesoftware-Generierung, SteuergerätesoftwareValidierung) der Daten sollen anhand des OBD-Anwendungsfalls aufgezeigt und diskutiert werden.
WWH-OBD wird in ersten Fahrzeugprojekten umgesetzt. Die hierbei auftretenden
Fragestellungen und Lösungsansätze runden den Beitrag ab.
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
1.
Gesetzliche On-Board-Diagnose
1.1 OBD-I
Ausgangspunkt für die Entwicklung der OBD war die Forderung der CARB (Californian Air Resources Board), dass alle ab 1988 zugelassenen Fahrzeuge über eine
selbständige Überwachung der abgasrelevanten Systeme verfügen sollten. Dies erfordert das Detektieren der Verschlechterung des Abgasverhaltens mit einer entsprechenden Meldung an den Fahrer. OBD-I fasst erstmals die in diesem Zusammenhang erforderlichen Anforderungen an die On-Board-Diagnose zusammen.
OBD-I ist relativ einfach aufgebaut und beschränkt sich auf die Überwachung der
Lambdasonde, der Abgasrückführung, Kraftstoffzufuhr und die Motorsteuerung. Fehler konnten als Blinkcodes am Kombiinstrument abgelesen werden. Der Fahrzeugzugang wurde im Rahmen von OBD-I nicht standardisiert, so dass hersteller- und
baureihen-spezifische Lösungen entstanden.
1.2 OBD-II
1994 macht die CARB die OBD-II Norm zur Vorschrift für Fahrzeuge, die ab 1996 in
Kalifornien zugelassen werden sollen. Für diese Fahrzeuge fordert die Norm, die
Ausstattung mit einem OBD-System, welches die abgasrelevanten Komponenten
ständig überwacht und dass Fehler, die zu erhöhten Schadstoffemissionen führen, in
einem vorgegebenen Format abgespeichert werden müssen. Schwere Fehler müssen dem Fahrer mittels der MIL (Malfunction Indicator Lamp) angezeigt werden.
Ebenso sind Regeln definiert, die das Ausschalten der MIL und das Löschen der
Fehlerspeichereinträge beschreiben, wenn der Fehler während eines definierten
Zeitraumes nicht mehr auftritt.
Mit dem sogenannten Scan-Tool kann der Zustand des Fahrzeuges bzgl. seines
Emissionsverhaltens ausgelesen werden, um z. B. die benötigten Informationen zur
Fehlerbehebung zu ermitteln. Dies sind Steuergerätewerte (PIDs), die Fehlercodes
(DTCs) und die sogenannten Umgebungsdaten zum Zeitpunkt des Fehlerauftretens
(Freeze-Frames). Eine wichtige Frage beim Auslesen des Fehlerspeichers betrifft die
Testabdeckung. OBD-II definiert in diesem Zusammenhang den Begriff der „Readiness“. Sie drückt aus, ob ein bestimmter Fehler auftreten konnte, d.h. ob die Situation (bzw. der Test), die den Fehler erkennt, seit dem letzten Löschen des Fehlerspeichers schon durchlaufen wurde. Die Readiness kann vom Scantool als Bitmaske
ausgelesen werden und falls erforderlich können fehlende Tests mit dem Scantool
gestartet werden.
OBD-II definiert in jeweils eigenständigen Dokumenten den OBD-Stecker (SAE
J1962), das OBD-Scan-Tool (SAE J1978), die Diagnosedienste (SAE J1979), die
Fehlercodes (SAE J2012) und die Data Link Security (SAE J2186). Folgende Bussysteme sind für die OBD-Kommunikation möglich:
• ISO 14230 K-Line
• ISO 9141-2 CARB
• ISO 15765 CAN
• SAE J1850 PWM und VPWM
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
1.2 EOBD
Die EOBD-Norm ist das europäische Pendant zu OBD-II. Die Norm wird erstmals für
PKW mit Ottomotor ab Modelljahr 2001 vorgeschrieben. Die Anwendung der Regelung wurde später auf PKWs mit Dieselmotoren ab Modelljahr 2004 ausgeweitet. Die
EOBD-Norm bezieht sich - wie auch die amerikanische OBD-II-Norm - auf mehrere
ISO-Dokumente, in denen die Anforderungen an die technische Umsetzung festgeschrieben sind. Darüber hinaus definiert EOBD wie auch OBD-II die AbgasGrenzwerte, die von den Fahrzeugen eingehalten werden müssen. Die ISODokumente sind in Tabelle 1 mit den jeweils entsprechenden Dokumenten der SAE
aufgelistet. Da ISO und SAE auf dem Gebiet der On-Board-Diagnose zusammenarbeiten, sind die Dokumente inhaltlich weitestgehend identisch.
Allgemeine Informationen
Begriffe, Definitionen, Abkürzungen
Diagnosestecker
Externes Testgerät
Diagnosedienste (Modes)
Fehlercodes
Data Link Security
ISO-Dokument
ISO 15031-1
ISO 15031-2
ISO 15031-3
ISO 15031-4
ISO 15031-5
ISO 15031-6
ISO 15031-7
SAE-Dokument
Keine Entsprechung
SAE J1930
SAE J1962
SAE J1978
SAE J1979
SAE J2012
SAE J2186
Tabelle 1: OBD-Dokumente der ISO mit den jeweiligen Entsprechungen der SAE.
Das zentrale Dokument ist die Beschreibung der OBD-Modes in ISO 15031-5. Das
Dokument definiert die Services, die ein Scan-Tool ausführen kann und die von
OBD-relevanten Steuergeräten zu unterstützen sind. Vorgesehen sind 10 Modes
(Diagnosedienste). Neben dem Zugriff auf den Fehlerspeicher (Mode 02, 03, 04, 07,
0A) sind das Auslesen von Steuergerätewerten (Mode 01, 09) das Auslesen der
Testergebnisse der ständigen Überwachungsfunktionen (Mode 05 oder Mode 06)
und Stellgliedtests (Mode 08) vorgesehen. Ein typischer OBD-Test-Ablauf kann folgendermaßen aussehen:
• Mit Mode 09 werden Fahrzeugidentifikationsdaten ausgelesen
• Danach kann mit Mode 01 der Zustand der MIL, die Anzahl abgelegter Fehler
und der Readiness-Code abgefragt werden.
• Mit dem Mode 03 und 07 können dann die als aktiv bzw. vorläufig eingestuften Fehler ausgelesen werden.
• Zusatzinformationen (Freeze Frames) für die Fehlerbehebung können mit
Mode 02 ausgelesen werden.
• Falls zur Fehlerbehebung OBD-Routinen ausgeführt werden müssen, können
diese durch das Testgerät mittels Mode 08 gestartet werden.
• Nach der Fehlerbehebung kann der Fehlerspeicher mit Mode 04 gelöscht
werden.
Die Subfunktionen zu den Modes 01, 02, 05, 06, 08 sind im Anhang des Dokumentes ISO 15031-5 in Ihrer Struktur definiert. Nicht jedes Steuergerät muss alle hier
aufgeführten PIDs, TIDs, MIDs unterstützen. Wenn das Steuergerät die Subfunktionen unterstützt, müssen sie aber den Definitionen in ISO 15031-5 entsprechen.
Dasselbe gilt auch für die Fehlercodes (DTCs) aus dem Dokument ISO 15031-6, das
sowohl deren Aufbau als auch die konkreten DTCs definiert. Alle Fehlercodes wer-
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
den als 2-Byte-Werte übertragen und als fünfstellige alphanumerische Werte am
Tester angezeigt. In dem fünfstelligen Fehlercode ist folgende Information codiert:
• 1. Stelle: Gibt an, welchem Bereich der DTC zugeordnet ist: Powertrain (P),
Fahrwerk (C), Karosserie (B) oder Bussystem (U)
• 2. Stelle: Gibt an, wer den DTC festgelegt hat: ISO-15031/SAE 2012, oder der
Fahrzeughersteller.
• 3. Stelle: Gibt für die durch die ISO/SAE definierten Codes an, welchem Subsystem der DTC zugeordnet ist: Einspritzsystem (1,2), Zündung (3), Abgasrückführung (4), Geschwindigkeits- und Leerlaufregelung (5), Steuergeräteinterne Fehler (6), Getriebe (7,8).
• Die 4. und 5. Stelle werden zur weiteren Klassifizierung der Fehler verwendet.
1.3 WWH-OBD
Im Rahmen der Vereinten Nationen wird gegenwärtig an einem Standard zur weltweiten Vereinheitlichung der Diagnose zur Überwachung des Emissionsausstoßes
gearbeitet. Die Anforderungen sind in der Global Technical Regulation 5 (GTR 5)
zusammengefasst. Die Norm ist zunächst auf den Nutzfahrzeug-Bereich beschränkt,
soll aber später auf andere Fahrzeugbereiche ausgedehnt werden. Diese sogenannte „World-Wide-Harmonized On-Board-Diagnostics“ (WWH-OBD) soll mittel- und
langfristig die regionalen Standards ersetzen und ablösen. Zunächst werden die Anforderungen an die Abgaskontrolle und die Diagnosekommunikation festgelegt. Die
Festlegung der Grenz-/Schwellenwerte obliegt vorerst noch den regionalen Behörden. Später sollen auch diese Grenzwerte harmonisiert werden. Die Ausarbeitung
der technischen Rahmenbedingungen des Standards erfolgt im Rahmen der ISO
(TC22 SC3) in dem Standard ISO 27145, der die bestehenden regionalen OBDStandards (z.B. ISO 15031) ablösen soll. Um einen möglichst reibungslosen Übergang zu ermöglichen, wird als Kommunikationsbasis zunächst die Diagnose über
CAN vorgesehen. Langfristig sieht ISO 27145 aber die Diagnose über IP (Ethernet
oder sogar drahtlos) vor.
Heute sind für die On-Board-Diagnose bei Nutzfahrzeugen die beiden Optionen ISO
15765-4 und J1939-73 verbreitet. Beides sind CAN-basierte Protokolle. Mit der Einführung der GTR5 wird die CAN-basierte Diagnose gemäß ISO 27145 über
ISO15765 und J1939-73 möglich sein oder aber die TCP/IP basierte Variante gemäß
ISO 27145 über ISO 13400.
ISO 27145 definiert die „Vehicle On-Board-Diagnostic“ (VOBD) bestehend aus dem
„VOBD System“ (fahrzeugseitige Implementierung), dem Datenzugriff und den OBDDaten. Die fahrzeugseitige Implementierung kann in einem Steuergerät oder über
mehrere Steuergeräte verteilt erfolgen.
ISO 27145 besteht aus sechs Teilen, die in der folgenden Tabelle 1 im Überblick
dargestellt sind. Die Dokumente haben momentan den Status eines „Draft International Standard“ (DIS).
Beschreibung / Inhalt
Allgemeine Information und Definition der Use Cases
Definition der Diagnosedaten
Definition der Diagnosedienste
Kommunikation zwischen Fahrzeug und externem
Testgerät
Dokument
ISO 27145-1
ISO 27145-2
ISO 27145-3
ISO 27145-4
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Tests bzgl. der Einhaltung der Norm
Externes Testgerät
ISO 27145-5
ISO 27145-6
Tabelle 2: Dokumente des Standards ISO 27145.
WWH-OBD nutzt im Gegensatz zu OBD-II keine speziell für die On-Board-Diagnose
definierten Services, sondern bedient sich der in ISO 14229 festgelegten „Unified
Diagnostic Services“ (UDS), die mittlerweile bei vielen Fahrzeugherstellern auch für
die Hersteller-spezifische Diagnose verwendet werden. Die für die WWH-OBDkonforme Diagnose geforderten UDS-Services sind:
• Service 0x14 „ClearDiagnosticInformation“ zum Löschen des Fehlerspeichers.
(Vgl. ISO 15031 Mode 04)
• Service 0x19 „ReadDTCInformation“ zum Auslesen des Fehlerspeichers und
der Umgebungsdaten (Snapshot-Record und Extended-Data-Record). (Vgl.
ISO 15031 Mode 03, 07, 02).
• Service 0x22 „ReadDataByIdentifier“ zum Auslesen der Steuergerätedaten
und Testergebnisse (Vgl. ISO15031 Mode 01, 06 und 09)
• Service 0x31 „RoutineControl“ zum Ausführen von Routinen (Vgl. Mode 08).
Die Bereiche der zu unterstützenden Subfunktionen ergeben sich aus den Datendefinitionen aus ISO 27145-2. Dieses Dokument schlägt die Brücke zwischen WWHOBD einerseits und OBD-II/EOBD andererseits, denn es verweist für die Definition
der Steuergerätedaten und DTCs auf die entsprechenden SAE Dokumente SAE
J1979-DA und SAE J2012-DA.
2 ODX
2.1 Grundlagen
ODX wurde im Rahmen einer ASAM/ISO Arbeitsgruppe seit 2003 standardisiert. Die
Notwendigkeit für die ODX-Entwicklung ergab sich aus der mangelnden Akzeptanz
der damals bestehenden Standards zur Beschreibung von Diagnosedaten. Der Austausch von Diagnosedaten über Prozessgrenzen hinweg war deshalb teilweise mit
erheblichem Aufwand verbunden.
Ein wichtiges Ziel der ODX-Standardisierung ist die Unterstützung des SingleSource-Prinzips. Abbildung 1 veranschaulicht zwei Aspekte: Einerseits sollen die
Daten in unterschiedlichen verarbeitenden Werkzeugen eingesetzt werden können,
andererseits werden die Daten ohne Anpassung auch in unterschiedlichen Unternehmensbereichen weiterverarbeitet. Bei der Entwicklung von ODX wurden zahlreiche Anwendungsfälle aus den unterschiedlichen Unternehmensbereichen berücksichtigt, so dass ODX-basierte Prozesse nach dem Single-Source-Prinzip ermöglicht
werden.
Der Standard besteht aus folgenden Komponenten:
• Kernstück des Standards ist ein UML-Modell, das die Datenstruktur definiert.
• Abgeleitet aus dem UML-Modell ist das XML-Schema, welches die XMLStruktur der Diagnosedaten definiert. XML-Instanzen können mit
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Abbildung 1: Das Single-Source-Prinzip: Oben Identische Daten in unterschiedlichen
verarbeitenden Werkzeugen. Unten: Identische Daten in verschiedenen Unternehmensbereichen.
entsprechenden Werkzeugen automatisch gegen die Schema-Definition validiert werden.
• Die semantische Bedeutung der Datenstrukturen ist in einer textuellen Beschreibung festgelegt, die unter anderem die Parametrierung der ODXbasierten Testsysteme festlegt.
• Da sich nicht alle erforderlichen semantischen Einschränkungen im UMLModell bzw. im XML-Schema abbilden lassen, werden zusätzliche semantische Einschränkungen in den sogenannten Checker-Regeln definiert.
Standardkonforme ODX-Daten müssen sowohl valide im Sinne des XML-Schemas,
als auch konform zu den Checker-Regeln sein. Letzteres wird in der Praxis durch
den Einsatz von ODX-Checkern erreicht.
Der Fokus der Standardisierungsaktivitäten lag auf der Parametrierung der Diagnosetester. Das Datenmodell in der Version 2.2.0 ist aus sieben Teilmodellen aufgebaut, die sich an dieser Ausrichtung orientieren (Abbildung 2). Die unteren drei Teilmodelle bilden mit der Definition der Diagnosedienste, den Kommunikationsparametern und der Beschreibung der Fahrzeugzugänge das Herzstück des Standards. Sie
bilden gleichzeitig den minimalen Umfang, der für die Kommunikation eines Testgerätes mit einem oder mehreren Steuergeräten inklusive der Dateninterpretation erforderlich ist.
Die oberen vier Teilmodelle sind der Beschreibung der Flash-Daten, den Steuergerätekonfigurationsdaten, der funktionsorientierten Diagnose und den sogenannten
„Multiple ECU Jobs“ vorbehalten. Ihre Verbreitung und Bedeutung ist niedriger im
Vergleich zu den erst genannten Teilmodellen.
ODX wurde 2008 als ISO-Standard 22901-1 verabschiedet. Die erste Version des
Standards wurde 2004 vom ASAM als ODX 2.0.0 herausgegeben. Zwischen dieser
und der ISO-Ausgabe lagen zwei weitere Releases, in die Korrekturen und auch die
Erfahrungen aus Projekten in Form von Verbesserungsvorschlägen und Erweiterungen eingeflossen sind.
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Abbildung 2: Aufbau des ODX-Modelles
Die ODX-Version 2.0.1 wurde 2005 herausgegeben und ist heute die am weitesten
verbreitete, die auch von den verfügbaren Softwarewerkzeugen am besten unterstützt ist.
Um der zunehmenden Bedeutung der On-Board-Diagnose gerecht zu werden, wurde
im Rahmen der ISO-Aktivitäten die ODX-Spezifikation um einen zweiten Teil ergänzt,
der Richtlinien für die Erstellung der OBD-relevanten Diagnoseinhalte festlegt. Der
Standard hat die Abstimmung zum „Draft International Standard“ (DIS) bereits bestanden. Das Release als ISO-Standard steht noch aus.
2.2
ISO 22901-2: OBD-II in ODX
Ziele
Ziel der Standardisierung von OBD-II in ODX (ISO 22901-2) ist es, die für die Entwicklung eines generischen MVCI-basierten Scan-Tools benötigten Festlegungen zu
treffen. Dies sind insbesondere:
• Festlegung der Layer-Hierarchie (DIAG-LAYER)
• Definition der benötigten Kommunikationsparameter (COMPARAM-SPEC)
• Definition der VEHICLE-INFO-SPEC
• Definition der Service-Struktur (DIAG-SERVICEs)
• Festlegung ausgezeichneter SHORT-NAMEs und LONG-NAMEs
• Definition von SEMANTIC-Werten für Services und die zugehörigen Daten
(DIAG-SERVICEs und TABLEs)
• Definition der ODX IDs
• Exemplarische Festlegung der PIDs und DTCs
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Die Einhaltung des Standards sowohl bei der Erstellung der ODX-Daten als auch bei
der Implementierung des Scan-Tools ermöglicht die Austauschbarkeit. ISO 22901-2
stellt also quasi den Vertrag zwischen der Scan-Tool-Implementierung und den
OBD-ODX-Daten dar. Der Teilstandard 22901-2 bezieht sich auf ODX 2.2.0. Er besteht aus einem Text-Dokument mit ODX-Beispielen, stellt aber keine vollständige
OBD-Beschreibung in ODX dar. Aus dem Standard können Checker-Regeln abgeleitet werden, diese sind aber nicht im Standard definiert. ISO 22901-2 ist somit bzgl.
Umfang und Inhalt mit den ODX-Autorenrichtlinien vergleichbar, die sich bei vielen
Firmen etabliert haben
Struktur des Modells
Die OBD-Kommunikation basiert auf der funktionalen Adressierung. Alle abgasrelevanten Steuergeräte werden deshalb im ODX-Modell in einer FUNCTIONALGROUP mit dem SHORT-NAME „FG_OBD_II“ zusammengefasst. Da die OBDSpezifikation nicht nur die Kommunikation über CAN, sondern auch über K-Line, und
SAE J-1850 vorsieht, gibt es für jeden der genannten Physical-Layer einen ODXPROTOCOL-Layer, der die entsprechenden Kommunikationsparameter referenziert,
die auch jeweils in einer Datei zusammengefasst sind. Zwischen PROTOCOL und
COMPARAM-SPEC besteht hier einen 1:1-Beziehung. Die FUNCTIONAL-GROUP
„FG_OBD_II“ erbt von allen Protokollen.
Der Start der Kommunikation zwischen Tester und Steuergerät erfolgt am MVCISystem durch das Öffnen eines LOGICAL-LINK. Der LOGICAL-LINK ist in der
VEHICLE-INFO-SPEC „VI_OBD_II“ definiert und enthält als wesentlichen Bestand-
Abbildung 3: Schematische Darstellung der OBD-Modellierung gemäß 22901-2 in
ODX. CPS=COMPARAM-SPEC; ES=ECU-SHARED-DATA; PR=PROTOCOL;
FG=FUNCTIONAL-GROUP; LL=LOGICAL-LINK.
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
teil im Fall von OBD einen Verweis auf die FUNCTIONAL-GROUP „FG_OBD_II“ und
auf einen der oben definierten PROTOCOL Layer. Insgesamt sind also für die vier
Physical-Layer vier LOGICAL-LINKS erforderlich. Ihre SHORT-NAMEs und LONGNAMEs sind im Standard festgelegt. Auf Basis dieser Festlegung kann das Testsystem die Kommunikation auf dem gewünschten Physical-Layer starten.
Redundanzvermeidung
Die OBD-II-Modes werden in ODX als DIAG-SERVICEs beschrieben. Der ODXStandard sieht unterschiedliche Mechanismen zur Vermeidung von Redundanzen in
den Daten vor: Die sogenannte Value-Inheritance ist an die Vererbung in der Objektorientierung angelehnt. DIAG-SERVICEs (aber auch andere Elemente) können in
höheren Schichten definiert werden und sind bei Erstellung einer Vererbungsbeziehung auf diese Schicht auch in den sogenannten erbenden Schichten sichtbar (d.h.
ausführbar). Im Gegensatz zur Value-Inheritance, die eine generelle Übernahme der
Elemente aus der erbenden Schicht zur Folge hat, steht mit dem ImportMechanismus ein weiteres Mittel bereit, mit dem selektiv einzelne Elemente aus einer bestehenden Datenbeschreibung ausgewählt werden können.
Im Fall von OBD werden die Konzepte eingesetzt, um die wiederholte identische Definition der Modes (Dienste) in den vier PROTOCOL-Layern zu vermeiden. Hierzu
wird die Definition der DIAG-SERVICEs in ECU-SHARED-DATA Layer ausgelagert,
von denen die vier PROTOCOL-Layer erben. Die geerbten Dienste aus den ECUSHARED-DATA sind somit nach Öffnen des entsprechenden LOGICAL-LINKs für
jeden der vier PROTOCOL-Layer sichtbar d.h. ausführbar. Da Mode 05 für OBD auf
CAN nicht vorgesehen ist, ist eine zusätzliche Aufteilung der Modes 01-04 und 06-0A
einerseits und Mode 05 andererseits in jeweils eine ECU-SHARED-DATA erforderlich. Der PROTOCOL-Layer für OBD on CAN erbt direkt von dem erstgenannten, die
übrigen PROTOCOL-Layer erben von dem letztgenannten ECU-SHARED-DATALayer.
Abbildung 3 zeigt schematisch den Aufbau des ODX-Modells mit den Zuordnungen
zu den ODX-Kategorien und den Beziehungen der wichtigsten Elemente untereinander. Die linke Hälfte der Abbildung führt die Modellierung für den Fall der Diagnose
auf CAN im Detail aus, die rechte Seite deutet die Modellierung für die drei anderen
Physical-Layer schematisch an. Die Modellierung hat zur Folge, dass die ServiceDefinitionen komplett in den ECU-SHARED-DATAs erfolgt. Die PROTOCOL- und
FUNCTIONAL-GROUP-Dateien hingegen enthalten im Wesentlichen die Verweise
auf die entsprechenden Kommunikationsparameter und die Informationen über die
vererbenden Layer nicht aber Diagnoseinhalte. Die Unterstützung für DoIP könnte in
dem Modell durch Hinzufügen des entsprechenden Tripels aus COMPARAM-SEPC,
PROTOCOL und LOGICAL-LINK integriert werden.
Diagnosedienste
Für die Beschreibung der DIAG-SERVICEs (Modes) kommen in ODX zwei prinzipiell
unterschiedliche Varianten in Frage:
a) Erstellung eines DIAG-SERVICEs für jede gültige Kombination aus SID
(Mode) und Subfunction.
b) Einmalige generische Beschreibung des DIAG-SERVICEs mit einer TABLE,
welche die Definition der spezifischen Daten für die Subfunctions enthält.
Abbildung 4 zeigt die beiden Möglichkeiten schematisch anhand des UDS-Services
0x22 für die zwei Identifier 0x0001 und 0x002. Die Varianten unterscheiden sich
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Abbildung 4: Alternativen zur Beschreibung von DIAG-SERVICEs in ODX.
Links:
Möglichkeit
a)
ohne
Verwendung
des
Elementes
TABLE.
Rechts: Variante b) unter Verwendung des Elementes TABLE.
zwar in der ODX-Datei deutlich, aus Sicht der Applikation müssen sie zu identischem
Verhalten führen.
In 22901-2 kommt für alle Services die Alternative b) zum Einsatz, denn sie hat folgende Vorteile:
• Die Service-Beschreibung kann vollständig von der Beschreibung der transportierten Daten getrennt werden. Wenn mehrere Services auf den gleichen Daten operieren, so können Erweiterungen (bspw. des DTC-Umfanges oder des
PID-Umfanges) an zentraler Stelle gepflegt werden.
• Die Beschreibung nach Alternative b) ist deutlich kompakter, da der XMLOverhead für die n-fache Definition von DIAG-SERVICEs, REQUESTs, RESPONSEs etc. entfällt. Mit zunehmender Anzahl von Subfunctions wird der Effekt größer. Vor dem Hintergrund der hohen Anzahl an PIDs, MIDs und TIDs
im OBD-II Standard resultiert die Modellierung der Modes gemäß Variante b)
in Dateigrößen, die etwa halb so groß sind verglichen mit der Modellierung
nach Variante a)
Eine Besonderheit in der Definition des OBD-Modes 0x01 ist die strukturelle Abhängigkeit einiger PIDs von der Unterstützung der PIDs 0x13 bzw. 0x1D. Ein Beispiel
hierfür sind die PIDs 0x14-0x24. Die Unterscheidung trägt unterschiedlichen Powertrain-Layouts (Zuordnung der Sauerstoffsensoren zu den Bänken) Rechnung. Für
den OBD-Test bedeutet das, dass nach dem Ausführen des Modes 0x01 mit dem
PID 0x00 je nach erhaltener Steuergeräteantwort die weiteren SteuergeräteAntworten auf konkrete PID-Anfragen unterschiedlich decodiert werden müssen. Zur
Beschreibung dieses Merkmals des Modes 0x01 können die in ODX 2.1.0 eingeführten SUB-COMPONENTs verwendet werden. SUB-COMPONENTs sind neben den
Steuergeräte-Varianten (ECU-VARIANTs) ein zusätzlicher Mechanismus, um eine
Varianz der Steuergeräte-Beschreibung innerhalb eines ODX-Layers auszudrücken.
Für die SUB-COMPONENTs gibt es ebenfalls einen Identifikationsmechanismus, der
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
an den Variantenidentifikationsmechanismus angelehnt ist. Eine Applikation kann
somit die zur Identifikation von SUB-COMPONENTS erforderlichen Services mit den
geforderten Kriterien (Parameterwerte) auslesen. Je nach Antwort können dann die
im Folgenden ausführbaren Services/Daten durch die Applikation entsprechend gefiltert werden.
3 Erfahrungen und Konsequenzen
Die OBD ODX-Beschreibung (ISO 22901-2) verwendet konsequent die durch die
ODX-Spezifikation (ISO 22901-1) verfügbaren Mechanismen zur Redundanzvermeidung und zum modularen Aufbau der Daten. Hierdurch wird ein hoher Grad an Änderungsfreundlichkeit erreicht.
Die im Rahmen des Standards vorgegebenen Regeln sind auf die optimale Parametrierung eines Diagnose-Testers oder Scan-Tools zugeschnitten. Neben der Testerparametrierung sind aber auch die Code-Generierung der Diagnosesteuergerätesoftware und deren Validierung weitere wichtige Verwendungsszenarien, deren Unterstützung im Folgenden betrachtet wird. Die Anforderungen an die Datenqualität
sind für die Code-Generieung und die Software-Validierung höher als für die Testerparametrierung, da die Daten in beiden Fällen Spezifikationsqualität aufweisen müssen. Die Datenqualität ist entscheidend für den Abdeckungsgrad der automatisch
erzeugten Software und die Aussagekraft der Tests im Rahmen der automatisierten
Validierung. Vor diesem Hintergrund können ODX-Daten die gemäß 22901-2 für die
generische Testerparametrierung erstellt wurden, aus den folgenden Gründen nur
eingeschränkt zur Code-Generierung oder Softwarevalidierung herangezogen werden:
• Die generische Testerbedatung eines Scantools muss alle in ISO15031 vordefinierten Datendefinitionen (PID, MID, TID, DTC) komplett enthalten, weil
das Scantool mit allen erlaubten Datenkonstellationen sinnvoll umgehen
muss. Die Steuergerätespezifikation hingegen darf nur die von dem spezifizierten Steuergerät tatsächlich unterstützten Daten beschreiben.
• ISO 22901-2 beschreibt die OBD-Daten in einer FUNCTIONAL-GROUP. Ein
einzelnes Steuergerät wird in ODX durch ein BASE-VARIANT beschrieben.
Eine BASE-VARIANT für eine OBD-Bedatung muss folglich von der
FUNCTIONAL-GROUP erben. Die vom Steuergerät nicht unterstützten Services und Daten müssten deaktiviert werden.
• Die Verwendung dynamischer TABLEs in den Steuergeräteantworten ist aus
Sicht der Testerparametrierung ideal, für die Steuergerätespezifikation aber
nicht ausreichend, weil nicht ausgedrückt werden kann, dass in den Steuergeräteantworten nur die im Request angefragten Daten übertragen werden dürfen. ODX sieht hierfür zwar einen Mechanismus vor (MATCHING-REQUEST),
er kann aber in der konkreten Situation nicht verwendet werden, da bis zu 6
PIDs in einer Antwort übertragen werden können.
• Die Modellierung des Powertrain-Layouts mit SUB-COMPONENTs - wie oben
beschrieben - wird der Testerparametrierung gerecht, weil zur Laufzeit entschieden werden kann, welche Teile des Modells gültig sind. Die Information,
für welche SUB-COMPONENT Code erzeugt werden soll, also welches Powertrain-Layout vorliegt, muss entweder dem Code-Generator außerhalb von
ODX mitgeteilt werden, oder die ODX-Daten müssen entsprechend aufbereitet werden.
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Die Verwendung der OBD-II Daten in ISO 27145 impliziert auch die Übernahme einiger OBD-II-Konzepte wie etwa die Ermittlung der verfügbaren/unterstützten PIDs
durch Anfrage der „Supported PIDs“ 0x00, 0x20 etc., deren Steuergeräteantwort die
unterstützten PIDs in dem entsprechenden PID-Bereich (0x01-0x1F, 0x21-0x3F,
etc.) enthält.
Die grundlegenden Design-Entscheidungen der OBD-ODX-Modellierung können
auch für die Modellierung des WWH-OBD-Standards ISO 27145 übernommen werden. Änderungen betreffen im Wesentlichen die ECU-SHARED-DATA mit den Service-Definitionen, denn die OBD-II Modes müssen durch die entsprechenden UDSServices ersetzt werden. Die für OBD-II zulässigen K-Line-Protokollle und SAE
J1850 entfallen. An deren Stelle tritt die Diagnose über IP. Die rechte Seite der
Abbildung 3 müsste also durch PROTOCOL, LOGICAL-LINK und COMPARAMSPEC für DoIP ersetzt werden. Da ISO 22901-2 die Definition der Daten aus SAE
J1979 und SAE J2012 in ECU-SHARED-DATA-Layern definiert, könnten diese weitestgehend übernommen werden, allerdings müssen einzelne Datenbeschreibungen
der jeweils aktuellen Version der SAE J2012-DA und SAE J1979-DA angepasst werden.
Die Einführung von WWH-OBD für den Nutzfahrzeugbereich ist für Fahrzeuge ab
Modelljahr 2013 gefordert. Deshalb beschäftigen sich die Entwicklungsabteilungen
der Fahrzeughersteller seit geraumer Zeit mit diesem Thema, das sie vor neue Herausforderungen stellt. Es ist davon auszugehen, dass WWH-OBD nach ISO 27145
in der Praxis zunächst auf die CAN-Kommunikation beschränkt bleiben wird. So
kann zunächst die WWH-OBD-Diagnose eingeführt werden, in einem späteren
Schritt kann dann ggf. auch der neue Physical-Layer unterstützt werden. Risiken bei
der Einführung neuer Standards und Technologien lassen sich durch die isolierte
Betrachtungsweise besser einschätzen und minimieren.
Abhängig von den potentiellen Absatzmärkten ist eine nicht zu unterschätzende Vielfältigkeit an unterschiedlichen Fehlerspeicherimplementierungen notwendig, die je
nach regionalen Anforderungen zum Einsatz kommen müssen. So wird auf dem USMarkt die Diagnose über J1939 bzw. OBD-II noch einige Zeit gesetzt sein. Für Fahrzeuge die auch auf dem europäischen Markt verkauft werden sollen, muss ebenfalls
der Zugang und die Diagnose gemäß ISO 27145 bzw. ISO 15031 vorgesehen werden. Neben diesen Varianten ist die „Enhanced-Diagnose“ für die Serviceorganisation eine weitere Ausprägung. Es wird also nicht selten vorkommen, dass man alle
vier Implementierungen auf einem Steuergerät vorfindet.
Hier stellt sich auch die Frage, wie die Fehlercodes der Herstellerdiagnose in die
standardisierten Codes abgebildet werden. In ODX sind die unterschiedlichen Ausprägungen durch entsprechende DTC-DOPs beschreibbar, die je nach Diagnoseprotokoll für die Kommunikation herangezogen werden können.
Die Umsetzung von OBD-II und WWH-OBD zeigt, wie verschiedene Standards kombiniert werden können. Die Integration dieser Technologien hat gerade erst begonnen. Die Zukunft wird zeigen, wie sich die Themen WWH-OBD, OBD über ODX und
DoIP weiter entwickeln werden.
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com
Abkürzungen
ASAM
CAN
CARB
DA
DoIP
DTC
EOBD
GTR
IP
ISO
KWP
MIL
MVCI
OBD
ODX
SAE
TCP
UDS
VOBD
WWH-OBD
Association for Standardisation of Automation and Measuring
Systems
Controller Area Network
Californian Air Resources Board
Digital Annex
Diagnostics over IP
Diagnostic Trouble Code
European On-Board-Diagnosis
Global Technical Regulation
Internet Protocol
International Organization for Standardization
Key Word Protocol
Malfunction Indication Lamp
Modular Vehicle Communication Interface
On-Board-Diagnosis
Open Diagnostic Data Exchange
Society of Automotive Engineers
Transmission Control Protocol
Unified Diagnostic Services
Vehicle On-Board-Diagnosis
World-Wide-Harmonized OBD
Literatur
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Title 13, California Code Regulations, Section 1968.2, Malfunction and
Diagnostic System Requirements for 2004 and Subsequent Model-Year
Passenger Cars, Light-Duty Trucks, and Medium-Duty Vehicles and Engines
(OBD II)
Richtlinie 98/69/EG des Europäischen Parlamentes und des Rates vom 13.
Oktober 1998 über Maßnahmen gegen die Verunreinigung der Luft durch
Emissionen von Kraftfahrzeugen und zu Änderung der Richtlinie 70/220/EWG
des Rates
ISO 15031: Road vehicles - Communication between vehicle and external test
equipment for emissions-related diagnostics
Global Technical Regulation No. 5: Technical Requirements for On-BoardDiagnostic Systems (OBD) for Road Vehicles
ISO 27145-1: Road vehicles - Implementation of WWH-OBD communication
requirements
ISO 13400: Road vehicles - Diagnostic communication over Internet Protocol
(DoIP)
ISO 22901-1: Road vehicles - Open diagnostic data exchange (ODX)— Part 1:
Data model specification
ISO 22901-2: Road vehicles - Open diagnostic data exchange (ODX) — Part 2:
Emissions-related diagnostic data
Automatic Validation of Diagnostic Services by use of a Diagnostic Integration
and Validation Assistant, ATZ elektronik 6/2008
Vector Informatik GmbH > Ingersheimer Str. 24 > 70499 Stuttgart > Tel. 0711-80670-0 > Fax 0711-80670-111 > www.vector.com