中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

搜索附件  

UDS状态位介绍w3.jpg

 

UDS状态位介绍:
DTC status表示一个故障的状态,是故障数据存储、故障老化等机制的依据条件之一,DTCstatus总共有以下八种状态:
Bit描述
0TestFailed
1TestFailedThisOperationCycle
2PendingDTC
3ConfirmedDTC
4testNotCompletedSinceLastClear
5testFailedSinceLastClear
6TestNotCompletedThisOperationCycle
7WarningIndicatorRequested
下面先对以上八种状态进行详细说明‘Bit0 testFailedBit0 testFailed的默认值为0。故障诊断通常是周期性执行的,如果当前周期检测到故障条件满足,表示故障发生了,Bit0testFailed会立即置1,下一个周期如果检测到同一故障的使能条件为满足,则Bit0位会立即恢复为0。从下图可知,Bit0复位还有两种条件:一种调用Dem<…>clearDTC函数清楚该故障的状态位(通常是USD 14服务被执行),第二种调用Dem_ResetEventStatus函数对该故障状态位进行复位。AUTOSAR的标准中对Bit0还有关于是否需要存储的描述,可以通过配置项DemStatusBitStorageTestFailed进行配置。对于支持WWH-OBD的控制器则需要将该配置项配置为true。   

Bit1 TestFailedThisOperationCycleBit1的默认值为0,Bit1用于表示当前运行循环是否出现过testFailed = 1。一旦Bit0 testFailed出现过被置位为1的情况,Bit1会被置1,Bit1只有一下两种情况下才能恢复为0:一种是用Dem<…>clearDTC函数清楚该故障的状态位(通常是USD 14服务被执行);第二种是该循环结束新的循环开始,Bit置位和恢复的示意图请参照图2。

Bit2 PendingDTCBit2默认值为0,Bit2PendingDTC表示故障在当前循环或者上一个循环出现过Bit0 testFailed被置位为1,并且Bit2 PendingDTC的状态只有在当前循环测试完毕之后才会更新,也就是说如果上一个循环故障发生了,Bit2 PendingDTC位置1,当前循环故障没有发生,但是Bit2 PendingDTC仍为1,只有在下一个循环才会恢复为0。该位有两种条件可以恢复0:第一种是用Dem<…>clearDTC函数清楚该故障的状态位(通常是USD 14服务被执行);第二种是当前运行Bit1未置位为1,并且Bit6未位置为1,并且运行循环结束或者开始一下一个运行循环。示意图如下图。   

Bit3 confirmedDTCBit3默认值为0,Bit3 confirmedDTC表示故障已经确认,故障数据存储至EEPROM或者FEE(如果支持实时存故障数据)。另外有一点需要注意Bit3 confirmedDTC置位为1不表示故障还发生,故障当前是否发生主要由Bit0 testFailed状态确定。相对其他bit而言,Bit3的复位条件比较苛刻,有以下三种:第一种为故障老化,第二种为故障替代,第三种是用Dem<…>clearDTC函数清楚该故障的状态位(USD 0x14服务被执,OBD为 0x04服务),该位的逻辑图如下所示。

Bit4 TestNotCompletedSinceLastClearBit4的初始默认值为1,Bit4表示自从上次调用Dem<…>clearDTC函数清除DTC后,是否成功执行对故障进行检测,bit4=1表示该故障自从上次清除之后还未进行检测,bit4 =0,表示该故障自从上次清除之后已成功进行检测,该位的逻辑跳转图如下所示。   

Bit5 TestFailedSinceLastClearBit5的初始默认值为0,Bit5表示自动上次动用Dem<…>clearDTC函数清除DTC之后,bit0 testFailed是否出现过置位为1。Bit5=0表示自动上次清除DTC之后,故障未发生过,bit5=1表示自动上次清除之后故障又发生过。该位的复位条件有三种:第一种为调用Dem<…>clearDTC函数,第二种是故障老化,第三种为故障替代,逻辑图如下图所示。

Bit6 testNotCompletedThisOperationCycleBit6的初始默认值为1;bit6表示该运行循环故障是否进行检测,故障是否进行测试。Bit6=0表示当前循环已对该故障进行检测,进行测试,bit6=1表示当前循环还未对该故障进行检测,进行测试。Bit6的逻辑图见下图。

Bit7 WarningIndicatorRequestedBit7初始值为0,bit7用于某些故障发生需要通过仪表盘的MIL灯通知车主。Bit7=1表示请求点亮仪表盘的MIL灯。Bit7=0表示不请求点亮仪表盘的MIL灯。对于不需要通过仪表盘告知用户的故障,Bit7始终为0。   

上面主要对DTC status的各位进项的介绍,下面通过一张图来介绍各状态位的变化。

其中:

0 表示接收到清除诊断信息命令,初始化DTC status byte。1、2表示在运行循环1中故障检测,或者说故障测试已经开始,所以bit4、bit6状态发生变化。3、4、5、6:testFailed,testFailedThisMonitoringCycle,pendingDTC和testFailedSinceLastClear位同时从0变为1,表示已检测到故障发生,但该故障需要两个运行周期才能确认,所以confirmedDTC还是为0.   7表示故障恢复;8表示故障再次发生;9、10:表示在运行循环1结束,运行循环2开始的分界点,由于运行循环2中故障还未进行故障诊,所以testFailedThisOperationCycle状态从1变成0,testNotCompletedThisOperationCycle状态从0变成1.11表示在运行循环2中故障检测还未开始,这时testfailed的状态可以有制造商指定是否保留上一个循环中testFailed的状态,在AUTOSAR中可以通过DemStatusBitStorageTestFailed配置项配置。12表示在运行循环2中故障检测已经执行;13、14表示在运行循环2中故障发生了,所以testfailed、testFailedThisMonitoringCycle置位为1.15、由于故障在两个循环中都存在,confirmedDTC置位为116、用于记录故障连续在多少个运行循环出现,用于确认故障的confirmedDTC是否达到置1的条件。关于DTC status就介绍到此,主要介绍了各位的含义,以及通过一个简单的例子对DTC status各位的变化。   
-end-

分享不易,恳请点个【👍】和【在看】
作为一名汽车工程师,针对您提供的UDS状态位中的DTC状态描述,我可以为您简要解释每种状态的含义:<br><br>1. Bit0 TestFailed:表示当前诊断测试失败。<br>2. Bit1 TestFailedThisOperationCycle:指示在本次操作周期中诊断测试失败。<br>3. PendingDTC:表示存在一个待处理的诊断故障代码,可能需要进一步的处理或确认。<br>4. ConfirmedDTC:已确认存在故障的诊断故障代码。<br>5. testNotCompletedSinceLastClear:自上次清除后,测试未完。<br>6. testFailedSinceLastClear:自上次清除以来,测试失败。<br>7. TestNotCompletedThisOperationCycle:本次操作周期内测试未完成。<br>8. WarningIndicatorRequested:请求点亮警告指示灯,表示有某种异常情况需要关注。<br><br>每种状态都为故障的诊断和处理提供了重要的参考信息。详细的诊断和应对措施需依据具体车型和技术规格进行。
好的,我将以专业的汽车工程师的身份回复您的帖子:<br><br>UDS中的DTC状态位是描述诊断故障代码状态的关键信息。针对您提供的八种状态,简要介绍如下:<br><br>1. Bit0 TestFailed: 表示当前测试失败,可能存在故障。<br>2. Bit1 TestFailedThisOperationCycle: 表示在本次操作周期内测试失败。<br>3. Bit2 PendingDTC: 表示诊断故障代码处于待定状态,即将变为确认状态。<br>4. Bit3 ConfirmedDTC: 表示诊断故障代码已确认存在。<br>5. Bit4 testNotCompletedSinceLastClear: 表示自上次清除后测试未完成。<br>6. Bit5 testFailedSinceLastClear: 表示自上次清除以来测试失败。<br>7. Bit6 TestNotCompletedThisOperationCycle: 表示本次操作周期内测试未完成。<br>8. Bit7 WarningIndicatorRequested: 表示请求点亮警告指示灯。<br><br>这些状态位为诊断故障提供了重要依据,帮助工程师判断和处理汽车故障。希望以上解释对您有所帮助。
作为汽车工程师,我明白您提到的UDS(统一诊断服务)中的DTC(故障诊断代码)状态位十分重要。关于您提供的状态描述,以下是各状态的简要说明:<br><br>1. Bit0 TestFailed:表示本次操作周期内某个测试失败。<br>2. Bit1 TestFailedThisOperationCycle:表示在本次操作周期内,之前的测试已经失败。<br>3. PendingDTC:表示存在尚未确认的故障码,可能需要进一步的数据或操作来确认。<br>4. ConfirmedDTC:已确认存在故障,通常需要采取相应的维修措施。<br>5. testNotCompletedSinceLastClear:自上次清除后测试未完成,可能由于某些条件未满足。<br>6. testFailedSinceLastClear:自上次清除以来测试失败,可能表明存在持续的问题。<br>7. TestNotCompletedThisOperationCycle:本次操作周期内测试未完成,可能需要进一步观察或测试。<br>8. WarningIndicatorRequested:请求点亮警告指示灯,表明有需要注意的故障情况。<br><br>这些状态为故障诊断和维修提供了重要依据。在诊断汽车故障时,需要根据这些状态来分析和解决问题。
UDS状态位介绍w3.jpg
         同一主题附件:
    UDS状态位介绍w1.jpg
    UDS状态位介绍w2.jpg
    UDS状态位介绍w3.jpg
    UDS状态位介绍w4.jpg
    UDS状态位介绍w5.jpg
    UDS状态位介绍w6.jpg
    UDS状态位介绍w7.jpg
    UDS状态位介绍w8.jpg
    UDS状态位介绍w9.jpg
    UDS状态位介绍w10.jpg

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-5-2025 21:18 , Processed in 0.203987 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.