汽车电控诊断DTC-Status状态位

avatar
作者
猴君
阅读量:0

ISO-14229标准中对车辆的故障码DTC进行了一定的规范要求——每个DTC都有一个状态字节,字节有8个bit位,从不同程度上代表故障的“过去、现在、未来”—— 例如:这个故障是不是满足了检测条件、是不是在当前发生过,本次驾驶循环又没发生过,之前的驾驶循环发生过等等。

为什么要知道故障的“过去、现在、未来”呢?其实还是为了方便对系统故障进行准确的识别,不误报也不漏报。汽车上电子控制系统的运行环境非常复杂,有时候因为干扰会导致故障触发了一下很快又消失,但是不影响系统功能,可以不记录该故障,但这个的情况连续发生多次说明系统还是有潜在的问题,也是需要记录下来进一步分析。所以,根据不同的场景需求,归纳出这几种通用故障状态,便于对控制器故障进行进一步分析。

官方的定义如下:

Bits

Description

Meaning

0

Test Failed

The bit indicates the qualified result of the most recent test.

1

Test Failed This Operations Cycle

The bit indicates if during the active operation cycle the event was qualified as failed.

2

Pending DTC

This bit indicates if during a past or current operation cycle the event has been qualified as failed, and has not tested 'passed' for a whole cycle since the failed result was reported.

3

Confirmed DTC

The bit indicates that the event has been detected enough times that it was stored in long term memory.

4

Test Not Completed Since Last Clear

This bit indicates if the event has been qualifed (passed or failed) since the fault memory has been cleared.

5

Test Failed Since Last Clear

This bit indicates if the event has been qualified as failed since the fault memory has been cleared.

6

Test Not Completed This Operation Cycle

This bit indicates if the event has been qualified (passed or failed) during the active operation cycle.

7

Warning Indicator Requested

This bit indicaties if a warning indicator for this event is active.

是不是看的有点蒙,这里面还是有一些语言语义理解的差异会让人容易头晕。

  • Test:故障检测程序,一般是周期性的检测

  • Failed : 就是指故障发生了,测试没通过

  • Pass:故障没发生,测试通过

  • Completed:完成表示更改确定当前操作是否有故障,并不表示发生故障

  • Operation Cycle: 一个操作周期,例如:上下电,或者一次唤醒到休眠 期间为一个操作周期;AUTOSAR DEM中定义了常见定义的有4类:

    • K15 点火上下电

    • OBD驾驶循环

    • OBD Warm up 循环

    • 电源 开关

  • Pending:故障在本周期或者上个周期发生了,但是还待定,原意看下个操作周期还是不是发生,还发生就确诊,本周期和下周期不发生,就清除了。但目前也有引申用法,可以引申到多个操作周期。(之所以会有Pending这种跨周期的故障,是因为在燃油车排放后处理中,有一些催化还原反应,相关的故障是需要多个连续周期判断的,在新能源纯电动车中,这种情况反而遇到的少,这个bit有时候待定也被车企定义做其他特殊的待定含义或者保留了)

  • Clear: 指用UDS的清除命令(SID:0x14)清除相应的DTC

  • Event:我们说DTC其实是某类故障的统称,Event 是故障检测的基本单元,多个Event可以mapping 同一个DTC,而同一个Event不能mapping 多个DTC

了解了上面这些概念是不是,再看上面那段英文表格是不是会清晰一点?

如果更直白一点,我们干脆拆解一下每个BIT何时会被置1,何时会被置0

Bits

描述

置1的条件

置0的条件

备注

0

Test Failed

故障发生置1

故障消失置0,或新测试未完成时收到清除DTC命令也置0

1

Test Failed This Operations Cycle

故障发生置1

置1后本次循环内不会置0,重新开始下个循环才会置0,清除命令也无效

2

Pending DTC

故障发生或确认置1

上个循环有故障发生或确认也置1(即使本次循环无故障)

上次/上N次循环无故障,到本次循环结束也无故障则置0

Pending的用法策略比较灵活,这里仅仅是举了常见的例子

3

Confirmed DTC

故障确定已经发生了,经过了确认期例如滤波,循环次数确认等等(按不同故障需求),置1

命令删除DTC,置0 (即使故障恢复也不会自动置0)

4

Test Not Completed Since Last Clear

上次删除DTC命令后,测试条件未满足时置1 (删除DTC后先置1)

上次删除DTC命令后,测试条件满足过就置0

5

Test Failed Since Last Clear

上次清除DTC命令后,故障出现置1

清除DTC命令置0

6

Test Not Completed This Operation Cycle

在当前循环中还未完成过对DTC的测试,置1

当前循环中已完成过对DTC的测试,置0

7

Warning Indicator Requested

关联驾驶员警告的故障,故障发生时置1

关联驾驶员警告的故障,故障置0的策略可自定义

可以同步Test Failed或者Confirmed DTC

通过DTC上面的这些位,我们就知道故障是当前存在,历史存在,还是未来可能确定等等。

声明:文章会首发在 微信公众号 “智说电控”,  欢迎搜索关注!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!