AUTOSAR DEM (二):DTC

news2024/11/24 18:28:20

AUTOSAR DEM (二):DTC

  • DTC与故障事件
  • DTC基本组成
  • DTC状态掩码

在章节一中提到了事件对应的DTC的状态变化。DTC是一种用来记录当某ECU发生或检测到某种故障时所呈现在大家目前的标识码,通过DTC便可以查表的方式获得该故障信息,如故障触发条件、故障解除条件、系统功能表现等。
在ISO-15031-6这个标准中规定了dtc的基本组成,DTC如何命名等信息。

DTC与故障事件

DTC(Diagnostic Trouble Code)

  • 定义:DTC是一种标准化的诊断故障码,用于识别和报告车辆或系统中的故障。每个DTC都有一个唯一的标识符,表示特定的故障类型。
  • 功能:DTC用于诊断系统中的故障,并提供关于故障的信息,如故障类型、严重程度、发生条件等。DTC可以通过诊断工具或故障指示灯等方式进行读取和显示。

故障事件(Fault Event)

  • 定义:故障事件是指系统中发生的故障或错误事件。它可以是由硬件故障、软件错误、传感器故障等引起的异常情况。
  • 功能:故障事件用于通知系统中的其他模块或外部设备发生了故障或错误。它可以触发相关的故障处理流程,如生成DTC、记录故障信息、通知用户等。

两者区别和联系

  • DTC是一种标准化的故障码,用于诊断和报告故障。它提供了关于故障类型和属性的信息。
  • 故障事件是指系统中发生的故障或错误事件,它可以触发相关的故障处理流程。
  • DTC通常与故障事件相关联。当发生故障事件时,DEM模块可以生成相应的DTC,并将其报告给其他模块或外部设备。
  • DTC可以用于故障诊断和故障排查,而故障事件可以用于故障处理和故障通知。
  • DTC是某类故障的统称,能够大体定位到某个模块的故障,而event则是故障监控的基本单元,能够定位某个模块中的某个具体故障;
  • 多个event可以mapping 同一个DTC;而同一个event不能mapping 多个DTC;
  • DTC可以直接可见,但Event需通过进一步手段才能看到,有时仅对ECU供应商可见;
  • DTC代表某类event集中表现,而event则是某个DTC的具体实例;
  • event的优先级决定了DTC的优先级;
  • event之间的依赖关系决定了DTC的依赖关系;
  • DTC的状态位是其map的所有event的状态位的或集;

以下是一个示意图,展示了DTC和故障事件之间的关系:

+------------------+               +-----------------+
|    DTC           |               |  故障事件        |
|                  |               |                 |
| - 唯一标识符       |               | - 发生条件       |
| - 故障类型        |               | - 故障处理流程    |
| - 严重程度        |               | - 通知其他模块    |
| - 发生条件        |               | - 生成DTC        |
|                  |               |                 |
+------------------+               +-----------------+

需要注意的是,具体的DTC和故障事件的定义和属性可以根据系统设计和应用需求进行配置和扩展。在实际应用中,需要根据具体情况进行选择和配置,以满足系统的故障诊断和处理要求。

DTC基本组成

ISO 14229-1的故障诊断码格式规定,故障码信息由四字节组成
在这里插入图片描述
DTCHighByte,DTCMiddleByte,DTCLowByte表示服务中的故障诊断码,是高16位、中8位,和DTC code & 0xFF生成的;
StatusOfDTC表示故障码状态。
DTCHighByte,DTCMiddleByte两字节表示故障内码,对应5位标准故障码
在这里插入图片描述
第1位是字母,后面4位是数字,如P0120
第一位字母表示故障所属系统,我们把汽车系统分为四大类。分别是动力,底盘,车身,网络通信,分别用PCBU表示。
在这里插入图片描述
第二位数字是0、1、2或3表示故障类型,意义如下:“0”代表SAE(美国汽车工程师协会)定义的通用故障码;“1”代表汽车厂家定义的扩展故障码;“2”或“3”表示预留故障码 。
在这里插入图片描述
第三位字符表示故障所属的子系统。
最后两位数字表示具体故障对象和类型。
DTCLowByte描述故障种类和子类型,该部分内容描述需遵循ISO 15031-6。对于不需要该字节信息的DTC,该字节填充为0x00。

DTC状态掩码

基础概念

  1. Test:在线诊断算法,该算法决定系统的故障状态。一个算法对应于一个唯一DTC,非连续性测试在一个监控周期内仅运行一次,连续测试在每次循环中进行调用,可以是毫秒级的;
  2. Failure:系统不能满足功能,则为一个故障。
  3. Monitor:可以是一个test也可由多个test组成,用于决定系统故障状态;
  4. Monitoring cycle:由设备制造商定义,在这个周期下Test可以运行。当然制造商也可定义其它的周期,只要这个定义满足法规要求;
  5. Complete:在当前监控周期内,test决定是否有故障存在的一种指示。(不仅指failed);
  6. Operation Cycle:操作循环定义了从监控运行的开始和结束条件。一个操作循环内,监控循环可能运行多次;一个ECU可能支持多个操作循环;对于车身、底盘相关ECU,由制造商定义一个操作循环(如power up到power down或ignition on到ignition off);排放相关的ECU使用engine-running or engine-off时间周期来定义一个操作循环(也称作driving cycle),其由法规来定义
  7. Pending:Failure的pending状态定义为:在当前操作循环或上一个完成的操作循环内,测试结果为"Failed"; 一旦该故障在一个完整操作循环内测试结果为"Passed", 则复位;
  8. Aging Threshold:老化阈值,测试未报Failed的操作循环次数;满足某个标准,如warm-up cycles, 老化计数器开始计数,达到阈值后将DTC从non-volatile内存中清除,confirmed位从1变为0;
    DTC状态位定义
bitDTC状态描述
0TestFailed最近执行测试的结果,Failed则置"1";最近测试通过(pass)或发送清故障码(14)服务则置"0"。
1TestFailedThisOperationCycle在当前操作循环内的测试结果,该操作循环内只要发生过Failed,则置"1"; 开始新的操作循环或发送清故障码服务后,置"0";
2PendingDTC在当前操作循环或上一个完成的操作循环内,测试是否报告过"Failed"; 该状态位只在测试运行和操作循环完成且在该操作循环内从未"Failed"过或发送清故障码(14)服务后才置0;如果在当前操作循环内未完成测试,则状态不变。例如,若设定确认DTC后监测程序停止运行,则pendingDTC(待定DTC)须保持为’1’。对于OBDDTC,在第一个行驶循环检测到故障后,需将其保存为待定DTC。
3ConfirmedDTC表示故障是否检测到了足够的故障次数让DTC存储到long-term memory,若足够,则置"1"; 其为1的时候并不意味着此刻故障存在;发送清除故障码或达到老化阈值则置"0";
4TestNotCompletedSinceLastClear表示一个DTC测试从上次清故障码开始,是否运行过或完成过测试;若没有,则置"1";否则置"0";清故障码置"1";
5TestFailedSinceLastClear表示一个DTC测试从上次清故障码开始,是否测试失败过;若没有,则置"0";否则置"1";清故障码置"0";
6TestNotCompletedThisOperationCycle表示一个DTC测试在当前操作循环内是否运行完成;若没完成,置"1";否则,置"0"; 开始新的操作循环或清故障码后则置"1";
7WarningIndicatorRequested报告与特定DTC相关的任何警告指示器的状态;没有警告,则置"0",有警告,则置"1";如果有警告,则confirmedDTC也应设置为1;清故障码或满足制造商定义的要求,则置"0";

在这里插入图片描述
上图解释:

  • 0 发送清故障码服务后,各状态位进行初始化;
  • 1, 2 在完成测试时,bit6,4状态均由1变为0;
  • 3, 4, 5, 6 测试结果Failed时,bit0,1,2,5状态均从0变为1;
  • 7, 8 测试结果Failed时,bit0为1,测试结果Passed时,bit0为1;
  • 9, 10, 12 开始一个新的操作循环,bit1变为0;bit5先变成1,待测试完成再变成0;
  • 11 开始下一个操作循环时,该位是否保持上一个操作循环的结果由制造商定义;
  • 13, 14, 15 在第二个循环中再次测试Failed,bit0,1,3变为1

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日一题 57. 插入区间

读研了,开始用python刷题 今天的题目是力扣 每日一题 57. 插入区间 难度:中等 思路: 处理新区间起点,要么在两个老区间之间,要么被一个老区间包含处理新区间中点,同起点一样 我的代码如下 class Solut…

java+ssm+mysql农场信息管理系统

项目介绍: 本系统为基于jspssmmysql的农场信息管理系统,功能如下: 用户:注册登录系统,菜地信息管理,农作物信息管理,种植信息管理,客户信息管理,商家信息管理&#xff…

PHP教学资源管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 教学资源管理系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88260480 论文 https://downl…

如何在VR头显端实现低延迟的RTMP或RTMP播放

技术背景 VR(虚拟现实技术)给我们带来身临其境的视觉体验,广泛的应用于城市规划、教育培训、工业仿真、房地产、水利电力、室内设计、文旅、军事等众多领域,常用的行业比如: 教育行业:VR头显可以用于教育…

资产管理系统中的资产档案管理

资产管理系统中的资产档案管理是指对公司所有的固定资产进行详细的记录、分类、归档和保管。其目的是确保公司的固定资产能够被准确地识别、追踪和管理,以便更好地掌握公司的资产状况,提高资产利用率,降低运营成本。 资产档案管理包括以下几…

try代码块中执行了break。finally也会执行

代码展示 public class Test {public static void main(String[] args) {int a 0;while (true) {try {System.out.println("输出值为:" a);if (a 2) {break;} else {a;}} catch (Exception e) {e.printStackTrace();} finally {System.out.println(&q…

【java并发编程的艺术读书笔记】Lock接口简介、Condition类的使用、可重入锁与读写锁

Lock接口简介 Lock 接口是用于实现线程同步的一种机制。它提供了比传统的synchronized关键字更灵活和可扩展的方式来管理多个线程对共享资源的访问。 Lock 接口的主要目标是解决synchronized关键字的一些限制,例如无法中断正在等待锁的线程、不能尝试获取锁而立即…

电商平台需要用到的API接口封装商品详情SKU数据

想要开发电商系统的朋友对于电商平台API肯定不陌生,API接口即应用程序编程接口,电商平台开放部分API接口,供商家和服务商调用,以满足电商业务管理需求。随着电商市场需求的日益增长以及技术手段的不断成熟,电商平台开放…

镜之Json Compare Diff

前言 “镜” 寓意是凡事都有两面性,Json 对比也不例外! 因公司业务功能当中有一个履历的功能,它有多个版本的 JSON 数据需要对比出每个版本的不同差异节点并且将差异放置在一个新的 JSON 当中原有结构不能变动,差异节点使用数组对象的形式存储,前端点击标红即可显示多个版本的节…

Android全面屏下,默认不会全屏显示,屏幕底部会留黑问题

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 公司以前的老项目,便出现了这种情况,网上搜索了各种资料&#xf…

【SpringCloudAlibaba】Sentinel使用

文章目录 概述官网解决的问题主要特性 配置下载可视化控制台POMYML 流控规则直接(默认)关联链路 降级规则降级策略实战RT异常比例异常数 热点key限流示例:高级选项:参数例外项其他 系统规则SentinelResource按资源名称限流后续处理按照Url地址限流后续处…

轻松掌控视频速度,将过快变得慢慢来!

大家好!在观看和编辑视频时,有时我们会遇到速度过快的视频,需要进行调整以获得更佳的观赏体验或编辑效果。为了让您轻松掌控视频速度,我们精心研发了一款强大的工具——视频速度调整器!让您能够将过快的视频调慢&#…

相机SD卡数据丢失如何恢复?

出门在外,相机是人们记录生活点滴的重要工具,是旅游的最佳玩伴。人们每到一个地方,都喜欢用相机来见证自己来过的痕迹,拍好的照片都会被放到相机卡里,但在使用相机时,有时我们会意外删除了重要的照片或视频…

骨传导耳机对人体有危险吗?骨传导耳机的危害有哪些

根据目前的科学研究和经验,骨传导耳机被认为是相对安全的使用设备,不会对人体造成危险。由于骨传导耳机是通过振动颅骨传递声音,而不是通过直接传递声音到耳朵,因此对耳朵和听力系统的压力较小。 骨传导耳机相反没什么危害&#x…

【已解决】Windows10 pip安装报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98

环境:win10, Python3.9 在Pycharm安装YoloV5的依赖包时出现报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x98 出现 ‘gbk’ codec can’t decode… 的报错一般是因为读取文件出现编码问题导致没法读取文件,因此可以在报错…

Python基础 - 构造函数

目录 基础构造函数 重写 钻石继承 super函数 基础构造函数 命名为_init_,在实例化对象之前会自动执行该函数 构造函数方便我们在实例化对象的时候实现个性化定制 class A():def __init__(self,x,y):self.x xself.y ydef add(self):return self.xself.yclass…

找回宝塔面板登录信息

找回宝塔面板登录信息 找回面板信息 在Xshell控制面板中输入 /etc/init.d/bt default找回登录信息 在Xshell中输入 bt之后根据提示操作 bt 之后根据提示操作![在这里插入图片描述](https://img-blog.csdnimg.cn/e209039ef4684c8a92126d5b8a0580d6.png#pic_center)

软件测试 —— Airtest的iOS实用接口介绍 (建议收藏)

1. 前言 前段时间Airtest更新了1.3.0.1版本,里面涉及非常多的iOS功能新增和改动,今天想详细跟大家聊一下里面的iOS设备接口。 PS:本文示例均使用本地连接的iOS设备,Airtest版本为1.3.0.1 。 2. 安装接口:install、in…

PAT 1130 Infix Expression

个人学习记录,代码难免不尽人意。 Given a syntax tree (binary), you are supposed to output the corresponding infix expression, with parentheses reflecting the precedences of the operators. Input Specification: Each input file contains one test ca…

煤质软化:提升采矿效率的关键技术

煤质软化:提升采矿效率的关键技术 随着煤炭的广泛应用和能源需求的增长,对煤炭采矿和利用的要求也不断提高。传统的煤炭采矿方法往往面临一些困难和挑战,如厚层、高硬度以及强抗压性等问题,导致采掘效率低下、操作困难&#xff0c…