【车载开发系列】UDS诊断---DTC故障码进阶部分回顾

【车载开发系列】UDS诊断—DTC故障码进阶部分回顾

一.操作周期(Operation Cyle)的概念

定义要运行的检测的开始和结束条件,Operation Cycle开始时开始检测故障,结束时停止检测。车身与底盘域由OEM或者供应商自己确定(如上下电、休眠唤醒等),对于动力域会存在其它标准规定

二.监控周期(Monitoring cycle)的概念

检测时会存在一些列条件,并不是操作周期开始就开始检测错误,可以是周期型(Period)、事件型(Event)。同时检测条件满足一定条件(依据实际情况而定),如灯负载(HSD)开路故障,只有在打开输出时才能检测电流判断是都开路
它是由设备制造商定义的,用于决定系统故障的状态。

三.老化计数(Aging Counter)的概念

连续报告没有故障的Operation Cycle数。也就是说当一个操作周期完成且本周期内没有出现TestFailed,则Aging Counter加1。当达到老化阈值时,会将DTC状态confirmed位置为0

四.老化阈值(Aging Threshold)的概念

Aging Counter达到一定的次数之后,DTC的Confirmed状态位将会被清除

五.确认阈值(Confirmation Threshold) 的概念

确认此故障一直存在的操作周期数,将其认定在历史DTC,在老化(aging)或手动清除前confirmed DTC状态位会一直存储在E2POM当中

六.错误计数(FDC, Fault Detection Counter)的概念

为错误计数,当然这个步长可以设定,向上(Step up)或者向下(Step down)均可以设置(计数值位-128-127,不同DTC需要的滤波次数不一致,通过设置此项值设置滤波次数)。同时还可以设置jump down(即在检测通过时是否跳转到0或者其它数,并从这个数开始向下减)

七.冻结帧的概念

冻结帧(Freeze Frame): 也叫做故障快照。记录发生故障时的详细情况(SnapShot:由一些列的DID组成),当DTC状态位Confirmed位由0置为1时将记录snapShot。
可以是环境温度、ECU供电电压等可能与故障相关的一些数据,用于后续的车辆故障分析。

八.诊断故障码(DTC)的掩码的概念

诊断故障码掩码反应了该故障处于的状态,计数主要作用是对DTC进行滤波避免出现误诊断的情况。DTC状态掩码为一个字节数据。DTC诊断故障码也叫做DTC状态码,两者其实是一个东西,但不同的叫法。

九.故障掩码与故障快照,故障扩展信息的区别

故障掩码占一个字节主要是用来确认故障的状态,而快照和扩展信息对故障的维修具有辅助作用。
故障快照是在故障代码设置时存储的一组额外数据,类似于照相机拍照,当故障发生时按下快门,做下记录;
扩展信息是一组提供故障代码相关扩展信息,包括老化计数器等;
故障掩码的作用是获取故障状态的动态的信息;而快照和扩展信息的作用是获取故障辅助信息以方便维修解决故障。
扩展信息是在该数据在DTC的状态Pending置上后便会一同保存在非易失性存储单元(EEPROM)。

十.历史故障与当前故障概念

历史故障是过去发生但当前还没有清除的故障码。历史故障产生的原因有两种情况,一种是故障己经排除,只是未清除故障码,此代码清除后,故障就不会再次发生;
另一种是故障并未排除,只是当前没有发生,此代码清除后,当故障再次发生时,故障还会出现。
当前故障是正发生的故障产生的故障码。当前故障是确实存在的故障引起的,它属于持续性故障产生的故障码,它不会被清除。
历史故障比较难于判断,因为它是曾经发生的故障而现在没有,重现故障产生的状态,可能需要很长时间来捕捉历史故障码的重现,或者需要人为的创造可重现故障的条件。
通过使用故障掩码的不同位,可以获取历史故障和当前故障。

十一.故障检测的概念与步骤

故障检测是由车内在线诊断系统OBD来执行,先通过ECU内部软硬件功能模块实现自我诊断。
对故障的检测分两步:先看检测故障的前提条件,即什么时候或情况需要去检测某一种故障。比如电磁阀关闭时,若检测电磁阀有无堵塞故障,是不合理也不需要的,但电磁阀已开启,则检测有必要。再看检测故障的判断条件,即通过怎样的逻辑去识别某一种故障。比如电磁阀已打开,但监测通过电磁阀的流量非常小,那么怀疑是电磁阀堵塞故障

十二.故障确认的概念

故障的确认是指上述检测到“故障”出现多少次或多长时间才算是真正的故障。采用Debouncing算法来确认。
因为有时可能只是某个信号极其偶尔波动一下,而这种波动对汽车没有影响,这时如果识别为故障,那么就过份的敏感了。因此,为了规避这样的情况也被识别为故障,那么就提出了debouncing的概念,即通过一次次数或时间的累加,确认是否出现了真正的故障。只有当“故障”出现次数或时间累加到一定的值,才确认故障。
当前常用Debouncing算法有基于计数器和基于时间两类。
同样只有次数或时间达到阈值,才能消除故障。

十三.故障处理两大方面

当故障被确认,那么车内在线诊断系统一方面将故障码DTC及相关数据存入ECU内部的非易失存储器内;
另一方面将对故障进行处理,主要包括点灯策略和故障处理策略。其中,点灯策略是指根据故障的严重程度决定是否点亮故障指示灯以及点亮何种颜色,以此警示驾驶员故障的存在,而故障处理策略是指根据故障的严重程度决定做怎样的临时处理措施。

十四.故障诊断码的格式

在ISO4229当中,DTC本身一共有三个字节,而一个DTC故障码又对应唯一的一个DTC状态码,所以说故障信息码的格式由四个字节组成。

十五.在线诊断算法的概念

Debouncing就是在线诊断算法。该算法决定系统了DTC故障状态。一个算法对应于一个唯一DTC。非连续性测试在一个监控周期内仅运行一次,连续测试在每次循环中进行调用,可以是毫秒级的;
系统不能满足功能则会出现Failure也就是一个故障。

十六.DTC状态掩码的详细说明

1) TestFailed (bit0)

指示最近执行test的结果,test失败置1,但是它不一定被ECU存储到EEprom中,只有当bit2或bit3被置1时DTC才会被存储。test通过则置0;
ClearDiagnosticInformation命令可清除此状态位,也就是执行了14服务之后,该bit位要变回0。

2) TestFailedThisOperationCycle (bit1)

该位表示在当前test中,诊断test是否已经报告了一个testFailed结果。
当新的检测循环开始时,这个位需要置0,在调用了ClearDiagnosticlnformation服务后也需要置0。
如果该位置1,那么一直保持置1状态直到新的检测循环开始,因此bit1可以理解为当前DTC。如果bit2和bit3通常一起使用。
也就是表示当前操作周期或从上一次命令清零后已经监测到一次故障。

3) PendingDTC (bit2)

该bit位其实是表示DTC处于testFailed和confirmedDTC之间的一个状态,称为待定DTC。因为DTC并不是一达到触发位就会被报出来的,而是故障出现一段时间后才会被确认,而中间的这个状态就用bit2位来表示,因此bit2位又可被称为待定DTC。
若一段时间后故障条件不满足了,则bit2置0,若一段时间后故障仍然存在,那么bit3就要置1了。
此位清零条件为一个完整的操作周期内未出现故障或ClearDiagnosticInformation命令。

4) ConfirmedDTC (bit3)

当bit3置为1时,说明故障已经发生了一段时间,也就是bit2至少有一次被置1了。bit3置1时,说明故障已经发生了一段时间,也就是bit2至少有一次被置1了,所以可以理解为它就是历史故障。
故障的记录信息被新故障记录覆盖时,或者调用14服务之后 会清零此状态位。

5)testNotCompletedSinceLastClear(bit4)

因为并不是所有的DTC测试都是从上电就开始的,所以该位用来表示上次调用14服务清除诊断消息后,是否进行过完整的test。如果进行了完整的test,无论结果如何,都置0,否则置1。调用完14服务后就是置0。

6)testFailedSinceLastClear(bit5)

该位表示在上次调用14服务清除后DTC后,若test DTC未进行测试或者测试了但结果是pass时置0,如果test运行完成并且返回结果为fails,那么该位置1。在调用14服务清除DTC后需要置0。bit4和bit5通常一起使用

7)testNotCompletedThisMonitoringCycle(bit6)

该位表示在当前检测循环周期过程中DTC test是否完成,若完成了置0,未完成置1。在调用ClearDiagnosticDTC后需要置1。

8)warningIndicatorRequested(bit7)

该位报告警告指示,比如说仪表盘上的警示灯等。但不是所有的DTC都会有警告指示,如果没有和DTC相关的警告存在,该位应置0;如果该DTC有相关警告指示,bit3置1的时候,bit7也要置1。在调用14服务清除DTC后需要置0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的横打

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

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

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

打赏作者

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

抵扣说明:

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

余额充值