在AUTOSAR组合模型上运行连续的测试。
这个例子演示了AUTOSAR组合模型的测试工具特性和背靠背的测试工作流程。切换到有写权限的目录。
该实例使用了汽车节气门位置控制器的模型。它紧密地基于一个已经发布的AUTOSAR Blockset示例。有关详细信息,请参见导入AUTOSAR合成到Simulink万博1manbetx(AUTOSAR Blockset).
AUTOSAR组合模型包含一个相互连接的模型块网络,每个模型块代表一个原子AUTOSAR软件组件(ASWC)。油门位置控制器组合由AUTOSAR创作工具(AAT)创建,并使用描述该组合的ARXML文件导入Simulink。万博1manbetx
组合模型包含6个组件模型,其中一个用于组合中的每个原子软件组件。万博1manbetxSimulink的输入端口和输出端口代表AUTOSAR端口,信号线代表AUTOSAR组件连接器。
mdl='sltestThrottlePositionControlCompositionExample.slx'开放式系统(mdl);
已生成模型的测试线束,可以使用编辑器画布右下角的透视控件打开该线束。或者,使用:
sltest.harness.open(“sltestThrottlePositionControlCompositionExample”,...“基本时间表测试”);
测试序列块用作源。被测部件需要油门踏板位置传感器输入APP_HwIO_值
,使用简单的三步序列在测试序列块中建模:
这个初始化
步骤将输入设置为标称值,并将跑
步骤为950 ms的稳定加速指令建模。加速指令在步骤中重置为标称值终止
步骤。被测部件需要两个额外的输入,用于捕获主油门位置传感器和辅助油门位置传感器的读数。这些输入使用外部时间序列输入进行建模,并直接通过测试序列块输入,无需修改。当一些刺激输入可以建模和修改时,这种建模方式非常有用HER仅作为外部捕获的数据可用。
正在测试的组件是AUTOSAR合成模型,它使用导出功能建模样式。当您为导出功能模型创建测试线束时,线束将包含一个测试序列块,该测试序列块配置为调用每个根级Simulink功能块,并向模型中的每个功能调用子系统发送一个触发事件生成的测试序列块可以作为建模调度器的方便起点。万博1manbetx
在本例中,由于输入信号数据也是由一个Test Sequence源块生成的,发送触发器事件的代码被合并到一个单独的Test Sequence块中,并在刺激波形生成后嵌入到每个步骤中。触发器事件的调用顺序是使用来自组合模型的已编译信息计算的。
发送(TPS\u主\u运行\u 0005)
发送(TPS_次要_运行_0005)
发送(Monitor_Run_0005)
发送(APPSnsr_Run_0005)
发送(Controller_Run_0005)
发送(执行器运行0005)
模拟模型以查看受测部件的油门指令输出。
模拟(“基本时间表测试”); 开放式系统(“基本计划测试/范围”);
测试管理器可用于锁定仿真行为,并在软件在环(SIL)模式下验证等价性。打开测试文件并运行等价测试。
关闭系统(mdl,0);文件='sltestThrottlePositionControlTests.mldatx';打开(文件_mldatx);sltest.testmanager.run;
测试用例在%合成模型内验证油门位置控制器ASWC的开环行为。等效测试用例的第一部分在正常模拟模式下运行包含合成的测试线束。测试的第二部分使用Post-Load
使用回调将油门位置控制器ASWC切换到软件在环(SIL)模式顶级模特
代码接口。两个模拟的结果表明行为是等效的。
清晰的SLTestThrottlePositionControl数据HBridgeCmd_lkuppbl...传感器选择设置点百分比TPSPrimaryPercent\u LKUPPBL...TPS第二百分比TPSPercent_LkupTbl吹牛罗格苏特mdlfile_mldatx;sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;