栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

UDS-如何在CAPL中实现读取DTC和它的状态

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UDS-如何在CAPL中实现读取DTC和它的状态

我们在测试某个DTC Code时,首先会触发这个DTC产生的条件,然后用CANoe的诊断控制台或ODIS工具读取ECU所有的DTC,然后在显示的DTC列表里查看是否有这个DTC出现,它的状态是否是当前DTC,然后再取消触发这个DTC的条件(不满足),然后再去读取DTC,看这个DTC的状态是否变成了历史DTC。这就是测试DTC功能的一般流程,现在我们看下如何在capl中自动地实现它

DTC

读DTC的诊断服务SI是0x19,它支持子功能,其中0x02子功能用于列出所有DTC及它的状态码

一个DTC格式:

可以看出一个DTC由4个字节组成,前三个字节是DTC故障码,最后一个字节是这个DTC的状态

我们一般只会确认当故障条件满足时,这个DTC是否存在,同时它的DTCStatus是否是当前状态;当故障条件不满足时,这个DTC是否存在,同时它的DTCStatus是否是历史状态

如何确认状态,肯定是通过DTCStatus byte位的值来确定,而DTCStatus的8个bit位有不同的含义

其中bit0表示:该DTC最近的测试结果为失败,所以它才是用来表示DTC的当前状态的,bit0为1说明是当前DTC,bit0为0说明是历史DTC

什么叫历史DTC?

通俗

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883018.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号