• DTC(diagnostic trouble code)


    诊断到底在诊断啥,一般由三个部分组成,status,snapshot,extended data。

    status:

    操作周期(ooperation cycle),包含n个测试(test),测试ext状态有三no result,passed,failed,一旦passed或者failed则不进入noresult,实际noresult 与 passed都是0,通过本周期是否有测试结果bit区分。
    一次测试的时间不定,由定周期的测试采样(test sample)的结果积分来决定,
    每次测试采样结果出来会更新fault detection counter,当fault detection counter满足阈值(-128~127)则记一次测试,出一次测试结果,更新测试状态。

    bit 0 testFailed,现在test的状态,1:failed,0:passed
        默认0,请求可置0
    bit 1 testFailedThisOperationCycle,本次操作周期,test是否有出现failed,1:有,0:没有
        默认0,请求可置0,新操作周期置0
    bit 2 pendingDTC ,多个连续操作周期,test是否有出现failed,1:有,0:没有
        默认0,请求可置0,单个操作周期有test结果且结果只有passed置0
    bit 3 confirmedDTC,是否足够条件将dtc存到flash里面
        默认0,请求可置0,多个周期都有failed,满足周期数阈值置1,老化后置0,非排放ecu阈值为1.老化连续多个(一般40)操作周期没有fail。
    bit 4 testNotCompletedSinceLastClear,上次请求清除后,test是否跑完有结果,1:没有,0:有
        默认1,请求置1,test有结果置0
    bit 5 testFailedSinceLastClear,上次请求清除后,test是否有failed结果,1:有,0:没有
        默认0,请求可置0,test failed置1
    bit 6 testNotCompletedThisOperationCycle,本次操作周期,test是否跑完有结果,1:没有,0:有
        默认1,请求置1,新周期置1,test有结果置0
    bit 7 warningIndicatorRequested,报警灯,0:不需要,1:需要
        默认0,请求可置0

    bit4 bit5 多个周期,针对用户清除操作,有效性确认(三状态需要两个位来表征)。状态值
    bit1 bit6 本周期,状态值
    bit2 bit3 failed至少出现并保持多周期,且情况是否有好转,积分值。

    snapshot,failed发生时刻,本设备以及上游设备一部分状态上下文,用于定位问题原因。还原一个全局的状态。类似linux的core dump。
    extended data 扩展数据,的更加详细的数据记录。

  • 相关阅读:
    小白弄明白了 unix 时间戳的转换问题
    记一次重大的问题解决
    八股整理(计网,os)
    隆云通土壤pH传感器(扁三针)
    Python的优点和缺点
    详情图怎么做二维码?批量线上图片生码图文教学
    Day26、认识数据库
    java服务器端开发-servlet:1_2_1、如何开发一个servlet,实战写一个servlet
    day09-Tomcat01
    6.SSM-SpringBoot
  • 原文地址:https://blog.csdn.net/jun7118/article/details/126419981