组合和模拟AUTOSAR软件组件
当您开发多个相互连接并协同工作的AUTOSAR软件组件模型时,您可以将它们组合在AUTOSAR组合模型中进行仿真。组合是一个AUTOSAR软件组件,它聚合了相关的软件组件组。
创建一个Simulink金宝app®表示AUTOSAR组成,采取以下行动之一:
导入作品(Classic Platform)的ARXML (AUTOSAR XML)描述。
创建一个模型并使用模型块来引用和连接AUTOSAR组件模型。
另外,如果您有System Composer™软件,您可以创建一个AUTOSAR架构模型并使用软件组成块来模拟AUTOSAR成分。有关更多信息,请参见软件架构建模。
当您模拟组合模型时,您模拟的是聚合AUTOSAR组件的组合行为。
在您开发了AUTOSAR组件和组合之后,您可以测试属于系统级仿真的组件组。例如,您可以创建包含组合、组件、调度程序、工厂模型以及潜在的Basic Software服务组件和调用者的系统级模型。您可以配置系统级模型来执行闭环或开环系统模拟。
导入AUTOSAR合成为模型(经典平台)
组合是一个AUTOSAR软件组件,它聚合了相关的软件组件组。组合支持组件伸缩,并有助于金宝app管理设计中的复杂性。
如果您正在为AUTOSAR Classic Platform开发软件组件,您可以通过从ARXML文件导入组合描述来创建AUTOSAR组合模型。使用AUTOSAR导入功能createCompositionAsModel
。这个函数调用创建组合模型ThrottlePositionControlComposition
从示例ARXML文件ThrottlePositionControlComposition.arxml
。ARXML文件位于
,这是在默认的MATLAB上®搜索路径。matlabroot
/ / autosarblockset /数据示例
= 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组件和组合之后,您可以测试属于系统级仿真的组件组。例如,您可以创建包含组合、组件、工厂模型以及潜在的Basic Software服务组件和调用者的系统级模型。您可以配置系统级模型来执行闭环或开环系统模拟。对于系统级模型,请使用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 Basic Software服务模拟示例请参见模拟AUTOSAR基本软件服务和运行时环境。