测试线束提供孤立的环境以测试设计变化。您可以将从测试线束与主模型的更改同步,或者从主模型到测试线束。同步包括这些模型元素:
正在测试的组件
块参数
可选地,模型或测试线束配置集
可选地,模型工作区参数
您不需要同步基础工作区数据,因为它可以使用测试线束和主模型。子系统模型测试线束总是与其底层模型同步。
在创建测试工具时,您指定测试工具中的更改何时与主模型同步。同步可以自动进行,也可以手动进行。如果您计划在测试工具中尝试不同的组件设计,请使用手动同步以避免覆盖主模型中的组件。根据您的工具中测试的组件类型,您可以从几个同步选项中进行选择,这些选项是以下操作的组合:
在线接头同步- 当测试线束打开时,测试线束组件,配置集和参数与模型同步到测试线束。此选项可用于:
方框图
子系统,包括eventsflow®图表和MATLAB功能块
为了子系统参考块,只同步块参数,而不同步块内容。
模型参考块
S函数块
这在线接头同步选项不可用:
SIL / PIL束
子系统模型线束
同步在接头和关闭时- 当测试线束打开时,测试线束组件,配置集和参数与模型同步到测试线束。当测试线束关闭时,相同的元件与模型的线束同步。此选项可用于:
方框图
子系统,包括StateFlow Charts和Matlab功能块
为了子系统参考块,只同步块参数,而不同步块内容。
模型参考块
S函数块
子系统模型线束
这同步在接头和关闭时选项不可用:
方框图
SIL / PIL束
子系统模型线束
仅在推动和重建期间同步—单击时同步推动变化或重建线束.推动变化同步从测试线束到模型的更改。重建线束将模型的更改同步到测试线束。此选项可用于:
子系统,包括StateFlow Charts和Matlab功能块
模型参考块
S函数块
子系统模型,始终仅在推送和重建时同步。
这仅在推动和重建期间同步选项不可用:
方框图
SIL / PIL束
图书馆中的组件
仅在重建期间同步—只在单击时同步重建线束.重建线束将模型的更改同步到测试线束。此选项可用于:
方框图
子系统,包括StateFlow Charts和Matlab功能块
模型参考块
S函数块
SIL / PIL验证模式组件
这仅在重建期间同步选项不可用:
图书馆中的组件
如果使用命令行,请设置同步窗口
财产与sltest.harness.Create.
.
笔记
如果您在SIL或PIL模式下创建测试线束模型块,测试线束中的块模式分别变为SIL或PIL。关闭测试线束时,此模式不会更新到主模型。
保持SIL或PIL区块的保真度
如果在测试线束中使用软件循环(SIL)或循环(PIL)块(PIL)块,请考虑在每次打开时设置测试线束以重建。定期重建测试线束使SIL / Pil块引用的生成的代码作为主模型的反映。
要更改测试线束同步模式:
关闭测试线束。
在主模型中,单击块或Simulink上的线束徽章金宝app®帆布。
在Test Harness缩略图预览中,单击线束运营图标和选择特性.
改变同步模式在“属性”对话框中。
如果使用命令行,请设置同步窗口
财产与sltest.harness.set.
.
要在测试线束和主模型之间同步配置集和工作区参数,请选择更新配置参数和重建时的模型工作区数据在线束创建或Harness属性对话框中。
如果您的测试线束没有同步更改,则可以检查测试线束和主模型之间的未同步组件差异。检查未同步差异是否有用,如果:
您正在进行测试线束中的初步设计更改,并希望检查主要模型组件是否未被覆盖。
您已经对主模型进行了设计更改,并希望检查必须重建哪些测试线束。
从测试线束窗口,选择检查安全带检查差异。如果组件的不同,则可以将测试线束的变化推向主模型,或从主模型重建测试线束。也看到了sltest.harness.check
功能。
在检查非同步差异时,请考虑以下条件:
sltest.harness.check
在测试线束和主模型之间的比较中仅包括框图,块参数和掩码参数。比较中不包括端口选项,编译的属性,隐藏参数和模型参考数据记录参数。
如果组件包含SIMSCAPE™求解器配置块,检查结果始终表明该组件在测试线束和主模型之间不同。这求解器配置块受组件外部的Simscapt块的影响,因此在测试线束和主模型之间总是不同。
重建测试线束以反映主要模型的最新状态。在测试线束中,选择重建线束.除了更新正在测试的组件和块参数之外,此操作还重建线束转换子系统。如果测试线束没有转换子系统,则重建会增加它们。
重建可以断开信号线路连接。例如,如果在主模型中更改的信号名称,则可以断开测试线束中的信号线。如果线路断开连接,请将信号线重新连接到测试或转换子系统的组件。如果指定用于使用SIL / Pil子系统的现有生成代码使用sltest.harness.Create.
或sltest.harness.set.
,则脊甲重建使用该代码,而不是重新生成它。
有关更多信息,请参阅创建测试线束并选择属性和sltest.harness.rebuild
.
在更改系统在测试线束后,您可以将更改推向主模型。在测试线束中,选择推动变化.此过程覆盖主模型中的组件。
此示例显示了在测试线束中更新参数的基本工作流程,检查测试线束和主模型之间的同步,并将参数变为从测试线束推动到主模型。
此示例还包括程序化步骤。
打开模型sltestCar
.该模型包括传输移位控制器算法和简化动力总成和车辆动态。
Open_System('sltestcar');
更新测试线束中的掩码参数
1.打开测试线束。点击徽章shift_logic.
图表并选择ShiftLogic_InportHarness
测试线束。当您从主模型推入或重建时,测试线束仅设置为同步。
sltest.harness.open('sltestcar / shift_logic'那“ShiftLogic_InportHarness”);
2.双击shift_logic.
子系统。为了齿轮变化前的延迟(勾选), 进入4.
.点击好吧.
shiftlogicmask = 金宝appsimulink.mask.get('shiftlogic_inportharness / shift_logic');maskparamvalue = shiftlogicmask.parameters.Value;shiftlogicmask.parameters.Value =.'4';%设置为新参数值
检查测试线束和主模型之间的同步
在命令行上,运行sltest.harness.check
功能。
[比较,详情] = sltest.harness.check('sltestcar / shift_logic'那......“ShiftLogic_InportHarness”);
结果表明,由于更新的掩模参数,测试线束的待测部件不同。
比较
比较=逻辑0
细节
详细信息=带字段的结构:总体:0目录:1原因:'主模型中的利用组件的内容和组件的内容相同,但它们在块或掩码参数方面不同。
更新主模型的参数
1.在测试线束中,打开测试管理器。在这一点应用选项卡,在模型验证、验证和测试下,单击金宝appSimulink测试.然后,在测试选项卡,单击金宝appSimulink测试经理.
2.在主模型中,双击Shift_Logic子系统。参数值已更新。
sltest.harness.push ('sltestcar / shift_logic'那“ShiftLogic_InportHarness”)
在测试线束和主模型之间重新检查同步
在命令行上,更新主模型和测试线束。然后,运行sltest.harness.check
功能。
set_param('sltestcar'那'simulationcommand'那'更新');set_param(“ShiftLogic_InportHarness”那'simulationcommand'那'更新');
[比较,详情] = sltest.harness.check('sltestcar / shift_logic'那......“ShiftLogic_InportHarness”);
结果表明,在测试线束和主模型之间的测试部件是相同的。
比较
比较=逻辑1
细节
详细信息=带字段的结构:总体:1内容:1原因:'主模型中的利用组件和组件的校验和相同。'
close_system('sltestcar', 0);
sltest.harness.check
|sltest.harness.push.
|sltest.harness.rebuild