测试工具为测试设计更改提供了一个隔离的环境。您可以将更改从测试工具同步到主模型,或者从主模型同步到测试工具。同步包括以下模型元素:
被测组件
块的参数
(可选)模型或测试线束配置集
模型工作区参数是可选的
您不需要同步基本工作区数据,因为它对测试工具和主模型都可用。子系统模型测试工具总是与它们的底层模型同步。
创建测试线束时,可以指定测试线束中的更改与主模型同步的时间。同步可以自动进行,也可以手动进行。如果计划在测试线束中尝试不同的组件设计,请使用手动同步以避免覆盖主模型中的组件。具体取决于组件的类型在线束的测试下,您可以从多个同步选项中进行选择,这些选项是以下操作的组合:
打开吊带同步-当测试线束打开时,测试线束组件、配置集和参数从模型同步到测试线束。此选项适用于:
方框图
子系统,包括Stateflow®图表和MATLAB功能块
为子系统参考块,仅同步块参数,而不同步块内容。
模型阻碍
功能阻碍
的打开吊带同步选项不适用于:
SIL/PIL线束
子系统模型线束
同步装具打开和关闭—打开测试具时,测试具组件、配置集和参数从模型同步到测试具。当测试装置关闭时,相同的元素从装置同步到模型。这个选项适用于:
方框图
子系统包括状态流程图和MATLAB函数块
为子系统参考块,仅同步块参数,而不同步块内容。
模型阻碍
功能阻碍
的同步装具打开和关闭选项不适用于:
方框图
SIL/PIL线束
子系统模型线束
仅在推送和重建期间同步-单击时同步推动变革或重新利用.推动变革同步从测试线束到模型的更改。重新利用同步从模型到测试线束的更改。此选项适用于:
子系统包括状态流程图和MATLAB函数块
模型阻碍
功能阻碍
子系统模型,它总是只在推送和重建时进行同步。
的仅在推送和重建期间同步选项不适用于:
方框图
SIL/PIL线束
组件库
仅在重建期间进行同步-仅在单击时同步重新利用.重新利用同步从模型到测试线束的更改。此选项适用于:
方框图
子系统包括状态流程图和MATLAB函数块
模型阻碍
功能阻碍
SIL/PIL验证模式组件
的仅在重建期间进行同步选项不适用于:
组件库
如果使用命令行,请设置同步模式
财产sltest.harness.create
.
请注意
如果在SIL或PIL模式下为模型block,测试线束中的block模式分别更改为SIL或PIL。当您关闭测试装置时,此模式不会更新到主模型。
保持SIL或PIL块的保真度
如果在测试带中使用软件中的循环(SIL)或处理器循环(PIL)块,请考虑在每次打开时将测试线束设置为重建。定期重建测试线束,将SIL/PIL块引用的生成代码作为主模型的反映。
修改测试利用同步模式。
关闭测试装置。
在主模型中,单击块或Simulink上的脊甲标识万博1manbetx®帆布
在测试线束缩略图预览中,单击利用操作图标并选择属性.
改变同步模式在属性对话框中。
如果使用命令行,请设置同步模式
财产sltest.harness.set
.
要在测试线束和主模型之间同步配置集和工作空间参数,请选择在重建时更新配置参数和模型工作区数据在“线束创建”或“线束特性”对话框中。
如果您的测试工具没有同步更改,您可以检查测试工具和主模型之间的非同步组件差异。如果:
您正在测试线束中进行暂定设计更改,并希望检查主模型零部件是否未被覆盖。
您已对主模型进行了设计更改,并希望检查必须重建哪些测试线束。
从测试线束窗口中,选择检查线束检查差异。如果组件不同,您可以将更改从测试工具推到主模型,或者从主模型重新构建测试工具。也看到了sltest.线束.检查
函数。
在检查不同步差异时考虑这些条件:
sltest.线束.检查
在测试线束与主模型的比较中,只包括框图、框图参数和掩模参数。端口选项、编译属性、隐藏参数和模型区块数据测井参数不包括在比较中。
如果组件包含Simscape™解算器配置块,检查结果总是显示出测试线束和主模型之间的组件不同。的解算器配置块受组件外部Simscape块的影响,因此测试线束和主模型之间始终不同。
重建测试线束以反映主模型的最新状态。在测试线束中,选择重新利用. 除了更新被测部件和块参数外,此操作还会重建线束转换子系统。如果测试线束没有转换子系统,则会添加这些子系统。
重建会断开信号线。例如,如果在主模型中更改了信号名称,则可以断开测试线束中的信号线。如果线路断开,将信号线重新连接到被测部件或转换子系统。如果您指定使用现有生成的代码为SIL/PIL子系统使用sltest.harness.create
或sltest.harness.set
,线束重建将使用该代码,而不是重新生成该代码。
有关详细信息,请参阅创建测试线束并选择特性和sltest.harness.rebuild
.
在测试线束中更改系统后,可以将更改推送到主模型。在测试线束中,选择推动变革。此过程将覆盖主模型中的组件。
此示例显示更新测试线束中的参数、检查测试线束与主模型之间的同步以及将参数更改从测试线束推送到主模型的基本工作流。
此示例还包括编程步骤。
打开模型sltestCar
该模型包括变速器换档控制器算法和简化的动力传动系统和车辆动力学。
开放式系统(“sltestCar”);
更新测试束中的掩码参数
1.打开测试工具。点击徽章上的移位逻辑
图表,并选择移位逻辑输入
测试工具。只有当您推入主模型或从主模型重新构建时,测试工具才会被设置为同步。
要从命令行打开测试工具,请使用:
sltest.harness.open(“sltestCar/shift\u逻辑”,“换档逻辑输入”);
2.双击移位逻辑
子系统。为换档前的延迟(勾选),输入4
点击好啊.
要更改命令行中的值,请使用:
shiftLogicMask = 万博1manbetxSimulink.Mask.get (“移位逻辑输入或移位逻辑”); maskParamValue=shiftLogicMask.Parameters.Value;shiftLogicMask.Parameters.Value=“4”;%设置为新参数值
检查测试线束和主模型之间的同步
在命令行中,运行sltest.线束.检查
函数。
[比较,详细信息]=sltest.harness.check(“sltestCar/shift\u逻辑”,...“换档逻辑输入”);
结果表明,由于更新了遮罩参数,测试线束中被测部件不同。
比较
比较=逻辑0
细节
1个原因:“被利用的组件的内容和主模型中的组件的内容是相同的,但它们在块或掩码参数方面是不同的。”
将参数更新到主模型
1.在测试中,在利用选项卡上,单击推动变革.
2.在主模型中,双击shift_逻辑子系统。参数值将被更新。
要使用命令行推送更改,请使用:
sltest.harness.push(“sltestCar/shift\u逻辑”,“换档逻辑输入”)
重新检查测试线束和主模型之间的同步
在命令行上,更新主模型和测试线束。然后,运行sltest.线束.检查
函数。
set_param (“sltestCar”,“模拟命令”,“更新”);set_param (“换档逻辑输入”,“模拟命令”,“更新”);
[比较,详细信息]=sltest.harness.check(“sltestCar/shift\u逻辑”,...“换档逻辑输入”);
结果表明,该测试装置与主模型的测试组件是相同的。
比较
比较=逻辑1
细节
详细信息=带字段的结构:总体:1内容:1原因:“线束组件和主模型中组件的校验和相同。”
封闭系统(“sltestCar”,0);
sltest.线束.检查
|sltest.harness.push
|sltest.harness.rebuild