在AUTOSAR组合模型上运行连续的测试。
此示例演示AUTOSAR合成模型的测试线束功能和背靠背测试工作流。切换到具有写入权限的目录。
该示例使用汽车油门位置控制器的模型。它紧密基于一个装运AUTOSAR区块集示例。有关详细信息,请参阅将AUTOSAR合成导入Simulink金宝app(AUTOSAR Blockset).
AUTOSAR组合模型包含一个相互连接的模型块网络,每个模型块代表一个原子AUTOSAR软件组件(ASWC)。油门位置控制器组合由AUTOSAR创作工具(AAT)创建,并使用描述该组合的ARXML文件导入Simulink。金宝app
组合模型包含六个组件模型,每个组件模型对应于组合中的每个原子软件组件。Simulink输入端口和输出端口表示AUTOSAR端口,信号线表示AUTOSAR组件连接器。金宝app
mdl =“sltestThrottlePositionControlCompositionExample.slx”;open_system (mdl);
模型的测试工具已经生成,可以使用编辑器画布右下角的透视图控件打开。此外,使用:
sltest.harness.open (“sltestThrottlePositionControlCompositionExample”,...“BasicSchedulerTest”);
使用Test Sequence块作为源。被测部件需要加速踏板位置传感器输入APP_HwIO_Value
,它在Test Sequence块中使用简单的三步序列建模:
的初始化
步骤将输入设置为标称值,而运行
Step模型一个稳定的加速命令为950毫秒。文件中的加速命令被重置为标称值终止
的一步。被测组件需要两个额外的输入来捕获主油门位置传感器和副油门位置传感器读数。这些输入使用外部时间序列输入建模,并直接通过Test Sequence块输入,而不需要修改。当一些刺激输入可以建模,而其他输入只能作为外部捕获的数据使用时,这种建模风格非常有用。
被测试的组件是AUTOSAR组合模型,它使用导出功能建模风格。当您为导出功能模型创建测试工具时,工具将包含一个test Sequence块,该块被配置为调用每个根级Simulink Function块,并向模型中的每个函数调用子系统发送一个触发器事件。金宝app生成的Test Sequence块可以用作建模调度程序的一个方便的起点。
在本例中,由于输入信号数据也由测试序列源块生成,因此发送触发事件的代码已合并为单个测试序列块,并在生成刺激波形后嵌入到每个步骤中。使用编译信息fr计算触发事件的调用顺序从合成模型上看。
发送(TPS_Primary_Run_0005)
发送(TPS_Secondary_Run_0005)
发送(Monitor_Run_0005)
发送(APPSnsr_Run_0005)
发送(控制器\u运行\u 0005)
发送(Actuator_Run_0005)
模拟模型,以看到节流命令输出从组件测试。
sim卡(“BasicSchedulerTest”);open_system (“BasicSchedulerTest /范围”);
测试管理器可用于锁定模拟行为并验证软件在回路(SIL)模式下的等效性。打开测试文件并运行等效性测试。
close_system (mdl 0);file_mldatx =“sltestThrottlePositionControlTests.mldatx”;打开(file_mldatx);sltest.testmanager.run;
测试用例验证了油门位置控制器ASWC在%组成模型中的开环行为。等价测试用例的第一部分以正常的模拟模式运行包含该组合的测试工具。测试的第二部分使用后装
回调以切换节气门位置控制器ASWC到SIL模式顶级模特
代码接口。两种模拟结果表明,行为是等价的。
清楚的sltestThrottlePositionControlDataHBridgeCmd_LkupTbl...SensorSelectionSetpointPercent_LkupTblTPSPrimaryPercent_LkupTbl...TPSSecondaryPercent_LkupTblTPSPercent_LkupTbl吹捧logsoutmdlfile_mldatx; sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;