DTS8.14 8.16系统课程DTS常见故障提示处理及注意事项免费 · 4:08观看本集 →
DTS Monaco 负响应错误代码(NRC, Negative Response Code) 完整列表
这些代码严格遵循 ISO 14229-1 (UDS) 国际标准。当您在 DTS Monaco 的底层诊断日志(Symbolic Trace / Control
Trace)中看到诸如 7F 2E 12 这样的报文时,7F 代表拒绝(负响应),中间的
2E 代表当时执行的诊断服务,最后两位十六进制数就是以下列表中的错误代码:
一、 通用通信与会话管理类 (0x10 - 0x1F)
当 DTS 软件向车辆发送的指令本身存在格式、长度或会话级别冲突时触发:
- 0x10 -
General Reject(常规拒绝)
- 含义:控制单元(ECU)无法归类当前的错误,或者在当前的特定状态下无法执行此命令。
- 0x11 -
Service Not Supported(不支持此诊断服务)
- 含义:你下发的 UDS 服务 ID 对方根本没有。
- 场景:比如你向一个很老的 OBD 模块发送了只有新一代 DoIP 才支持的高级证书解锁服务。
- 0x12 -
Sub-Function Not Supported(不支持此子功能)
- 含义:该诊断服务存在,但你输入的子参数(Sub-Function)不被支持。
- 场景:切换会话服务 10 存在,但你发送了 10 05(假设 ECU 只支持 10 01/02/03)。
- 0x13 -
Incorrect Message Length Or Invalid Format(报文长度错误或格式无效)
- 含义:DTS 发送的十六进制字节数多了或者少了,或者格式不符合协议规定。
- 场景:批量设码(Write All Domains)时,由于 ODX 数据库版本差异导致拼装的报文长度不对。
- 0x14 -
Response Too Longer(响应数据过长)
- 含义:ECU 算出的返回结果数据量太大,超出了诊断缓存区或协议所允许的最大报文限制。
二、 车辆物理状态与物理环境拦截类 (0x20 - 0x2F)
由于车子目前的硬件、状态、环境不满足安全约束,被 ECU 主动拦截:
- 0x21 -
Busy Repeat Request(模块正忙,请稍后重试)
- 含义:ECU 正在处理其他高优先级任务(如总线正在处理关键刹车动力通信),没有闲置运力处理你的诊断请求。
- 0x22 -
Conditions Not Correct(执行条件不满足)
- 含义:最常见的阻挡。车辆的物理环境不合规。
- 场景:修改核心编码或执行初始化时,发动机未熄火、车钥匙没开到 2 档(ON档)、或者稳压电源断开导致全车电压过低。
- 0x24 -
Request Sequence Error(请求顺序错误)
- 含义:没有按逻辑先后顺序跑剧本。
- 场景:刷写(Flashing)固件时,没有先通过安全解锁,或者没有先执行擦除(Erase),就直接去发送数据包(Transfer Data)。
- 0x25 - No
Response From Subnet Component(子网部件无响应)
- 含义:网关或主控制单元在尝试将你的命令下发给它底下的次级子模块(如通过
LIN 总线挂载的小传感器、大灯包)时,子模块超时未回应。
- 0x26 -
Failure Prevents Execution Of Requested Action(硬件故障导致无法执行)
- 含义:ECU 检测到自身或相关传感器存在硬性电气故障(如短路、断路),为了安全拒绝设码或重置。
三、 数据范围、内存与配置冲突类 (0x30 - 0x3F)
手动输入参数、修改变体编码(Variant Coding)或者解锁最高权限时极易触发:
- 0x31 -
Request Out Of Range(请求超出范围 / 参数不合法)
- 含义:设码的核心阻挡之一。你填入的十六进制数值超出了该控制项的有效边界。
- 场景:比如改大灯参数,某开关在 ODX 符号表里只支持 00(关闭) 和 01(开启),你误填了 02;或者写入的字节块长度与 ECU 期待的不对。
- 0x33 -
Security Access Denied(安全访问拒绝)
- 含义:刷隐藏、改配置最常遇到的拦路虎。模块处于锁定状态,无权修改。
- 场景:试图执行 2E 写入敏感编码。在奔驰新车型上,意味着必须先通过
Trust Model Start 注入 Zenzefi 证书,或通过
Seed & Key 算法解锁。
- 0x35 -
Invalid Key(无效的密钥)
- 含义:安全解锁时计算并回传的 Key 是错的。
- 场景:DTS 调用的
DLL 算法文件或 ODX 数据库中的解密规则与真车 ECU 内部的固件版本对不上。
- 0x36 -
Exceed Number Of Attempts(超出尝试次数上限)
- 含义:因为多次输入了错误的 Key(触发了 0x35),ECU 开启了自我保护,进入硬件锁死/冷却状态。
- 对策:必须保持车辆在 ON 档通电静置 10 到 30 分钟,等
ECU 内部的惩罚计时器清零才能再次尝试解锁。
- 0x37 -
Required Time Delay Not Expired(所需的延时未到)
- 含义:ECU 依然处在 0x36 的惩罚等待期内,你在此期间发任何解锁命令都会被直接弹回。
- 0x38 -
Secure Data Transmission Required(需要安全数据传输)
- 含义:当前通信不安全,ECU 要求此次诊断数据必须经过特殊的加密(如车载防火墙安全通道)才能进行传输和写入。
四、 闪存编程与底层刷写类 (0x70 - 0x7F)
在固件降级、系统升级(Flashing)和执行 OTX 复杂序列时触发:
- 0x70 -
Upload Download Not Accepted(上传/下载未被接受)
- 含义:ECU 拒绝了数据传输请求,通常是因为尝试刷入不符合该硬件架构的固件引导程序(Bootloader)。
- 0x71 -
Transfer Data Suspended(数据传输被挂起/中断)
- 含义:在大块数据写入中途,通信发生了异常中止(如网线松动、DoIP 链路瞬间断开)。
- 0x72 -
General Programming Failure(通用编程/闪存失败)
- 含义:刷程序(Flash)失败的恶性代码。
- 场景:ECU 尝试把数据固化到自己的 Flash 闪存芯片时发生内部校验错误、扇区写入失败或 Checksum(校验和)不对。通常会导致 ECU “变砖”或停留在引导模式。
- 0x73 -
Wrong Block Sequence Counter(错误的块序列计数器)
- 含义:在持续发送固件数据包时,DTS 软件发送的数据包编号(Block Number)与 ECU 预期的序号对不上。
- 0x78 -
Request Correctly Received - Response Pending(请求已接收,响应挂起中)
- 含义:这是正常提示,不是报错。
- 场景:当执行擦除大容量闪存(Erase)或全车批量扫描时,ECU 需要较多时间处理。它先回一个 78 告诉 DTS:“我收到命令了,正在拼命跑,你千万别以为我卡死了而主动断开通信。”DTS 收到后会自动延长等待时限。
- 0x7E -
Sub-Function Not Supported In Active Session(当前会话不支持此子功能)
- 0x7F -
Service Not Supported In Active Session(当前会话不支持此服务)
- 含义:会话级别(Session)权限不够。
- 对策:例如写入服务需要 0x03 扩展会话,而你停留在 0x01 默认会话。必须在 Diagnose 界面中发送 10 03 提升会话级别后再执行。
举例:在 DTS 日志里如何抓出这些报错?
在 DTS Monaco 底部的报文追踪(Trace)窗口中,格式通常显示如下:
- 设码被拒绝示例:
- -> 2E F1
90 01 02 03 ... (DTS 请求:往某地址写入参数)
- <- 7F 2E
33 (ECU 负响应:7F 报错;2E 代表写入被拦截;33 代表没解开安全锁/缺少 Zenzefi 证书)。
- 熄火设码报错示例:
- -> 31 01
AA BB ... (DTS 请求:启动某项例行程序)
- <- 7F 31
22 (ECU 负响应:7F 报错;31 例行程序被拦截;22 代表此时车子物理状态不对,例如没开钥匙一档或发动机还在转动)。




