组合和模拟AUTOSAR软件组件
在开发多个相互连接并协同工作的AUTOSAR软件组件模型时,可以将它们组合在一个AUTOSAR组合模型中进行仿真。组合是一个AUTOSAR软件组件,它聚合了相关的软件组件组。
创建一个Simulink金宝app®AUTOSAR合成的表示,执行以下操作之一:
导入组合(经典平台)的AUTOSAR XML (ARXML)描述。
创建一个模型并使用模型块来引用和连接AUTOSAR组件模型。
或者,如果您有System Composer™软件,则可以创建AUTOSAR体系结构模型并使用软件组成块来建模AUTOSAR成分。有关更多信息,请参见软件架构建模.
在模拟组合模型时,将模拟聚合的AUTOSAR组件的组合行为。
开发AUTOSAR组件和组合后,可以在系统级模拟中测试属于一起的组件组。例如,您可以创建一个系统级模型,其中包含组合、组件、调度程序、工厂模型,以及可能的基本软件服务组件和调用者。您可以配置系统级模型来执行闭环或开环系统模拟。
导入AUTOSAR合成模型(经典平台)
组合是一个AUTOSAR软件组件,它聚合了相关的软件组件组。组合支持组件伸缩,并帮助管金宝app理设计中的复杂性。
如果您正在为AUTOSAR经典平台开发软件组件,则可以通过从ARXML文件导入组合描述来创建AUTOSAR组合模型。使用AUTOSAR导入函数createCompositionAsModel
.这个函数调用创建组合模型ThrottlePositionControlComposition
从示例ARXML文件ThrottlePositionControlComposition.arxml
.ARXML文件位于
,它在默认的MATLAB中®搜索路径。matlabroot
/ / autosarblockset /数据示例
Ar = arxml.importer(“ThrottlePositionControlComposition.arxml”);createCompositionAsModel(基于“增大化现实”技术,' /公司/组件/ ThrottlePositionControlComposition ');
若要模拟聚合的AUTOSAR组件的组合行为,请模拟组合模型。单击运行按钮在模型窗口或输入此MATLAB命令。
simOutComposition = sim(“ThrottlePositionControlComposition”);
有关更多信息,请参见将AUTOSAR合成导入Simulink金宝app.
创建模拟AUTOSAR组件的合成模型
若要将相关AUTOSAR软件组件组合在组合模型中进行仿真,请创建Simulink模型并使用金宝app模型块来引用和连接AUTOSAR组件模型。
这个例子创建了一个AUTOSAR组合模型。所创建的模型是AUTOSAR示例模型的简化版本autosar_composition
.为了加快配置和解决问题,您可以将新模型与示例模型进行比较autosar_composition
.如果需要,您可以在模型之间复制导入和输出等元素。有关已完成的组合模型的图表,请参见步骤4。
将您想要模拟的AUTOSAR软件组件模型一起移动到一个工作文件夹中
cd
到那个文件夹。此示例使用从
(matlabroot
/ / autosarblockset /主要例子cd
到文件夹).autosar_swc_actuator
autosar_swc_controller
autosar_swc_pedal_sensor
autosar_swc_throttle_sensor
创建一个Simul金宝appink模型。将模型保存到具有名称的工作文件夹中
作文
.对于每个AUTOSAR组件模型:
单独打开组件模型,并验证它是模拟的。
在
作文
模型,添加模型块,并配置块以引用组件。在模型块参数,选择选项进度率.此选项允许在与导出函数相同的基础上调度基于速率的可运行任务。添加组件需要的端口。
组件模型
autosar_swc_throttle_sensor
需要特殊的调整,因为父模型作文
(与示例模型不同autosar_composition
)只引用该组件一次。打开模型资源管理器,选择的模型工作空间autosar_swc_throttle_sensor
,选择数据对象TPSPercent_LkupTbl
,并清除论点选择。
当你创建了模型块为每个AUTOSAR组件,连接组件如下所示。
若要模拟聚合的AUTOSAR组件的组合行为,请模拟组合模型。单击运行按钮在模型窗口或输入此MATLAB命令。
simOutComposition = sim(“作文”);
有关更多信息,请参见设计和模拟AUTOSAR组件并生成代码.
AUTOSAR系统级仿真的备选方案
开发AUTOSAR组件和组合后,可以在系统级模拟中测试属于一起的组件组。例如,您可以创建一个包含组合、组件、工厂模型以及可能的基本软件服务组件和调用者的系统级模型。您可以配置系统级模型来执行闭环或开环系统模拟。对于系统级模型,请使用Simulink模型或金宝app金宝app仿真软件测试™测试线束模型。
以闭环仿真为例,以开放模型为例autosar_system
.该模型为AUTOSAR组合模型提供了一个系统级测试工具autosar_composition
.
目录(fullfile (matlabroot,' / / autosarblockset /主要的例子));目录(fullfile (matlabroot,' / / autosarblockset /数据的例子));open_system (“autosar_system”);
一个油门位置范围打开与模型。如果模拟系统级模型autosar_system
,范围表示组合模型中节流位置控制算法的效果autosar_composition
正在跟踪踏板的输入。要改进行为,可以修改组合中的组件算法或更改传感器源。
simOutSystem = sim(“autosar_system”);
有关更多信息,请参见设计和模拟AUTOSAR组件并生成代码.
举个开环仿真使用的例子金宝app仿真软件测试,请参阅测试AUTOSAR合成(金宝app仿真软件测试).这个示例为AUTOSAR组合模型执行背靠背测试。
有关模拟AUTOSAR基本软件服务的示例,请参见模拟AUTOSAR基本软件服务和运行时环境.