Simscape 热模型的参数扫描
此示例展示了如何测试物理系统,以及如何使用测试框架、测试序列和测试管理器优化参数。该示例使用投影仪的系统级热模型,其中包括 Simscape®热模块。
设置变量
设置示例所需的变量。
Model = 'sltestProjectorFanSpeedExample'; Harness = 'FanSpeedTestHarness'; TestSuite = 'sltestProjectorFanSpeedTestSuite.mldatx'; open_system(Model);
测试计划和系统需求
此测试演示了扫描几种风扇速度来确定最佳值。简而言之,最佳风扇速度可实现最快的响应,而不会损坏系统。具体来说,最佳风扇转速:
防止系统超过指定的最高温度。
最大限度地缩短系统达到灯发出可见光的温度的时间。
文件 sltestProjectorFanSpeedExampleRequirements.slreqx
记录了这些详细需求和测试程序。
测试特定的模型项驻留在测试框架中,使主模型没有不必要的模块,适合代码生成,并且适合与其他模型集成。
打开测试文件
打开测试管理器来查看控制参数扫描的测试套件。从模型中,打开 Simulink Test
应用程序并点击 Simulink Test Manager
。打开 TestSuite
引用的文件。您还可以输入
open(TestSuite)
测试描述
该测试研究了系统的瞬态和稳态热特性。测试序列将系统初始化为环境温度,然后为投影仪灯供电。当系统达到稳定状态时,灯就会关闭。该测试使用 Test Sequence 模块在测试框架中建模。运行以下命令打开测试框架:
sltest.harness.open(Model,Harness);
需求链接
测试套件包含需求文档的链接。您可以通过在测试浏览器中打开测试套件并单击需求部分中的链接来查看需求链接。
测试序列
双击 Test Sequence 模块以打开测试序列编辑器。
T0out
和 T0in
信号存储每个测试步骤的初始投影仪温度。
PowerOnTime
存储灯信号激活时的仿真时间。这有助于后续的数据分析。
转移条件检测稳态条件。在稳定状态下,系统温度变化是每一步当前投影仪温度和初始投影仪温度之间差异的一小部分 (Threshold)
。此条件必须维持最短时间 DurationLimit
,在本例中为 10 秒。
您可以将测试序列模块中的步骤与需求文档 sltestProjectorFanSpeedExampleRequirements.slreqx
中预填充的需求进行链接。
参数扫描描述
预加载回调包含为 Fan Speed Parametric Study
测试套件下的每个测试用例设置风扇速度的命令。参数覆盖包含根据风扇速度重新计算风扇气流的命令,然后覆盖测试框架参数。您可以在每个测试用例的回调和参数覆盖部分中查看这些命令。
运行测试
在测试浏览器中,突出显示风扇速度参数研究,然后点击运行。当测试套件仿真完成后,打开每个测试用例的结果并选择 ProjectorTemp
。在测试管理器中查看结果。
导出数据
使用测试管理器,您可以导出数据进行后期处理。在测试管理器的结果和工件窗格中,右键单击每个测试用例的模拟输出,然后选择导出。
此示例包括四个 MAT 文件中的导出数据,位于示例文件夹中:
ProjectorTempFanSpeed800.mat ProjectorTempFanSpeed1300.mat ProjectorTempFanSpeed1800.mat ProjectorTempFanSpeed2300.mat
调查响应时间和投影机最高温度
由于测试序列转移在系统达到稳定状态时执行,并且风扇速度改变系统响应,因此对于四种测试用例,灯会在不同的仿真时间激活。通过同时绘制每个响应和灯激活情况来简化图形结果分析。
提取灯激活响应数据,并绘制四种风扇速度的系统响应。根据以下准则评估结果:
温度不得超过 65 摄氏度。
灯在 45 摄氏度以上发出可见光。尽量缩短达到此温度的时间。
加载结果。在命令行中输入
DataAt800 = load('ProjectorTempFanSpeed800.mat'); DataAt1300 = load('ProjectorTempFanSpeed1300.mat'); DataAt1800 = load('ProjectorTempFanSpeed1800.mat'); DataAt2300 = load('ProjectorTempFanSpeed2300.mat');
脚本 ArrangeProjectorData.m
整理每次运行输出的温度和功率数据。
ArrangeProjectorData
脚本 PlotProjectorThermalResponse.m
绘制了灯泡启动后投影仪针对每个风扇速度的热响应。
PlotProjectorThermalResponse
结果解释
结果表明,虽然最高风扇转速可产生最低的最高温度,但达到灯泡激活温度所需的时间也最长。最低的风扇速度可使灯泡激活速度最快,但系统温度却大大超过了规定的最高温度。
风扇速度 = 1300 可使系统保持在最高温度规格以下,并且系统达到灯泡激活温度的速度比最高风扇速度快约 3 秒。
close_system(Model,0);
clear Model; clear Harness; clear TestSuite; close(figure(1));
另请参阅
Simulink 测试管理器 | Test Sequence