📈Modes (Services) und PIDs

Jede OBD-Anfrage beginnt mit dem Service (früher „Mode“), bei Mode 01 gefolgt von der Parameter-ID. Die Antwort beginnt mit Service + 0x40, wiederholt die PID und liefert die Datenbytes A, B, … – umgerechnet mit einer festen Formel.

🗂️Die Services nach SAE J1979

01→ 41
Aktuelle Daten

Live-Werte wie Drehzahl, Geschwindigkeit, Temperaturen – adressiert über die PID.

02→ 42
Freeze Frame

Momentaufnahme der Werte in dem Augenblick, als ein Fehler gespeichert wurde (gleiche PIDs wie Mode 01 + Frame-Nummer).

03→ 43
Gespeicherte DTCs lesen

Bestätigte, abgasrelevante Fehlercodes (Diagnostic Trouble Codes).

04→ 44
DTCs & Diagnosedaten löschen

Löscht Fehlerspeicher, Freeze Frames und Readiness-Status und schaltet die MIL (Motorkontrollleuchte) aus.

05→ 45
Lambdasonden-Tests

Nur bei Nicht-CAN-Fahrzeugen; bei CAN über Mode 06 abgebildet.

06→ 46
Ergebnisse On-Board-Tests

Testergebnisse der Überwachungen (z. B. Katalysator, Fehlzündungen).

07→ 47
Unbestätigte (pending) DTCs

Fehler, die im aktuellen oder letzten Fahrzyklus erkannt, aber noch nicht bestätigt sind.

08→ 48
Steuerung von Komponenten

Aktivieren von Tests/Aktoren (z. B. EVAP-Dichtheitsprüfung).

09→ 49
Fahrzeuginformationen

Fahrgestellnummer (VIN, PID 02), Kalibrier-IDs (PID 04), CVN (PID 06) …

0A→ 4A
Permanente DTCs

Fehler, die sich nicht per Mode 04 löschen lassen, sondern erst nach erfolgreicher Überwachung verschwinden.

🧮PID-Decoder

🧮 PID-Decoder

Antwort ohne CAN-ID und PCI eingeben (so wie der ELM327 sie mit ATH0 anzeigt).

  1. 1Mode-Byte 0x41 = 0x01 + 0x40 → positive Antwort
  2. 2PID 0x0C → Motordrehzahl
  3. 3A = 0x1A = 26, B = 0xF8 = 248
  4. 4Formel: (256·A + B) / 4
  5. 5Eingesetzt: (256·26 + 248) / 4 = 1.726 1/min
Motordrehzahl
1.726
1/min
Bereich 0 … 16.383,75

🎚️ Rückwärts: Wert → Bytes

2.500 1/min→41 0C 27 10zurückgerechnet: 2.500 1/min (Auflösung durch Ganzzahl-Bytes)
Anfrage   01 0C         Service 01, PID 0C (Drehzahl)
Antwort   41 0C 1A F8   41 = 01 + 40, PID 0C, A = 0x1A, B = 0xF8
Rechnung  (256 · 26 + 248) / 4 = 6904 / 4 = 1726 1/min

Auflösung: 1/4 1/min · Bereich 0 … 16 383,75 1/min

🧩Welche PIDs kann das Fahrzeug?

🧩 Unterstützte PIDs dekodieren

Antwort auf 01 00 (bzw. 20, 40 …): 4 Byte = 32 Bit. Das höchstwertige Bit von A steht für PID base+1, das niedrigste von D für base+0x20 – ist es gesetzt, lohnt die nächste Abfrage (01 20).

A7
01
1
A6
02
0
A5
03
1
A4
04
1
A3
05
1
A2
06
1
A1
07
1
A0
08
0
B7
09
0
B6
0A
0
B5
0B
0
B4
0C
1
B3
0D
1
B2
0E
1
B1
0F
1
B0
10
1
C7
11
1
C6
12
0
C5
13
1
C4
14
0
C3
15
1
C2
16
0
C1
17
0
C0
18
0
D7
19
0
D6
1A
0
D5
1B
0
D4
1C
1
D3
1D
0
D2
1E
0
D1
1F
1
D0
20
1

17 Bits gesetzt: 01, 03, 04, 05, 06, 07, 0C, 0D, 0E, 0F, 10, 11, 13, 15, 1C, 1F, 20 · PID 20 gesetzt → nächster Block abfragbar

📋Häufige PIDs (Mode 01)

PIDBedeutungBytesFormelEinheitBereich
0x04Berechnete Motorlast1100/255 · A%0 … 100
0x05Kühlmitteltemperatur1A − 40°C-40 … 215
0x06Kurzzeit-Kraftstofftrimm Bank 11100/128 · A − 100%-100 … 99,2
0x0BSaugrohrdruck (absolut)1AkPa0 … 255
0x0CMotordrehzahl2(256·A + B) / 41/min0 … 16.383,75
0x0DFahrzeuggeschwindigkeit1Akm/h0 … 255
0x0EZündzeitpunkt (vor OT)1A/2 − 64°-64 … 63,5
0x0FAnsauglufttemperatur1A − 40°C-40 … 215
0x10Luftmassenstrom (MAF)2(256·A + B) / 100g/s0 … 655,35
0x11Drosselklappenstellung1100/255 · A%0 … 100
0x1FLaufzeit seit Motorstart2256·A + Bs0 … 65.535
0x21Strecke mit leuchtender MIL2256·A + Bkm0 … 65.535
0x2FTankfüllstand1100/255 · A%0 … 100
0x31Strecke seit Fehlerspeicher-Löschen2256·A + Bkm0 … 65.535
0x33Luftdruck (absolut)1AkPa0 … 255
0x42Spannung Steuergerät2(256·A + B) / 1000V0 … 65,535
0x46Umgebungstemperatur1A − 40°C-40 … 215
0x5CMotoröltemperatur1A − 40°C-40 … 210
0x5EKraftstoffverbrauch (Rate)2(256·A + B) / 20L/h0 … 3.276,75