漫谈车辆诊断之DTC的状态位

搞车辆诊断测试的,离不开对DTC的状态位的测试

DTC的状态位是8个bit,每个bit代表不同的意思,每个bit置1或者置0都要满足一定的条件

初学者,很容易被这个搞得头很大

今天我们就来详细拆解一下,扫除你心中的疑惑

我们以欠压故障为例进行说明,假设欠压故障(DTC code为EE0468)发生的条件如下:

1. 车辆模式(CarModSts1)处于Normal(0)或者Dyno(5)
2. 当电源可用性不受限制时,即ElPowerLevel (有PwrLvlElecMai PwrLvlElecSubtyp组成)不等于1,也就是PwrLvlElecMai 不等于1
3. 供电电压小于8V
 

1.读DTC指令的含义:

1.1 指令19 02 XX

其中XX的取值可以是01~FF,是一个mask的作用,DTC的状态位Bit0~Bit7,任何一个Bit位设为1,也就是Yes, 表示当前系统里,如果存在这个Bit位为1,就会被读取出来

举个例子:

执行19 02 FF,所有DTC中,只要有一个Bit位为yes,都会被读取出来

执行19 02 10,所有DTC中,Bit 4 - testNotCompletedSinceLastClear位为yes的,都会被读取出来

如下图:

1.2 指令19 0A

这个指令会把当前系统,所有支持的DTC的状态都读出来,读出来的值是每个DTC此时此刻的状态,是实时的,如下图,有些DTC的状态位全是No,因为没有没有出现过;有些DTC 有些状态位Yes,是曾经出现过

1.3 指令19 03

先说一个DTC优先级的事情,DTC Event Priority 表示优先级,数字越小,存储优先级越高

比如DTC Event Priority=1比 DTC Event Priority=10 优先级高

如果当前有大于11个DTC的快照数据,则会把 DTC Event Priority高的DTC显示出来,其他超过10个DTC相同的优先级,则随机显示出来10个

例如,当前有扬声器open的12个DTC,
但是19 03 只显示了10个,欠压的DTC刚刚出现过,这会没有了,但是优先级比较高,也会显示出来

1.4 指令19 04 

19 04+DTCcode+Snapshot Record No.

以欠压故障为例,DTCcode为EE 04 68

Snapshot Record No.,看每个车厂的定义,例如:

Snapshot Record No.Number (hex)Name
20Snapshot Record 20
21Snapshot Record 21

也可以通过19 03 读出来,看支持哪个DTCSnapshotRecord Number

所以,要得到肯定反馈,指令可以是:19 04 EE 04 68 21

19 04 EE 04 68 20 不一定有数据,但一定可以得到肯定反馈

1.DTC每个状态bit的含义及作用:

  • Bit 0 - testFailed: 当前测试发现故障时置1,如果故障消失或执行了清除DTC指令(14 FF FF FF),则置0。

这里说的故障消失,不是说DTC消失的意思,不是DTC的所有状态位都为0,而是指不满足DTC产生的条件了,比如不能同时满足上面三个条件

  • Bit 1 - testFailedThisOperationCycle: 如果在当前操作周期中出现过故障,则置1,新的操作周期开始或执行了清除DTC指令(14 FF FF FF)后置0。

从上电到下电为一个操作周期,当前操作周期就是从上电到现在;

  • Bit 2 - pendingDTC: 如果在当前或上一个操作周期中出现过故障,则置1,如果在接下来的两个操作周期中故障不存在,则置0。
  • Bit 3 - confirmedDTC: 如果故障满足被确认的条件并存储到非易失性内存中,则置1,执行清除DTC指令后置0。
  • Bit 4 - testNotCompletedSinceLastClear: 如果自从上次清除DTC后还没有完成过针对该DTC的测试,则置1,完成测试后置0。
  • Bit 5 - testFailedSinceLastClear: 如果自从上次清除DTC后该DTC出过错,则置1,没有出过错则置0。
  • Bit 6 - testNotCompletedThisOperationCycle: 如果在当前操作周期中还没有完成过针对该DTC的测试,则置1,完成测试后置0。
  • Bit 7 - warningIndicatorRequested: 如果ECU请求激活警告指示,则置1,不请求或该DTC不支持警告指示则置0。

欠压故障例子

假设车辆的电压监控系统检测到电压低于正常范围(例如低于9V),这将触发欠压故障的DTC。以下是参数设置和状态位变化的详细说明:

  • confirmedDTCLimit: 10
  • agedDTCLimit: 255
  • Test Period (ms): 50
  • TestFailedLimit: 127
  • TestPassedLimit: -128
  • unconfirmedDTCLimit: 6
  • Step up: 127
  • Step down: 128
  • FDC10 Max value: 127
  • agingCounter: OCC2
  • TestFailedInhibit: Yes
  • Jump down: Yes

在每个50ms的测试周期中,如果电压低于阈值,故障检测计数器(Fault Detection Counter, FDC)会增加,直到达到TestFailedLimit(127),此时testFailed置1。如果电压恢复正常,FDC会减少,直到达到TestPassedLimit(-128),此时testFailed置0。

如果在一个操作周期内,FDC达到confirmedDTCLimit(10),则confirmedDTC置1,表示故障已被确认。如果故障持续存在超过agedDTCLimit(255个操作周期),则该DTC将被老化,即不再被视为活跃故障。

如果在一个操作周期内,FDC达到unconfirmedDTCLimit(6),则pendingDTC置1,表示故障需要进一步观察。如果在接下来的两个操作周期中故障不存在,则pendingDTC置0。

TestFailedInhibitJump down是特定的制造商参数,它们可能会影响故障码的记录和清除。例如,如果TestFailedInhibit设置为Yes,那么在某些条件下可能不会记录故障,即使测试失败。如果Jump down设置为Yes,那么在故障消失时,FDC可能会更快地减少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/576053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

8个拿来即用的Python自动化脚本!

每天你都可能会执行许多重复的任务,例如阅读新闻、发邮件、查看天气、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。 今天分享 8 个非常…

发布自己的Docker镜像到DockerHub

学会了Dockerfile生成Docker image 之后,如何上传自己的镜像到 DockerHub呢?下面我以自己制作的 bs-cqhttp 镜像为例,演示一下如何将自己的镜像发布到 Docker 仓库。 1 生成自己的 Docker 镜像 1.1 实例镜像用到的文件 图1 实例镜像制作用到…

stm32f103zet6_ADC_中断_2

1基本配置请查看 ADC_1 1stm32cubeMX配置 与ADC-1 区别在于配置了NVIC 2代码设置 回调函数 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 这个回调函数在ADC正常转换完成后被调用。当你启动一个ADC转换(使用HAL_ADC_Start_IT()或类似函数&#x…

【数据结构(邓俊辉)学习笔记】绪论04——算法分析

文章目录 0. 前言1. 算法分析2.级数2.1基本形式2.2 收敛级数 3.循环 vs 级数4.示例 0. 前言 通过以基本计算模型作为参照,并且以大O记号的形式在上面添加适当刻度,已经建立一套对DSA进行分析的完整工具和体系。不清楚的可以看看复杂度度量 、复杂度分析…

git 命令怎么回退到指定的某个提交 commit hash 并推送远程分支?

问题 如下图,我要回退到 【002】Babel 的编译流程 这一次提交 解决 1、先执行下面命令,输出日志,主要就是拿到提交 commit 的 hash,上图红框即可 git log或者 vscode 里面直接右击,copy sha 2、执行下面命令回退 g…

【Linux】如何进行用户之间的切换——指令su

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

【Linux系统编程】基础指令(二)

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

【OceanBase诊断调优】——hpet(高精度时钟源)引起的CPU高问题排查

最近总结一些诊断OCeanBase的一些经验,出一个【OceanBase诊断调优】专题出来,也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 昨天在问答区帮忙排查一个用户CPU高的问题,帖子链接:《刚刚新安装的OceanBase集群,…

代码随想录算法训练营第三十六天| 435.无重叠区间、763.划分字母区间、56.合并区间

系列文章目录 目录 系列文章目录435. 无重叠区间贪心算法按左边界排序(与【452. 用最少数量的箭引爆气球】思路差不多) 763.划分字母区间贪心算法①将字符串映射到哈希数组,用二维数组记录每个字母存在的区间, 转化为重叠区间问题…

手搓单链表(无哨兵位)(C语言)

目录 SLT.h SLT.c SLTtest.c 测试示例 单链表优劣分析 SLT.h #pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h>typedef int SLTDataType;typedef struct SListNode {SLTDataType data;struct SListNode* next; }SLTNode;//打印…

数据治理和数据管理 傻傻分不清楚?

互联网时代&#xff0c;数据&#xff0c;这一无形资产&#xff0c;已成为现代企业的核心竞争力。如何高效地管理和利用数据&#xff0c;成为企业关注的焦点。在这个过程中&#xff0c;数据治理&#xff08;Data Governance&#xff09;和数据管理&#xff08;Data Management&a…

1分钟掌握 Python 函数参数

任何编程语言函数都是非常重要的一部分&#xff0c;而在进行函数调用时&#xff0c;了解函数的参数传递方式是非常有必要的。Python中支持哪些传参方式呢&#xff1f; Python中的传参方式是比较灵活的&#xff0c;主要包括以下六种&#xff1a; 按照位置传参按照关键字传参默…

【算法基础实验】图论-构建无向图

构建无向图 前提 JAVA实验环境 理论 无向图的数据结构为邻接表数组&#xff0c;每个数组中保存一个Bag抽象数据类型&#xff08;Bag类型需要专门讲解&#xff09; 实验数据 我们的实验数据是13个节点和13条边组成的无向图&#xff0c;由一个txt文件来保存&#xff0c;本…

网贷大数据黑名单要多久才能变正常?

网贷大数据黑名单是指个人在网贷平台申请贷款时&#xff0c;因为信用记录较差而被列入黑名单&#xff0c;无法获得贷款或者贷款额度受到限制的情况。网贷大数据黑名单的具体时间因个人信用状况、所属平台政策以及银行审核标准不同而异&#xff0c;一般来说&#xff0c;需要一定…

森林消防泵柱塞泵工作原理深度解析——恒峰智慧科技

森林是地球上重要的生态系统&#xff0c;而森林火灾则是这一生态系统面临的主要威胁之一。为了有效应对森林火灾&#xff0c;森林消防泵成为了不可或缺的灭火工具。其中&#xff0c;柱塞泵作为森林消防泵的核心部件&#xff0c;其工作原理的理解对于提高森林消防效率具有重要意…

Java面试八股文-2024

面试指南 TMD&#xff0c;一个后端为什么要了解那么多的知识&#xff0c;真是服了。啥啥都得了解 MySQL MySQL索引可能在以下几种情况下失效&#xff1a; 不遵循最左匹配原则&#xff1a;在联合索引中&#xff0c;如果没有使用索引的最左前缀&#xff0c;即查询条件中没有包含…

Javascript 插值搜索与二分搜索

插值搜索和二分搜索都是在有序数组中查找目标元素的算法。它们之间的核心区别在于确定中间元素的方式。 1、二分搜索&#xff08;Binary Search&#xff09;&#xff1a;二分搜索是一种通过将目标值与数组中间元素进行比较&#xff0c;然后根据比较结果缩小搜索范围的算…

ubuntu16安装docker及docker-compose

ubuntu16安装docker及docker-compose 一、环境前期准备 检查系统版本 系统版本最好在16及以上&#xff0c;可以确保系统的兼容性 lsb_release -a查看内核版本及系统架构 建议用 x86_64的系统架构&#xff0c;安装是比较顺利的 uname -a32的系统不支持docker&#xff0c;安…

Adipogen--Progranulin (rat) ELISA Kit

Progranulin (PGRN)是一种广泛表达的多能生长因子&#xff0c;通过激活控制细胞周期进展和细胞运动的信号级联反应&#xff0c;在发育、创伤修复和炎症等过程中发挥作用。它在中枢神经系统中的功能值得关注&#xff0c;因为在额颞退行性变(FTLD)病例中发现了PGRN基因突变。此外…

2024年618有哪些数码家电值得入手?全网最省钱攻略指南

作为全年唯一设在夏季的大型电商狂欢节&#xff0c;618一直是很多人购置数码类、家电类的最好时间节点之一。但是问题来了&#xff0c;现在的数码家电行业“鱼龙混杂”&#xff0c;不仅越来越多新品牌涌入市场&#xff0c;而且各个大品牌为了抢占市场&#xff0c;旗下产品的品类…