【车载开发系列】诊断故障码DTC基本概念与定义

诊断故障码DTC基本概念与定义

  • 【车载开发系列】诊断故障码DTC基本概念与定义
    • 一.DTC的定义
    • 二.DTC的构成
    • 三.故障码DTC的16进制表示
    • 四.DTC记录(DTCRecord)
    • 五.DTC和状态记录(DTCAndStatusRecord)

一.DTC的定义

DTC(Diagnostic Trouble Code)就是诊断故障码。在原则上一个DTC只能定义一个故障类别。它是故障类型的"身份ID";用于汽车故障时对故障部位及原因的排查
当发生车辆故障的时候,为了让我们能够明白具体发生了什么故障而存在的Code。外部通过诊断器就可以确认DTC的值。
读出来的DTC是现在正在发生的故障,还是过去发生过的故障,这个可以通过诊断服务的控制来得到不同的结果。

二.DTC的构成

根据ISO15031-6和ISO14229-1的故障诊断码格式规定,故障码信息由四字节组成。
其中DTCHighByte,DTCMiddleByte,DTCLowByte表示服务中的故障诊断码;StatusOfDTC表示故障码状态。


DTCHighByte,DTCMiddleByte两字节表示故障内码,对应5位标准故障码,如表下所示。
5位标准故障码的第一位是字母,后面四位是数字。第一位字母表示故障所属系统对应着Bit15和Bit14。
有00,01,10,11四个选择项,分别代表着动力系统故障(Powertrain),底盘故障(Chassis),车身故障(Body)和网络故障(Network)。
第二位数字表示故障类型,使用故障内码Bit13和Bit12对应着。也有00,01,10,11四个选择项,00=ISO/SAE标准定义的故障码,01=制造商自定义的故障码
而10,11为保留项。
第三位字符表示故障所属的子系统。该位“0”表示燃油和空气计量辅助排放控制整个系统, “1”表示燃油和空气计量系统;
“2”表示燃油和空气计量系统(喷油器);
“3”表示点火系统;
“4”表示废气控制系统;
“5”表示巡航、怠速控制系统;
“6”表示与控制单元相关;
“7”“8”表示变速箱系统等。
第四五位字符落在了DTCMiddleByte字符之上,表示具体故障对象和类型。


DTCLowByte描述故障种类和子类型(也叫做故障失败类型Faults Types),该部分内容描述需遵循ISO 15031-6。
对于不需要该字节信息的DTC(OBD诊断中2Byte的DTC),该字节填充为0x00。StatusOfDTC表示故障码状态。

三.故障码DTC的16进制表示

根据前面介绍的故障内码与5位标准故障码的对应关系,我们可以将标准故障码换算成其16进制的表示,便于我们在代码中的记录操作。
关于标准故障码换算为16进制表示,其实只需根据第一小节中介绍的故障内码与5位标准故障码的对应关系;
将标准故障码的第一、第二位(如下例中的“U0”、“B1”)换算为对应的内码格式,再以16进制表示出来;
至于后面的其他内容,其格式本来就是16进制进行表示的,直接照着写下来即可(其实只是将标准故障码的第一、二位进行转换即可了)。
例如:

U007205,其故障内码为:1100 0000 0111 0010,换算成16进制则为C072;补充上DTCLowByte(05),则其完整的16进制表示为0xC07205;
B100011,其故障内码为:1001 0000 0000 0000,换算成16进制则为9000;补充上DTCLowByte(11),则其完整的16进制表示为0x900011;

四.DTC记录(DTCRecord)

它是SID$19$03的肯定响应中的一个参数。本参数记录包含一组或多组DTCHighByte,DTCMiddleByte,DTCLowByte。
在这里需要特别注意的是这里正响应中返回的DTC是没有StatusOfDTC的。
报告DTC快照标识的时候,这个时候是不需要DTC状态信息的。

五.DTC和状态记录(DTCAndStatusRecord)

本参数记录包含一组或多组符合DTC格式标识符定义的DTCHighByte,DTCMiddleByte,DTCLowByte。
三者共同表示服务器所支持的特定故障诊断码的唯一标识号。
和DTC记录(DTCRecord)相比还多了StatusOfDTC。DTCAndStatusRecord也是用在SID$19的肯定响应中。

【车载开发系列】诊断故障码DTC基本概念与定义相关推荐

  1. 《AUTOSAR谱系分解(ETAS工具链)》之诊断故障码(DTC)

    <AUTOSAR谱系分解(ETAS工具链)>之诊断故障码(DTC) 文章目录 <AUTOSAR谱系分解(ETAS工具链)>之诊断故障码(DTC) 诊断故障码(DTC) 基本概念 ...

  2. 【车载开发系列】诊断故障码DTC的格式标识符

    [车载开发系列]诊断故障码DTC的格式标识符 诊断故障码DTC的格式标识符 [车载开发系列]诊断故障码DTC的格式标识符 一.DTC格式标识符概念 二.DTC格式标识符的运用 1)DTCByXXXXM ...

  3. 【车载开发系列】诊断故障码DTC中的快照信息

    [车载开发系列]诊断故障码DTC中的快照信息 诊断故障码DTC中的快照信息 [车载开发系列]诊断故障码DTC中的快照信息 一.DTC快照的概念 二.获取DTC快照数据 三.DTC快照与DTC扩展信息的 ...

  4. 【车载开发系列】UDS诊断---DTC故障码基础回顾

    [车载开发系列]UDS诊断-DTC故障码基础回顾 UDS诊断---DTC故障码基础回顾 [车载开发系列]UDS诊断---DTC故障码基础回顾 一.什么是DTC故障码 二.DTC故障码的作用 三.什么是 ...

  5. 【车载开发系列】UDS诊断---读取DTC信息($0x19)

    [车载开发系列]UDS诊断-读取DTC信息($0x19) UDS诊断---读取DTC信息($0x19) [车载开发系列]UDS诊断---读取DTC信息($0x19) 一.概念定义 1)DTC概念 2) ...

  6. 【车载开发系列】UDS诊断---OBD基础概述

    [车载开发系列]UDS诊断-OBD基础概述 UDS诊断---OBD基础概述 [车载开发系列]UDS诊断---OBD基础概述 一.什么是OBD 二.OBD和UDS的区别 三.OBD应用功能与应用领域 四 ...

  7. 【车载开发系列】UDS诊断协议总括篇

    [车载开发系列]UDS诊断协议总括篇 UDS诊断协议总括篇 [车载开发系列]UDS诊断协议总括篇 一.UDS诊断协议简介 为什么要设计UDS诊断协议 二. UDS诊断协议详细 1)诊断通信管理功能单元 ...

  8. 【车载开发系列】UDS诊断---输入输出控制($0x2F)

    [车载开发系列]UDS诊断-输入输出控制($0x2F) UDS诊断---输入输出控制($0x2F) [车载开发系列]UDS诊断---输入输出控制($0x2F) 一.概念定义 1)与0x31例程控制服务 ...

  9. 【车载开发系列】UDS诊断---例程控制($0x31)

    [车载开发系列]UDS诊断-例程控制($0x31) UDS诊断---例程控制($0x31) [车载开发系列]UDS诊断---例程控制($0x31) 一.概念定义 1)RoutineControl服务 ...

最新文章

  1. python 四种单例模式
  2. javaSE各阶段练习题--初识Java章节
  3. Excel 2010 下拉菜单的制作方法
  4. 控制DIV内容滚动的方法,实现不用拖滚动条就可以看到最新消息
  5. 结合Composer 新版本PHP的开发方式
  6. 在Linux中实现多网卡绑定
  7. 【Flink】Flink SQL 自定义 Source format
  8. android slidingmenu 兼容低版本,Android SlidingMenu的使用详解
  9. Windows查询端口的进程
  10. 参与esri用户大会感想
  11. iphone11屏比例_iphone11pro屏幕尺寸比例
  12. Python学习笔记——python基础 4. 函数进阶
  13. thinkphp 页面上循环checkbox选择的值和radio混用,if判断
  14. 足浴按摩预约下单小程序开发制作功能介绍
  15. ConneR and the A.R.C. Markland-N
  16. 正睿OIday8-day10
  17. CH340 和 CH341 使用心得
  18. maven生成webapp
  19. JVM(4)—类加载机制
  20. 3轴码垛机械臂运动学逆解

热门文章

  1. xshell连接VM虚拟机上下左右及退格键不正常问题
  2. bzoj 2162: 男生女生
  3. BI系统体系搭建完整指南
  4. 关于社交圈子的一点思考
  5. 在Windows 10中HP 5100打印出来是黑方框的解决方法
  6. 使用powershell免杀上线CS的新方式---利用图片
  7. Dos命令(cmd->Dos窗口)
  8. 【财务危机】--2018.9债务
  9. 跟我学Linux系列1:正确认识和使用一块RAID卡都需要掌握Linux服务器系统配件选型的哪些知识
  10. pytorch笔记:08)使用LSTM写古诗词