资讯详情

7F故障码分析

📅 2026/11/6 4:54:52 | 华诺云谱 👁 阅读
7F故障码分析
1、0x7F服务UDS Negative Response Service否定应答服务Service description0x7F服务UDS Negative response Service否定应答服务被ECU用于表示诊断服务请求的报文无效被终止抑或是在当前请求时刻无法执行的情况。而在否定应答报文中的返回码ResponseCode则应该能够表示诊断服务失效或者是无法被完成的原因。2、否定应答报文定义下表定义了否定应答报文的格式字节序号参数值约定字节值#1Negative Response SIDM0x7F#2Service Name Request SIDM0xXX#3responseCodeM0xXX#4specificCauseCodeC0xXXC只有当responseCode 0x22时否定应答报文中应该附带上具体的原因代码specificCauseCode。3、否定应答码释义下表定义了所有的否定应答码每个诊断服务都指定了其可应用的否定应答码。服务端中的诊断服务的实现还可以利用车辆制造商定义的指定的附加和一些可应用的否定应答码。0x00-0xFF范围的否定应答码被划分为如下三种—— 0x00服务端内部实施所用的positiveResponse参数值—— 0x01 - 0x7F通讯相关的否定应答码—— 0x80 - 0xFF在服务端接收请求时指定的条件/工况不符合的否定应答码。这些否定应答码可以附加在应答码0x22(conditionsNotCorrect)的后面以更加详细的解释为什么请求无法被进行。字节值否定应答码(NRC)定义0x00positiveResponse在否定应答报文中该NRC不应被使用。该positiveResponse参数值是为了服务端内部的实施(具体描述了当服务端接收到请求报文时会执行的一些逻辑步骤会用到0x00)所预留的。0x01 - 0xFFSOSAEReserved该范围的值ISO预留。0x10generalReject一般性拒绝该NRC表示服务端拒绝了请求的执行。在服务端中如果没有一个否定应答码可以表示实际情况时可以使用(generalReject0x10)否定应答码来表示一般性拒绝。0x11serviceNotSupported当服务端不支持请求服务时会发送该NRC。当客户端发送的请求报文的服务ID不正确、服务端不支持时服务端会发送该NRC。0x12sub-functionNotSupported子服务不支持服务端不支持请求报文中所包含的子函数参数时会发送该NRC。0x14responseTooLong响应消息太长如果要生成的应答报文超出了网络层可用的最大字节数则服务端应发送此NRC。比如0x22服务请求读取多个DID的值应答的长度超出了网络层可用的最大字节数时。0x15 - 0x20SOSAEReserved该范围的值ISO预留。0x21busyRepeatRequest请求繁忙服务端处理请求服务暂时繁忙时会发送该NRC。在这种情况下客户端会执行“同一个请求报文”或者“另外一个请求报文”的重复。重复提出请求的时间应该推迟到各个实施文档中所规定的时间。比如在多个客户端环境中当一个不同的客户端完成一个诊断任务时另外一个客户端可能会发送一个NRC 0x21暂时将其请求报文锁住。如果客户端能够执行当前的诊断请求任务但需要额外的时间来完成任务并且准备应答报文则应该使用0x78。0x22conditionsNotCorrect条件不正确服务端执行请求报文的先决条件不满足。0x23ISOSAEReserved该范围的值ISO预留。0x24requestSequenceError请求序列不正确客户端或者服务端发送的报文消息序列不是服务端期望的不同。比如一个成功执行的0x27服务(SecurityAccess)在请求报文中指定了子函数参数为请求种子和发送密钥。如果客户端发送的执行序列不同那么服务端将会发送0x24否定应答码。0x25noResponseFromSubnetComponent子网组件未响应此NRC表示服务端已收到请求报文但请求的操作无法由服务端执行因为子网组件必须提供所请求的信息但其未在指定时间内响应。noResponseFromSubnetComponent 否定应答应该由电子系统中的网关来实施该电子系统包含了子网组件且不能直接响应客户端的请求。网关可以接收子网组件的请求然后从子网组件请求必要的信息。如果子网组件没有响应服务端将使用此否定应答通知客户端该子网组件故障。一般来说每个诊断服务都支持该NRC因为在数据链路层中的具体实施文件中没有另行说明因此它没有列出在诊断服务的适用响应代码列表中。0x26FailurePreventsExecutionOfRequestedAction因失效阻止请求执行由于某种失效工况发生并且这种失效阻止了服务端执行请求的动作。失效其由DTC(诊断故障码状态位中的TestFailed, Pending, Confirmed 或者 TestFailedSinceLastClear被设置为1)所标记。举个例子该NRC可以帮助技术人员直接去读取DTC从而识别到或者修复问题。注意这意味着用于访问DTC的诊断服务不应执行该NRC因为外部的测试工具可能会检查上述NRC并在收到上述NRC时自动请求DTC。每个诊断服务一般都可以支持该NRC(上述服务除外)因为在数据链路层中特定实施文件中没有另行说明因此它没有列出在诊断服务的适用响应代码列表中。0x27 - 0x30**ISOSAEReserved**br/ISO预留0x31requestOutOfRange请求超出范围服务端检测到请求报文中的参数超出了权限范围(比如数据定义的是100个字节而提交的数据是111个字节)或者是在当前会话下尝试去访问的DID/RoutineID不被支持。0x32ISOSAEReservedISO预留0x33securityAccessDenied安全访问拒绝服务端的安全策略未被客户端满足。如下情况发生时服务端应该发送此NRC—— 服务端的测试条件不满足—— 请求报文序列未满足比如DiagnosticSessionControlsecurityAccess—— 客户端发送的请求报文要求一个解锁的服务端0x34ISOSAEReservedISO预留0x35invalidKey密钥无效客户端发送的密钥与服务端内存中存储的密钥不匹配服务端应该保持上锁并且内部安全访问失败的次数应该也会增加一次。0x36exceedNumberOfAttempts超出访问次数客户端未成功访问的次数超出了服务端安全策略所规定的。0x37requiredTimeDelayNotExpired请求的时间延迟未过期在服务端的请求超时时间流逝之前客户端最新一次去获取安全访问的尝试被重新初始化了。0x38 – 0x4FreservedByExtendedDataLinkSecurityDocument扩展数据链路层安全保留。0x50 – 0x6FISOSAEReservedISO保留。0x70uploadDownloadNotAccepted上传下载未被接收上传/下载到服务端内存中的尝试由于某种故障条件未被完成。0x71transferDataSuspended数据传输停止数据传输操作停止了由于一些故障已经激活的数据传输服务应该被停止。0x72generalProgrammingFailure一般性编程失败当在永久内存设备(比如Flash内存)上进行擦写或者重新编程内存地址时检测到错误。0x73wrongBlockSequenceCounter错误的块顺序计数在blockSequenceCounter参数的顺序上服务端检测到错误。注意TransferData服务请求报文重复发送时其blockSequenceCounter的值与上一条请求报文中的相同时服务端应该接收该请求。0x74 – 0x77ISOSAEReservedISO保留。0x78requestCorrectlyReceived-ResponsePending请求被正确接收应答Pending这个NRC表示请求报文被正确接收并且请求报文中的所有参数都是有效的但是要执行的操作尚未完成服务端也还没有准备好接收另一个请求。一旦请求的服务被完成服务端将发送一个肯定应答报文或者是一个与此响应码不同的的否定应答报文。带有此NRC的否定响应报文可以由服务端重复发送直到所请求的服务完成并发送最终的应答报文。此NRC可能会影响应用层时许参数值。详细规范应包括在数据链路层的具体实施文件中。如果服务端在完成所请求的诊断服务时无法从客户端进一步接收请求消息则此NRC只能用于否定应答报文。当使用此NRC时服务端总是要发送最后的应答(肯定或者否定)使用该NRC的典型案例是当客户端发送请求报文时其包含了在服务端内存中要刷写或者擦除的数据。当写入服务端flash内存如果刷写/擦除例程不支持串行通信服务端应该使用应答码发送否定应答报文。0x79 – 0x7DISOSAEReservedISO保留。0x7Esub-functionNotSupportedInActiveSession当前会话子函数不支持当前激活的会话下服务端不支持请求的子函数。0x7FserviceNotSupportedInActiveSession当前会话服务不支持当前激活的会话下服务端不支持请求的服务。0x80ISOSAEReservedISO保留。0x81rpmTooHigh转速过高服务端对于转速先决条件未满足(当前转速超出了预编程的最大值)。0x82rpmTooLow转速过低服务端对于转速先决条件未满足(当前转速超出了预编程的最小值)。0x83engineIsRunning发动机正在运行中有些测试工况下要求发动机正在运行中。0x84engineIsNotRunning发动机未在运行有些测试工况下要求发动机停止运行。0x85engineRunTimeTooLow发动机运行时间太短发动机运行时间低于预设值。0x86temperatureTooHigh温度过高温度高于预设值。0x87temperatureTooLow温度过低温度低于预设值。0x88vehicleSpeedTooHigh车速过高车速高于预设值。0x89vehicleSpeedTooLow车速过高车速低于预设值。0x8Athrottle/PedalTooHigh节气门/油门踏板过高节气门/油门踏板位置超出最大值。0x8Bthrottle/PedalTooLow节气门/油门踏板过低节气门/油门踏板位置低于最小值。0x8CtransmissionRangeNotInNeutral变速箱未在空挡变速箱不在空挡。0x8DtransmissionRangeNotInGear变速箱不在挡位变速箱不在挡位。0x8EISOSAEReservedISO保留。0x8F**brakeSwitch(es)NotClosed (Brake Pedal not pressed or not applied)未踩制动踏板出于安全考虑需要在整个测试过程中保持制动踏板处于制动状态。0x90shifterLeverNotInPark换挡杆不在P挡出于安全考虑需要在整个测试过程中保持换挡杆出于P挡。0x91torqueConverterClutchLockedTC锁止当前液力变矩器离合器状态为锁止。0x92voltageTooHigh电压高ECU电压过高。0x93voltageTooLow电压低ECU电压过低。0x94 - 0xEFreservedForSpecificConditionsNotCorrect为指定不正确条件所预留该范围值预留。0xF0 - 0xFEvehicleManufacturerSpecificConditionsNotCorrect车辆制造厂商条件不正确该范围的值为车辆制造厂商指定不正确的条件场景预留。0xFFISOSAEReservedISO保留。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑