19 01-通过状态掩码读取DTC数目
Posted 诊断协议那些事儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19 01-通过状态掩码读取DTC数目相关的知识,希望对你有一定的参考价值。
诊断协议那些事儿
诊断协议那些事儿专栏系列文章,本文介绍存储数据传输服务下的19服务ReadDTClnformation的第一个子功能(01h),通过状态掩码读取DTC数目。
关联文章:
19服务List
$19服务:DTCStatusMask和statusofDTC bit 定义
UDS服务列表
85服务-ControlDTCSetting
14服务-ClearDiagnosticlnformation
文章目录
一、reportNumberOfDTCByStatusMask-19 01
19 01服务是读取DTC信息的第一个子服务:客户端可以通过发送对此服务的请求并将sub-function设置为reportNumberOfDTCByStatusMask来检索与客户端定义的状态掩码匹配的DTC数量。
术语 | 解释 |
---|---|
DTC | 诊断故障码 |
DTCStatusMask | DTC状态掩码-只出现在请求中 |
DTCStatusAvailabilityMask | DTC状态可用掩码-只出现在肯定响应中 |
DTCFID | DTC格式标识符 |
请求的DTC状态掩码的bit置为0,则表示客户端不想知道DTC的statusOfDTC对应的此bit位所关联的信息,如果某个DTC的statusOfDTC的此bit置1,其他的bit置为0,这个DTC就不是客户端想要的,服务器之间过滤掉此DTC。
二、请求格式
sub-function=0x11 reportNumberOfMirrorMemoryDTCByStatusMask与sub-function=0x01
reportNumberOfDTCByStatusMask具有相同的功能,不同之处在于它返回DTC镜像存储器中的DTC数量。
三、肯定响应格式
DTCStatusAvailabilityMask:DTC状态可用性掩码,
在ISO 14229-1中定义:“A byte whose bits are defined the same as statusOfDTC and represents the status bits that are supported by the server.Bits that are not supported by the server shall be set to ‘0’.Each supported bit(indicated by a value of ‘1’)shall be implemented for every DTC supported by the server.”
意思:该参数只有一个字节,其位定义与statusOfDTC相同,表示服务支持的状态位(一个服务器功能确定后,这个参数将是一个定值)。服务器不支持的位应设置为“0”,支持的位设置为“1”。
四、否定响应格式
1.支持的否定响应码
NRC | 描述 | 助记符 |
---|---|---|
0x12 | 子功能参数不受支持 | SFNS |
0x13 | 请求报文的数据长度(或者格式)不符合标准 | IMLOIF |
0x31 | ①客户端规定了一个不被服务器识别的DTCMaskRecord;②客户端规定了一个无效DTCSnapshotRecordNumber/DTCExtDataRecordNumber;③客户端规定了一个不被服务器识别的FunctionalGroupIdentifier;④服务器无法识别MemorySelection | ROOR |
五、消息流示例
①获取DTC状态掩码0x08(已确认DTC)匹配的DTC数目
※设定本服务器的DTCStatusAvailabilityMask为0x2F
假设服务器共支持三个DTC(0x080511、0x0A9B17、0x25221F)
i.DTC P0805-11"离合器位置传感器对比短路0x080511",statusOfDTC为0x24(0010 0100b)
ii.DTC P0A9B-17"混合电池温度传感器电压超出阈值0x0A9B17",statusOfDTC为0x26(0010 0110b)
iii.DTC P2522-1F"A/C Request “B” - circuit intermittent 0x25221F",statusOfDTC为0x2F(0010 1111b)
请求消息:
响应消息:
②获取DTC状态掩码0x01(当前故障)匹配的DTC数目
总结
以上就是今天要讲的内容,欢迎各位评论,提出宝贵意见,小编也会持续更新,以提供更好的作品。
以上是关于19 01-通过状态掩码读取DTC数目的主要内容,如果未能解决你的问题,请参考以下文章