• 619查看
  • 0回复

[应用层软件] UDS介绍③——NRC

[复制链接]


该用户从未签到

发表于 21-1-2024 11:17:51 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


01

NRC对照表
HexNameDescription
10GeneralReject一般性拒绝。通常在无法准确描述错误时发出
11serviceNotSupported服务不支持。多出现在服务未被定义
12sub-functionNotSupported子功能不支持。多出现子功能未被定义
13ncorrectMessageLengthOrInvalidFormat报文长度错误
14responseTooLong响应字节数太长
21busyRepeatRequest过忙导致执行失败。多出现在快速发送请求
22conditionsNotCorrect条件不满足。多出现在整车状态无法满足诊断的需求
24requestSequenceError请求的顺序错误。多出现在没有首先接收请求的情况下接收sendKey子功能
25noResponseFromSubnetComponent子网无法响应
26FailurePreventsExecutionOfRequestedActionDTC出现了错误的记录。一般不出现
31requestOutOfRange请求超出范围
33securityAccessDenied安全访问模式错误
35invalidKey密钥key无效
36exceededNumberOfAttempts收到的invalidKey超过了允许的尝试次数
37requiredTimeDelayNotExpiredNRC_36之后,安全访问锁定的时间内再次请求seed
38reservedByExtendedDataLinkSecurityDocument扩展数据链路层保留
70uploadDownloadNotAccepted上传/下载受限。多出现在通过诊断刷写程序
71transferDataSuspended数据传输中断。多出现在通过诊断刷写程序
72generalProgrammingFailure编程失败。多出现在通过诊断刷写程序
73wrongBlockSequenceCounter块序计算错误。多出现在通过诊断刷写程序
78requestCorrectlyReceived-ResponsePending请求正常接收,但应答正在响应中
7Esub-functionNotSupportedInActiveSession该子功能在当前会话下不支持
7FserviceNotSupportedInActiveSession该服务在当前会话下不支持
80ISOSAEReservedISO 保留,暂时未定义
81rpmTooHigh编程管理地址过高
82rpmTooLow编程管理地址过低
83engineIsRunning发动机运转。·
84engineIsNotRunning发动机未运转
85engineRunTimeTooLow发动机运行时间过短
86temperatureTooHigh温度过高
87temperatureTooLow温度过低
88vehicleSpeedTooHigh车速过高
89vehicleSpeedTooLow车速过低
8Athrottle/PedalTooHigh油门/踏板太高
8Bthrottle/PedalTooLow油门/踏板太低
8CtransmissionRangeNotInNeutral非空挡
8DtransmissionRangeNotInGear不在指定档位
8EISOSAEReservedISO 保留,暂时未定义
8FbrakeSwitch(es)NotClosed踏板开关未关闭
90shifterLeverNotInPark车辆处于非P档
91torqueConverterClutchLocked液力变矩器离合器锁定
92voltageTooHigh电压过高
93voltageTooLow电压过低

02

NRC优先级   

在uds开发中,尤其是boot中的协议栈较为简单,经常测试的同事会报NRC回复错误的问题,查14229-2附部分常用服务的NRC优先级流程图。

$22服务

UDS介绍③——NRCw1.jpg

$2E服务

UDS介绍③——NRCw2.jpg

$31服务

UDS介绍③——NRCw3.jpg


该用户从未签到

发表于 15-3-2025 11:23:00 | 显示全部楼层
关于 UDS 中的 NRC 01:

NRC(Negative Response Code)是 UDS 通信中用于指示诊断服务请求未成功执行的代码。对于“NRC 01”系列,具体描述如下:

NRC 010:General Reject,一般性拒绝。当无法准确描述错误原因时,服务器会返回此拒绝码。
NRC 011:serviceNotSupported,服务不支持。意味着请求的服务在ECU中未被定义或不支持。
NRC 012:sub-functionNotSupported,子功能不支持。表明在某一服务下请求的子功能未被支持或定义。
NRC 013:correctMessageLengthOrInvalidFormat,报文长度错误。可能是请求的数据长度与实际不符或格式不正确。
NRC 014:responseTooLong,响应字节数太长。服务器尝试返回的数据超过了预期长度。
NRC 0121:busyRepeatRequest,过忙导致执行失败。这通常发生在服务器正忙于处理先前的请求,无法接受新的请求时。
NRC 0122:conditionsNotCorrect,条件不满足。当车辆或ECU处于特定状态,无法接受或执行某些请求时,会返回此代码。

了解和识别这些 NRC 代码对于故障排查和诊断至关重要。在实际应用中,需要根据具体的错误代码进行针对性的分析和处理。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 18:54 , Processed in 0.357348 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.