DTC状态变化3

本章会介绍,DTC的相关状态,以及每个状态是怎么变化的。

在UDS(统一诊断服务)中,有八种主要的DTC(诊断故障代码)状态。这些状态反映了DTC的生命周期和当前状态。以下是这八种状态的详细解释:

  • 未检测到故障(Not Detected):

在这个状态下,没有任何故障被检测到。
DTC未被设置。

  • 挂起(Pending):

当ECU首次检测到一个潜在故障时,DTC可能会被标记为挂起状态。
表示需要更多的监测和验证,以确定是否需要将DTC设置为“确认”的状态。

  • 故障首次检测(Fault Detected, Not Confirmed):

当ECU检测到一个故障但还不确定它是否持续存在时,DTC处于这个状态。
这是一个临时状态。

  • 故障确认(Fault Confirmed):

如果在连续的几个驾驶周期中,故障仍然被检测到,DTC会被标记为确认状态。
这表示故障已经被确认存在,并且DTC被存储在ECU的内存中。

  • 故障不再出现(Fault Not Present):

如果在后续的驾驶周期中,故障不再被检测到,DTC的状态会变为“故障不再出现”。
DTC仍然存储在ECU的内存中,但不再触发故障指示灯。

  • 故障已清除(Fault Cleared):

技术人员使用诊断工具清除了存储在ECU中的DTC。
DTC状态会回到未检测到故障状态。

  • 老化(Fault Aging):

如果一个已确认的DTC在连续的几个驾驶周期中都没有再次被检测到,它可能会进入老化状态。
当DTC达到老化状态时,如果它不再被检测到,它会自动从ECU的内存中被清除。

  • 未确认故障(Not Confirmed Fault):

这个状态用于表示故障曾经被检测到但未被确认。
通常,如果挂起状态下的故障在一段时间内没有再次被检测到,它会被标记为未确认故障。


1:表示有
testFailed:此时DTC请求是否失败。
testFailedThisOperationCycle:表示当前操作周期中是否有失败。
pendingDTC:DTC在当前或者上一次周期是否有失败
confirmDTC:故障是否得到请求确认。
testNotCompletedSinceLastClear:自从上次14服务清除以来,测试是否Passed,1表示测试还没有通过,0表示已经没有故障。
testFailedSinceLastClear:自从上次清除,DTC测试至少失败了一次。
testNotCompleteThisOperationCycle:DTC测试完成了这个操作周期。

需要说明理解:

测试test(ECU内部周期执行,检测故障):测试是一种板载诊断软件算法,通常在单个操作周期内确定组件或系统的故障状态。有些测试在一个操作周期内仅运行一次。其他测试可以运行每个程序循环,每隔几毫秒采样一次。测试的最终结果代表完全成熟/合格的条件(即通过或失败)。这意味着在组件被视为失败之前需要在特定时间内出现失败条件或评估额外的合理性检查的测试只有在满足所有成熟标准后才会返回“失败”条件。每个 DTC 都与代表可检测故障症状的测试相关联。并不是说出现一次失败,就会认为是上报故障,因为存在误报的情况,是达到成熟条件,比如达到某个阈值(相当于做了去抖的作用)。
测试样本test sample:测试样本表示满足测试运行条件时 DTC 测试执行的单个实例的“通过”或“失败”结果。这代表单个样品,因此通常不是完全成熟/合格的条件。对于支持 DTC 故障检测计数器的 ECU,代表失败的测试样本将使 DTC 故障检测计数器增加特定量,而代表通过的测试样本将使 DTC 故障检测计数器减少特定量。
完成complete:完成是指测试能够确定当前操作周期是否存在故障(完成并不意味着失败)。
测试结果test result:当测试运行时或完成后,它可能会向内部故障处理程序指示以下结果之一:

  • PreFailed:ECU 中的测试可以使用此状态来指示测试当前正在成熟的故障条件。此信息的一个用例是在制造中加快故障检测以优化工作流程,同时保持现场容错能力。
  • 失败Failed:此状态在测试运行完成后可用,并指示完全成熟的失败条件。
  • 通过Passed:此状态在测试运行完成后可用,表示系统或组件没有出现故障。

故障(Failure):故障是指组件或系统无法满足其预期功能。当在足够长的时间内检测到故障条件时,就发生了故障,这意味着测试返回了“失败”结果。术语"failure" and "malfunction"可以互换。
监视器Monitor:监视器由一项或多项测试组成,用于确定组件或系统是否正常运行。
监控周期Monitoring cycle:监控周期是监控器运行完整的时间。这是制造商定义的一组条件,在此期间可以运行监视器的测试。监视周期可以在一个操作周期内执行多次,也可以在几个操作周期内执行一次。
操作周期Operation Cycle:操作周期指定监视器运行的开始和结束条件。在一个操作周期中,可能已经完成了多个监控周期(无论其测试结果如何)。一个 ECU 可以支持多个操作周期。对于车身和底盘 ECU,由制造商定义操作周期(例如 ECU 通电和断电之间的时间或点火开关打开和点火关闭之间的时间)。对于动力系统 ECU,还有定义操作周期的附加标准。与排放相关的动力系统 ECU 使用发动机运行或发动机关闭时间段来定义操作周期(称为驱动周期)。如果 DTC 状态位的复位条件与操作周期的开始相关,则它也可能被视为前一个周期的结束(即,并不总是能够区分每个操作周期的开始与结束)。

待定pending:故障的待定状态定义为在当前操作周期或最后完成的操作周期期间报告该测试“失败”结果的测试。一旦测试报告了此故障的完整操作周期的“通过”条件,挂起状态就会重置。

确认阈值Confirmation Threshold:故障的确认状态定义为在测试已运行完成的给定数量的操作周期内报告该测试“失败”的测试。通常,对于非 OBD 用例,操作周期的阈值定义为 1。对于 OBD 用例,该阈值通常大于 1。实现中可以使用跳闸计数器(参见图 D.9)作为将确认状态从 0 更改为 1 的触发器。跳闸计数器对发生故障的操作周期(驱动周期)进行计数。如果计数器达到阈值(例如 2 个驱动周期),则确认位将从 0 更改为 1。
老化阈值Aging Threshold:DTC 的老化被定义为对于给定数量的车辆制造商或法规定义的操作周期没有报告“失败”结果的测试,并且如果相应的周期触发老化计数器的递增,则该测试是特定于车辆制造商的,具体取决于是否测试在周期内是否运行完成。实现可以使用老化计数器(参见图 D.11)作为将确认状态从 1 更改为 0 的触发器,并从非易失性存储器中擦除 DTC 信息。老化计数器对满足前面提到的标准的周期数(例如预热周期)进行计数。如果该计数器达到阈值(例如 40 个预热周期),则确认位将从 1 更改为 0。
驾驶循环Driving cycle:用于与排放相关的 ECU 的特定类型的操作循环。详细信息请参阅“操作周期”。在与排放相关的 ECU 中,仅支持一个操作周期,该周期与立法定义的驾驶周期相同。
监视器级别启用条件Monitor Level Enable Conditions:允许监视器运行并报告测试结果的标准/条件.
DTC 状态更新条件DTC Status Update Condition:允许监视器更新所有 DTC 状态位的条件(例如 controlDTCSetting DTCSettingType 不等于“off”)。此通用条件适用于所有 DTC 状态位转换 [即,如果此条件为 false 无应允许图 D.1 到图 D.8 中描述的转换,但由接收到清除诊断信息命令触发的状态位复位除外

DTC 存储条件DTC Storage Condition:由车辆制造商定义的条件,指示相关 DTC 状态位和能够更新的相关 DTC 数据(例如 DTC 扩展或快照数据)是否被更新并存储在非易失性存储器中。

关于状态变化,下面有两篇写挺好:
参考1
参考2

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小昭dedug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值