结合和模拟AUTOSAR软件组件
当您开发多个相互连接并协同工作的AUTOSAR软件组件模型时,您可以将它们组合到一个AUTOSAR组合模型中进行仿真。合成是一个AUTOSAR软件组件,它聚合了相关的软件组件组。
创建一个Simulink®AUTOSAR合成的表示,采取以下操作之一:
导入合成(Classic Platform)的AUTOSAR XML (ARXML)描述。
创建一个模型并使用模型块来引用和连接AUTOSAR组件模型。
或者,如果您有System Composer™软件,您可以创建AUTOSAR体系结构模型并使用软件组成块建模AUTOSAR组成。有关更多信息,请参见软件体系结构建模.
在模拟组合模型时,将模拟聚合AUTOSAR组件的组合行为。
在开发AUTOSAR组件和组合之后,可以测试系统级模拟中属于一起的组件组。例如,您可以创建一个包含组合、组件、调度程序、工厂模型以及潜在的基本软件服务组件和调用者的系统级模型。您可以配置系统级模型来执行闭环或开环系统模拟。
导入AUTOSAR合成模型(经典平台)
合成是一个AUTOSAR软件组件,它聚合了相关的软件组件组。组合支持组件伸缩,并帮助管理设计中的复杂性。
如果您正在为AUTOSAR经典平台开发软件组件,您可以通过从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.
为模拟AUTOSAR组件创建合成模型
要将相关的AUTOSAR软件组件组合到一个合成模型中进行仿真,请创建一个Simulink模型并使用模型块来引用和连接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
创建一个Simulink模型。将模型保存到带有名称的工作文件夹中
作文
.对于每个AUTOSAR组件模型:
分别打开组件模型并验证它是否进行了模拟。
在
作文
模型中,添加一个模型块,并配置该块引用组件。在模型块参数,选择选项进度率.该选项允许在与导出函数相同的基础上调度基于速率的可运行任务。添加组件需要的端口。
组件模型
autosar_swc_throttle_sensor
需要特殊的调整,因为父模型作文
(不像示例模型autosar_composition
)只引用组件一次。打开模型资源管理器,选择模型工作区autosar_swc_throttle_sensor
,选择数据对象TPSPercent_LkupTbl
,并清除论点选择。
当你创建了模型块的每个AUTOSAR组件,连接组件如图所示。
为了模拟聚合AUTOSAR组件的组合行为,需要模拟组成模型。单击运行按钮或输入这个MATLAB命令。
simOutComposition = sim卡(“作文”);
有关更多信息,请参见设计和模拟AUTOSAR组件并生成代码.
AUTOSAR系统级模拟的替代方案
在开发AUTOSAR组件和组合之后,可以测试系统级模拟中属于一起的组件组。例如,您可以创建一个包含组合、组件、工厂模型以及潜在的基本软件服务组件和调用者的系统级模型。您可以配置系统级模型来执行闭环或开环系统模拟。对于系统级模型,使用Simulink模型或仿真软件测试™测试工具模型。
一个闭环仿真的例子,开放的例子模型autosar_system
.该模型为AUTOSAR组合模型提供了系统级测试工具autosar_composition
.
目录(fullfile (matlabroot,' / / autosarblockset /主要的例子));目录(fullfile (matlabroot,' / / autosarblockset /数据的例子));open_system (“autosar_system”);
一个油门位置范围打开的模型。如果模拟系统级模型autosar_system
,范围表示组合模型中油门位置控制算法的优劣autosar_composition
正在追踪踏板的输入。要改进行为,可以修改组合中的组件算法或更改传感器源。
simOutSystem = sim卡(“autosar_system”);
有关更多信息,请参见设计和模拟AUTOSAR组件并生成代码.
用于开环仿真的一个例子仿真软件测试,请参阅AUTOSAR成分测试(仿真软件测试).这个示例为AUTOSAR组合模型执行背靠背测试。
有关模拟AUTOSAR基本软件服务的示例,请参见模拟AUTOSAR基本软件服务和运行时环境.