配置 AUTOSAR 可运行实体和事件
AUTOSAR 软件组件的内部行为是由一组可运行的实体(简称可运行实体)实现的。一个可运行实体是可由运行时环境 (RTE) 启动的组件提供的一系列操作。该组件配置一个事件来激活每个可运行实体 - 例如,定时事件、接收的数据、客户端请求、模式更改、组件启动或关闭,或触发器。
在 Simulink® 中,您可以配置以下类型的 AUTOSAR 事件。
事件类型 | 工作流 | 示例 |
---|---|---|
DataReceivedEvent | 发送方-接收方 (S-R) 通信 | Programmatically Configure AUTOSAR Runnables and Events |
DataReceiveErrorEvent | 发送方-接收方 (S-R) 通信 | Configure AUTOSAR Receiver Port for DataReceiveErrorEvent |
ExternalTriggerOccurredEvent | 外部触发事件通信 | Configure Receiver for AUTOSAR External Trigger Event Communication |
InitEvent | 初始化可运行实体的激活 | Configure AUTOSAR Initialization Runnable (R4.1) |
ModeSwitchEvent | 模式-切换 (M-S) 通信 | Configure AUTOSAR Mode-Switch Communication |
OperationInvokedEvent | 客户端-服务器 (C-S) 通信 | Configure AUTOSAR Client-Server Communication |
TimingEvent | 可运行实体的定期激活 | Programmatically Configure AUTOSAR Runnables and Events |
要在 Simulink 中配置 AUTOSAR 可运行实体,请执行以下操作:
打开一个为 AUTOSAR 代码生成配置的模型。此示例使用示例模型
autosar_swc
的可写副本。在模型中,创建或标识实现一系列操作的根级 Simulink 子系统或函数。该子系统或函数必须以 C 代码生成入口函数。在
autosar_swc
中,子系统 SS1 生成基于速率的模型单步函数Runnable_1s
。创建或标识要将 Simulink 入口函数映射到的 AUTOSAR 可运行实体。打开 AUTOSAR 字典。展开 AtomicComponents,再展开组件,然后选择可运行实体视图。如果需要创建一个新的 AUTOSAR 可运行实体,请点击加号。模型
autosar_swc
包含定期执行的可运行实体Runnable_1s
。选择包含该可运行实体的行并配置其属性,包括名称和符号。您指定的 AUTOSAR 可运行实体符号名称以 ARXML 描述和 C 代码形式导出。对于 AUTOSAR 服务器可运行实体,请设置可运行实体属性
canBeInvokedConcurrently
以指定是否强制应用并发约束。对于非服务器可运行实体,请将canBeInvokedConcurrently
的设置保留为false
。有关详细信息,请参阅Concurrency Constraints for AUTOSAR Server Runnables。配置一个事件来激活可运行实体。转至选定可运行实体的事件窗格。如果您需要创建一个事件,请点击添加事件。输入事件名称并设置事件类型。
配置事件的步骤取决于事件的类型。如果事件依赖通信接口,如接收的数据(发送方-接收方)或客户端请求(客户端-服务器),则必须在配置事件之前先配置通信接口。
在模型
autosar_swc
中,定期执行的可运行实体Runnable_1s
由名为Event_1s
的 TimingEvent 激活。将 Simulink 入口函数映射到 AUTOSAR 可运行实体。打开代码映射编辑器并选择函数选项卡。对于模型
autosar_swc
,选择采样时间为 1s 的周期函数,并将其映射到 AUTOSAR 可运行实体Runnable_1s
。
要在 ARXML 描述和 C 代码中查看 AUTOSAR 可运行实体和事件配置的结果,请构建模型。
如果一个 AUTOSAR 软件组件模型包含多个可运行实体,您可以配置这些可运行实体的执行顺序。有关详细信息,请参阅Configure AUTOSAR Runnable Execution Order。