• 2139查看
  • 0回复

[系统功能] 诊断基础2:快照数据于DTC关系及存储时机

[复制链接]

  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 30-5-2024 22:05:37 | 显示全部楼层 |阅读模式

    汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


    搞诊断开发的小伙伴对DTC(Diagnostic Trouble Code,诊断故障码)和快照数据(Snapshot Data)应该并不陌生。其中,快照数据也称为冻结帧(Freeze Frame)。为了精准地定位车辆故障,往往需要读取DTC对应的快照数据。所以,两者有着一定的联系,那么,故障事件(Event)发生,与DTC以及快照数据是怎样的一种联系呢?
    1、Event、DTC、Snapshot Data关系

    关于Event与DTC的关系,可以参考前文《DTC问题排查模板(一):诊断需求明确》。这里主要解释一下Snapshot Data,Snapshot Data是一些列数据集合。

    (一)为什么需要Snapshot Data?
    答:车辆诊断是对某个事件(Event)的监控(Monitor),当某个Event偏离预期时,我们称其为“故障”,eg:CAN 收发器(Transceiver)故障。而这个故障事件可能因为多种因素诱发,比如:欠压、过温等。为了区分出到底是欠压还是过温引发的CAN 收发器故障,就需要将故障发生时的这些信息捕获出来,示意如下所示:

    诊断基础2:快照数据于DTC关系及存储时机w1.jpg

    (二)如何捕获故障信息

    答:为了后续排查问题,需要将故障发生时,关联的数据(Data)存储下来。怎么做呢?在软件层面,可以把数据用一个个具体的变量表示出来。即:温度、电压等都可以定义成变量。为了便于区分和识别这些变量,为每个变量分配一个独有的DID(Data Identifier,数据标识符),示意如下:

    诊断基础2:快照数据于DTC关系及存储时机w2.jpg

    当故障事件(Event #1)发生时,关联的DTC #1将相关的变量信息一并存储到NVM(Non-Volatile Memory,非易失存储区)。后续问题排查时,通过上位机将信息从NVM中读取出来,进行分析和问题定位,示意如下:

    诊断基础2:快照数据于DTC关系及存储时机w3.jpg

    但是,如果DTC关联的数据变量多且不同DTC可以复用时,每个DTC都去关联这些变量,操作上比较冗余。所以,为了便于处理和维护,在工程上,常常将一系列变量(DID)分组,这些分组称之为快照组(Snapshot Group)。不同的DTC可以关联不用的快照组,也就关联了不同的变量。一个DTC可以关联一个或者多个快照组,甚至不关联快照组,示意如下:

    诊断基础2:快照数据于DTC关系及存储时机w4.jpg

    有些配置工具可能并不支持一个DTC关联多个快照组,如果是这样,实现上可以将需要关注的信息放到一个快照组里,缺点:浪费资源,相比于追查问题,牺牲一点存储空间是可以接受的。
    2、快照数据的存储时机

    既然可以通过存储快照数据分析故障的具体原因,那么,快照数据何时存储呢?答:取决于存储条件,即:存储条件满足时,快照数据存储(存储到NVM)。
    (一)存储条件满足是指故障状态位(bit 3,confirm bit)置位吗?答:不一定。虽然工程上,常常将故障状态位bit3置位作为存储快照数据的条件,但是,并不能说快照数据存储就是bit3置位。实际上,在Autosar DEM(Diagnostic Event Manager,诊断事件管理)中,给出了多种快照数据存储的触发条件,示意如下:
    诊断基础2:快照数据于DTC关系及存储时机w5.jpg
    所以,故障状态bit3并不是快照数据(冻结帧)触发存储的唯一条件。
    (二)一个驾驶循环,故障多次发生,快照数据如何存储?
    答:这个存储策略因需求而定。这里给出常见的几种存储策略:
    1、当前驾驶循环发生多次故障,存储第一次快照数据,示意如下:

    诊断基础2:快照数据于DTC关系及存储时机w6.jpg

    2、当前驾驶循环发生多次故障,存储最后一次快照数据(覆盖存储),示意如下:
    诊断基础2:快照数据于DTC关系及存储时机w7.jpg

    3、当前驾驶循环发生多次故障,第一次存储指定快照组#1,最后一次存储快照数据#2,示意如下:
    诊断基础2:快照数据于DTC关系及存储时机w8.jpg

    参考资料

    Specification of Diagnostic Event Manager AUTOSAR CP Release 4.4.0.pdf


    
  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 11-3-2025 04:58:00 | 显示全部楼层
    关于Event、DTC与Snapshot Data之间的关系,我可以做如下解释:当车辆发生故障事件(Event)时,会产生诊断故障码(DTC)。诊断工具通过读取车辆内部的快照数据(Snapshot Data),可以获取故障发生时车辆的状态信息。这些快照数据包括发动机转速、车速、温度等参数,对于故障分析至关重要。它们三者之间紧密关联,缺一不可。在故障排查过程中,通过读取DTC和对应的快照数据,可以迅速定位问题所在,提高故障诊断的效率和准确性。因此,在故障事件发生后,应立即存储和记录相关的DTC及快照数据,以供后续分析和排查使用。

    [内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
    回复 支持 反对

    使用道具 举报

    

    该用户从未签到

    发表于 11-3-2025 04:58:00 | 显示全部楼层
    关于Event、DTC与Snapshot Data之间的关系,以下是我作为一名汽车工程师的专业解释:

    在汽车故障诊断中,Event代表故障事件的发生,当车辆出现某种异常状况时,会触发Event的产生。DTC是诊断故障码,是对Event的识别与记录。而Snapshot Data,即冻结帧数据,是在Event发生时,车辆ECU(电子控制单元)自动记录的车辆运行参数状态。这些参数状态反映了故障发生时的车辆运行状况,对故障诊断和排查至关重要。因此,三者的关系是:Event触发DTC的产生,而Snapshot Data为DTC提供详细的背景信息。在故障诊断过程中,三者相互关联,共同为准确找出故障原因提供支持。

    [内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
    回复 支持 反对

    使用道具 举报

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 19-8-2025 05:47 , Processed in 0.346693 second(s), 38 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.