Das KWP2000-Protokoll in Fahrzeugdiagnoseanwendungen

Kostenlose Immobilienbewertung

Das KWP2000-Protokoll hat sich zu einem De-facto-Standard in Fahrzeugdiagnoseanwendungen entwickelt. Es ist standardisiert als ISO 14230-3. KWP2000 beschreibt die Implementierung verschiedener Diagnosedienste, auf die Sie über das Protokoll zugreifen können. Sie können KWP2000 auf mehreren Transportschichten ausführen, z. B. K-line (seriell) oder CAN.

Transport Protocol

Da KWP2000 Nachrichten mit variablen Byte-Längen verwendet, ist ein Transportprotokoll auf Schichten mit nur einer genau definierten (kurzen) Nachrichtenlänge erforderlich, z. B. CAN. Das Transportprotokoll teilt eine lange KWP2000-Nachricht in Stücke auf, die über das Netzwerk übertragen werden können, und stellt diese Teile wieder zusammen, um die ursprüngliche Nachricht wiederherzustellen.

KWP2000 läuft auf CAN mit verschiedenen Transportprotokollen wie ISO TP (ISO 15765-2) ), TP 1.6, TP 2. 0 (Volkswagen) und SAE J1939-21. Für KWP2000 unterstützt der Automotive Diagnostic Command Set nur das ISO TP (standardisiert in ISO 15765-2) und herstellerspezifische Transportprotokolle des VW TP 2.0.

Diagnostic Services

Die in KWP2000 verfügbaren Diagnosedienste sind in Funktionseinheiten gruppiert und durch einen Ein-Byte-Code (ServiceId) gekennzeichnet. Der Standard definiert nicht alle Codes. Bei einigen Codes bezieht sich der Standard auf andere SAE- oder ISO-Standards, und einige sind für herstellerspezifische Erweiterungen reserviert. Das Automotive Diagnostic Command Set unterstützt die folgenden Dienste:

& bull; Diagnosemanagement

& bull; Datenübertragung

& bull; Gespeicherte Datenübertragung (Diagnosefehlercodes)

& bull; Ein- / Ausgabesteuerung

& bull; Fernaktivierung der Routine

Upload / Download und erweiterte Dienste sind nicht Teil des Automotive Diagnostic Command Set.

Diagnostic Service Format

Diagnosedienste haben ein gemeinsames Nachrichtenformat. Jeder Dienst definiert eine Anforderungsnachricht, eine positive Antwortnachricht und eine negative Antwortnachricht. Die Anforderungsnachricht enthält die ServiceId als erstes Byte sowie zusätzliche durch den Dienst definierte Parameter. Die positive Antwortnachricht enthält ein Echo der ServiceId, wobei das Bit 6 als erstes Byte gesetzt ist, sowie die durch den Dienst definierten Antwortparameter.

Die negative Antwortnachricht ist normalerweise eine 3-Byte-Nachricht: Sie hat die negative Antwortdienst-ID als erstes Byte ein Echo der ursprünglichen ServiceId als zweites Byte und ein ResponseCode als drittes Byte. Die einzige Ausnahme bei diesem Format ist die negative Antwort auf einen EscapeCode-Dienst. Hier ist das dritte Byte ein Echo des benutzerdefinierten Servicecodes und das vierte Byte ist der ResponseCode. Der KWP2000-Standard definiert teilweise die ResponseCodes, es besteht jedoch noch Platz für herstellerspezifische Erweiterungen. Für einige der ResponseCodes definiert KWP2000 eine Fehlerbehandlungsprozedur. Da sowohl positive als auch negative Antworten ein Echo des angeforderten Dienstes aufweisen, können Sie die Antworten immer der entsprechenden Anforderung zuordnen.

Connect / Disconnect

KWP2000 erwartet, dass eine Diagnosesitzung mit StartDiagnosticSession gestartet und mit StopDiagnosticSession beendet wird. StartDiagnosticSession verfügt jedoch über einen Parameter DiagnosticMode, der den Diagnosesitzungstyp bestimmt. Abhängig von diesem Typ unterstützt die ECU möglicherweise andere Diagnosedienste oder arbeitet in einem eingeschränkten Modus, in dem nicht alle ECU-Funktionen verfügbar sind. Die Parameterwerte für DiagnosticMode sind herstellerspezifisch und nicht in der Norm definiert. Damit eine Diagnosesitzung aktiv bleibt, muss der TesterPresent-Dienst regelmäßig ausgeführt werden, wenn kein anderer Dienst ausgeführt wird. Wenn der TesterPresent-Dienst für einen bestimmten Zeitraum fehlt, wird die Diagnosesitzung beendet und die ECU kehrt in den normalen Betriebsmodus zurück.

GetSeed / Unlock

Ein GetSeed / Unlock-Mechanismus kann einige Diagnosedienste schützen. Die anwendbaren Dienste sind jedoch dem Hersteller überlassen und nicht durch den Standard definiert. Sie können den GetSeed / Unlock-Mechanismus über den SecurityAccess-Dienst ausführen. Dies definiert mehrere Sicherheitsstufen, aber der Hersteller weist diese Stufen bestimmten Diensten zu.

Schreib- / Lesespeicher

Verwenden Sie die Read / WriteMemoryByAddress-Dienste, um Daten in bestimmte Speicheradressen eines Steuergeräts hochzuladen / herunterzuladen. Die Adresse ist eine 3-Byte-Menge in KWP2000 und eine 5-Byte-Menge (4-Byte-Adresse und 1-Byte-Erweiterung) in den Kalibrierungsprotokollen. Die Dienste der Upload- / Download-Funktionseinheiten sind stark herstellerspezifisch und im Standard nicht gut definiert, sodass sie keine gute Möglichkeit bieten, einen allgemeinen Upload- / Download-Mechanismus bereitzustellen.

Messungen

Verwenden Sie die ReadDataByLocal / CommonIdentifier-Dienste, um auf Steuergeräte-Daten ähnlich wie bei einer DAQ-Liste zuzugreifen. Ein Local / CommonIdentifier beschreibt eine Liste von ECU-Mengen, die dann von der ECU an den Tester übertragen werden. Die Übertragung kann entweder ein Wert oder periodisch sein, mit langsamer, mittlerer oder schneller Übertragungsrate. Die Übertragungsraten sind herstellerspezifisch. Sie können den SetDataRates-Dienst verwenden, um sie festzulegen. Diese Einstellung ist jedoch herstellerspezifisch. Das Automotive Diagnostic Command Set unterstützt Einpunktmessungen.

Diagnosefehlercodes

Eine wichtige Diagnosefunktion ist das Auslesen von Diagnose-Fehlercodes (DTCs). KWP2000 definiert mehrere Dienste, die auf DTCs basierend auf ihrer Gruppe oder ihrem Status zugreifen.

Eingabe- / Ausgabesteuerung

KWP2000 definiert Dienste zum Ändern interner oder externer ECU-Signale. Ein Beispiel ist das Umleiten von ECU-Sensoreingängen auf stimulierte Signale. Die Steuerparameter dieser Befehle sind herstellerspezifisch und nicht in der Norm definiert.

Fernaktivierung einer Routine

Diese Dienste ähneln den ActionService- und DiagService-Funktionen der CCP. Sie können eine interne ECU-Routine aufrufen, die durch einen Local / CommonIdentifier oder eine Speicheradresse identifiziert wird. Im Gegensatz zum Fall der CCP kann die Ausführung dieser Routine asynchron sein. Das heißt, es gibt separate Start-, Stopp- und RequestResult-Dienste. Die Steuerparameter dieser Befehle sind herstellerspezifisch und nicht in der Norm definiert.

Externe Referenzen

Weitere Informationen zum KWP2000-Standard finden Sie in der Norm ISO 14230-3.

Immobilienmakler Heidelberg

Makler Heidelberg

Immobilienmakler Heidelberg
Der Immoblienmakler für Heidelberg Mannheim und Karlsruhe
Wir verkaufen für Verkäufer zu 100% kostenfrei
Schnell, zuverlässig und kompetent


Source by Amos Huang