DTC(diagnostic trouble code)

这篇博客详细介绍了诊断系统中的三个关键组成部分:status、snapshot和extendeddata。status涉及测试的运行状态,包括不同测试结果的标志位,如测试失败、未完成等。snapshot提供故障发生时的设备和上游设备状态上下文,帮助定位问题。extendeddata包含更详细的故障数据记录。文章深入讨论了这些组件如何协同工作,以确保有效的故障诊断和管理系统。
摘要由CSDN通过智能技术生成

诊断到底在诊断啥,一般由三个部分组成,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 扩展数据,的更加详细的数据记录。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值