Quantex GmbH
DE RU EN EL
Ihre Region: Europa

Format der J2534-Logs Version 2

Letzte Änderung:

Beschreibung

Die J2534-Bibliothek verwendet ein kompaktes, leicht parsbares Log-Format. Jede Zeile stellt eine Operation oder eine Nachricht mit Daten dar. Das Format ist für die automatische Auswertung optimiert und ermöglicht die vollständige Rekonstruktion der bei der Fahrzeugdiagnose ausgeführten Abläufe.

Struktur der Log-Datei

# v2 2026-01-10 02:00:18
  0 I j0 open 192.168.12.3 > ok 4ms
 10 I j0 conn ISO15765 500000 > 1 9ms
  6 I j0 wr 1 100 1 > 1 5ms
	[6A8]10C0 0.000 2
  5 I j0 rd 1 2000 10 > 1 4ms
	[688]61C0 2240.300 2
...

Einträge von der Anwendung

Die Anwendung kann über die Funktion PassThruWriteToLog eigene Einträge in das Log schreiben:

  0 I pt_lib open param: 192.168.12.3, type:1
  0 I pt_lib open param: 192.168.12.3, name:sd0;n192.168.12.3

Einträge der Anwendung verwenden den Bezeichner pt_lib anstelle der Gerätenummer.

Format einer Operationszeile

DELTA LEVEL DEVICE COMMAND PARAMS > RESULT DURATION
  0 I j0 open 192.168.12.3 > ok 4ms
 10 I j0 conn ISO15765 500000 > 1 9ms
  5 I j0 disc 1 > ok 4ms
  4 I j0 close > ok 3ms
Position Feld Beschreibung
0 DELTA Delta-Zeit in Millisekunden seit der vorherigen Operation (3 Zeichen, rechtsbündig)
1 LEVEL Log-Level: I (Info), E (Error), W (Warning), D (Debug)
2 DEVICE Gerätenummer (j0, j1, ... j15) oder pt_lib für Anwendungseinträge
3 COMMAND Befehlsname
4+ PARAMS Eingabeparameter (siehe Befehlstabelle unten)
- > Trennzeichen
-2 RESULT Ergebnis/Ausgabewerte
-1 DURATION Dauer der Operation (Nms)

Format einer Datenzeile

  [CAN_ID]DATA TIMESTAMP LEN FLAGS
Position Feld Beschreibung
- \t Tabulator-Einrückung
0 [CAN_ID] CAN-Identifier in eckigen Klammern
1 DATA Datenbytes (Hex, ohne Leerzeichen). Leer, wenn LEN=0
2 TIMESTAMP Zeitstempel des Geräts in Sekunden.Millisekunden (SSSS.mmm)
3 LEN Datenlänge in Bytes
4 FLAGS Flags, getrennt durch | (optional)

Weicht das Protokoll vom Protokoll des Kanals ab, wird es in den FLAGS ergänzt.

Beispiele:

  [688]61B05646375244 2240.300 8
  [688]61B05646375244 2240.300 8 RX_START
  [6A8] 2240.281 0 INT|TX_DONE
  [612:F1]037F2212 2240.300 4 CAN
  [612:F1]037F2212 2240.300 4 INT|CAN

Ergebniscodes

Ergebnis Beschreibung
ok Erfolg (STATUS_NOERROR)
N Anzahl der tatsächlich gelesenen/geschriebenen Nachrichten
  • 0 = Puffer leer (anstelle des Textcodes ERR_BUFFER_EMPTY, kein Fehler)
  • Weniger als angefordert = Timeout abgelaufen (anstelle des Textcodes ERR_TIMEOUT, kein Fehler)
ERR_XXX Textueller Fehlercode ERR_XXX = Fehler bei der Ausführung der Operation (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED usw.)
"Text" Textzeichenfolge in Anführungszeichen (z. B. die Beschreibung des letzten Fehlers beim Aufruf des Befehls PassThruGetLastError)

Befehlsreferenz

Verbindungsaufbau und -verwaltung

Befehl Parameter (Positionen 3+) Ergebnis Beschreibung
open address ok/ERR Verbindung zum Gerät öffnen
close - ok/ERR Verbindung schließen
conn protocol baud channel Kanal mit Protokoll verbinden
disc channel ok/ERR Kanal trennen

Verbindungstypen:

Lesen und Schreiben von Nachrichten

Befehl Parameter Ergebnis Beschreibung
rd channel timeout num num oder ERR Nachrichten lesen
wr channel timeout num num oder ERR Nachrichten senden

Parameter:

Ergebnis:

Log-Level für rd:

 26 I j0 wr 1 100 1 > 1 6ms
	[6A8]10C0 0.000 2
  6 I j0 rd 1 2000 10 > 10 5ms
	[6A8] 2240.281 0 INT|TX_DONE
	[688] 2240.294 0 RX_START
 15 W j0 rd 1 0 10 > 0 2ms
 62 W j0 rd 1 50 10 > 2 62ms
	[7DF] 2.489 0 INT|TX_DONE
	[7E8]4100BE1FA813 2.489 6
 41 E j0 rd 1 2000 10 > ERR_INVALID_CHANNEL_ID 0ms

Filter

Befehl Parameter Ergebnis Beschreibung
flt+ channel [protocol] type mask pattern [flow] filter_id Filter setzen
flt- channel filter_id ok/ERR Filter entfernen

Parameter:

Filtertypen:

 13 I j0 flt+ 1 FLOW FFFFFFFF 688 6A8 > 0 3ms
  3 I j0 flt+ 1 ISO15765 FLOW FFFFFFFF 000007E8 000007E0 > 0 0ms
139 I j0 flt- 1 0 > ok 3ms

Periodische Nachrichten

Befehl Parameter Ergebnis Beschreibung
per+ channel interval msg_id Periodische Nachricht starten
per- channel msg_id ok/ERR Periodische Nachricht stoppen

Parameter:

 50 I j0 per+ 1 100 > 0 5ms
	[6A8]3E00 0.000 2
150 I j0 per- 1 0 > ok 3ms

Die Datenzeile nach per+ zeigt den Inhalt der periodischen Nachricht (gleiches Format wie bei wr).

IOCTL-Befehle

Befehl Parameter Ergebnis Beschreibung
io channel ioctl_id [params] [result] IOCTL-Operation

GET_CONFIG - Lesen der Protokollkonfigurationsparameter

DELTA LEVEL DEVICE io channel GET_CONFIG > PARAM:value|PARAM:value|... Nms

Beispiel:

200 I j0 io 1 GET_CONFIG > P2_CAN:2000|P3_MIN:45|ISO15765_BS:8 8ms

SET_CONFIG - Setzen der Protokollkonfigurationsparameter

DELTA LEVEL DEVICE io channel SET_CONFIG PARAM:value|PARAM:value|... > ok Nms

Beispiel:

 10 I j0 io 1 SET_CONFIG P2_CAN:2000|P3_MIN:45|ISO15765_WFT_MAX:0 > ok 10ms

Allgemeine Parameter: DATA_RATE, LOOPBACK, P1_MAX, P3_MIN, P4_MIN, W0-W5, TIDLE, TWUP, PARITY, ISO15765_BS, ISO15765_STMIN, BS_TX, STMIN_TX, ISO15765_WFT_MAX, ISO15765_PAD_VALUE, J1962_PINS, CAN_MIXED_FORMAT, FD_CAN_DATA_PHASE_RATE, HS_CAN_TERMINATION, N_CR_MAX usw.

READ_VBATT - Lesen der Batteriespannung (Pin 16)

DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms

Ergebnis: Spannung im Format X.X (Volt mit einer Nachkommastelle).

Beispiel:

 10 I j0 io 0 READ_VBATT > 12.3 5ms

READ_PIN_V - Lesen der Spannung an einem bestimmten Pin des J1962-Steckers

DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms

Parameter:

Beispiele:

 10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms

5BAUD_INIT - 5-Baud-Initialisierung für ISO9141/ISO14230

DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms

Parameter:

Beispiel:

 30 I j0 io 1 5BAUD_INIT 33 > 8F6F 2850ms

FAST_INIT - Schnellinitialisierung für ISO14230 (KWP2000)

DELTA LEVEL DEVICE io channel FAST_INIT [tx_msg] > [rx_msg] Nms

Parameter (optional):

Beispiele:

 10 I j0 io 1 FAST_INIT 8121F181 > 83F11061 85ms
 10 I j0 io 1 FAST_INIT > ok 75ms

Befehle zum Leeren der Puffer

DELTA LEVEL DEVICE io channel IOCTL_NAME > ok Nms
Befehl Beschreibung
CLEAR_TX_BUFFER TX-Puffer leeren
CLEAR_RX_BUFFER RX-Puffer leeren
CLEAR_PERIODIC_MSGS Periodische Nachrichten löschen
CLEAR_MSG_FILTERS Nachrichtenfilter löschen
CLEAR_FUNCT_MSG_LOOKUP_TABLE Tabelle der funktionalen Nachrichten löschen

Beispiel:

 10 I j0 io 1 CLEAR_RX_BUFFER > ok 2ms
 10 I j0 io 1 CLEAR_MSG_FILTERS > ok 3ms

REQ_CONN - Verbindungsanforderung TP2.0

DELTA LEVEL DEVICE io channel REQ_CONN addr > ok Nms

Parameter: addr - Logische Adresse (Hex)

Beispiel:

 10 I j0 io 1 REQ_CONN 01 > ok 150ms

Weitere Befehle

Befehl Parameter Ergebnis Beschreibung
ver - fw dll api DLL-Version lesen
rd_ver - ver:FW:XX;HW:XXXXXXXX;SN:X Firmware-Version des Geräts lesen
volt pin voltage ok/ERR Programmierspannung setzen
err - error_text Beschreibung des letzten Fehlers abrufen

Beispiele:

  0 I j0 rd_ver > ver:FW:81;HW:0000FF05;SN:0 16ms
300 I j0 err > "Channel not connected" 0ms

Format der CAN-ID

Typ Format Beispiel
11-Bit Standard [XXX] [612]
29-Bit Extended [XXXXXXXX] [18DA00F1]
11-Bit + erweiterte Adresse [XXX:XX] [612:F1]
29-Bit + erweiterte Adresse [XXXXXXXX:XX] [18DA00F1:F1]

Die erweiterte Adresse wird angezeigt, wenn das Flag EXT_ADDR gesetzt ist.

Flag-Referenz

Empfangs-Flags (RX)

Flag Bit Beschreibung
INT 0 Intern/Loopback (TX_MSG_TYPE). 1=Echo vom Adapter, 0=vom Bus
RX_START 1 Beginn einer segmentierten Nachricht (START_OF_MESSAGE)
RX_BREAK 2 Verbindungsunterbrechung erkannt (RX_BREAK)
TX_DONE 3 Übertragung erfolgreich abgeschlossen (TX_SUCCESS)
TX_FAIL 9 Übertragungsfehler (TX_FAILED)
PAD_ERR 4 ISO15765-Padding-Fehler (ISO15765_PADDING_ERROR)
EXT_ADDR 7 Modus der erweiterten Adressierung (ISO15765_ADDR_TYPE)
EXT29 8 29-Bit CAN-ID (CAN_29BIT_ID)
FD 20 CAN-FD-Frame (FD_CAN_FORMAT)
BRS 19 CAN-FD-Bitraten-Umschaltung (FD_CAN_BRS)
ESI 21 CAN-FD Error State Indicator (FD_CAN_ESI)

Sende-Flags (TX)

Flag Bit Beschreibung
NO_DONE 0 Keine TX-Bestätigung abwarten (ISO15765_NO_TXDONE)
NO_RESP 1 Keine Antwort abwarten (ISO15765_NO_RESP)
PAD 6 ISO15765-Padding verwenden (ISO15765_FRAME_PAD)
EXT_ADDR 7 Modus der erweiterten Adressierung (ISO15765_ADDR_TYPE)
EXT29 8 29-Bit CAN-ID verwenden (CAN_29BIT_ID)
P3_ONLY 9 Nur P3 min abwarten (WAIT_P3_MIN_ONLY)
SW_HV 10 SW-CAN Hochspannungsübertragung (SW_CAN_HV_TX)
FD 20 CAN-FD-Frame (FD_CAN_FORMAT)
BRS 19 CAN-FD-Bitraten-Umschaltung (FD_CAN_BRS)

Unterstützte Protokolle

Name Protokoll-ID Beschreibung
CAN 5 Raw CAN
ISO15765 6 ISO 15765-2 (Transport über CAN)
ISO9141 3 ISO 9141-2 (K-Line)
ISO14230 4 ISO 14230 (KWP2000)
J1850VPW 1 J1850 VPW
J1850PWM 2 J1850 PWM
FD_CAN 0x8011 CAN FD
FD_ISO15765 0x8012 ISO 15765 über CAN FD
Die vollständige Liste der Protokolle finden Sie in den Spezifikationen SAE J2534-1 und J2534-2.

Vollständiges Log-Beispiel

# v2 2026-01-10 02:00:18
  0 I j0 open 192.168.12.3 > ok 4ms
  7 I j0 conn ISO15765_PS 500000 > 1 6ms
  6 I j0 flt+ 1 FLOW FFFFFFFF 688 6A8 > 0 3ms
  4 I j0 io 1 SET_CONFIG J1962_PINS:0308 > ok 8ms
  9 I j0 wr 1 100 1 > 1 6ms
	[6A8]21B0 0.000 2
  6 I j0 rd 1 2000 10 > 2 5ms
	[6A8] 2240.281 0 INT|TX_DONE
	[688] 2240.294 0 RX_START
  5 I j0 rd 1 2000 10 > 1 12ms
	[688]61B0564637524452464A46394C353632303836 2240.300 23
 20 I j0 wr 1 0 1 > 1 2ms
	[6A8]1081 0.000 2
 50 I j0 rd 1 2000 10 > 2 48ms
	[6A8] 2240.350 0 INT|TX_DONE
	[688]5081 2240.355 2
 40 I j0 io 1 CLEAR_RX_BUFFER > ok 2ms
  8 I j0 flt- 1 0 > ok 3ms
  9 I j0 disc 1 > ok 4ms
  4 I j0 close > ok 3ms

Lesen des Logs

  1. j0 open 192.168.12.3 - Verbindung über LAN öffnen
  2. j0 conn ISO15765_PS 500000 > 1 - Kanal ISO15765_PS verbinden, channel_id=1 erhalten
  3. j0 flt+ 1 FLOW ... - Flow-Control-Filter setzen
  4. j0 io 1 SET_CONFIG - Protokollparameter setzen (Anschluss an Pins 3 und 8)
  5. j0 wr 1 100 1 - 1 Nachricht mit Timeout 100 ms in Kanal 1 senden
    • [6A8]21B0 - CAN-ID 6A8, Identifikationsdaten mit Befehl 21B0 anfordern
  6. j0 rd 1 2000 10 > 2 - Bis zu 10 Nachrichten lesen, 2 empfangen (ERR_TIMEOUT liegt vor, wird aber nicht angezeigt)
    • [6A8] ... INT|TX_DONE - Antwort vom Adapter | Übertragung abgeschlossen (Meldungen über erfolgreiches Senden kommen ohne Daten, len=0)
    • [688] ... RX_START - Beginn einer segmentierten Antwort
  7. j0 rd ... > 1 - Lesen, 1 Nachricht empfangen
    • [688]61B0... - Antwortdaten, 23 Byte
  8. j0 io 1 CLEAR_RX_BUFFER - RX-Puffer leeren
  9. Weiter mit flt-, disc, close

Hinweise für Entwickler

Hinweis: Format Version 2 ist nicht abwärtskompatibel zu Version 1. Prüfen Sie den Log-Header, um die Version zu ermitteln.