对于byte1和byte2并没有什么特殊的,除了行业规定的之外,都是各个主机厂自主定义的一些故障码。但是对于最后一个byte3,则是对这个故障码的定义,是当前故障、历史故障、还是其他的,专业的定义叫做DTCStatusMask,表示当前的故障码状态。 我们常用的故障码状态主要有bit0、bit3、bit5,主要表示当前故障、历史故障码、上次...
byte1和byte2的编码则根据行业规定和各主机厂的自主定义而定。至于最后一个字节byte3,它则用于表示故障码的具体状态,如当前故障、历史故障等,专业术语称之为DTCStatusMask。 在实际应用中,我们常用的故障码状态主要包括bit0、bit3、bit5等,它们分别代表当前故障、历史故障码以及上次清除后的问题故障。这些状态标识为...
通过下表,我们可以更清晰地看到PCBU码在byte0的分布情况。 进一步观察上表,我们发现byte3对故障码的定义起着关键作用。它指示了故障是当前发生的、历史遗留的,还是其他类型。在专业术语中,这被称作DTCStatusMask,即故障码状态掩码。在实际应用中,我们主要关注bit0、bit3和bit5这三个位,它们分别代表当前故障、历史...
对于byte1和byte2并没有什么特殊的,除了行业规定的之外,都是各个主机厂自主定义的一些故障码。但是对于最后一个byte3,则是对这个故障码的定义,是当前故障、历史故障、还是其他的,专业的定义叫做DTCStatusMask,表示当前的故障码状态。 我们常用的故障码状态主要有bit0、bit3、bit5,主要表示当前故障、历史故障码、上次...
对于byte1和byte2并没有什么特殊的,除了行业规定的之外,都是各个主机厂自主定义的一些故障码。但是对于最后一个byte3,则是对这个故障码的定义,是当前故障、历史故障、还是其他的,专业的定义叫做DTCStatusMask,表示当前的故障码状态。 我们常用的故障码状态主要有bit0、bit3、bit5,主要表示当前故障、历史故障码、...
for(Record_count =0; Record_count < DTC_CODE_MAX_NUM; Record_count++)/*检索所有的DTC*/{if((Dtc_dtc_status_record[Record_count].dtc_status.status_byte & status_mask) !=0){Dtc_count++;}}returnDtc_count;} FUNC(void,DCM_CODE) App_Fault_Memory_Read_Number(P2VAR(Dcm_MsgContextType,AU...
我们前文讲述的DTCStatusMask即在参数字段中,还包括DTCMaskRecord、DTCSeverityMask,以及快照相关的其他参数项,规范大约定义了9种不同参数来配套不同的子功能项实现不同功能。我们举例使用$19 01 01,第2字段子功能01,该subfunction功能为根据DTC掩码上报检测的DTC故障数量。对应于第2段子功能为01,第3段标准定义...
举例上文$19服务的响应报文为:$59 01 01 01 00 01,响应报文第1、2字段对应请求报文SID19和子功能01;对于第2字段子功能为01,响应报文第3字段为参数DTCStatusAvailabilityMask;第4字段为参数DTCFormatIdentifier,这个参数即前文我们提到的DTCFID;第5、6字段为请求报文要求的上报DTC本周期故障数量为1个。对于每个参...
我们前文讲述的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段标准定义要求...