Das KWP2000-Protokoll ist ein de-facto Standard in Automobilanwendungen Diagnose geworden. Es ist standardisiert als ISO 14230-3. KWP2000 beschreibt die Implementierung der verschiedenen Diagnose-Services können Sie das Protokoll Accethrough. KWP2000 läuft Sie auf mehrere Transportschichten z. B. K-Leitung (seriell) oder CAN-Bus.
Transportprotokoll
Wie KWP2000-Meldungen der Variable Bytelängen verwendet, ist ein Transportprotokoll notwendig auf Ebenen mit nur einer gut definierten (kurze) Nachricht-Länge, z. B. CAN-Bus. Das Transportprotokoll teilt eine lange Nachricht KWP2000 in Stücke, die über das Netzwerk übertragen werden können und baut diese Stücke um die Originalnachricht erneut.
KWP2000 läuft auf CAN auf verschiedene Transportprotokolle wie ISO TP (ISO 15765-2), 1,6 TP, TP 2. 0 (Volkswagen), und SAE J1939-21. Für KWP2000 unterstützt Automotive Diagnostic Command Set nur die ISO TP (standardisiert in ISO 15765-2) und herstellerspezifische VW TP 2.0 Transportprotokolle.
Diagnose-Services
Das diagnostische Angebot in KWP2000 sind in funktionale Einheiten zusammengefasst und durch einen ein-Byte-Code (Dienst-ID) identifiziert. Der Standard definiert nicht alle Codes; für einige Codes die Norm bezieht sich auf andere SAE oder ISO-Normen, und einige sind für herstellerspezifische Erweiterungen reserviert. Automotive Diagnostic Command Set unterstützt die folgenden Dienste:
• Diagnose-Management
• Datenübertragung
• Datenübertragung (Fehlercodes) gespeichert:
• Eingabe/Ausgabe-Steuerung
• Aktivierung des remote-Routine
Upload/Download und Extended sind nicht Bestandteil der Automotive Diagnostic Command Set.
Diagnose-Service-Format
Diagnose-Services haben ein gemeinsames Nachrichtenformat. Jeder Dienst definiert ein Request-Nachricht und Positive Response-Nachricht Negative Response-Nachricht. Die Request-Nachricht hat die Dienst-ID als erstes Byte plus zusätzliche Dienst definierten Parameter. Die Positive Response-Nachricht hat ein Echo die Dienst-ID mit Bit 6 gesetzt ist als erste Byte plus den Dienst definierten Response-Parametern.
Die Negative Response-Nachricht ist in der Regel eine drei Byte Nachricht: Es hat die Negative Antwort-Dienst-ID als erstes Byte, ein Echo von der ursprünglichen Dienst-ID als zweites Byte und ein ResponseCode als drittes Byte. Die einzige Ausnahme in diesem Format ist die negative Reaktion auf einen EscapeCode Service; hier das dritte Byte ist ein Echo der benutzerdefinierten Dienst-Code und das vierte Byte ist die ResponseCode. Der KWP2000-Standard definiert teilweise die ResponseCodes, aber es gibt Zimmer liess für Hersteller-spezifische Erweiterungen. KWP2000 definiert für einige der ResponseCodes ein Fehlerbehandlungsverfahren. Da sowohl positive als auch negative Reaktionen ein Echo des angeforderten Dienstes verfügen, können Sie immer die Antworten auf ihre entsprechende Anfrage zuweisen.
Verbinden/Trennen
KWP2000 erwartet einen Diagnosevorgang mit StartDiagnosticSession gestartet und mit StopDiagnosticSession beendet werden. Allerdings hat StartDiagnosticSession DiagnosticMode Parameter, der den Diagnosevorgang bestimmt. Abhängig von dieser Art ECU kann möglicherweise nicht andere Diagnose-Services unterstützen oder Betrieb in einem eingeschränkten Modus, wo nicht alle Steuergeräte-Funktionen zur Verfügung stehen. Die DiagnosticMode Parameterwerte sind Hersteller-spezifisch und nicht im Standard definiert. Für eine diagnostische Sitzung aktiv zu bleiben muss es den Dienst TesterPresent in regelmäßigen Abständen ausgeführt werden, wenn kein anderer Dienst ausgeführt wird. Wenn der TesterPresent-Dienst für einen bestimmten Zeitraum fehlt, die diagnostische Sitzung beendet wird und ECU gibt in den normalen Betriebsmodus.
GetSeed/entsperren
Ein GetSeed/Unlock-Mechanismus kann einige Diagnose-Services schützen. Allerdings sind die entsprechenden Dienste der Hersteller überlassen und nicht durch den Standard definiert.Sie können den GetSeed/Unlock-Mechanismus, durch den Dienst SecurityAccess ausführen. Dies definiert verschiedene Stufen der Sicherheit, aber der Hersteller weist diese Niveaus bestimmter Dienstleistungen.
Schreib-Lese-Speicher
Nutzen Sie die Lese-/WriteMemoryByAddress-Dienstleistungen zum Upload/Download von Daten an bestimmte Speicheradressen auf ein Steuergerät. Die Adresse ist ein drei-Byte-Menge in KWP2000 und eine fünf-Byte-Menge (4-Byte-Adresse und ein-Byte-Erweiterung) in die Kalibrierprotokolle. Upload/Download Funktionseinheit Dienstleistungen sind hoch Hersteller spezifische und nicht klar definiert in der Norm, so dass sie keine gute Möglichkeit sind, einen allgemeine Upload/Download-Mechanismus zur Verfügung stellen.
Messungen
Nutzen Sie die ReadDataByLocal/CommonIdentifier-Dienstleistungen auf ECU-Daten in einer Weise ähnlich einer DAQ-Liste zugreifen. Ein Local/CommonIdentifier beschreibt eine Liste der ECU-Mengen, die dann vom Steuergerät zum Tester übertragen werden. Die Übertragung kann entweder Einzelwert oder periodisch, mit einem langsamen, Medium oder schnelle Übertragungsrate sein. Die Übertragungsraten sind herstellerspezifisch. können Sie den SetDataRates-Dienst eingestellt, aber diese Einstellung ist herstellerspezifisch. Automotive Diagnostic Command Set unterstützt Einzelpunkt-Messungen.
Fehlercodes
Eine wichtige diagnostische Funktion ist das Auslesen des Fehlercodes (DTCs). KWP2000 definiert