状态掩码(Status Mask),又叫DTC状态掩码(DTC Status Mask),是一个用于表示不同状态信息的编码方式,在统一诊断服务(UDS)中扮演着重要的角色。它通常由八个状态位(bit0到bit7)构成,每一位都有其特定的含义。客户端可以利用状态掩码向服务器请求与其状态相匹配的DTC(故障诊断码)信息。 2. 什么是DTC(Diagnostic Tr...
DTCStatusMask(DTC状态码)是包含8个DTC状态位(statusOfDTC),每一个状态位都代表着不同的信息。长度位一个字节。主要用于请求消息中。允许客户端为其状态与DTCStatusMask相匹配的DTC请求DTC信息。如果任何一个DTC实际状态掩码被设置为“1”(即如果DTC状态掩码与DTC实际状态进行逻辑匹配,则发生匹配)。如果客户端指定了...
它指示了故障是当前发生的、历史遗留的,还是其他类型。在专业术语中,这被称作DTCStatusMask,即故障码状态掩码。在实际应用中,我们主要关注bit0、bit3和bit5这三个位,它们分别代表当前故障、历史故障码以及上次清除后出现的问题故障。这些状态信息为维修人员提供了有力的支持,助力他们更高效地诊断和解决车辆故障。
19服务(ReadDTCInformation)用于读取ECU的DTC故障信息,此服务允许客户端从服务器读取诊断故障代码(DTC)的相关信息。此服务包含28个子服务(Subfunction),常用的5种子服务如下:0x01 reportNumberOfDTCByStatusMask(读取客户端定义状态掩码匹配的DTC数量)0x02 reportDTCByStatusMask(读取客户端定义状态掩码匹配的DTC)...
对于byte1和byte2并没有什么特殊的,除了行业规定的之外,都是各个主机厂自主定义的一些故障码。但是对于最后一个byte3,则是对这个故障码的定义,是当前故障、历史故障、还是其他的,专业的定义叫做DTCStatusMask,表示当前的故障码状态。 我们常用的故障码状态主要有bit0、bit3、bit5,主要表示当前故障、历史故障码、...
我们前文讲述的DTCStatusMask即在参数字段中,还包括DTCMaskRecord、DTCSeverityMask,以及快照相关的其他参数项,规范大约定义了9种不同参数来配套不同的子功能项实现不同功能。我们举例使用$19 01 01,第2字段子功能01,该subfunction功能为根据DTC掩码上报检测的DTC故障数量。对应于第2段子功能为01,第3段标准定义...
/*按照状态掩码统计ECU中与之匹配的DTC,返回其DTC信息(代码如上)*/counter = DTC_GetDtcByStatusMask(&(pMsgContext->resData[DCM_INDEX_3]),DtcStatus_Temp);pMsgContext->resData[DCM_INDEX_2] = DTCStatusAvailabilityMask;/*返回ECU支持的状态位*/pMsgContext->resDataLen = DCM_INDEX_3 + (counter ...
从上图可以看出,PCBU码在byte0的分布具有明确的规律:P码占据00-3F范围,C码占据40-7F范围,B码占据80-BF范围,而U码则占据C0-FF范围。byte1和byte2的编码则根据行业规定和各主机厂的自主定义而定。至于最后一个字节byte3,它则用于表示故障码的具体状态,如当前故障、历史故障等,专业术语称之为DTCStatusMask。
我们前文讲述的DTCStatusMask即在参数字段中,还包括DTCMaskRecord、DTCSeverityMask,以及快照相关的其他参数项,规范大约定义了9种不同参数来配套不同的子功能项实现不同功能。 我们举例使用$19 01 01,第2字段子功能01,该subfunction功能为根据DTC掩码上报检测的DTC故障数量。对应于第2段子功能为01,第3段标准定义要求...
我们前文讲述的DTCStatusMask即在参数字段中,还包括DTCMaskRecord、DTCSeverityMask,以及快照相关的其他参数项,规范大约定义了9种不同参数来配套不同的子功能项实现不同功能。 我们举例使用$19 01 01,第2字段子功能01,该subfunction功能为根据DTC掩码上报检测的DTC故障数量。对应于第2段子功能为01,第3段标准定义要求...