——摘要—— 本文主要介绍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接口获取应用层的数据。
表1 DemDataElementClass中三种数据
表2 内部参数 2. DemDidClass DemDidClass用于配置快照数据的Did 以及对应的DemDataElementClass。 3. DemExtendedDataRecordClass 该项用于配置扩展数据的id、扩展数据触发储存条件和参考的DemDataElementClass。 4. DemFreezeFrameRecordClass 该项主要用于配置快照数据的触发存储条件以及快照id。 5. DemFreezeFrameClass 该项用于配置快照数据包含的数据,数据来自DemDataElementClass。 至此,关于Dem模块就大致介绍到此,由于Dem信息很多,难以一一介绍,主要挑了一些主要的进行介绍。 |
|