1)NRC 0x31不管SPRMIB有没有置位,在参数不对或不支持的情况下都回复NRC 0x31; 2)在SID不支持时,SPRMIB没有置位,则回复NRC 0x11或0x7F,看具体情况;但SPRMIB置位了,则一定回复NRC 0x11; 3)在sub-function不支持时,SPRMIB没有置位,则回复NRC 0x12或0x7E,看具体情况;但SPRMIB置位了,则一定回复NRC 0x...
1)NRC 0x31不管SPRMIB有没有置位,在参数不对或不支持的情况下都回复NRC 0x31 2)在SID不支持时,SPRMIB没有置位,则回复NRC 0x11或0x7F,看具体情况;但SPRMIB置位了,则一定回复NRC 0x11 3)在sub-function不支持时,SPRMIB没有置位,则回复NRC 0x12或0x7E,看具体情况;但SPRMIB置位了,则一定回复NRC 0x12...
肯定响应(Positive Response)格式为:(SID+0X40)+Subfunction(子功能)+数据。例如,请求0X10服务,Subfunction(子功能)为0X02,肯定响应第1个字节为0X50,第2个字节为0X02。 否定响应(Negative Response)格式为:0X7F+SID+NRC。例如,请求0X10服务,否定响应第1个字节为固定的0X7F,第2个字节为0X10,第3个字节为NRC。
负响应消息由两部分组成:SID和负响应码(NRC)。SID用于标识响应的服务,负响应码指示服务执行失败的原因。 负响应报文的字节组成格式如下所示: 一个0x10-诊断会话控制服务例子: 4.负响应码(Negative Response Code - NRC) 在UDS协议中,负响应码用于指示服务执行失败的原因。NRC用一个字节表示,每个取值都对应一种不...
格式2:[SID + 40] + [DID] 格式3:[SID + 40] + [Sub-Function] + [DID] 否定响应(Negative Response):[0x7F] + [SID] +[NRC] 否定响应类型有一种,NRC(Negative Response Code)为否定响应码。 举例:诊断仪Tester给ECU发送指定的请求数据(Request),这条数据中需要包含SID,且SID处于该应用层数据的第...
支持的NRC: $19服务故障状态掩码位定义 该mask由主机厂提供: #主要第0位和第三位用的比较多,所以一般故障掩码的值为0x09 bit 0 testFailed: 指示最近执行test的结果,test失败置1,但是它不一定被ECU存储到EEprom中,只有当bit2或bit3被置1时DTC才会被存储。test通过则置0,如果调用了14服务清除DTC的话,也需要...
可以简称为NRC,或者叫负响应码,是一个字节的无符号整数。它是诊断协议为每种执行失败的诊断服务分配的失败原因代号。 Sub-function 有些诊断服务可以支持不同的诊断子服务,sub-function就是用来定义这种子服务的,它将某一个服务细分为更为具体的服务,是一个字节的无符号整数。比如ECUReset这个服务就有0x01,0x02,...
支持的NRC: $19服务故障状态掩码位定义 该mask由主机厂提供: #主要第0位和第三位用的比较多,所以一般故障掩码的值为0x09 bit 0 testFailed: 指示最近执行test的结果,test失败置1,但是它不一定被ECU存储到EEprom中,只有当bit2或bit3被置1时DTC才会被存储。test通过则置0,如果调用了14服务清除DTC的话,也需要...
[0x7F] + [SID] + [NRC] ISO 14229中的一些常用定义 (1)SID定义范围 (2)一些常用的诊断服务 (3)NRC代表含义 基于CAN网络的诊断报文解析 一个CAN的Message包含以下两个方面:CAN ID + CAN Data 下面来讲一个概念叫做PDU(Protocol Data Uint),即协议数据单元。ISO 15765中明确规定了4种类型的网络层协议数据...
当NRC 0x78被使用了,服务端最终都要给一个响应(正响应或否定响应),和SPRMIB的值是否置位无关,和是否是功能寻址,且NRC为0x11,0x7F,0x12,0x7E,0x31无关。 简单来说就是: 1)当服务端回复了NRC 0x78,即使SPRMIB是置位的也要回复正响应; 2)当服务端回复了NRC 0x78,即使发送的请求是功能寻址,且NRC为0x...