主要内容

将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,“作文”
名称=1x1单元阵列{' /公司/组件/ ThrottlePositionControlComposition '}

对于列出的软件组成,请使用createCompositionAsModel来创建Simulink表示。

createCompositionAsModel(基于“增大化现实”技术,' /公司/组件/ ThrottlePositionControlComposition ');
创建模型的ThrottlePositionSensor组件1 5:/公司/组件/ ThrottlePositionSensor创建模型的ThrottlePositionMonitor组件2 5:/公司/组件/ ThrottlePositionMonitor创建模型的控制器组件3 5:/公司/组件/控制器创建模型的AccelerationPedalPositionSensor组件4 5:/公司/组件/ AccelerationPedalPositionSensor创建模型的ThrottlePositionActuator组件5 5:为1:/Company/Components/ThrottlePositionControlComposition的组合1创建了“ThrottlePositionControlComposition”模型

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

开发AUTOSAR组件算法,模拟和生成代码

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

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

这里是一个可能实现的油门位置控制器的行为。(要了解此实现,请参阅模型autosar_swc_controller,该示例提供了该函数设计和模拟AUTOSAR组件并生成代码)。该组件将来自踏板位置传感器的APP传感器百分比值和来自油门位置传感器的TPS百分比值作为输入。控制器根据这些值计算错误.该误差是基于踏板传感器的操作人员想要油门的位置与当前油门位置之间的差异。在这个实现中,一个离散PID控制器块使用误差值来计算一个油门命令百分比值,以提供给油门执行器。范围显示错误值和离散PID控制器块随时间的输出值。

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

  • 在包含的组合中单独或一起模拟组件模型。

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

有关开发、模拟和构建AUTOSAR组件的更多信息,请参见示例设计和模拟AUTOSAR组件并生成代码

从创作工具更新AUTOSAR组合模型的架构变化

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

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

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

Ar2 = arxml.importer(“ThrottlePositionControlComposition_updated.arxml”);调用updateModel (ar2“ThrottlePositionControlComposition”);
将原始模型保存为ThrottlePositionSensor_backup更新模型“ThrottlePositionSensor”的组件6:/Company/Components/ThrottlePositionSensor更新模型ThrottlePositionMonitor保存原始模型为ThrottlePositionMonitor_backupslx ###创建HTML报告ThrottlePositionMonitor_update_report.html更新模型'ThrottlePositionMonitor'组件2的6:/Company/Components/ThrottlePositionMonitor更新模型'Logger'组件3的6:/Company/Components/Logger更新模型控制器为组件4 / 6更新了模型“Controller”:/Company/Components/Controller为组件5 / 6更新模型“AccelerationPedalPositionSensor”:/Company/Components/AccelerationPedalPositionSensor更新模型ThrottlePositionActuator保存原始模型为ThrottlePositionActuator_backup。slx ###创建HTML报告ThrottlePositionActuator_update_report.html更新模型“ThrottlePositionActuator”组件6的6:/Company/Components/ThrottlePositionActuator更新模型“ThrottlePositionControlComposition”组合1:/Company/Components/ThrottlePositionControlComposition更新模型ThrottlePositionControlComposition保存原始模型为ThrottlePositionControlComposition_backup。创建HTML报告ThrottlePositionControlComposition_update_report.html

更新之后,在组合模型中,高亮显示发生更改的位置。

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

相关链接

Baidu
map