在正常和SIL仿真模式下验证模型等价性。
这个例子展示了如何使用测试工具和测试管理器来测试两个模型之间的等价性。一个模型在普通模式下运行,而从子系统创建的测试工具模型在软件在环(SIL)模式下运行。
测试管理器中的等效测试用例比较两个仿真之间的信号输出以确定等效性。在本例中,主模型和测试工具的信号用于日志记录。记录的信号被用作正常模式和SIL模式之间的等价标准。
打开sltestNormalSILEquivalenceExample
模型。
mdl =“sltestNormalSILEquivalenceExample”;harnessOwner =“sltestNormalSILEquivalenceExample /控制器”;open_system (mdl);
在模型中打开信号记录。
set_param (mdl“SignalLogging”,“上”,“SignalLoggingName”,“SIL_signals”);
标记控制器子系统的输出和输入信号以进行日志记录。
ph_controller_in = get_param (“sltestNormalSILEquivalenceExample /控制器/ In1”,“PortHandles”);ph_controller_out = get_param (“sltestNormalSILEquivalenceExample /控制器”,“PortHandles”);set_param (ph_controller_in.Outport (1),“数据采集”,“上”);set_param (ph_controller_out.Outport (1),“数据采集”,“上”);清晰的ph_controller_inph_controller_out;
模拟模型并输出记录的信号。信号数据用作测试线束的输入。
= sim (mdl);
获取记录的信号数据。
out_data =重燃(“SIL_signals”);control_in1 = out_data.get (2);
创建该工具的命令将生成代码。切换到有写权限的目录。
origDir = pwd;目录名= tempname;mkdir(目录名);cd(目录名);清理= onCleanup (@ () cd (origDir));sltest.harness.create (harnessOwner“名字”,“SIL_Harness”,“VerificationMode”,“银”);
### #成功完成:Controller ### # Creating SIL block…建筑与gcc。墨西哥人成功完成。模型建立目标:总结构建模型重建行动的理由 =========================================================================================== 控制器代码生成和编译代码生成信息文件不存在。1个模型建立(0个模型已经更新)建立时间:0小时0米41.253秒
打开测试工具。
sltest.harness.open (harnessOwner“SIL_Harness”);
打开测试线束上的信号记录。
set_param (“SIL_Harness”,“SignalLogging”,“上”,“SignalLoggingName”,“SIL_signals”);
在等效测试用例中,将测试线束外接标记为信号记录使用。
ph_harness_out = get_param (“SIL_Harness /控制器”,“PortHandles”);set_param (ph_harness_out.Outport (1),“数据采集”,“上”);清晰的ph_harness_out;
将来自模拟的输入数据分配给测试工具。
set_param (“SIL_Harness”,“LoadExternalInput”,“上”,...“ExternalInput”,“control_in1。值的);
通过选择打开测试管理器>测试经理分析或命令
sltestmgr
创建一个等价测试用例。
从测试管理器工具条中,单击新箭头并选择测试文件>空白测试文件.
指定测试文件为testHarnessEquivalence.mldatx
.测试管理员默认使用新的测试套件和基线测试用例创建测试文件。
在测试浏览器窗格中,选择基线测试用例,新的测试用例1
,然后单击删除.
选择新的测试套件1
.
从工具条中,单击新箭头并选择等效性测试.
在测试浏览器窗格中,右键单击新的等价测试用例并选择重命名
.命名新的等价测试用例SIL等价测试
.
将测试工具分配给等价测试用例模拟1.
扩大模拟1和被测系统.
单击使用当前的模型按钮来分配sltestNormalSILEquivalenceExample
来模型.
扩大测试工具.
单击刷新按钮获取可用测试工具的最新列表。
从中选择SIL_Harness利用菜单使用作为被测系统.
分配sltestNormalSILEquivalenceExample
模型模拟2.
崩溃模拟1.
扩大模拟2和被测系统.
单击使用当前的模型按钮来分配sltestNormalSILEquivalenceExample
来模型.
崩溃模拟2.
捕获等价条件。下等价的标准,点击捕获在其中运行测试工具模拟1并识别等价信号。
选择SIL等价测试
在测试浏览器窗格中,单击运行在将来发布。测试管理器切换到结果和工件窗格并运行等价测试用例。测试用例通过,因为模型和测试工具之间的信号比较匹配。展开结果集并选择控制器:1
选择按钮,绘制信号比较。
close_system (mdl 0);清晰的mdlharnessOwner清理control_in1origDir出out_data;