主要内容

将 AUTOSAR 组合导入 Simulink

从 AUTOSAR 软件组合的 XML 描述创建 Simulink® 模型。

从 ARXML 文件将 AUTOSAR 组合导入到 Simulink

以下是实现节气门位置控制系统的 AUTOSAR 软件组合。该组合包含六个相互连接的 AUTOSAR 软件组件原型 - 四个传感器/作动器组件和两个应用程序组件。

该组合在 AUTOSAR 编写工具中创建并导出到文件 ThrottlePositionControlComposition.arxml

使用 MATLAB 函数 createCompositionAsModel 导入 AUTOSAR XML (ARXML) 描述并创建 AUTOSAR 组合的一个初始 Simulink 表示。首先,解析 ARXML 描述文件并列出其中包含的组合。

ar = arxml.importer('ThrottlePositionControlComposition.arxml');
names = getComponentNames(ar,'Composition')
names = 1×1 cell array
    {'/Company/Components/ThrottlePositionControlComposition'}

对于列出的软件组合,使用 createCompositionAsModel 创建一个 Simulink 表示。

createCompositionAsModel(ar,'/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
Created model 'ThrottlePositionControlComposition' for composition 1 of 1:
/Company/Components/ThrottlePositionControlComposition

该函数调用创建一个组合模型,其中包含六个组件模型,组合中的每个原子软件组件对应一个。Simulink 输入端口和输出端口表示 AUTOSAR 端口,信号线表示 AUTOSAR 组件连接器。

开发 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

从编写工具使用架构更改更新 AUTOSAR 组合模型

假设在将 AUTOSAR 软件组合导入 Simulink 并开始开发算法后,在 AUTOSAR 编写工具中对组合进行了架构更改。

这是修订后的组合。这些更改删除了传感器组件,添加了记录器组件,并在组合和组件级别添加了端口和连接。在 AUTOSAR 编写工具中,修订后的组合导出到文件 ThrottlePositionControlComposition_updated.arxml

使用 MATLAB 函数 updateModel 从 ARXML 文件导入架构修订版。函数使用这些更改更新 AUTOSAR 组合模型并报告结果。

ar2 = arxml.importer('ThrottlePositionControlComposition_updated.arxml');
updateModel(ar2,'ThrottlePositionControlComposition');
### Updating model ThrottlePositionSensor
### Saving original model as ThrottlePositionSensor_backup.slx
### Creating HTML report ThrottlePositionSensor_update_report.html
Updated model 'ThrottlePositionSensor' for component 1 of 6:
/Company/Components/ThrottlePositionSensor
### Updating model ThrottlePositionMonitor
### Saving original model as ThrottlePositionMonitor_backup.slx
### Creating HTML report ThrottlePositionMonitor_update_report.html
Updated model 'ThrottlePositionMonitor' for component 2 of 6:
/Company/Components/ThrottlePositionMonitor
Updated model 'Logger' for component 3 of 6: /Company/Components/Logger
### Updating model Controller
### Saving original model as Controller_backup.slx
### Creating HTML report Controller_update_report.html
Updated model 'Controller' for component 4 of 6: /Company/Components/Controller
### Updating model AccelerationPedalPositionSensor
### Saving original model as AccelerationPedalPositionSensor_backup.slx
### Creating HTML report AccelerationPedalPositionSensor_update_report.html
Updated model 'AccelerationPedalPositionSensor' for component 5 of 6:
/Company/Components/AccelerationPedalPositionSensor
### Updating model ThrottlePositionActuator
### Saving original model as ThrottlePositionActuator_backup.slx
### Creating HTML report ThrottlePositionActuator_update_report.html
Updated model 'ThrottlePositionActuator' for component 6 of 6:
/Company/Components/ThrottlePositionActuator
Updated model 'ThrottlePositionControlComposition' for composition 1 of 1:
/Company/Components/ThrottlePositionControlComposition
### Updating model ThrottlePositionControlComposition
### Saving original model as ThrottlePositionControlComposition_backup.slx
### Creating HTML report ThrottlePositionControlComposition_update_report.html

更新后,在组合模型中,突出显示指示更改发生的位置。

函数还生成并显示 HTML AUTOSAR 更新报告。该报告列出更新对组合模型中 Simulink 和 AUTOSAR 元素所做的更改。在报告中,您可以点击超链接从更改描述导航到模型更改,并从主报告导航到单个组件报告。

相关链接