分享

诊断Dem模块介绍

 Kuai2012 2022-04-26

——摘要——

本文主要介绍Dem模块,针部分配置选项进行介绍。

Dem全称为Diagnostic Event Manager,负责故障事件的处理、故障数据的存储和管理。简单说其功能是故障事件确认前的故障debounce,故障事件确认时的故障数据存储,故障发生后的故障老化、故障替代(AUTOSAR的故障存储策略)。

AUTOSAR标准中对Dem模块最上层分了两菜单栏(参见图1),分别是DemConfigSet,DemGeneral。其中DemConfigSet负责不同DTC、event等的配置,DemGeneral负责DTC、event的共用部分,包括冻结帧、扩展帧、使能条件等。

图1 Dem的上层架构

下面主要介绍上层菜单下的配置选项。

——DemConfigSet——

DemConfigSet下包含图2所示的配置项,下面针对常用的配置选项进行介绍。

图2 DemConfigSet配置项

1. DemComponent

DemComponent又名MonitorComponent,主要用于有关联的故障事件。比如传感本身发生故障,这时控制器读取的数据应该被视为无效。一个DemComponent是若干故障事件的集合,在DemComponent内部,故障事件有优先级,当最高优先级的故障事件状态为Failed导致其他故障事件状态也为Failed,或者父节点DemComponent的状态为Failed导致子节点DemComponent内的故障事件状态变成Failed,这种故障叫做连续错误(CONSECUTIVE FAULT),其他被认为是偶发错误(CAUSAL FAULT)。另外如果DemComponent内部故障事件优先级被忽略,那么仅有当父节点DemComponent的状态为Failed导致子节点DemComponent内的故障事件状态变成Failed被称作是连续错误(CONSECUTIVE FAULT)。

2. DemDTCAttributes

DemDTCAttributes用于配置DTC的属性,包括老化周期、故障优先级、存储方式(立即存储还是下电存储)、快照数据需记录的最大组数以及参考的冻结帧数据快照数据、故障数据存储的memory等,其中快照数据、扩展数据等需要在DemGeneral中配置。

3. DemDTC

DemDTC用于配置故障的DTC值(诊断故障码)、DTC的严重程度以及参考的DTC属性、Obd属性等。

4. DemDebounceCounterBaseClass、DemDebounceTimeBaseClass

这两项主要用于为不同的故障事件配置不同的debounce策略,可以是基于计数器的debounce策略,也可以是基于时间的debounce策略,或者由SWC自定义,具体请查看AUTOSAR故障Debounce策略

5. DemObdDTC

DemObdDTC用于配置obd类故障事件是否支持Pto以及故障事件的DTC值等。

6. DemPidClass

用于配置Pid以及相关联的应用层信号。

7. DemEventParameter

DemEventParameter用于配置故障的类型(BSW or SWC)、故障需要多少个运行循环才能确认、是否支持预存储功能、故障事件的debounce策略以及参考的DTC属性、DemComponent、使能条件、运行循环等。

以上参数基本为DemConfigSet比较重要的配置项,其他未介绍的可以查看标准。

——DemGeneral——

DemGeneral主要用于配置DemConfigSet中不同event、DTC共用的一些参数,所以相对来说比较杂,下面针对一些进行介绍。

1. DemDataElementClass

DemDataElementClass用于配置内部、外部元素,如表1所示,用于配置扩展数据和快照数据的数据源。其中内部元素如表2所示,外部元素主要分通过C/S或S/R接口获取应用层的数据

DemExternalCSDataElementClass

This container contains the configuration (parameters) for an external  client/server based data element class. It defines, how the Dem can obtain  the value of the data element from either a SWC or another BSW module. Whether  a client/server port or a C function-call is used, is defined by DemDataElementUsePort.

DemExternalSRDataElementClass

This container contains the configuration (parameters) for an external  sender/receiver based data elementclass. It defines, how the Dem can obtain  the value of the data element from a SWC, by using a sender/receiver port.

DemInternalDataElementClass

This container contains the configuration (parameters) for an internal  data element class.

表1 DemDataElementClass中三种数据

DEM_AGINGCTR_DOWNCNT

map  down-counting Dem-internal aging counter, max. range: 1 byte

DEM_AGINGCTR_UPCNT

map up-counting  Dem-internal aging counter, max. range: 1 byte

DEM_CURRENT_FDC

map up-counting  Dem-internal fault detection counter, max. range: 1 byte

DEM_CYCLES_SINCE_FIRST_FAILED

map Dem-internal  Operation Cycle Counter - Cycles since first failed, max. range: 1 byte

DEM_CYCLES_SINCE_LAST_FAILED

map Dem-internal  Operation CycleCounter - Cycles since last failed, max. range: 1 byte

DEM_FAILED_CYCLES

map Dem-internal  Operation Cycle Counter - Failed cycles, max. range: 1byte

DEM_MAX_FDC_DURING_CURRENT_CYCLE

map Dem-internal  DTC Fault Detection Counter maximum value during current operation cycle,  max. range: 1 byte

DEM_MAX_FDC_SINCE_LAST_CLEAR

map Dem-internal  DTC Fault Detection Counter maximum value since last clear, max. range: 1  byte

DEM_OCCCTR

map Dem-internal  occurrence counter, max. range: 1 byte

DEM_OVFLIND

map Dem-internal  overflow indication, max. range: 1 byte (0 = False, 1 =True)

DEM_SIGNIFICANCE

map (static)  Dem-internal event significance (refer to DemDTCSignificance), max. range: 1byte  (0 = OCCURRENCE, 1 = FAULT)

表2 内部参数

2. DemDidClass

DemDidClass用于配置快照数据的Did 以及对应的DemDataElementClass。

3. DemExtendedDataRecordClass

该项用于配置扩展数据的id、扩展数据触发储存条件和参考的DemDataElementClass。

4. DemFreezeFrameRecordClass

该项主要用于配置快照数据的触发存储条件以及快照id。

5. DemFreezeFrameClass

该项用于配置快照数据包含的数据,数据来自DemDataElementClass。

至此,关于Dem模块就大致介绍到此,由于Dem信息很多,难以一一介绍,主要挑了一些主要的进行介绍。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多