文章目录
- 1.DemDTC
- 2.DemDebounce
- 3.DemEventParameter
- 4.DemOperationCycle
- 5.DemIndicator
- 6.DemComponent
- 7.DemDTC status
1.DemDTC
DTCAttributes:故障数据一致的dtc可以共用
老化阈值
aging counter是fail以后的周期中,发生的pass次数。
故障优先级
老化操作循环 Ignition循环 WarmUp循环
扩展数据的索引
冻结帧的索引
冻结帧记录号的索引
故障存储方式 Primary Event Memory
2.DemDebounce
计数器的防抖机制
jump up、jump down
DemDebounceCounterJumpDownValue
当debounce counter大于该值时,如果这时诊断事件的EventStatus是prefailed,那么debounce counter会被初始化为该值。这个机制是在DemDebounceCounterJumpDown为true的条件下使能。
DemDebounceCounterJumpUp
当debounce counter小于该值时,如果诊断事件的EventStatus是prepassed,那么debounce counter会被复位为该值。这个机制是在DemDebounceCounterJumpUp为true的条件下使能。
防抖计数器的累加与递减步幅
DemDebounceCounterIncrementStepSize/DemDebounceCounterDecrementStepSize
步长 每次debounce counter增加或者减少的长度
确定故障测试失败的防抖计数器阈值
DemDebounceCounterFailedThreshold
使得诊断事件状态为failed的debounce counter的阈值
确定故障测试通过的防抖计数器阈值
DemDebounceCounterPassedThreshold
使得诊断事件状态为passed的debounce counter的阈值
计时器的防抖机制
防抖计时阈值
确定故障测试通过的防抖计时阈值
3.DemEventParameter
确认故障阈值
事件ID
DemComponent
故障码索引DemDTC
操作循环 点火循环 OBD驾驶循环
防抖机制的索引DemDebounceCounterBasedClass
4.DemOperationCycle
Dem_SetOperationCycleState 操作循环,启动或结束
DemOperationCycleAutostart 操作循环在Dem_Init 时是否自动启动 配置了自动启动的操作循环,无法在通过接口函数Dem_SetOperationCycleState 启动该操作循环。
DemOperationCycleAutomaticEnd 操作循环在Dem_Shutdown 时是否自动结束 DemOperationCycleType 配置为DEM_OPCYC_OBD_DCY 的操作循环有效。
DemOperationCycleType
DEM_OPCYC_IGNITION
DEM_OPCYC_OBD_DCY
DEM_OPCYC_OTHER
DEM_OPCYC_POWER
DEM_OPCYC_TIME
DEM_OPCYC_WARMUP
5.DemIndicator
6.DemComponent
测试失败状态回调函数
子组件
7.DemDTC status
位场 | Bit Description 描述 |
---|---|
0 | Test failed 测试失效 |
1 | Test failed this monitoring cycle 本检测周期测试失效 |
2 | Pending DTC 等待DTC |
3 | Confirmed DTC 确认DTC |
4 | Test not completed since last clear 上次清零后测试未完成 |
5 | Test failed since last clear 上次清零后测试失效 |
6 | Test not completed this monitoring cycle 本检测周期测试未完成 |
7 | Warning indicator requested 警告指示位请求 |
依据AutoSAR描述,
当event report的EventStatuse为passed或者failed或者bounce counter到达debounce counter的阈值时,UDS Status的bit0、bit1和bit6)会发生变化。
根据ISO14229-1_2013规定,
bit4由“1”变为“0”的条件是“DTC测试的结果为passed或者failed”;
bit5由“1”变为“0”的条件是“从上一次诊断信息被清除之后的DTC测试结果为failed”。
Bit no. (hex) | Name | 说明 |
---|---|---|
00 | Test failed | 逻辑1表示一个故障被监测到,逻辑0表示最近的故障测试通过或已存在的故障所有的故障条件已不满足,ClearDiagnosticInformation命令可清除此状态位。 |
01 | Test failed during this monitoring or operational cycle | 逻辑表示当前操作周期或从上一次ClearDiagnosticlnformation命令清零后已经监测到一次故障,ClearDiagnosticInformation命令或新的操作周期都会清零此状态位。 |
02 | Pending DTC | 逻辑1成立条件与TestFailedThisOperationCycle相同,不同之处为清零条件,此位清零条件为一个完整的操作周期内未出现故障或ClearDiagnosticInformation命令。 |
03 | Confirmed DTC | 逻辑表示一个已经被确定的故障被监测到,被确定的条件有:在连续操作周期内都检测到故障(TestFailed),且检测到的计数(TripCounter)已经达到定义的次数值。可通过ClearDiagnosticInformation命令或当Aging Counter 达到Aging threshold满足时清零此位,此外,故障的记录信息被新故障记录覆盖时,也会清零此状态位。 |
04 | Test not completed since last clear | 逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,新的故障测试还未完成,逻辑0表示从上次清零后,新的故障测试已经完成(Failed or Passed) |
05 | Test failed since last clear | 逻辑1表示从上次ClearDiagnosticInformation或其他条件清零后,已经监测到被确定的故障,逻辑0表示从上次清零后,测试未完成或测试已经Passed(而不是Failed)。 |
06 | Test not completed during this monitoring or operational cycle | 逻辑1表示从上次ClearDiagnosticInformation命令复位(置1)后,本操作周期内当前测试未运行完成,逻辑0表示从上次清零后,本操作周期内已经出现TestFailed或者TestPassed,操作周期切换也会复位(置1)此状态位。 |