主要内容

测试AUTOSAR合成

在AUTOSAR组合模型上运行背靠背测试。

这个示例演示了AUTOSAR组合模型的测试工具特性和背靠背测试工作流。切换到有写权限的目录。

本例使用了汽车油门位置控制器的模型。它紧密地基于一个运输AUTOSAR块集示例。详细信息请参见将AUTOSAR合成导入Simulink万博1manbetx(AUTOSAR Blockset)

打开AUTOSAR合成模型

AUTOSAR组合模型包含一个相互连接的模型块网络,每个模型块代表一个原子AUTOSAR软件组件(ASWC)。油门位置控制器组合由AUTOSAR创作工具(AAT)创建,并使用描述该组合的ARXML文件导入到Simulink中。万博1manbetx

组合模型包含六个组件模型,一个用于组合中的每个原子软件组件。万博1manbetxSimulink输入和输出端口代表AUTOSAR端口,信号线代表AUTOSAR组件连接器。

mdl =“sltestThrottlePositionControlCompositionExample.slx”;open_system (mdl);

开放式测试线束

模型的测试工具已经生成,并且可以使用编辑器画布右下角的透视控件打开。此外,使用:

sltest.harness.open (“sltestThrottlePositionControlCompositionExample”...“BasicSchedulerTest”);

一个Test Sequence块被用作源。被测组件需要加速踏板位置传感器输入APP_HwIO_Value,在Test Sequence块中使用简单的三步序列建模:

初始化步骤将输入设置为标称值运行Step模拟950毫秒的稳定加速命令。中的加速命令将重置为标称值终止的一步。测试组件需要两个额外的输入,捕捉主要和次要油门位置传感器读数。这些输入使用外部时间序列输入进行建模,并直接通过测试序列块进行输入,无需修改。当某些刺激输入可以建模,而其他刺激输入只能作为外部捕获的数据时,这种建模风格是有用的。

输出功能测试线束

被测试的组件是AUTOSAR组合模型,它使用导出函数建模风格。当您为导出函数模型创建测试集时,该集将包含一个配置为调用每个根级Simulink Function块的test Sequence块,并向模型中的每个函数调用子系统发送一个触发事件。万博1manbetx生成的Test Sequence块可以用作建模调度程序的方便起点。

在本例中,由于输入信号数据也是由Test Sequence源块生成的,因此发送触发事件的代码已合并到单个Test Sequence块中,并在刺激波形生成后嵌入到每个步骤中。触发器事件的调用顺序是使用来自组合模型的编译信息计算的。

  1. 发送(TPS_Primary_Run_0005)

  2. 发送(TPS_Secondary_Run_0005)

  3. 发送(Monitor_Run_0005)

  4. 发送(APPSnsr_Run_0005)

  5. 发送(Controller_Run_0005)

  6. 发送(Actuator_Run_0005)

模拟模型以查看测试组件的油门命令输出。

sim卡(“BasicSchedulerTest”);open_system (“BasicSchedulerTest /范围”);

连续测试

测试管理器可用于锁定仿真行为,并在软件在环(SIL)模式下验证等效性。打开测试文件并运行等效性测试。

close_system (mdl 0);file_mldatx =“sltestThrottlePositionControlTests.mldatx”;打开(file_mldatx);sltest.testmanager.run;

测试用例验证了油门位置控制器ASWC在%组合模型中的开环行为。等价测试用例的第一部分在普通模拟模式下运行包含组合的测试集。测试的第二部分使用Post-Load回调开关油门位置控制器ASWC到软件在环(SIL)模式顶级模特代码接口。仿真结果表明,两种方法的行为是等价的。

清理

清晰的sltestThrottlePositionControlDataHBridgeCmd_LkupTbl...SensorSelectionSetpointPercent_LkupTblTPSPrimaryPercent_LkupTbl...TPSSecondaryPercent_LkupTblTPSPercent_LkupTbl吹捧logsoutmdlfile_mldatx;sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;