数据读取和写入这两个服务我们放在一起看,它们是相对应的一组服务,都很常用。
1. 22服务读取数据请求报文格式
下面是22服务读取数据请求报文的格式,就是SI+DID,允许在一条请求中同时包含多个DID,即同时请求多条数据,用户可自定义每次包含DID的最大个数。但实际使用的时候通常都是每次只请求一个DID。
2. 22服务读取数据肯定响应报文格式
22服务读取数据的响应报文格式就是SI+DID+数据,每条DID后面跟着它的数据。数据的长度和格式标准中没有定义,都是用户自定义的,我们后文会详细介绍几种常用的数据格式。
3. 22服务支持的否定响应码
- 0x14-响应过长:这个NRC表示ECU将要返回的诊断响应数据过长,超过了传输层的最大传输能力,通常发生在诊断仪同时请求了多个DID的时候。
- 0x31-请求超出范围:所请求的DID不支持。
- 0x33-安全访问被拒绝:读取数据通常不需要经过安全访问,但对于一些很重要的