AUTOSAR-Event(二)

         Event是故障监控的基本单元,有七个常见属性:使能条件(Event Condition)、上报方式、去抖策略(Debouncing Strategy)、优先级(Priority)、Displacement、依赖关系图(Dependency Node)以及Event Storage Condition。

详细内容可查看: AUTOSAR_SWS_DiagnosticEventManager.pdf.

4. Event 优先级

     Event优先级的提出是为了解决当ECU内部存储的Event事件已满的前提下,如何决定当前发生的Event怎样存储的问题。是舍弃当前新产生的Event或者用最新的Event覆盖已存入的active或者inactive状态的Event, 这对于故障分析处理也是十分必要的。 如下图所示,Event优先级存在以下几个特点:

     针对多个Event mapping至同一个DTC的场合,对于客户可见的同一DTC下mapping的所有event一般都赋予同一优先级。而对于内部event的处理,可以采用不用的优先级,即不需要考虑是否mapping同一个DTC。这样对于客户而言,可以做到统一的故障信息,对于供应商而言,可以保留最为重要的event信息。

5. Event Displacement

    一般而言,对于ECU内部存储event的数量是一定的,通产也成为event memory entry,当前该大小取决于ECU本身存储空间,但一般不少于10个Event Memory Entry。而event displacement仅发生在当event memory entry已满的情况下,应按照一定的策略来决定如何对新增的event进行存储。

    根据AUTOSAR标准,该模块按照下列三大原则来实现Event displacement:

  • Event Priority( 数字越小,存储优先级越高);
  •  Event Active 或者 Passive状态(Active存储优先级高于Passive优先级);
  • Event Occurence time(最近发生的存储优先级高于较早发生的);

   如下图,这三者之间如何协同作用来完成event的存储:

 6. Event Dependency Node

    MonitoringComponent: 该组件代表整个ECU系统可被划分为几个大的组件来统一监控,不至于对所有Event离散型监控,因为Event也是存在类别或者依赖关系,Event之间的这些关系同样的可以映射到MonitoringCompoent中。

    被监控的组件也是系统的一部分,它会被检测是否正常运行。组件的故障需要被记录和报告,因此,通常定义一个或多个监控并将其分配给组件。此外,这些组件的状态是相关联的,并用于影响系统行为(组件的状态可能在Fim中使用)和错误文档(连续故障条目的过滤)。

    Dem允许明确的将被监视的组件定义为DemComponent,定义Events和组件之间的关系,最后允许定义组件之间的关系。

  对于存在依赖关系的Event可通过上述Dependency Gragh来体现。但是,具体到软件内部,一般的做法如下:

     当某个Event发生时,其它Event 也会相继发生,那么此时我们称前者为Causal Fault,而后者则被称为Consecutive Fault, 比如,出现busoff fault时,必然会引起 communication fault。对于Causal fault, ECU会正常执行Event handing ,而对于Consecutive Fault则会直接忽略(Ignore)掉。

A. 若Event A 和Event B 同时发生或者A先发生于B,Event A则被视为Causal Fault, 而Event B则视为Consecutive Fault被忽略掉;

B. 若Event B 已经发生,那么Event E就会被当做Consecutive Fault被忽略掉,因为Component 1 为failed状态,其子关系的component下的Event都会被视为Consecutive Fault而被忽略掉;

C. 若Event E 发生时,Event H也发生了,两者都会被视为Causal Fault 完成正常的Event Handing, 因为两者的component不存在父子关系,DEM会平等对待此类component.

D. 若Component2里的Event没有优先级,且Component1处于Not Fail状态时,那么component2下的所有event都是平等关系,都会按照正常的Causal Fault流程处理;

E. 若Component3被设置为No Available,那么该模块也会被视为不存在整个ECU系统中,而其下的所有Event均被设置为不可见状态。

7. Event Storage Condition

    当一个Event经过上述的Event Handing过程之后,其最终能否为其分配Event Memory Entry 不仅取决于Event Memory是否已满,在此之前还有一关要过,那就是Storage Condition。一个Event 可以存在0个或者多个Storage Condition, Storage condition 条件的设定可由DEM提供API函数Dem_SetStorageCondition来实现,每个Storage Condition可根据客户需求自由定义和实现。

   比如: 有一些Event,只要产生就会被存储,比如高低电压,busoff等,但有一些event需要出现多次才能达到存储条件,这些event一般是不太重要的event, 产生对ECU整体的性能不会造成大的影响,但是对产生的次数还是有一定的限制,那么这些event的存储会有经过多次operation cycle, 每个operation cycle均有产生才能存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值