主要内容

将 AUTOSAR 组合导入架构模型中

将 AUTOSAR 软件组合的 ARXML 描述导入架构模型中。

在创建 AUTOSAR 架构模型(需要 System Composer)后,开发顶层 AUTOSAR 软件设计。组合编辑器提供基于 AUTOSAR 虚拟功能总线 (VFB) 的 AUTOSAR 软件架构的视图。

从 ARXML 文件导入 AUTOSAR 组合

如果您有 AUTOSAR 软件组合的 ARXML 描述,可以将该组合导入 AUTOSAR 架构模型中。该导入会在架构模型的顶层创建该组合的 Simulink 表示。组合导入需要打开且不包含功能内容的 AUTOSAR 架构模型。要更新 AUTOSAR 架构模型中现有 AUTOSAR 软件组合,请使用 updateModel 函数。

要将 AUTOSAR 软件组合从 ARXML 文件导入架构模型中,请执行以下操作:

1.创建或打开一个不包含功能内容的 AUTOSAR 架构模型。例如,输入以下 MATLAB® 命令。

% Create AUTOSAR architecture model
modelName = "myArchModel";
archModel = autosar.arch.createModel(modelName);

2.在打开的架构模型中,在建模选项卡的组件菜单中,选择从 ARXML 导入

3.在 AUTOSAR 导入器中,在选择 ARXML 窗格的 ARXML 文件字段中,输入描述 AUTOSAR 软件组合的一个或多个 ARXML 文件的名称(以逗号分隔)。对于此示例,输入 ThrottlePositionControlComposition.arxml

点击 Next。App 会解析指定的 ARXML 文件。

4.在创建组合窗格中,组合名称菜单列出了在解析的 ARXML 文件中找到的组合。选择组合 /Company/Components/ThrottlePositionControlComposition

(可选)要查看组合创建的额外建模选项,请选择配置建模选项

您可以指定:

  • 是包含还是排除定义组合行为的 AUTOSAR 软件组件。默认情况下,导入包括组合内的组件。

  • Simulink 数据字典,用于放置导入的 AUTOSAR 数据类型的数据对象。

  • 要链接到导入的 AUTOSAR 软件组件的现有 Simulink 行为模型的名称。

  • 为导入的 AUTOSAR 软件组件创建 Simulink 行为模型时应用的组件选项。例如,如何对周期性可运行实体进行建模,或对用于解析组件变化点的 PredefinedVariantSwSystemconstantValueSet 进行建模。

有关建模选项和行为的详细信息,请参阅 importFromARXML 参考页。

5.要完成将组合导入架构模型的操作,请点击完成。诊断查看器显示组合创建的进度。完成后,导入的组合将出现在软件架构画布中。

要以编程方式执行步骤 2 到 5,请运行以下命令。

% Import composition from file ThrottlePositionControlComposition.arxml
importerObj = arxml.importer("ThrottlePositionControlComposition.arxml");  % Parse ARXML
importFromARXML(archModel,importerObj,...
  "/Company/Components/ThrottlePositionControlComposition");
Created model 'ThrottlePositionSensor' for component 1 of 5: /Company/Components/ThrottlePositionSensor
Created model 'ThrottlePositionMonitor' for component 2 of 5: /Company/Components/ThrottlePositionMonitor
Created model 'Controller' for component 3 of 5: /Company/Components/Controller
Created model 'AccelerationPedalPositionSensor' for component 4 of 5: /Company/Components/AccelerationPedalPositionSensor
Created model 'ThrottlePositionActuator' for component 5 of 5: /Company/Components/ThrottlePositionActuator
Importing composition 1 of 1: /Company/Components/ThrottlePositionControlComposition

由于此组合导入配置为包括 AUTOSAR 软件组件(建模选项从导入中排除内部行为处于清除状态),因此导入为组合中的每个组件都创建了 Simulink 模型。

开发 AUTOSAR 组件算法

在创建 AUTOSAR 组合的初始 Simulink 表示后,您需要开发组合中的每个组件。对于每个组件,您需要细化 AUTOSAR 配置并创建算法模型内容。

例如,ThrottlePositionControlComposition 组合模型中的 Controller 组件模型包含原子子系统 Runnable_Step_sys,它表示一个 AUTOSAR 周期性可运行实体。Runnable_Step_sys 子系统包含控制器行为的初始桩件实现。

这是节气门位置控制器行为的可能实现。(要探索此实现,请参阅模型 autosar_swc_controller,此模型随示例Design and Simulate AUTOSAR Components and Generate Code提供。)组件从踏板位置传感器获取 App 传感器百分比值和从节气门位置传感器获取 TPS 百分比值作为输入。基于这些值,控制器计算误差。误差是操作员基于踏板传感器期望的节气门位置与当前节气门位置之间的差值。在此实现中,Discrete PID controller 模块使用误差值计算节气门命令百分比值以提供给节气门作动器。示波器显示误差值和 Discrete PID controller 模块输出值随时间的变化。

在开发 AUTOSAR 组件时,您可以:

  • 单独仿真各组件模型,或在架构模型内将它们作为一个组进行仿真。

  • 生成 ARXML 描述文件和算法 C 代码,用于在 Simulink 中测试或集成到 AUTOSAR 运行时环境中。(AUTOSAR 代码生成需要 Simulink Coder 和 Embedded Coder。)

有关开发、仿真和编译 AUTOSAR 组件的详细信息,请参阅示例Design and Simulate AUTOSAR Components and Generate Code

相关链接