【车载开发系列】诊断故障码DTC基本概念与定义
【车载开发系列】诊断故障码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基本概念与定义相关推荐
- 《AUTOSAR谱系分解(ETAS工具链)》之诊断故障码(DTC)
<AUTOSAR谱系分解(ETAS工具链)>之诊断故障码(DTC) 文章目录 <AUTOSAR谱系分解(ETAS工具链)>之诊断故障码(DTC) 诊断故障码(DTC) 基本概念 ...
- 【车载开发系列】诊断故障码DTC的格式标识符
[车载开发系列]诊断故障码DTC的格式标识符 诊断故障码DTC的格式标识符 [车载开发系列]诊断故障码DTC的格式标识符 一.DTC格式标识符概念 二.DTC格式标识符的运用 1)DTCByXXXXM ...
- 【车载开发系列】诊断故障码DTC中的快照信息
[车载开发系列]诊断故障码DTC中的快照信息 诊断故障码DTC中的快照信息 [车载开发系列]诊断故障码DTC中的快照信息 一.DTC快照的概念 二.获取DTC快照数据 三.DTC快照与DTC扩展信息的 ...
- 【车载开发系列】UDS诊断---DTC故障码基础回顾
[车载开发系列]UDS诊断-DTC故障码基础回顾 UDS诊断---DTC故障码基础回顾 [车载开发系列]UDS诊断---DTC故障码基础回顾 一.什么是DTC故障码 二.DTC故障码的作用 三.什么是 ...
- 【车载开发系列】UDS诊断---读取DTC信息($0x19)
[车载开发系列]UDS诊断-读取DTC信息($0x19) UDS诊断---读取DTC信息($0x19) [车载开发系列]UDS诊断---读取DTC信息($0x19) 一.概念定义 1)DTC概念 2) ...
- 【车载开发系列】UDS诊断---OBD基础概述
[车载开发系列]UDS诊断-OBD基础概述 UDS诊断---OBD基础概述 [车载开发系列]UDS诊断---OBD基础概述 一.什么是OBD 二.OBD和UDS的区别 三.OBD应用功能与应用领域 四 ...
- 【车载开发系列】UDS诊断协议总括篇
[车载开发系列]UDS诊断协议总括篇 UDS诊断协议总括篇 [车载开发系列]UDS诊断协议总括篇 一.UDS诊断协议简介 为什么要设计UDS诊断协议 二. UDS诊断协议详细 1)诊断通信管理功能单元 ...
- 【车载开发系列】UDS诊断---输入输出控制($0x2F)
[车载开发系列]UDS诊断-输入输出控制($0x2F) UDS诊断---输入输出控制($0x2F) [车载开发系列]UDS诊断---输入输出控制($0x2F) 一.概念定义 1)与0x31例程控制服务 ...
- 【车载开发系列】UDS诊断---例程控制($0x31)
[车载开发系列]UDS诊断-例程控制($0x31) UDS诊断---例程控制($0x31) [车载开发系列]UDS诊断---例程控制($0x31) 一.概念定义 1)RoutineControl服务 ...
最新文章
- python 四种单例模式
- javaSE各阶段练习题--初识Java章节
- Excel 2010 下拉菜单的制作方法
- 控制DIV内容滚动的方法,实现不用拖滚动条就可以看到最新消息
- 结合Composer 新版本PHP的开发方式
- 在Linux中实现多网卡绑定
- 【Flink】Flink SQL 自定义 Source format
- android slidingmenu 兼容低版本,Android SlidingMenu的使用详解
- Windows查询端口的进程
- 参与esri用户大会感想
- iphone11屏比例_iphone11pro屏幕尺寸比例
- Python学习笔记——python基础 4. 函数进阶
- thinkphp 页面上循环checkbox选择的值和radio混用,if判断
- 足浴按摩预约下单小程序开发制作功能介绍
- ConneR and the A.R.C. Markland-N
- 正睿OIday8-day10
- CH340 和 CH341 使用心得
- maven生成webapp
- JVM(4)—类加载机制
- 3轴码垛机械臂运动学逆解