• 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 扩展数据,的更加详细的数据记录。

  • 相关阅读:
    Python 多线程HTTP服务器
    微信小程序开发17 日志监控:怎样面向业务设计日志方案?
    听GPT 讲Istio源代码--pkg(2)
    SpringCach
    C语言描述数据结构 —— 二叉树(1)
    LoadRunner常见的报错-1
    浅析MySQL死锁检测
    【面试普通人VS高手系列】Spring Boot的约定优于配置,你的理解是什么?
    java计算机毕业设计高校选课系统源码+mysql数据库+系统+lw文档+部署
    【自学记录】深度学习入门——基于Python的理论与实现(第4章 神经网络的学习)
  • 原文地址:https://blog.csdn.net/jun7118/article/details/126419981