宏观分区定义:
Byte value range | 描述 |
---|---|
0x00 | 表示肯定响应,只在服务器内部使用 |
0x01 – 0x7F | 通信相关的否定响应码 |
0x80 – 0xFF | 对NRC_0x22 (conditionsNotCorrect)具体化,详细指明什么条件不满足 |
详细定义:
Byte value | Definition | Mnemonic |
---|---|---|
0x00 | positiveResponse (服务器内部使用) | PR |
0x01 – 0x0F | ISOSAEReserved | ISOSAERESRVD |
0x10 | generalReject (已定义的其他NRC无一适用时用这个) | GR |
0x11 | serviceNotSupported (服务不支持) | SNS |
0x12 | sub-functionNotSupported (子功能不支持) | SFNS |
0x13 | incorrectMessageLengthOrInvalidFormat (请求帧的长度或格式不对) | IMLOIF |
0x14 | responseTooLong (一次性需要响应的数据超过了传输层的缓冲区的最大长度) | RTL |
0x15 – 0x20 | ISOSAEReserved | ISOSAERESRVD |
0x21 | busyRepeatRequest (服务器在忙于处理其他请求,客户端需要延后一段时间重新发送之前的请求信息) | BRR |
0x22 | conditionsNotCorrect(条件不满足) | CNC |
0x23 | ISOSAEReserved | ISOSAERESRVD |
0x24 | requestSequenceError(请求序列错误,比如安全访问中需要先requestSeed,后sendKey) | RSE |
0x25 | noResponseFromSubnetComponent(未收到子网响应,比如网关模块转发请求至子网,但未收到子网响应,则回复给客户端此NRC) | NRFSC |
0x26 | FailurePreventsExecutionOfRequestedAction(至少存在一个DTC指示系统某种失效,阻止了此服务请求的继续执行) | FPEORA |
0x27 – 0x30 | ISOSAEReserved | ISOSAERESRVD |
0x31 | requestOutOfRange(请求超范围,比如写入某个参数超过了用户事先定义好的范围,比如请求了不支持的DID,RID) | ROOR |
0x32 | ISOSAEReserved | ISOSAERESRVD |
0x33 | securityAccessDenied(安全访问拒绝,比如请求了未解锁的服务等或其他任意有安全需求的应用场景) | SAD |
0x34 | ISOSAEReserved | ISOSAERESRVD |
0x35 | invalidKey(安全访问服务的子功能sendKey发送的秘钥不正确,同时会自增一个错误计数器securityAccessFailedCounter,在成功解锁后此计数器才清零) | IK |
0x36 | exceedNumberOfAttempts(连续的安全访问秘钥错误[securityAccessFailedCounter]达到一定次数) | ENOA |
0x37 | requiredTimeDelayNotExpired(返回NRC_0x36后,会开启一个冷却时间,此冷却时间内再继续请求安全访问会返回NRC_0x37) | RTDNE |
0x38 – 0x4F | reservedByExtendedDataLinkSecurityDocument | RBEDLSD |
0x50 – 0x6F | ISOSAEReserved | ISOSAERESRVD |
0x70 | uploadDownloadNotAccepted(请求对服务器内存进行上传/下载,但因为一些故障导致无法实现) | UDNA |
0x71 | transferDataSuspended(数据传输操作因为一些故障被中止) | TDS |
0x72 | generalProgrammingFailure(对非易失性内存擦除/编程时产生一些错误) | GPF |
0x73 | wrongBlockSequenceCounter(TransferData服务中blockSequenceCounter出现错误) | WBSC |
0x74 – 0x77 | ISOSAEReserved | ISOSAERESRVD |
0x78 | requestCorrectlyReceived-ResponsePending(请求已收到,处理中,将延后做出响应) | RCRRP |
0x79 – 0x7D | ISOSAEReserved | ISOSAERESRVD |
0x7E | sub-functionNotSupportedInActiveSession(在当前会话下不支持该子功能) | SFNSIAS |
0x7F | serviceNotSupportedInActiveSession(在当前会话下不支持该服务) | SNSIAS |
0x80 | ISOSAEReserved | ISOSAERESRVD |
0x81 | rpmTooHigh(发动机转速过高) | RPMTH |
0x82 | rpmTooLow(发动机转速过低) | RPMTL |
0x83 | engineIsRunning(发动机运行中) | EIR |
0x84 | engineIsNotRunning(发动机未运行) | EINR |
0x85 | engineRunTimeTooLow(发动机运行时间过短) | ERTTL |
0x86 | temperatureTooHigh(温度过高) | TEMPTH |
0x87 | temperatureTooLow(温度过低) | TEMPTL |
0x88 | vehicleSpeedTooHigh(车速过高) | VSTH |
0x89 | vehicleSpeedTooLow(车速过低) | VSTL |
0x8A | throttle/PedalTooHigh(阀门或踏板开度过大) | TPTH |
0x8B | throttle/PedalTooLow(阀门或踏板开度过小) | TPTL |
0x8C | transmissionRangeNotInNeutral(档位不在空挡) | TRNIN |
0x8D | transmissionRangeNotInGear(不在挡位上) | TRNIG |
0x8E | ISOSAEReserved | ISOSAERESRVD |
0x8F | brakeSwitch(es)NotClosed (制动踏板未踩下或未应用) | BSNC |
0x90 | shifterLeverNotInPark(不在P档) | SLNIP |
0x91 | torqueConverterClutchLocked(变矩器离合器锁定) | TCCL |
0x92 | voltageTooHigh(电压过高) | VTH |
0x93 | voltageTooLow(电压过低) | VTL |
0x94 – 0xEF | reservedForSpecificConditionsNotCorrect | RFSCNC |
0xF0 – 0xFE | vehicleManufacturerSpecificConditionsNotCorrect | VMSCNC |
0xFF | ISOSAEReserved | ISOSAERESRVD |