配置调用AUTOSAR函数抑制管理器服务
AUTOSAR经典平台,AUTOSAR标准定义了重要的服务作为基本的软件(BSW正在)在AUTOSAR运行时环境中运行(RTE)。例子包括诊断事件管理器提供的服务(民主党),函数抑制经理(鱼类)、NVRAM经理(NvM)。AUTOSAR RTE, AUTOSAR软件组件通常使用客户机-服务器或sender-receiver通信BSW正在服务的访问。
AUT金宝appOSAR组件和服务的支持系统级建模,AUTOSAR BlocksetAUTOSAR基本软件模块提供了一个图书馆。建模组件调用的库包含预配置块AUTOSAR BSW正在BSW正在服务的服务和参考实现。信息使用的块模型AUTOSAR BSW正在客户端调用服务接口,明白了AUTOSAR基础软件服务调用模型。
live-script模拟AUTOSAR BSW正在服务的例子,请参阅示例模拟AUTOSAR基本的软件服务和运行时环境和配置和模拟AUTOSAR抑制服务调用的函数。
AUTOSAR规范中定义的,该函数抑制经理提供了选择性抑制的控制机制(即去活化)函数执行在软件组件可运行,基于函数标识符(栓)抑制条件。例如,一个支撑材能代表功能,必须停止如果发生特定的故障。
函数抑制经理密切相关诊断事件管理器,因为抑制条件可以基于诊断事件的状态。例如,如果一个传感器故障事件据报道,诊断事件管理器,该函数抑制经理可以抑制相关函数标识符和停止执行相应的功能。
AUTOSAR Blockset提供鱼翅和民主党块允许您查询的状态函数抑制条件和配置功能抑制标准基于诊断事件状态。
模型功能抑制
AUTOSAR软件组件使用功能抑制开关函数根据诊断的状态打开或关闭事件管理器(民主党)的事件。软件组件可以对一个事件的反应,如传感器允许或阻止执行成功或失败的一个相关函数。
考虑一个AUTOSAR民主党状态块一组软件组件模型作为监测组件内的新功能。民主党事件通过使用一组状态块表明是否条件如传感器故障发生。事件状态决定是否执行相关的下游功能可以进行。功能只有在没有失败事件的报道。
实现功能抑制新功能的组件:
打开AUTOSAR软件组件模型。
打开设置状态块对话框。检查客户端端口名称和操作值。确认客户端端口和它的客户端接口中定义AUTOSAR字典。
模型的新功能,这样它将执行只有在事件状态表示没有传感器故障。这个例子将启用新功能在一个子系统。
添加一个抑制函数调用者块模型。打开块对话框和配置请求的块
GetFunctionPermission
操作的鱼翅FunctionInhibition
服务接口。指定客户端端口名称和样品时间。打开代码映射编辑器并单击更新按钮。指定的软件创建客户端端口和接口AUTOSAR字典,和地图让允许阻止调用者指定的AUTOSAR端端口和操作。
获得许可的块连接到启用端口的子系统包含新功能。块代表评价函数的抑制条件新功能。如果不抑制的功能,因此允许运行,获得许可的块返回true,使子系统。
这是修改后的软件组件模型。
将软件测试工具组件模型。
测试工具模型,提供参考实现的民主党获得地位和鱼类获得许可服务模拟,添加一个诊断服务组件块。更新模型。
打开诊断服务组件块对话框。对话框中的刷新RTE和鱼类表在任何时候,更新模型。
在RTE选项卡中,您可以配置事件和函数标识符的事件可以触发函数抑制。在这个例子中,该模型层次结构中只包含一个事件端口和一个支撑材端口,所以RTE标签不需要进一步配置。
如果模型层次结构包含额外的端口为多个获得许可块,与功能分布在多个组件,您可以使用RTE选项卡端口分配给相同的FID小组或独立支撑材单独来解决这些问题。对于抑制函数示例与多个港口和分布式功能,看看配置和模拟AUTOSAR抑制服务调用的函数。
事件和函数标识符配置后,切换到鱼翅选项卡。在鱼翅选项卡中,您添加和配置时确定的抑制条件得到许可允许操作的功能块。
的鱼翅选项卡列出函数标识符代表函数的模型层次结构实现功能抑制。在这个例子中,该模型层次结构包含一个支撑材。
添加一个抑制条件支撑材,选择FID并单击添加抑制条件按钮。一行的抑制条件下出现FID。
在一行中,选择一个事件ID值(匹配一个事件ID中列出RTE选项卡)。对支撑材和事件ID对,选择一个抑制掩码值。AUTOSAR规范FiMInhibitionMask值表中定义掩码值。
在这个例子中,函数表示为支撑材1是抑制如果事件由事件ID 1是LAST_FAILED。
更新和利用模型模拟。
下一步发展软件组件包括:
解决如何触发事件。
添加功能抑制。
大规模AUTOSAR建模功能抑制的例子,看看配置和模拟AUTOSAR抑制服务调用的函数。
失败的操作周期范围
AUTOSAR软件组件,操作周期代表汽车周期,如点火周期,周期,热身周期,或车载诊断(OBD)周期。一个周期可以启动、停止,或通过使用查询诊断事件管理器服务。可以使用操作周期来确定给定的事件未能在一个给定的时间。
操作周期模拟分割成一段时间,等一分钟周期。在每个周期,软件可以检查诊断条件(事件)已经被测试(鱼翅条件)在相应的周期和抑制功能。
BSW正在块DiagnosticOperationCycleCaller金宝app支持SetOperationCycleState
和GetOperationCycleState
服务。组件调用服务来控制组件操作周期,用于范围故障时间。调用SetOperationCycleState
Dem_OperationCycleStateType与价值。DEM_CYCLE_STATE_START启动一个操作周期。传入Dem_OperationCycleStateType价值。DEM_CYCLE_STATE_END结束一个操作周期。调用GetOperationCycleState
查询当前状态的一个操作周期。
使用一个例子DiagnosticOperationCycleCaller块和SetOperationCycleState
服务,请参阅配置和模拟AUTOSAR抑制服务调用的函数。
在故障或控制功能的可用性进行测试
函数抑制经理支持抑制标准限制功能块执行直到逻辑和功能前辈运行,或金宝app限制执行的安全系统,直到验证失败。不过,您可以限制使用的功能独立于抑制标准。例如,传感器组件可以禁用阅读它的传感器数据在失败或在其他系统功能的测试。
BSW正在块控制函数可以调用者金宝app支持SetFunctionAvailable
服务,它提供了一种细粒度的机制来抑制特定功能。一个组件使用SetFunctionAvailable
错误的输入信号值抑制相关的功能,以便获得许可块功能返回0。在这个例子中,一个传感器监测使用SetFunctionAvailable
通知中央监控组件是否可用的传感器测量。
中央监控使用抑制函数调用者块和GetFunctionPermission
服务决定是否占来自各个传感器的测量。中央监控已经尽可能多的获得许可块有传感器。
的鱼翅选项卡的诊断服务组件块配置失败事件的细节。如果一个函数可用,鱼翅标签ID和掩码设置控制功能抑制。如果一个函数不可用,GetFunctionPermission
总是返回false。
配置服务要求功能抑制
作为实现功能抑制的一部分,您配置客户端调用FiM-related AUTOSAR软件组件的服务接口。这是配置的一个示例的客户端调用查询的状态函数抑制条件。
打开一个模型配置为AUTOSAR代码生成。这个示例使用示例模型
autosar_bsw_fimmonitor
,这是相关的例子配置和模拟AUTOSAR抑制服务调用的函数。使用的库浏览器或通过输入块的名字在模型窗口中,添加鱼类抑制函数调用者到模型中。对于本示例,连接块输出《终结者》块。
打开新的块,检查参数。鱼翅服务调用的客户端端口名称是
FiM_FunctionInhibition
和操作是GetFunctionPermission
。集样品时间来0.005
与其他GetFunctionPermission
在模型中调用程序块。打开代码映射编辑器。更新模型金宝app®AUTOSAR映射模型与仿真软件更改函数的调用者,单击金宝app更新按钮。软件创建AUTOSAR客户端与服务之间的接口、操作和港口,每个模型和映射函数调用者一个AUTOSAR端端口和操作。金宝app
例如,对于抑制函数调用者在这个例子中,的
GetFunctionPermission
选择操作:该软件创建c接口
FiM_FunctionInhibition
,在FiM_FunctionInhibition
,其支持的操金宝app作,GetFunctionPermission
。操作参数提供只读属性。AUTOSAR的字典,这是理由FiM_FunctionInhibition
操作GetFunctionPermission
。该软件创建一个客户端端口使用默认名称
FiM_FunctionInhibition
。与C-S-interface、操作和参数名称,客户端端口名称可以自定义。客户端端口映射到FiM_FunctionInhibition
接口。映射编辑器地图的代码抑制函数调用者函数调用块AUTOSAR客户端口
FiM_FunctionInhibition
和AUTOSAR操作GetFunctionPermission
。
可选地,建立你的组件模型并检查生成的C和ARXML代码。C代码包括客户端调用BSW正在服务,例如:
/ *功能性:“<根> /抑制函数调用者”* / Rte_Call_FiM_FunctionInhibition_GetFunctionPermission (&rtb_FunctionInhibitionCaller_o1);
生成的RTE包括文件定义服务器操作调用点,等
Rte_Call_FiM_FunctionInhibition_GetFunctionPermission
。ARXML代码定义了服务操作BSW正在由组件调用服务器调用点,例如:
< SERVER-CALL-POINTS > < SYNCHRONOUS-SERVER-CALL-POINT UUID = "……" > <字> SC_FiM_Function_60fb8d34c7807f7b < /字> < OPERATION-IREF > < CONTEXT-R-PORT-REF DEST = " R-PORT-PROTOTYPE " > / ThrottlePositionMonitorCompo_pkg ThrottlePositionMonitorCompo_swc / ThrottlePositionMonitor FiM_FunctionInhibition < / CONTEXT-R-PORT-REF > < TARGET-REQUIRED-OPERATION-REF DEST = " CLIENT-SERVER-OPERATION " >AUTOSAR /服务/鳍/ FiM_FunctionInhibition / GetFunctionPermission< / TARGET-REQUIRED-OPERATION-REF > < / OPERATION-IREF > <超时> 1.0 e-06 < /超时> < / SYNCHRONOUS-SERVER-CALL-POINT >…< / SERVER-CALL-POINTS >
模拟组件模型,创建一个包含组成,系统,或测试工具模型。包含模型,鱼翅的插入一个参考实现
GetFunctionPermission
服务操作。AUTOSAR的基本软件模块库提供了一个诊断服务组件块,它提供了参考实现Dem和鱼翅的服务操作。您可以手动将块插入包含组成,系统,或利用模型,通过创建一个自动插入块金宝app仿真软件测试™利用模型。
有关更多信息,请参见为模拟配置AUTOSAR基础软件服务实现。
例子配置和模拟AUTOSAR抑制服务调用的函数提供了一组示例模型,说明实现功能抑制的关键方面,包括:
查询条件抑制的状态(
FunctionInhibition
操作GetFunctionPermission
)。配置抑制标准基于事件状态(诊断服务组件块对话框中,RTE和鱼翅选项卡)。
定义操作周期范围故障时间(民主党
OperationCycle
操作SetOperationCycleState
)。
另请参阅
抑制函数调用者|控制函数可以调用者|DiagnosticOperationCycleCaller|诊断服务组件
相关的例子
- 配置调用AUTOSAR诊断事件管理器服务
- 为模拟配置AUTOSAR基础软件服务实现
- 模拟AUTOSAR基本的软件服务和运行时环境
- 配置和模拟AUTOSAR抑制服务调用的函数
- 配置AUTOSAR客户机-服务器通信