ISO14229附录D(DTC相关)

UDS DTC 组

Byte ValueDescriptionCvtMnemonic
0x000000 - 0x0000FFreserved for future legislativeMRFLU
0x000100 - 0xFFFEFFuser define(注释1)U-
0xFFFF00 - 0xFFFFFETable-FunctionalGroupIdentifierMISOSAEERSERVED
0xFFFFFFAll Groups(all DTCs)MAG

Table-FunctionalGroupIdentifier:

Byte ValueDescriptionCvtMnemonic
0xFFFF00 - 0xFFFF32ISO/SAE reservedMISOSAERESRVD
0xFFFF33Emissions-system groupMEMSYSGRP
0xFFFF34 - 0xFFFFCFISO/SAE reservedMISOSAERESRVD
0xFFFFD0Safety-system groupMSAFESYSGRP
0xFFFFD1 - 0xFFFFDFLegislative system group(reserved for future)MLEGSYSGRP
0xFFFFE0 - 0xFFFFFDISO/SAE reservedMISOSAERESRVD
0xFFFFFEVOBD systemMVOBDSYSGRP

注释1:

DTC前缀数值(最高位2bits)含义
P00动力系统
C01底盘系统
B02车身系统
U03网关系统或其他

UDS DTC状态位

BitDescriptionCvtMnemonic
0testFailedUTF
1testFailedThisOperationCycleUTFTOC
2pendingDTCUPDTC
3confirmedDTCMCDTC
4testNotCompletedSinceLastClearUTNCSLC
5testFailedSinceLastClearUTFSLC
6testNotCompletedThisOperationCycleUTNCTOC
7warningIndicatorRequestedUWIR

名词解释

Test: Test是一段软件算法,在执行完毕需要能明确给出组件或系统成熟的Failed/Passed,一个操作循环可以执行Test一次或多次。

Test Sample: Test Sample是Test的原子组成部分,比如加上滤波机制后,多次Test Sample检测出故障后,才认为Test故障。Test Sample检测出故障后递增DTC Fault Detection Counter,检测出状态正常后递减DTC Fault Detection Counter。

Complete: 表示Test执行完成,得到明确的结果(故障或无故障)。

Test results: 当Test运行中或运行完毕,其会指示出以下结果:

  • PreFailed: Test运行中,指示故障成熟中(比如滤波计数器计数中,暂未达到阈值),既能快速识别出故障状态,又能有故障容忍度。
  • Failed: Test运行结束后,指示故障成熟。
  • Passed: Test运行结束后,指示无故障发生。

Failure/Malfunction: 组件或系统无法实现预期功能,即Test指示出结果为Failed。

Monitor: 一个Monitor包含一个或多个Test,用于确定组件或系统是否正常运行。

Monitoring Cycle: 车辆制造商定义的一个可以运行其中Test的条件(抽象概念),一个Monitoring Cycle可以在一个Operation Cycle中运行多次,或者在多个Operation Cycle中只运行一次。

Operation Cycle: 定义开始和结束条件,在其中运行Monitors。一个ECU可以包含多个Operation Cycles。Operation Cycle可以自定义:比如可以将上电与下电之间的
时间定义为Operation Cycle;或钥匙on/off之间,或发动机on/off之间等都可以定义为Operation Cycle。

Pending: 在上一次已完成的Operation Cycle或当前正在运行的Operation Cycle中有“Failed”。(当前Operation Cycle结束时,至少完成一次Test,并且所有Test结果都为"Passed",则Pending状解除)

Confirmation Threshold: 定义一个阈值,当连续几个Operation Cycles出现Test result为“Failed”,才认为是Confirmed Failed。(通常使用Trip Counter计数器和阈值进行比较)

Aging Threshold: 定义一个阈值,当连续几个Operation Cycle出现Test result为no “Failed”,才将Confirmed Failed状态位清零。

Driving cycle: 排放相关系统特有,Driving cycle即Operation Cycle,且只支持一个Operation Cycle,由法规规定。

Monitor Level Enable Conditions: Monitor允许运行和报告Test result的标准和条件。

DTC Status Update Condition: DTC状态位允许更新的条件(例如:controlDTCSetting复位控制的使能位),当条件不满足时,禁止所有DTC状态位的状态转换(clearDiagnosticInformation服务清除DTC不受影响)。

DTC Storage Condition: 由制造商定义的条件。决定是否将DTC标志位及快照数据,扩展数据更新并储存到NVM。

1. testFailed(bit0)

ISO14229 描述:
This bit shall indicate the result of the most recently performed test. A logical ‘1’ shall indicate that the last test failed meaning that the failure is completely matured. Reset to logical ‘0’ if the result of the most recently performed test returns a “pass” result meaning that all de-mature criteria have been fulfilled. Additional reset conditions may be defined by the vehicle manufacturer / implementation

解释说明:
置1条件:

  • 当前测试结果为有故障发生

清0条件:

  • 当前测试结果为故障清除
  • 或 调用了ClearDiagnosticInformation(0x14服务)
  • 或 执行了设计时自定义的复位机制(函数)

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 当前测试结果为有故障发生
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)

清0条件:

  • 当前测试结果为故障清除
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_PASSED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_PASSED)
  • 或 调用了ClearDiagnosticInformation(0x14服务)
    Dem_*_ClearDTC_*(param_list)
  • 或 执行了设计时自定义的复位机制(函数)
    Dem_ResetEventStatus(EventId)

2.testFailedThisOperationCycle (bit1)

ISO14229描述:
This bit shall indicate whether or not a diagnostic test has reported a testFailed result at any time during the current operation cycle (or that a testFailed result has been reported during the current operation cycle and after the last time a call was made to ClearDiagnosticInformation). Reset to logical ‘0’ when a new operation cycle is initiated or after a call to ClearDiagnosticInformation.
If this bit is set to logical ‘1’, it shall remain a ‘1’ until a new operation cycle is started.

解释说明:
置1条件:

  • 当前测试结果为有故障发生
    清0条件:
  • 进入后续Operation Cycle
  • 或 调用了ClearDiagnosticInformation

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 当前测试结果为有故障发生
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)

清0条件:

  • 进入后续Operation Cycle
    Dem_SetOperationCycleState(OperationCycleId, CycleState = DEM_CYCLE_STATE_START)
  • 或 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)

3.pendingDTC (bit2)

ISO14229描述:
This bit shall indicate whether or not a diagnostic test has reported a testFailed result at any time during the current or last completed operation cycle. The status shall only be updated if the test runs and completes. The criteria to set the pendingDTC bit and the TestFailedThisOperationCycle bit are the same. The difference is that the testFailedThisOperationCycle is cleared at the beginning of each operation cycle and the pendingDTC bit is not cleared until an operation cycle has completed where the test has passed at least once and never failed.
If the test did not complete during the current operation cycle, the status bit shall not be changed. For example, if a monitor stops running after a confirmed DTC is set, the pendingDTC must remain set = ‘1’. For an OBD DTC, a pending DTC is required to be stored after a malfunction is detected during the first driving cycle.

解释说明:
置1条件:

  • 当前测试结果为有故障发生

清0条件:

  • 进入后续Operation Cycle,且至少完成一次测试,且此Operation Cycle内所有测试结果Pass。(如果某次Operation Cycle未完成测试,则跳过本次Operation Cycle不计数;记完成有效测试的那次Operation Cycle为A,则bit位具体清零时间时在A结束还是A+1开始由设计实现决定)
  • 或 调用了ClearDiagnosticInformation

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 当前测试结果为有故障发生
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)

清0条件:

  • 进入后续Operation Cycle,且至少完成一次测试,且此Operation Cycle内所有测试结果Pass。
    Dem_SetOperationCycleState(OperationCycleId, CycleState = DEM_CYCLE_STATE_START)
    NOT TestNotCompletedThisOperationCycle
    NOT TestFailedThisOperationCycle
  • 或 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)

4.confirmedDTC (bit3)

ISO14229描述:
This bit shall indicate whether a malfunction was detected enough times to warrant that the DTC is desired to be stored in long-term memory.
A confirmedDTC does not always indicate that the malfunction is present at the time of the request. (testFailed can be used to determine if a malfunction is present at the time of the request).
Reset to logical ‘0’ after a call to ClearDiagnosticInformation or after aging threshold has been satisfied (e.g., 40 engine warm-ups without another detected malfunction). Furthermore this bit is reset when the fault record associated with this DTC is overwritten by a newer DTC based upon vehicle manufacturer specific fault memory overflow requirements.
DTC confirmation threshold and aging threshold are defined by the vehicle manufacturer or mandated by On Board Diagnostic regulations.

解释说明:
置1条件:

  • 连续n次Operation Cycle测试结果为Failed

清0条件:

  • 连续m次Operation Cycle测试结果为Passed(如果某次Operation Cycle未完成测试,则调过本次Operation Cycle不计数)
  • 或 调用了ClearDiagnosticInformation
  • 或 车辆制造商定义的故障内存溢出条件满足

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 连续n次Operation Cycle测试结果为Failed
    n = 1时:
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    n > 1时:
    DemEventFailureCycleCounterThreshold reached

清0条件:

  • 连续m次Operation Cycle测试结果为Passed
    AgingCriteriaFulfilled
  • 或 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)
  • 或 车辆制造商定义的故障内存溢出条件满足
    FaultRecordOverwritten

5.testNotCompletedSinceLastClear (bit4)

ISO14229描述:
This bit shall indicate whether a DTC test has ever run and completed since the last time a call was made to ClearDiagnosticInformation. One (‘1’) shall indicate that the DTC test has not run to completion. If the test runs and passes or if the test runs and fails (e.g. testFailedThisOperationCycle = ‘1’) then the bit shall be set to a ‘0’ (and latched).

解释说明:
清0条件:

  • 测试完成,得到结果(Pass或Failed)

置1条件:

  • 调用了ClearDiagnosticInformation

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
清0条件:

  • 测试完成,得到结果(Pass或Failed)
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = FAILED or PASSED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = FAILED or PASSED)
    置1条件:
  • 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)

6.testFailedSinceLastClear (bit5)

ISO14229描述:
This bit shall indicate whether a DTC test has completed with a failed result since the last time a call was made to ClearDiagnosticInformation (i.e., this is a latched testFailedThisOperationCycle = ‘1’).
Zero (‘0’) shall indicate that the test has not run or that the DTC test ran and passed (but never failed). If the test runs and fails then the bit shall remain latched at a ‘1’. It is the responsibility of the vehicle manufacturer to specify whether or not this bit is reset by aging-criteria or reset due to an overflow of the fault memory.

解释说明:
置1条件:

  • 测试完成,结果为Failed

清0条件:

  • 调用了ClearDiagnosticInformation
  • 或 连续m次Operation Cycle测试结果为Passed,即老化条件(制造商选择是否支持此条)
  • 或 车辆制造商定义的故障内存溢出条件满足(制造商选择是否支持此条)

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 测试完成,结果为Failed
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)

清0条件:

  • 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)
  • 或 连续m次Operation Cycle测试结果为Passed,即老化条件(制造商选择是否支持此条)
    AgingCriteriaFulfilled (optional)
  • 或 车辆制造商定义的故障内存溢出条件满足(制造商选择是否支持此条)
    FaultRecordOverwritten (optional)

7.testNotCompletedThisOperationCycle (bit6)

ISO14229描述:
This bit shall indicate whether a DTC test has ever run and completed during the current operation cycle (or completed during the current operation cycle after the last time a call was made to ClearDiagnosticInformation).
A logical ‘1’ shall indicate that the DTC test has not run to completion during the current operation cycle. If the test runs and passes or fails then the bit shall be set (and latched) to ‘0’ until a new operation cycle is started.

解释说明:
清0条件:

  • 测试完成,得到结果为Pass或Failed

置1条件:

  • 进入后续Operation Cycle
  • 或 调用了ClearDiagnosticInformation

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
清0条件:

  • 测试完成,得到结果为Pass或Failed
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = FAILED or PASSED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = FAILED or PASSED)

置1条件:

  • 进入后续Operation Cycle
    Dem_SetOperationCycleState(OperationCycleId, CycleState = DEM_CYCLE_STATE_START)
  • 或 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)

8.warningIndicatorRequested (bit7)

ISO14229描述:
This bit shall report the status of any warning indicators associated with a particular DTC. Warning outputs may consist of indicator lamp(s), displayed text information, etc. If no warning indicators exist for a particular DTC, this status shall default to a logic ‘0’ state.
Conditions for activating the warning indicator shall be defined by the vehicle manufacturer / implementation, but if the warning indicator is on for a given DTC, then confirmedDTC shall also be set to ‘1’ (with the exception described below).

解释说明:
置1条件:

  • 当前测试结果为Failed,且制造商自定义置位标准满足

清0条件:

  • 进入后续Operation Cycle
  • 或 测试结果为Pass
  • 或 制造商自定义条件
  • 或 调用了ClearDiagnosticInformation

ISO14229图例:
在这里插入图片描述
AUTOSAR应用实例:
在这里插入图片描述
置1条件:

  • 当前测试结果为Failed,且制造商自定义置位标准满足
    SWC模块调用函数接口:
    Dem_SetEventStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    BSW模块调用函数接口:
    Dem_ReportErrorStatus(EventId, EventStatus = DEM_EVENT_STATUS_FAILED)
    WarningIndicatorOnCriteriaFulfilled

清0条件:

  • 进入后续Operation Cycle
  • 或 测试结果为Pass
  • 或 制造商自定义条件
    WarningIndicatorOffCriteriaFulfilled
  • 或 调用了ClearDiagnosticInformation
    Dem_*_ClearDTC_*(param_list)

UDS DTC严重性等级和类别

在这里插入图片描述

1.DTC严重性等级

BitDescriptionCvtMnemonic
7checkImmediately(需要立即检查车辆)MCHKI
6checkAtNextHalt(下次停车时检查车辆)MCHKANH
5maintenanceOnly (下次车辆保养时检查车辆)MMO

2. DTC类别

表征发生故障对OBD系统监控能力的影响。
OTL: OBD threshold limits

BitDescriptionCvtMnemonic
4DTCClass_4 (Class C) 某些情况对OBD系统存在影响,排放不高于OTLMDTCCLASS_4
3DTCClass_3 (Class B2)确定对OBD系统存在影响,排放不高于OTLMDTCCLASS_3
2DTCClass_2 (Class B1)确定对OBD系统存在影响,排放可能高于或低于OTLMDTCCLASS_2
1DTCClass_1 (Class A)确定对OBD系统存在影响,排放可能不高于OTL,但大概率高于OTLMDTCCLASS_1
0DTCClass_0 (unclassified) 无以上等级时的默认等级MDTCCLASS_0

计数器

1.Fault Detection Counter

在这里插入图片描述

2.DTCAgingCounter

在这里插入图片描述

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值