也就是说,如果请求的是功能寻址,且NRC是上面5个中的任意一个,假设是NRC 0x7F,但是服务端先回复了一个NRC 0x78,那么服务端最后就必须回复NRC 0x7F了。 这里再讲一个NRC 0x78的,原文如下: 当NRC 0x78被使用了,服务端最终都要给一个响应(正响应或否定响应),和SPRMIB的值是否置位无关,和是否是功能寻址,且NRC为0x11,0x7F
0x73:块序列计数错误。 0x78:已收到请求,但会晚点响应。 0x7E:当前会话下,该子功能不支持。 0x7F:当前会话下该服务不支持。 0x92:电压过高。 0x93:电压过低。 2️⃣ NRC码的优先级: 诊断服务的NRC优先级是指在不同情况下,诊断服务返回的否定响应代码(NRC)的优先级。在实际使用中,NRC的优先级对于诊断...
否定响应码(NRC)在诊断协议中用于表示服务端无法执行诊断请求的情况。NRC分为两类:一种是整个服务不支持(NRC 0x11),一种是特定子功能不支持(NRC 0x12)。NRC的优先级从高到低依次为:0x11、0x7F、0x13、0x12、0x7E、0x33、0x24、0x31、0x22、0x78。不同情况下NRC的回复顺序不同。当有...
功能寻址模式下:肯定响应抑制肯定响应,对于否定响应分为两种情况: 当否定响应场景为ROOR, SFNS, SFNSIAS, SNS, SNSIAS,Server No response 当否定响应为除上面列举的其他场景,Server答复对应的NRC 也就是说,在功能寻址模式下,NRC 0x11,0x12,0x7E,0x7F,0x31一般不会出现;其它的否定响应码不受影响。但是有一种...
2. 请求与响应 可以发送诊断请求的设备都可以称之为诊断仪,诊断仪发送诊断请求給ECU,ECU回复诊断响应给诊断仪。 eg. 22服务请求(SID + DID): 响应: 肯定响应(SID + 40): 否定响应(7F + SID + NRC): 常见的否定响应码(其中78比较特殊,ECU短时间内无法回复): ...
肯定响应(Positive Response)格式为:(SID+0X40)+数据。例如,请求0X10服务,肯定响应第1个字节为0X50;请求0X22服务,肯定响应第1个字节为0X62。 否定响应(Negative Response)格式为:0X7F+SID+NRC。例如,请求0X10服务,否定响应第1个字节为固定的0X7F,第2个字节为0X10,第3个字节为NRC。NRC是否定响应码,可以根据...
UDS中定义的否定响应代码常用的: ServiceNotSupported/服务不支持($11 ) 当诊断仪发送的请求消息中服务标识符无法识别或不支持时,ECU应发送该响应码 SubFunctionNotSupported/不支持子功能($12 ) 该响应码表明请求的动作不能执行的原因是ECU不支持
USD诊断服务的否定响应中包含有导致否定响应原因的编码,称为否定响应码(NRC, Negative Response Code)。否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。0x01 – 0x7F:诊断通信相关的否定响应码。0x80 – 0xFF:服务器收到诊断服务请求时,由...
0x01 – 0x7F:诊断通信相关的否定响应码。 0x80 – 0xFF:服务器收到诊断服务请求时,由于某些条件不满足要求而给出的否定响应码。给出这些否定响应码而不是给出0x22的目的是为了提供请求的服务不能被执行的更详细的原因。 当ECU反馈为否应响应时格式为,NR_SI(否定响应服务码0x7F) + SID(否定的请求服务SID...