当诊断请求的subfuntion不在Server支持的范围内时,则Server会回复”7F 31 12“; 当发送报文长度或者格式不对时,则Server会回复"7F 31 13"; 例如当尝试请求复位时且当前车速条件不满足,此时Client发送诊断指请求时,Server将会回复“7F 31 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件...
当诊断请求的subfuntion不在Server支持的范围内时,则Server会回复”7F 31 12“; 当发送报文长度或者格式不对时,则Server会回复"7F 31 13"; 例如当尝试请求复位时且当前车速条件不满足,此时Client发送诊断请求时,Server将会回复“7F 31 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件;...
当诊断请求的subfuntion不在Server支持的范围内时,则Server会回复”7F 31 12“; 当发送报文长度或者格式不对时,则Server会回复"7F 31 13"; 例如当尝试请求复位时且当前车速条件不满足,此时Client发送诊断请求时,Server将会回复“7F 31 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件;...
那如果请求失败,ECU回复否定响应,否定响应服务标识符是7F,但是失败的原因可能有多种,所以7F后面还需要有否定响应码NRC,用它来表明失败的具体原因 10服务支持的否定响应码 否定响应码NRC 常用的否定响应码 最后一个78,并不代表请求失败,只是说明ECU现在正忙,无法处理此诊断请求,待ECU空闲时,就会处理此请求 TesterPres...
31表示请求超出范围 78表示收到诊断请求,等待响应 7E表示当前会话下Sub-function不支持 7F表示当前会话下服务不支持 Sub-function分成了两部分(14229 P39) Bit7,Suppress postive reponse message indication bit,抑制正响应位 为0时,不抑制正响应消息 为1时,抑制响应消息,正响应消息不应该被发送 ...
31是请求超出范围; 7E是在当前会话下subfunction不支持 7F是在当前会话下服务不支持 来看两个时间参数,一个是叫做P2Sever,一个是叫做P2Sever*。当Tester给ECU发送请求过后,ECU需要在P2Sever时间内给出相应的响应,如果ECU当前正在处理别的任务,处理别的事情,而不能在P2Sever的时间内给出相应的响应,那么它先在P2Sev...
ECU: 03 7F 27 78 00 00 00 00 若为否定响应,7F+27+NRC ECU: 02 67 06 00 00 00 00 00 若为肯定响应,通过安全校验 细说下安全验证算法。安全验证算法包括1个核心,3个主体。 第一个主体通常和ECU有关。比如我们先用22服务读取ECU的SN,取其中4个字节,作为“调味料”参与,显然这个“调味料”对于这个...
这种优先级的判断逻辑确保了诊断服务的准确性和可靠性。NRC的优先级从高到低排列为: 0x11 > 0x7F > 0x13 > 0x12 > 0x7E > 0x33 > 0x24 > 0x31 > 0x22 > 0x78 了解这些NRC码和它们的优先级,可以帮助你更好地理解和解决车载诊断中的问题。
负响应则是通过7F +SID + NRC的形式表示请求失败的原因,其中NRC代表特定的错误代码,其优先级不同。31服务的NRC支持了统一的诊断负响应格式,便于Client识别请求失败的原因并进行问题排查。具体支持的NRC及其优先级可以在ISO14229-1标准文档中查找。通过以上介绍,我们可以看到31服务在诊断与控制方面的强大...
7. 请求超出范围 (ROOR) – 0x31 8. 安全访问被拒绝 – 0x33 9. 无效的密钥 – 0x35 0x7F 服务ID 否定响应代码 UDS协议寻址方法 要修复、读取、写入或刷新新软件,测试人员需要将测试工具连接到ECU。如果我们想将ECU连接到系统,我们需要分配地址。