主要内容

投影仪控制器测试使用验证和实时测试

在目标计算机上执行实时测试,并验证仿真和实时结果。

本例演示了在目标计算机上使用模型模拟和实时执行测试投影仪控制系统。测试通过使用测试序列场景验证控制器,测试序列场景执行顶级控制器模型。控制器采用按钮输入和温度传感器输入,输出控制风扇、风扇转速和投影灯的信号。

本例使用Simulink®Real-万博1manbetxTime™。在开始之前,请回顾Simulink real万博1manbetx系统需求

为示例设置测试文件、模型和内部管理名称。

测试文件=“sltestProjectorCtrlTests.mldatx”;模型=“sltestProjectorController”;testharness =“Test_Scenarios”

打开模型。

open_system(模型)

查看测试具

打开test_scenario内部测试工具。

sltest.harness.open(模型、testharness);

测试工具使用test Sequence块来定义测试场景,使用test Assessment块来验证结果。

在测试工具中,打开test Sequence块以查看在选项卡中定义的场景。

test_seq_sceanarios.png

打开Test Assessment块以查看验证语句。

test_assessment.png

打开测试文件,配置实时目标计算机

在测试管理器中输入以下命令打开测试文件:

打开(测试文件)

测试文件包含一个带有两个测试用例的测试套件,每个测试用例测试四个测试场景。的Simulation_Tests测试用例模拟模型,而HIL_Tests测试用例在实时目标计算机上运行测试。

在运行示例之前:

  1. 使用Simulink实时资源管理器配置目标计算机。万博1manbetx

  2. 连接到目标计算机。

  3. 如果目标计算机不是默认目标,请更新目标计算机HIL_Tests测试用例的测试中的系统部分。

有关实时配置的更多信息,请参见系统配置(万博1manbetx实时仿真软件)

运行模型模拟测试

运行Simulation_Tests测试用例。模拟完成后,单击结果和工件窗格中的测试管理器。

扩大Simulation_Tests结果和每个场景看的一样验证语句结果。的验证语句演示失败、通过和未测试的结果:

  • 在所有情况下,除了Basic_Overheat,控制器不工作在高温或过热模式,因此verify_overheat而且verify_high_temp相关的声明验证语句是未经测试的。

  • 在所有场景下,控制器都通过了灯亮风扇也亮的测试:verify_lamp_implies_fan

  • Overheat_Shutoff场景:控制器通过温度超过限制时按下on_off按钮系统不开机测试:verify_sc4_on.对于其他情况,verify_sc4_on是未经检验的。

  • 只有在Overheat_Shutoff场景:控制器未通过温度超过限制值时按下on_off按钮系统自动关机测试:verify_sc4_off.解决此故障需要修改时断时续的检查主模型中的子系统。

有关更多信息,请参见使用验证语句评估模型仿真

Overheat_Shutoff场景,选择verify_sc4_off,Verify_lamp_implies_fan和verify_overheat可视化的结果验证语句的结果。

verify_results.png

执行实时测试并检查结果

实时测试用例(HIL_Tests)验证实时执行结果是否与模型仿真结果相匹配验证语句通过。

在测试管理器中,运行实时测试用例(HIL_Tests)

Simulation_Tests和HIL_Tests的结果显示匹配的通过、失败和未测试状态。

Overheat_Shutoff场景,选择verify_sc4_off,Verify_lamp_implies_fan和verify_overheat可视化的结果验证语句的结果。的验证语句节显示了与模型模拟相似的结果。

hil.png

Close_system (model,0) sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close清晰测试文件testHarness模型