Quantex GmbH
Su región: Europa

Formato de logs J2534 versión 2

Última modificación:

Descripción

La biblioteca J2534 utiliza un formato de logs compacto y fácil de parsear. Cada línea representa una operación o un mensaje con datos. El formato está optimizado para el análisis automático y permite reconstruir por completo la secuencia de acciones durante el diagnóstico del automóvil.

Estructura del archivo 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
...

Entradas de la aplicación

La aplicación puede agregar sus propias entradas al log mediante la función 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

Las entradas de la aplicación utilizan el identificador pt_lib en lugar del número de dispositivo.

Formato de la línea de operación

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
Posición Campo Descripción
0 DELTA Tiempo delta en milisegundos desde la operación anterior (3 caracteres, alineación a la derecha)
1 LEVEL Nivel de registro: I (Info), E (Error), W (Warning), D (Debug)
2 DEVICE Número de dispositivo (j0, j1, ... j15) o pt_lib para las entradas de la aplicación
3 COMMAND Nombre del comando
4+ PARAMS Parámetros de entrada (vea la tabla de comandos a continuación)
- > Separador
-2 RESULT Resultado/valores de salida
-1 DURATION Duración de la operación (Nms)

Formato de la línea de datos

  [CAN_ID]DATA TIMESTAMP LEN FLAGS
Posición Campo Descripción
- \t Sangría con tabulación
0 [CAN_ID] Identificador CAN entre corchetes
1 DATA Bytes de datos (hex, sin espacios). Vacío si LEN=0
2 TIMESTAMP Marca de tiempo del dispositivo en segundos.milisegundos (SSSS.mmm)
3 LEN Longitud de los datos en bytes
4 FLAGS Flags separados por el carácter | (opcional)

Si el protocolo difiere del protocolo del canal, se añade a FLAGS.

Ejemplos:

  [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

Códigos de resultado

Resultado Descripción
ok Éxito (STATUS_NOERROR)
N Cantidad de mensajes realmente leídos/escritos
  • 0 = búfer vacío (en lugar del código de error textual ERR_BUFFER_EMPTY, no es un error)
  • Menos de lo solicitado = se agotó el tiempo de espera (en lugar del código de error textual ERR_TIMEOUT, no es un error)
ERR_XXX Código de error textual ERR_XXX = error en la ejecución de la operación (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED, etc.)
"texto" Cadena de texto entre comillas (por ejemplo, la descripción del último error al llamar al comando PassThruGetLastError)

Referencia de comandos

Conexión y gestión de la conexión

Comando Parámetros (posiciones 3+) Resultado Descripción
open address ok/ERR Abrir conexión con el dispositivo
close - ok/ERR Cerrar conexión
conn protocol baud channel Conectar el canal según el protocolo
disc channel ok/ERR Desconectar el canal

Tipos de conexión:

Lectura y escritura de mensajes

Comando Parámetros Resultado Descripción
rd channel timeout num num o ERR Leer mensajes
wr channel timeout num num o ERR Escribir mensajes

Parámetros:

Resultado:

Nivel de registro para 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

Filtros

Comando Parámetros Resultado Descripción
flt+ channel [protocol] type mask pattern [flow] filter_id Establecer filtro
flt- channel filter_id ok/ERR Eliminar filtro

Parámetros:

Tipos de filtros:

 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

Mensajes periódicos

Comando Parámetros Resultado Descripción
per+ channel interval msg_id Iniciar mensaje periódico
per- channel msg_id ok/ERR Detener mensaje periódico

Parámetros:

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

La línea de datos después de per+ muestra el contenido del mensaje periódico (el mismo formato que para wr).

Comandos IOCTL

Comando Parámetros Resultado Descripción
io channel ioctl_id [params] [result] Operación IOCTL

GET_CONFIG - Lectura de los parámetros de configuración del protocolo

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

Ejemplo:

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

SET_CONFIG - Establecimiento de los parámetros de configuración del protocolo

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

Ejemplo:

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

Parámetros generales: 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 - Lectura del voltaje de la batería (pin 16)

DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms

Resultado: Voltaje en formato X.X (voltios con un decimal).

Ejemplo:

 10 I j0 io 0 READ_VBATT > 12.3 5ms

READ_PIN_V - Lectura del voltaje en un pin concreto del conector J1962

DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms

Parámetros:

Ejemplos:

 10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms

5BAUD_INIT - Inicialización a 5 baudios para ISO9141/ISO14230

DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms

Parámetros:

Ejemplo:

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

FAST_INIT - Inicialización rápida para ISO14230 (KWP2000)

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

Parámetros (opcional):

Ejemplos:

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

Comandos de limpieza de búferes

DELTA LEVEL DEVICE io channel IOCTL_NAME > ok Nms
Comando Descripción
CLEAR_TX_BUFFER Limpiar el búfer TX
CLEAR_RX_BUFFER Limpiar el búfer RX
CLEAR_PERIODIC_MSGS Limpiar los mensajes periódicos
CLEAR_MSG_FILTERS Limpiar los filtros de mensajes
CLEAR_FUNCT_MSG_LOOKUP_TABLE Limpiar la tabla de mensajes funcionales

Ejemplo:

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

REQ_CONN - Solicitud de conexión TP2.0

DELTA LEVEL DEVICE io channel REQ_CONN addr > ok Nms

Parámetros: addr - Dirección lógica (hex)

Ejemplo:

 10 I j0 io 1 REQ_CONN 01 > ok 150ms

Otros comandos

Comando Parámetros Resultado Descripción
ver - fw dll api Leer la versión de la DLL
rd_ver - ver:FW:XX;HW:XXXXXXXX;SN:X Leer la versión del firmware del dispositivo
volt pin voltage ok/ERR Establecer el voltaje de programación
err - error_text Obtener la descripción del último error

Ejemplos:

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

Formato de CAN ID

Tipo Formato Ejemplo
11 bits estándar [XXX] [612]
29 bits extendido [XXXXXXXX] [18DA00F1]
11 bits + dirección extendida [XXX:XX] [612:F1]
29 bits + dirección extendida [XXXXXXXX:XX] [18DA00F1:F1]

La dirección extendida se muestra cuando está presente el flag EXT_ADDR.

Referencia de flags

Flags de recepción (RX)

Flag Bit Descripción
INT 0 Interno/loopback (TX_MSG_TYPE). 1=eco del adaptador, 0=del bus
RX_START 1 Inicio de un mensaje segmentado (START_OF_MESSAGE)
RX_BREAK 2 Se detectó una interrupción de la conexión (RX_BREAK)
TX_DONE 3 Transmisión finalizada correctamente (TX_SUCCESS)
TX_FAIL 9 Error de transmisión (TX_FAILED)
PAD_ERR 4 Error de relleno ISO15765 (ISO15765_PADDING_ERROR)
EXT_ADDR 7 Modo de direccionamiento extendido (ISO15765_ADDR_TYPE)
EXT29 8 CAN ID de 29 bits (CAN_29BIT_ID)
FD 20 Trama CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD conmutación de la tasa de bits (FD_CAN_BRS)
ESI 21 CAN FD indicador de estado de error (FD_CAN_ESI)

Flags de transmisión (TX)

Flag Bit Descripción
NO_DONE 0 No esperar la confirmación de TX (ISO15765_NO_TXDONE)
NO_RESP 1 No esperar respuesta (ISO15765_NO_RESP)
PAD 6 Usar relleno ISO15765 (ISO15765_FRAME_PAD)
EXT_ADDR 7 Modo de direccionamiento extendido (ISO15765_ADDR_TYPE)
EXT29 8 Usar CAN ID de 29 bits (CAN_29BIT_ID)
P3_ONLY 9 Esperar solo P3 min (WAIT_P3_MIN_ONLY)
SW_HV 10 SW-CAN transmisión de alto voltaje (SW_CAN_HV_TX)
FD 20 Trama CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD conmutación de la tasa de bits (FD_CAN_BRS)

Protocolos compatibles

Nombre ID del protocolo Descripción
CAN 5 Raw CAN
ISO15765 6 ISO 15765-2 (transporte 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 a través de CAN FD
Encontrará la lista completa de protocolos en las especificaciones SAE J2534-1 y J2534-2.

Ejemplo completo 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

Lectura del log

  1. j0 open 192.168.12.3 - Abrir conexión por LAN
  2. j0 conn ISO15765_PS 500000 > 1 - Conectar el canal ISO15765_PS, se obtuvo channel_id=1
  3. j0 flt+ 1 FLOW ... - Establecer el filtro de control de flujo
  4. j0 io 1 SET_CONFIG - Establecer los parámetros del protocolo (conexión a los pines 3 y 8)
  5. j0 wr 1 100 1 - Escribir 1 mensaje, tiempo de espera 100 ms, en el canal 1
    • [6A8]21B0 - CAN ID 6A8, solicitar los datos de identificación con el comando 21B0
  6. j0 rd 1 2000 10 > 2 - Leer hasta 10 mensajes, se recibieron 2 (ERR_TIMEOUT existe, pero no se muestra)
    • [6A8] ... INT|TX_DONE - respuesta del adaptador | transmisión finalizada (los mensajes sobre el envío correcto del paquete llegan sin datos, len=0)
    • [688] ... RX_START - Inicio de una respuesta segmentada
  7. j0 rd ... > 1 - Leer, se recibió 1 mensaje
    • [688]61B0... - Datos de la respuesta, 23 bytes
  8. j0 io 1 CLEAR_RX_BUFFER - Limpiar el búfer RX
  9. Continuar con flt-, disc, close

Consejos para desarrolladores

Nota: El formato de la versión 2 no es retrocompatible con la versión 1. Compruebe el encabezado del log para determinar la versión.