一个最简单的例子(0x10-诊断会话控制服务): 一个不带sub-function的例子(0x22-通过DID读数据): 负响应消息由两部分组成:SID和负响应码(NRC)。SID用于标识响应的服务,负响应码指示服务执行失败的原因。 负响应报文的字节组成格式如下所示: 一个0x10-诊断会话控制服务例子: 4.负响应码(Negative Response Code -...
其次,针对具体的诊断服务,ISO14229-1:2013(E)定义了其所需支持的特定否定响应码。这里以诊断会话控制服务(0x10)为例。在ISO14229-1:2013(E)的9.2.4章节,定义了诊断会话控制服务(0x10)需要支持的否定响应码,为0x12、0x13、0x22。其它诊断服务支持的特定否定响应码,可以参考标准中的相应章节。 下面列举了常用的...
强制型NRC:这类NRC通常与服务的核心功能相关,具有较高的优先级。例如,NRC 0x11(服务不支持)表示整个服务在当前会话中不支持,优先级较高。 可选型NRC:这类NRC与服务的一些附加功能或特定条件相关,优先级相对较低。例如,NRC 0x33(安全访问条件不满足)表示由于安全访问条件未满足而导致服务请求失败,其优先级低于强制...
3)NRC 0x12和0x7E的区别:0x12是整个子功能不支持,而0x7E是在当前会话不支持。举个例子:19服务有很多子功能,假设客户需求不支持0A子功能,那执行19 0A就会回复0x12;假设10 02服务只在扩展会话下支持,但在默认会话下执行了,就会回复0x7E。 4)NRC 0x7F和0x7E的区别:0x7F是当前会话下服务不支持,0x7E是当前会...
ServiceModeRuleService(Dcm_NegativeResponseCodeType*Nrc_u8,uint8Sid_u8,uint8Subfunc_u8){Std_ReturnTyperetVal_u8=E_OK;*Nrc_u8=0x00;if(((Sid_u8==0x10u&&Subfunc_u8==0x02u)||(Sid_u8==0x11u&&Subfunc_u8==0x01u))){if(...)/* 此处增加自定义逻辑实现 */{*Nrc_u8=0x22;}}return(...
在实际应用中,诊断工具需要根据ECU返回的NRC快速判断服务执行失败的原因,并采取相应的措施。例如,如果NRC为0x11,表示请求的服务在ECU中不被支持,此时诊断工具可能需要更换服务请求或通知用户检查ECU的配置。 结语 UDS协议中的服务ID、诊断请求及NRC回复机制共同构成了汽车诊断通信的核心框架。通过深入理解这些机制,诊断工...
ISOSAERESRVD 0x10 表示请求的诊断服务被服务器(ECU)拒绝,但在本表中所有已定义的编码都不适用,这时回复此编码。 GR (GeneralReject) 0x11 服务器不支持请求的诊断服务。诊断请求中的服务标识符(Service ID)是服务器不支持的或不能识别的,则服务器给出此NRC编码。 SNS (ServiceNotSupported). 0x12 服务器...
3)NRC0x12和0x7E的区别:0x12是整个子功能不支持,而0x7E是在当前会话不支持。举个例子:19服务有很多子功能,假设客户需求不支持0A子功能,那执行19 0A就会回复0x12;假设10 02服务只在扩展会话下支持,但在默认会话下执行了,就会回复0x7E 4)NRC0x7F和0x7E的区别:0x7F是当前会话下服务不支持,0x7E是当前会话下子...
1、P4Server_max与NRC0x78关系 先看一个数据流,如下所示: 如上的数据流中,上位机使用功能寻址(0x7FF)发送了$10 82的诊断请求,Server端给了一个NRC0x78响应,并且没有最终响应。 (一)需求解读 如果单纯的看这个数据流,大家可能比较迷茫,不知这个问题是对还是错。我们先看一下需求,如下所示: ...
As mentioned in previous reports, INMS has determined that it would seek third-party accreditation to ISO/IEC 17025 for its calibration and measurement capabilities that are listed in the CIPM MRA Appendix C. This is a key element in meeting its responsibilities under the requirements of signing ...