打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
诊断基础:你还见过怎样的快照数据(Snapshot Data)采样和存储策略?
关于快照数据(Snapshot Data)的采样(sample)和存储(store诊断基础:快照数据于DTC关系及存储时机一文中有提到过。上文的快照数据采样和存储是工程中比较常见的策略,除此之外,你还见过其他存储方式吗?本文,聊一聊比较少见的一种快照数据采样和存储方式。

1、快照数据的采样和存储

首先,我们要知道:快照数据的采样和存储是两个概念。
  • 快照数据采样(sample):满足采样条件后,在某一时刻捕获一个或者多个参数值的行为。
  • 快照数据存储(store:满足存储条件后,快照数据存储到非易失内存(NVM,Non Volatile Memory)的行为。
所以,理论上讲,快照数据的采样可以在故障事件(Event)的任何时刻采集,即使Event没有异常也可以采集。具体来说,在一个驾驶循环内(One Operation Cycle),只要满足采样触发条件,即可对数据采样,也就是冻结目标快照组(Snapshot Group #n)中的多个DID(Data Identifier),示意如下:

而且,快照数据的采样可以只采样第一次,也可以每次满足采样条件后的覆盖采样(保留最新一次的采样数据)。
同样,快照数据的存储也可以在程序运行的任意时刻存储,只要快照数据的存储条件满足即可存储快照数据。那么,没有DTC(Diagnostic Trouble Code,诊断故障码)也能存储快照数据吗?理论是可以的,只是这样做,没有工程意义
我们知道,监控的故障事件(eg:欠压事件)会关联一个DTC,当Event满足故障条件(Fault Conditions,eg:欠压(<6V)持续1s)以后,DTC状态(Status)改变;DTC关联的快照组信息(Snapshot Group #n)的采样取决于是否满足采样条件(Sample Conditions,eg:状态位改变);DTC采样的快照信息存储到非易失内存(eg:NVM,Non volatile Memory)需要满足存储条件(Store Conditions示意如下

显然,Fault Conditions、Sample Conditions、Store Conditions不同,所以,理论上,三者可以独立处理。
(一)Fault Conditions、Sample Conditions、Store Conditions理解
  • Fault Conditions:满足监控条件以后,Event非预期行为超过一定阈值的条件,eg:蓄电池欠压(<6V)持续1s,这就是一个故障条件。
  • Sample Conditions:采样目标信息(变量)的条件,eg:DTC故障状态bit0(Test Failed bit)由0->1时采样。
  • Store Conditions:与DTC关联的数据信息(eg:DTC故障码、故障状态、快照数据、拓展数据)可以存储NVM的条件,eg:DTC故障状态bit3(Confirmed DTC bit)由0->1时存储

如上,只是阐述三者是不同的概念,具体到项目,每个条件由OEM决定。

2、工程中的快照数据采样策略解析

如果你在诊断项目开发过程中,碰到过"unconfirmedDTCLimit"这个词,应该是有所思考的。在这家OEM的诊断需求中,快照数据的采样,有这样几种策略:

  1. 每次FDC(Fault Detection Counter,错误检测计数器)≥ unconfirmedDTCLimit时采样,采样数据队列存储

  2. 一个驾驶循环内(One Operation Cycle),当FDC(Fault Detection Counter,错误检测计数器)多次 ≥ unconfirmedDTCLimit时,只保留第一次采样值;

  3. 一个驾驶循环内(One Operation Cycle),当FDC(Fault Detection Counter,错误检测计数器)多次 ≥ unconfirmedDTCLimit时,只保留最后一次采样值。

提示:unconfirmedDTCLimit可能是3、18、127...等任意值,不一定必须是127。

不知道大家是否对如上的第二种采样策略有疑问,这里提这样一个问题:如果unconfirmedDTCLimit = 3,FDC没有达到127就采样,最终故障没有成熟,DTC没有存储,采样有什么意义呢?具体解释,监控某个事件(Event),同一个驾驶循环内,该Event对应的FDC变化趋势如下,T0时刻FDC >unconfirmedDTCLimit,触发采样(Sample #1),但是,整个驾驶循环内,这个Event又回归了正常,对应的DTC并没有报出,采样数据有什么意义呢?示意如下:

对于这样的工况,采样似乎没有必要,但是,真的是这样吗?不妨看看Autosar DEM(Diagnostic Event Manager)给出的解释。

3、Pre-store freeze frame

Prestore freeze frame(预存储冻结帧),Autosar中的冻结帧(Freeze Frame)和UDS中的快照数据(Snapshot Data),可以看作是一个意思,两种不同的叫法。那么,Autosar提出预存储冻结帧的意义是什么呢?DEM的解释如下:

如上,意思是说:某些事件(Event)关联的数据变化频率高,如果等到事件完成去抖再捕获,捕获的快照数据很可能没有太大的分析价值。所以,可以提前采样快照数据,甚至可以将这些采集的数据以队列(Queue)的形式循环存储,eg:每间隔5ms采集一次,队列最大缓存3次,如此,即可实时缓存最新的3次快照数据,一旦故障真的发生,这些提前缓存的快照数据即可存储到NVM,示意如下:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UDS诊断入门(三)
新睿云服务器备份教程
UDS 诊断服务详细解读
诊断Dem模块介绍
岂止于跨境,独立站在国内市场的萌芽与发展态势
MySQL 语句优化 ICP
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服