TRACE Zugang anfragen
DE
Fahrzeugdiagnose · OBD-II über CAN

OBD-II am CAN-Bus mitlesen — sehen, was das Diagnosegerät fragt.

Trace hört passiv am CAN-Bus mit, setzt ISO-TP-Nachrichten zusammen und dekodiert die OBD-II-Dienste: Mode, PID und den Messwert mit Einheit — 1726 rpm statt 1A F8.

Kein Mailprogramm eingerichtet? Schreib direkt an support@trace-analyzer.net.

Der Zugang ist derzeit kostenlos und wird auf Anfrage freigeschaltet.

  • ISO-TP zusammengesetzt
  • Werte mit Einheit
  • Modes 01–03, 06–0A
  • Hört nur zu, sendet nie
Beispiel

Von der Leitung zum Telegramm.

Ein Diagnosegerät fragt die Motordrehzahl ab, Steuergerät 1 antwortet — danach die Geschwindigkeit.

// Auf dem CAN-Bus · ID + 8 Datenbytes
7DF 02 01 0C 00 00 00 00 00 ↳ Anfrage des Diagnosegeräts (Broadcast) 7E8 04 41 0C 1A F8 00 00 00 ↳ Antwort von Steuergerät 1 7E8 03 41 0D 50 00 00 00 00
// In Trace · dekodierte Telegramme
OBD-II · Req-CurrentData
ID0x7DF
SID1 (Req-CurrentData)
PID12 (RPM)
OBD-II · Resp-CurrentData
ID0x7E8
SID65 (Resp-CurrentData)
PID12 (RPM)
EngineRPM1726 rpm
OBD-II · Resp-CurrentData
ID0x7E8
SID65 (Resp-CurrentData)
PID13 (Speed)
VehicleSpeed80 km/h

Jeder CAN-Frame beginnt mit einem ISO-TP-Kopf (beim Single Frame ein Byte: die Länge); Trace entfernt ihn beim Zusammensetzen, mehrteilige Antworten wie die VIN eingeschlossen. Drehzahl = (256 · 0x1A + 0xF8) / 4. Gekürzt dargestellt.

Was Trace leistet

OBD-II-Verkehr als lesbare Werte.

Zusammengesetzt statt zerstückelt

Lange Antworten wie die VIN verteilen sich auf mehrere CAN-Frames. Trace fügt First- und Consecutive-Frames zu einer Nachricht zusammen, bevor es sie dekodiert.

Physikalische Werte statt Hex

Über 80 Mode-01-PIDs — Drehzahl, Tempo, Kühlmittel, Luftmasse, Lambdasonden, Katalysator- und Öltemperatur, Verbrauch, Kilometerstand und mehr — erscheinen als physikalische Werte mit Einheit. Fehlercodes zeigt Trace als P0143, die VIN als Klartext.

Eine Definition, die du anpasst

Die Skalierung steht in der offenen TrIML-Definition: Wert = Rohwert · Faktor + Offset. Jeder weitere PID ist eine Zeile — ohne Code.

  • SucheVolltextsuche über alle Telegramme, auch im laufenden Strom.
  • AufnahmeRohbytes und fertige Interpretation in einer .msf-Datei.
  • Mehrere PortsMehrere Schnittstellen in einer Sitzung, auf einer gemeinsamen Zeitachse.
  • Aus der FerneProbe an der Anlage, Auswertung im Browser — ohne eingehenden Port.
Ehrlich zum Stand

Was noch fehlt.

Damit du nicht erst beim Ausprobieren merkst, wo die Grenzen liegen:

  • Noch nicht im Fahrzeug getestet. Die Erfassung über SocketCAN (Linux) und PEAK PCAN-Basic (Windows) ist gebaut; der Test mit echter Hardware steht noch aus. Die Dekodierung ist mit normgerecht erzeugten, synthetischen Nachrichtenfolgen getestet.
  • Steuerbefehle nur so weit genormt. Mode 08 zeigt, welchen Test ein Diagnosegerät anfordert – etwa den Dichtheitstest der Tankentlüftung – und welche Tests ein Steuergerät kennt. Was ein Hersteller darüber hinaus festlegt, erscheint als Rohbytes.
  • Unbekannte PIDs beenden die Zerlegung. Mehrfach-PID-Antworten und Freeze Frames werden Paar für Paar dekodiert. Ein PID, den die Definition nicht kennt, hat keine bekannte Länge — seine Bytes und alles dahinter in dieser Antwort erscheinen als ein Hex-Block.
  • Nur OBD-II über CAN. K-Line (ISO 9141, KWP2000), J1939 und UDS sind noch nicht definiert.
Die Definition

Skalierung ist ein Attribut.

Jeder PID ist ein Fall mit Größe, Faktor, Offset und Einheit. Die Engine wendet die Formel an — die Definition nennt sie nur.

TrIML-Referenz öffnen →

<!-- Mode 01: value = raw · scale + offset -->
<case value="0x05"><byte name="CoolantTemp"
      scale="1" offset="-40" unit="C" /></case>
<case value="0x0C"><word name="EngineRPM"
      bigendian="true" scale="0.25" unit="rpm" /></case>
<case value="0x0D"><byte name="VehicleSpeed"
      unit="km/h" /></case>
FAQ

Häufige Fragen

Fragt Trace das Auto selbst ab?

Nein. Trace sendet nie auf dem Bus. Mit PCAN schaltet Trace den Adapter vor dem Öffnen auf Listen-only und liest die Einstellung zurück — gelingt das nicht, wird der Adapter nicht geöffnet. Unter Linux schaltest du das Interface selbst auf Listen-only (ip link … listen-only on), sonst quittiert der CAN-Controller die Frames. Damit Werte erscheinen, muss etwas am Bus sie abfragen.

Welchen CAN-Adapter brauche ich?

Unter Linux jedes Interface mit SocketCAN-Treiber — Bitrate und Listen-only stellst du dort mit ip link ein. Unter Windows einen PEAK-PCAN-Adapter (PCAN-Basic), Vorgabe 500 kbit/s, die übliche OBD-II-Einstellung. Die Erfassung an echter Hardware ist noch nicht geprüft — siehe „Was noch fehlt“.

Was ist mit 29-Bit-IDs?

Sie werden mitgelesen und dekodiert. Die OBD-II-Definition wertet die CAN-ID nicht aus, sondern zeigt sie nur an — 0x18DAF110 wie 0x7E8. Bei 29 Bit fragt der Tester funktional mit 0x18DB33F1, Antworten kommen von 0x18DAF1xx.

OBD-II mit Trace ausprobieren.

Schreib kurz, woran du misst. Der Zugang wird dann freigeschaltet — und was dir fehlt, fließt direkt in die Entwicklung ein.

Kein Mailprogramm eingerichtet? Schreib direkt an support@trace-analyzer.net.