统一诊断服务UDS否定响应也可以被抑制
之前的文章 《UDS服务应该支持哪些否定响应码》和 《统一诊断服务(UDS)否定响应码判定》中介绍了诊断服务支持哪些否定响应码以及不同的情况下应该给出哪个否定响应码。那么服务器在不能响应请求的诊断服务时,是否一定要给出否定响应呢?答案是否定的。没错,否定响应也能被抑制。
什么情况下不需要给出否定响应
ISO14229-1:2013(E)中规定,如果服务器收到的是功能寻址的诊断请求,并且需要回复如下的否定响应码时,是不需要给出否定响应的。
否定响应码 NRC |
助记词 |
---|---|
0x11 | SNS (ServiceNotSupported) |
0x12 | SFNS (Sub-functionNotSupported) |
0x7E | SNSIAS (ServiceNotSupportedInActiveSession) |
0x7F | SNSIAS (ServiceNotSupportedInActiveSession) |
0x31 | ROOR (RequestOutOfRange) |
仍然要给出否定响应的特殊情况
是不是满足上面的情况就一定可以不给出否定响应呢?答案仍然是否