Quantex GmbH
Votre région : Europe

Format des logs J2534 version 2

Dernière modification :

Description

La bibliothèque J2534 utilise un format de logs compact et facile à parser. Chaque ligne représente une opération ou un message avec des données. Le format est optimisé pour l'analyse automatique et permet de reconstituer entièrement la séquence des actions lors du diagnostic du véhicule.

Structure du fichier de log

# 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
...

Entrées de l'application

L'application peut ajouter ses propres entrées au log au moyen de la fonction PassThruWriteToLog :

  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

Les entrées de l'application utilisent l'identifiant pt_lib à la place du numéro de périphérique.

Format de la ligne d'opération

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 Champ Description
0 DELTA Temps delta en millisecondes depuis l'opération précédente (3 caractères, alignement à droite)
1 LEVEL Niveau de journalisation : I (Info), E (Error), W (Warning), D (Debug)
2 DEVICE Numéro de périphérique (j0, j1, ... j15) ou pt_lib pour les entrées de l'application
3 COMMAND Nom de la commande
4+ PARAMS Paramètres d'entrée (voir le tableau des commandes ci-dessous)
- > Séparateur
-2 RESULT Résultat/valeurs de sortie
-1 DURATION Durée de l'opération (Nms)

Format de la ligne de données

  [CAN_ID]DATA TIMESTAMP LEN FLAGS
Position Champ Description
- \t Indentation par tabulation
0 [CAN_ID] Identifiant CAN entre crochets
1 DATA Octets de données (hex, sans espaces). Vide si LEN=0
2 TIMESTAMP Horodatage du périphérique en secondes.millisecondes (SSSS.mmm)
3 LEN Longueur des données en octets
4 FLAGS Flags séparés par le caractère | (facultatif)

Si le protocole diffère du protocole du canal, il est ajouté aux FLAGS.

Exemples :

  [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

Codes de résultat

Résultat Description
ok Succès (STATUS_NOERROR)
N Nombre de messages réellement lus/écrits
  • 0 = tampon vide (au lieu du code d'erreur textuel ERR_BUFFER_EMPTY, ce n'est pas une erreur)
  • Moins que demandé = délai d'attente dépassé (au lieu du code d'erreur textuel ERR_TIMEOUT, ce n'est pas une erreur)
ERR_XXX Code d'erreur textuel ERR_XXX = erreur lors de l'exécution de l'opération (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED, etc.)
"texte" Chaîne de texte entre guillemets (par exemple, la description de la dernière erreur lors de l'appel de la commande PassThruGetLastError)

Référence des commandes

Connexion et gestion de la connexion

Commande Paramètres (positions 3+) Résultat Description
open address ok/ERR Ouvrir la connexion avec le périphérique
close - ok/ERR Fermer la connexion
conn protocol baud channel Connecter le canal selon le protocole
disc channel ok/ERR Déconnecter le canal

Types de connexion :

Lecture et écriture de messages

Commande Paramètres Résultat Description
rd channel timeout num num ou ERR Lire les messages
wr channel timeout num num ou ERR Écrire les messages

Paramètres :

Résultat :

Niveau de journalisation pour 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

Filtres

Commande Paramètres Résultat Description
flt+ channel [protocol] type mask pattern [flow] filter_id Définir un filtre
flt- channel filter_id ok/ERR Supprimer un filtre

Paramètres :

Types de filtres :

 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

Messages périodiques

Commande Paramètres Résultat Description
per+ channel interval msg_id Démarrer un message périodique
per- channel msg_id ok/ERR Arrêter un message périodique

Paramètres :

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

La ligne de données après per+ affiche le contenu du message périodique (le même format que pour wr).

Commandes IOCTL

Commande Paramètres Résultat Description
io channel ioctl_id [params] [result] Opération IOCTL

GET_CONFIG - Lecture des paramètres de configuration du protocole

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

Exemple :

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

SET_CONFIG - Définition des paramètres de configuration du protocole

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

Exemple :

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

Paramètres généraux : 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, etc.

READ_VBATT - Lecture de la tension de la batterie (pin 16)

DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms

Résultat : Tension au format X.X (volts avec une décimale).

Exemple :

 10 I j0 io 0 READ_VBATT > 12.3 5ms

READ_PIN_V - Lecture de la tension sur un pin précis du connecteur J1962

DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms

Paramètres :

Exemples :

 10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms

5BAUD_INIT - Initialisation à 5 bauds pour ISO9141/ISO14230

DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms

Paramètres :

Exemple :

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

FAST_INIT - Initialisation rapide pour ISO14230 (KWP2000)

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

Paramètres (facultatif) :

Exemples :

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

Commandes de vidage des tampons

DELTA LEVEL DEVICE io channel IOCTL_NAME > ok Nms
Commande Description
CLEAR_TX_BUFFER Vider le tampon TX
CLEAR_RX_BUFFER Vider le tampon RX
CLEAR_PERIODIC_MSGS Vider les messages périodiques
CLEAR_MSG_FILTERS Vider les filtres de messages
CLEAR_FUNCT_MSG_LOOKUP_TABLE Vider la table des messages fonctionnels

Exemple :

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

REQ_CONN - Demande de connexion TP2.0

DELTA LEVEL DEVICE io channel REQ_CONN addr > ok Nms

Paramètres : addr - Adresse logique (hex)

Exemple :

 10 I j0 io 1 REQ_CONN 01 > ok 150ms

Autres commandes

Commande Paramètres Résultat Description
ver - fw dll api Lire la version de la DLL
rd_ver - ver:FW:XX;HW:XXXXXXXX;SN:X Lire la version du firmware du périphérique
volt pin voltage ok/ERR Définir la tension de programmation
err - error_text Obtenir la description de la dernière erreur

Exemples :

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

Format du CAN ID

Type Format Exemple
11 bits standard [XXX] [612]
29 bits étendu [XXXXXXXX] [18DA00F1]
11 bits + adresse étendue [XXX:XX] [612:F1]
29 bits + adresse étendue [XXXXXXXX:XX] [18DA00F1:F1]

L'adresse étendue s'affiche lorsque le flag EXT_ADDR est présent.

Référence des flags

Flags de réception (RX)

Flag Bit Description
INT 0 Interne/loopback (TX_MSG_TYPE). 1=écho de l'adaptateur, 0=du bus
RX_START 1 Début d'un message segmenté (START_OF_MESSAGE)
RX_BREAK 2 Interruption de la liaison détectée (RX_BREAK)
TX_DONE 3 Transmission terminée avec succès (TX_SUCCESS)
TX_FAIL 9 Erreur de transmission (TX_FAILED)
PAD_ERR 4 Erreur de remplissage ISO15765 (ISO15765_PADDING_ERROR)
EXT_ADDR 7 Mode d'adressage étendu (ISO15765_ADDR_TYPE)
EXT29 8 CAN ID de 29 bits (CAN_29BIT_ID)
FD 20 Trame CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD commutation du débit binaire (FD_CAN_BRS)
ESI 21 CAN FD indicateur d'état d'erreur (FD_CAN_ESI)

Flags de transmission (TX)

Flag Bit Description
NO_DONE 0 Ne pas attendre la confirmation de TX (ISO15765_NO_TXDONE)
NO_RESP 1 Ne pas attendre de réponse (ISO15765_NO_RESP)
PAD 6 Utiliser le remplissage ISO15765 (ISO15765_FRAME_PAD)
EXT_ADDR 7 Mode d'adressage étendu (ISO15765_ADDR_TYPE)
EXT29 8 Utiliser un CAN ID de 29 bits (CAN_29BIT_ID)
P3_ONLY 9 Attendre uniquement P3 min (WAIT_P3_MIN_ONLY)
SW_HV 10 SW-CAN transmission haute tension (SW_CAN_HV_TX)
FD 20 Trame CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD commutation du débit binaire (FD_CAN_BRS)

Protocoles pris en charge

Nom ID du protocole Description
CAN 5 Raw CAN
ISO15765 6 ISO 15765-2 (transport 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 via CAN FD
Vous trouverez la liste complète des protocoles dans les spécifications SAE J2534-1 et J2534-2.

Exemple complet de log

# 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

Lecture du log

  1. j0 open 192.168.12.3 - Ouvrir la connexion par LAN
  2. j0 conn ISO15765_PS 500000 > 1 - Connecter le canal ISO15765_PS, channel_id=1 obtenu
  3. j0 flt+ 1 FLOW ... - Définir le filtre de contrôle de flux
  4. j0 io 1 SET_CONFIG - Définir les paramètres du protocole (connexion aux broches 3 et 8)
  5. j0 wr 1 100 1 - Écrire 1 message, délai d'attente 100 ms, sur le canal 1
    • [6A8]21B0 - CAN ID 6A8, demander les données d'identification avec la commande 21B0
  6. j0 rd 1 2000 10 > 2 - Lire jusqu'à 10 messages, 2 reçus (ERR_TIMEOUT existe, mais n'est pas affiché)
    • [6A8] ... INT|TX_DONE - réponse de l'adaptateur | transmission terminée (les messages signalant l'envoi correct du paquet arrivent sans données, len=0)
    • [688] ... RX_START - Début d'une réponse segmentée
  7. j0 rd ... > 1 - Lire, 1 message reçu
    • [688]61B0... - Données de la réponse, 23 octets
  8. j0 io 1 CLEAR_RX_BUFFER - Vider le tampon RX
  9. Continuer avec flt-, disc, close

Conseils pour les développeurs

Remarque : Le format de la version 2 n'est pas rétrocompatible avec la version 1. Vérifiez l'en-tête du log pour déterminer la version.