主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

配置 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 可运行实体,请执行以下操作:

  1. 打开一个为 AUTOSAR 代码生成配置的模型。此示例使用示例模型 autosar_swc 的可写副本。

  2. 在模型中,创建或标识实现一系列操作的根级 Simulink 子系统或函数。该子系统或函数必须以 C 代码生成入口函数。在 autosar_swc 中,子系统 SS1 生成基于速率的模型单步函数 Runnable_1s

  3. 创建或标识要将 Simulink 入口函数映射到的 AUTOSAR 可运行实体。打开 AUTOSAR 字典。展开 AtomicComponents,再展开组件,然后选择可运行实体视图。如果需要创建一个新的 AUTOSAR 可运行实体,请点击加号。模型 autosar_swc 包含定期执行的可运行实体 Runnable_1s

  4. 选择包含该可运行实体的行并配置其属性,包括名称和符号。您指定的 AUTOSAR 可运行实体符号名称以 ARXML 描述和 C 代码形式导出。对于 AUTOSAR 服务器可运行实体,请设置可运行实体属性 canBeInvokedConcurrently 以指定是否强制应用并发约束。对于非服务器可运行实体,请将 canBeInvokedConcurrently 的设置保留为 false。有关详细信息,请参阅Concurrency Constraints for AUTOSAR Server Runnables

  5. 配置一个事件来激活可运行实体。转至选定可运行实体的事件窗格。如果您需要创建一个事件,请点击添加事件。输入事件名称并设置事件类型。

    配置事件的步骤取决于事件的类型。如果事件依赖通信接口,如接收的数据(发送方-接收方)或客户端请求(客户端-服务器),则必须在配置事件之前先配置通信接口。

    在模型 autosar_swc 中,定期执行的可运行实体 Runnable_1s 由名为 Event_1sTimingEvent 激活。

  6. 将 Simulink 入口函数映射到 AUTOSAR 可运行实体。打开代码映射编辑器并选择函数选项卡。对于模型 autosar_swc,选择采样时间为 1s 的周期函数,并将其映射到 AUTOSAR 可运行实体 Runnable_1s

要在 ARXML 描述和 C 代码中查看 AUTOSAR 可运行实体和事件配置的结果,请构建模型。

如果一个 AUTOSAR 软件组件模型包含多个可运行实体,您可以配置这些可运行实体的执行顺序。有关详细信息,请参阅Configure AUTOSAR Runnable Execution Order

另请参阅

主题