最后修改:
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 | 实际读取/写入的消息数量
|
| 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 相同的格式)。
| 命令 | 参数 | 结果 | 说明 |
|---|---|---|---|
| io | channel ioctl_id [params] | [result] | IOCTL 操作 |
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
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 等。
DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms
结果: 电压,格式为 X.X(伏特,保留一位小数)。
示例:
10 I j0 io 0 READ_VBATT > 12.3 5ms
DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms
参数:
示例:
10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms
DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms
参数:
示例:
30 I j0 io 1 5BAUD_INIT 33 > 8F6F 2850ms
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
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
| 类型 | 格式 | 示例 |
|---|---|---|
| 11 位标准 | [XXX] | [612] |
| 29 位扩展 | [XXXXXXXX] | [18DA00F1] |
| 11 位 + 扩展地址 | [XXX:XX] | [612:F1] |
| 29 位 + 扩展地址 | [XXXXXXXX:XX] | [18DA00F1:F1] |
当存在 EXT_ADDR 标志时显示扩展地址。
| 标志 | 位 | 说明 |
|---|---|---|
| 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) |
| 标志 | 位 | 说明 |
|---|---|---|
| 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 | 通过 CAN FD 的 ISO 15765 |
# 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