Quantex GmbH
DE RU EN EL
Ваш регион: Европа

Формат логов J2534 версии 2

Последнее изменение:

Описание

Бибилиотека J2534 использует компактный, легко парсируемый формат логов. Каждая строка представляет одну операцию или сообщение с данными. Формат оптимизирован для автоматического анализа и позволяет полностью восстановить последовательность действий при диагностике автомобиля.

Структура файла лога

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

Записи от приложения

Приложение может добавлять собственные записи в лог через функцию 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

Записи от приложения используют идентификатор pt_lib вместо номера устройства.

Формат строки операции

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
Позиция Поле Описание
0 DELTA Дельта-время в миллисекундах от предыдущей операции (3 символа, выравнивание вправо)
1 LEVEL Уровень логирования: I (Info), E (Error), W (Warning), D (Debug)
2 DEVICE Номер устройства (j0, j1, ... j15) или pt_lib для записей приложения
3 COMMAND Название команды
4+ PARAMS Входные параметры (смотрите таблицу команд ниже)
- > Разделитель
-2 RESULT Результат/выходные значения
-1 DURATION Длительность операции (Nms)

Формат строки данных

  [CAN_ID]DATA TIMESTAMP LEN FLAGS
Позиция Поле Описание
- \t Отступ табуляцией
0 [CAN_ID] CAN идентификатор в квадратных скобках
1 DATA Байты данных (hex, без пробелов). Пусто если LEN=0
2 TIMESTAMP Временная метка устройства в секунды.миллисекунды (SSSS.mmm)
3 LEN Длина данных в байтах
4 FLAGS Флаги, разделённые символом | (опционально)

Если протокол отличается от протокола канала, он добавляется в FLAGS.

Примеры:

  [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

Коды результатов

Результат Описание
ok Успех (STATUS_NOERROR)
N Количество реально прочитанных/записанных сообщений
  • 0 = буфер пуст (вместо текстового кода ошибки ERR_BUFFER_EMPTY, не является ошибкой)
  • Меньше запрошенного = истёк таймаут (вместо текстового кода ошибки ERR_TIMEOUT, не является ошибкой)
ERR_XXX Текстовый код ошибки ERR_XXX = ошибка выполнения операции (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED и т.д.)
"текст" Текстовая строка в кавычках (например, описание последней ошибки при вызове команды PassThruGetLastError)

Справочник команд

Подключение и управление соединением

Команда Параметры (позиции 3+) Результат Описание
open address ok/ERR Открыть соединение с устройством
close - ok/ERR Закрыть соединение
conn protocol baud channel Подключить канал по протоколу
disc channel ok/ERR Отключить канал

Типы подключения:

Чтение и запись сообщений

Команда Параметры Результат Описание
rd channel timeout num num или ERR Прочитать сообщения
wr channel timeout num num или ERR Записать сообщения

Параметры:

Результат:

Уровень логирования для 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

Фильтры

Команда Параметры Результат Описание
flt+ channel [protocol] type mask pattern [flow] filter_id Установить фильтр
flt- channel filter_id ok/ERR Удалить фильтр

Параметры:

Типы фильтров:

 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

Периодические сообщения

Команда Параметры Результат Описание
per+ channel interval msg_id Запустить периодическое сообщение
per- channel msg_id ok/ERR Остановить периодическое сообщение

Параметры:

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

Строка данных после per+ показывает содержимое периодического сообщения (тот же формат что и для wr).

Команды IOCTL

Команда Параметры Результат Описание
io channel ioctl_id [params] [result] Операция IOCTL

GET_CONFIG - Чтение параметров конфигурации протокола

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

Пример:

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

SET_CONFIG - Установка параметров конфигурации протокола

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

Пример:

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

Общие параметры: 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 и др.

READ_VBATT - Чтение напряжения батареи (пин 16)

DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms

Результат: Напряжение в формате X.X (вольты с одним знаком после запятой).

Пример:

 10 I j0 io 0 READ_VBATT > 12.3 5ms

READ_PIN_V - Чтение напряжения на конкретном пине разъёма J1962

DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms

Параметры:

Примеры:

 10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms

5BAUD_INIT - 5-бодная инициализация для ISO9141/ISO14230

DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms

Параметры:

Пример:

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

FAST_INIT - Быстрая инициализация для ISO14230 (KWP2000)

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

Параметры (опционально):

Примеры:

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

Команды очистки буферов

DELTA LEVEL DEVICE io channel IOCTL_NAME > ok Nms
Команда Описание
CLEAR_TX_BUFFER Очистить буфер TX
CLEAR_RX_BUFFER Очистить буфер RX
CLEAR_PERIODIC_MSGS Очистить периодические сообщения
CLEAR_MSG_FILTERS Очистить фильтры сообщений
CLEAR_FUNCT_MSG_LOOKUP_TABLE Очистить таблицу функциональных сообщений

Пример:

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

REQ_CONN - Запрос соединения TP2.0

DELTA LEVEL DEVICE io channel REQ_CONN addr > ok Nms

Параметры: addr - Логический адрес (hex)

Пример:

 10 I j0 io 1 REQ_CONN 01 > ok 150ms

Прочие команды

Команда Параметры Результат Описание
ver - fw dll api Прочитать версию DLL
rd_ver - ver:FW:XX;HW:XXXXXXXX;SN:X Прочитать версию прошивки устройства
volt pin voltage ok/ERR Установить напряжение программирования
err - error_text Получить описание последней ошибки

Примеры:

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

Формат CAN ID

Тип Формат Пример
11-бит стандартный [XXX] [612]
29-бит расширенный [XXXXXXXX] [18DA00F1]
11-бит + расширенный адрес [XXX:XX] [612:F1]
29-бит + расширенный адрес [XXXXXXXX:XX] [18DA00F1:F1]

Расширенный адрес отображается при наличии флага EXT_ADDR.

Справочник флагов

Флаги приёма (RX)

Флаг Бит Описание
INT 0 Внутреннее/loopback (TX_MSG_TYPE). 1=эхо от адаптера, 0=с шины
RX_START 1 Начало сегментированного сообщения (START_OF_MESSAGE)
RX_BREAK 2 Обнаружен разрыв связи (RX_BREAK)
TX_DONE 3 Передача успешно завершена (TX_SUCCESS)
TX_FAIL 9 Ошибка передачи (TX_FAILED)
PAD_ERR 4 Ошибка дополнения ISO15765 (ISO15765_PADDING_ERROR)
EXT_ADDR 7 Режим расширенной адресации (ISO15765_ADDR_TYPE)
EXT29 8 29-битный CAN ID (CAN_29BIT_ID)
FD 20 Кадр CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD переключение битрейта (FD_CAN_BRS)
ESI 21 CAN FD индикатор состояния ошибки (FD_CAN_ESI)

Флаги передачи (TX)

Флаг Бит Описание
NO_DONE 0 Не ждать подтверждения TX (ISO15765_NO_TXDONE)
NO_RESP 1 Не ждать ответа (ISO15765_NO_RESP)
PAD 6 Использовать дополнение ISO15765 (ISO15765_FRAME_PAD)
EXT_ADDR 7 Режим расширенной адресации (ISO15765_ADDR_TYPE)
EXT29 8 Использовать 29-битный CAN ID (CAN_29BIT_ID)
P3_ONLY 9 Ждать только P3 min (WAIT_P3_MIN_ONLY)
SW_HV 10 SW-CAN высоковольтная передача (SW_CAN_HV_TX)
FD 20 Кадр CAN FD (FD_CAN_FORMAT)
BRS 19 CAN FD переключение битрейта (FD_CAN_BRS)

Поддерживаемые протоколы

Название ID протокола Описание
CAN 5 Raw CAN
ISO15765 6 ISO 15765-2 (транспорт 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 через CAN FD
Полный список протоколов смотрите в спецификациях SAE J2534-1 и J2534-2.

Полный пример лога

# 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

Чтение лога

  1. j0 open 192.168.12.3 - Открыть соединение по LAN
  2. j0 conn ISO15765_PS 500000 > 1 - Подключить канал ISO15765_PS, получен channel_id=1
  3. j0 flt+ 1 FLOW ... - Установить фильтр управления потоком
  4. j0 io 1 SET_CONFIG - Установить параметры протокола (подключение к выводам 3 и 8)
  5. j0 wr 1 100 1 - Записать 1 сообщение, таймаут 100мс, в канал 1
    • [6A8]21B0 - CAN ID 6A8, запросить данные идентификации командой 21B0
  6. j0 rd 1 2000 10 > 2 - Прочитать до 10 сообщений, получено 2 (ERR_TIMEOUT есть но не показан)
    • [6A8] ... INT|TX_DONE - ответ от адаптера | передача завершена (сообщений об успешной отправке пакета приходит без данных, len=0)
    • [688] ... RX_START - Начало сегментированного ответа
  7. j0 rd ... > 1 - Прочитать, получено 1 сообщение
    • [688]61B0... - Данные ответа, 23 байта
  8. j0 io 1 CLEAR_RX_BUFFER - Очистить буфер RX
  9. Продолжить с flt-, disc, close

Советы разработчикам

Примечание: Формат версии 2 обратно несовместим с версией 1. Проверяйте заголовок лога для определения версии.