创建测试装置并选择属性
测试工具是可用于将测试与设计模型隔离的单独工作区。您可以为整个模型或模型中的一个或多个组件创建测试工具。
为顶级模型创建一个测试工具
要为顶级模型(包括子系统和模型参考模型)创建一个测试工具:
右键单击Simulink金宝app®建模并点击测试工具>为模型创建打开“创建测试工具”对话框。
选中需要的选项后,单击好吧创建测试工具。
为模型组件创建测试工具
为一个或多个模型组件创建一个测试工具:
在应用程序页,在模型验证、验证和测试下,单击金宝app仿真软件测试.
在测试选项卡上,单击金宝appSimulink测试管理器打开测试管理器。
在test Manager中创建一个新的测试文件。
点击新>模型组件测试,这将打开“为模型组件创建测试”工作流向导。
在向导的第一页上,指定模型并选择一个或多个组件。如果选择多个组件,向导将为每个组件创建一个测试套件。
通过完成向导页面来创建一个或多个测试工具。
请注意
为模型组件创建测试工作流向导公开了测试工具选项的子集。如果您的测试套件不需要使用非默认选项,请使用向导快速创建套件。如果您需要更改其他选项,请为您使用向导创建的测试管理器使用测试管理器。
有关使用向导及其设置的属性的信息,请参见为模型或组件生成测试和测试工具.
预览和打开测试工具
当一个模型组件有一个测试装置时,一个标记出现在块的右下方。要查看测试装置,请单击徽章。要打开测试装备,单击一个贴图。
要查看模型框图的测试工具,单击模型画布中的拉出图标。要打开测试装备,单击一个贴图。
更改测试线束属性
要更改打开的测试工具的属性,请单击徽章在测试线束框图中,单击测试线束性能打开线束属性对话框。
要从主模型更改测试控制的属性,单击利用操作测试工具预览中的图标。
选择测试线束属性的注意事项
在选择测试线束属性之前,请考虑以下因素:
您想要为您的测试用例输入使用什么数据源
您希望如何查看或存储测试输出
是否要将参数和工作区从主模型复制到工具
是否计划编辑测试中的组件
您希望如何在测试装置和模型之间同步更改
除了源和接收器之外,您可以在以后使用集束属性对话框更改集束属性。为了在集束创建之后更改源和集束,需要手动从测试集束中移除块,并用新的源和集束替换它们。
请注意
以下部分描述了“创建测试套件”对话框中的测试套件属性。有关“为模型组件创建测试”向导中测试工具属性的信息,请参见为模型或组件生成测试和测试工具.
测试线束属性
利用名称
测试工具必须使用有效的MATLAB®文件名。
外部保存测试线束
这个选项控制模型如何存储测试工具。模型在内部或外部存储所有的测试工具。如果一个模型已经有测试束,这个项目将束存储类型声明为安全带保存<内部|外部>.
当被清除时,模型将测试控制保存为模型SLX文件的一部分。
当选择时,模型将测试控制保存在单独的SLX文件中到当前工作文件夹中,并将控制信息XML文件添加到模型文件夹中。线束信息文件可以位于MATLAB路径上的任何位置。
看到管理测试线束.
选择功能接口
选择与可重用库子系统测试套件相关联的函数接口。只有当被测试的组件是具有函数接口的可重用库子系统时,才会出现此选项。
源和汇
在“创建测试工具”对话框中,下面源和汇,从相应的菜单中选择源和接收。菜单提供了常见的源和汇。
您可以使用Simulink Sources或sink库中的源和接收器块。金宝app选择自定义
源或接收器,并输入块的路径。例如:
金宝app模型/资源/正弦波
金宝app模型/水槽/终结者
自定义源和接收器用每个端口一个块构建测试集。
创建标量输入
选择此属性时,测试工具将为多维信号创建标量输入。单个标量输入被重新塑造,以匹配输入信号的维度到被测组件。此选项适用于带有的测试线束轮廓尺寸,常数,信号生成器,从工作空间,或从文件源块。此选项不适用于子系统模型。
为函数调用和速率添加调度器/使用生成函数调用信号
这个选项的标题取决于被测组件是子系统还是模型。使用调度程序来控制块或子系统执行的次数和顺序。要在测试工具中包含调度器块,请从下拉列表中选择一个块。你可以使用测试序列块,MATLAB函数块,或状态流®图表作为调度程序。
为函数调用和速率添加调度器:对于一个模型,您可以使用块来调用函数,并为模型输入和输出设置采样时间。
使用生成函数调用信号:对于子系统,可以使用block调用子系统中的函数。
有关调度器的信息,请参见率转换(嵌入式编码),速率转换和异步块(嵌入式编码),或利用状态流调度Si金宝appmulink算法(Stateflow)
启用初始化、重置和终止端口
选择此选项会暴露测试组件中的初始化、终止或重置函数调用端口,并将调度器块连接到这些端口。
为顶级模型创建测试套件并为为函数调用和速率添加调度器选择。
在运行测试工具时,如果遇到关于在初始化、重置或终止端口执行函数调用的错误,请使用这些命令隐藏并断开端口。Subsystem_name
被测试的系统是否在测试束中。
set_param (< Subsystem_name >,“ShowModelInitializePort”,“关闭”);set_param (< Subsystem_name >,“ShowModelResetPorts”,“关闭”);set_param (< Subsystem_name >,“ShowModelTerminatePort”,“关闭”);
增加独立评估组
选择添加单独的评估块要包含一个单独的测试评估块在测试线束中。
一个测试评估Block是一个单独的测试序列配置了通常用于验证被测组件的属性的块。有关更多信息,请参见评估模拟和比较输出数据而且使用验证语句评估模型仿真.
日志输出信号
选择日志输出信号记录被测组件的所有输出信号。只有在创建新装备时才能使用此选项。在测试用例执行期间记录信号并返回测试结果。如果输出信号没有名称或传播名称,则在集束中使用该格式为其分配名称<测试名称下的组件>:<输出端口号>
.要从记录中删除信号,请打开线束,右键单击信号,然后选择停止记录所选信号.
创建后的开放式挽具
清晰的创建后的开放式挽具创建测试工具而不打开它。这对于连续创建多个测试工具非常有用。
在不编译模型的情况下进行创建
如果您正在创建一个还不能编译的设计原型,那么在不编译模型的情况下创建一个测试工具是有用的。当你在没有编译主模型的情况下创建一个测试工具时:
参数不会复制到测试工具工作区。
主要模型配置没有复制到测试工具中。
测试套件不包含转换子系统。
您可能需要向测试线束添加诸如信号转换块之类的块。当您准备好编译主模型时,您可以重新构建这个工具。有关更多信息,请参见同步测试装置和模型之间的变更.
子系统模型的测试工具是在不编译模型的情况下创建的。
验证模式
测试集束验证模式决定了在测试集束中生成的块的类型。
正常的
: Si金宝appmulink框图。Software-in-the-Loop(银)
:测试中的组件引用生成的代码,作为循环中的软件运行。需要嵌入式编码器®.Processor-in-the-Loop(公益诉讼)
:被测试组件引用为特定处理器指令集生成代码,作为循环中的处理器操作。需要嵌入式编码器。
子系统模型测试工具不支持SIL或PIL验证。金宝app
请注意
保持测试套件中的SIL或PIL代码与最新的组件设计同步。如果您选择SIL或PIL验证模式而不选择在开放状态下重建挽具,您的SIL或PIL块代码可能无法反映对主要模型设计的最新更新。要为测试工具中的SIL或PIL块重新生成代码,请选择重新利用>更新线束配置设置和模型工作区.
使用生成的代码创建SIL/PIL块
如果为SIL/PIL块生成的代码已经存在,则选择此属性以使用现有代码,而不是重新生成代码。此选项仅对子系统可用。它不适用于子系统模型测试。
建立文件夹
指定包含为SIL/PIL块生成的代码的文件夹。此选项仅当您选择时可用使用生成的代码创建SIL/PIL块.
创建后回调方法
您可以使用一个或多个创建后回调自定义您的测试工具。创建后回调是在创建后运行的函数。例如,您的回调可以设置信号记录、添加自定义块或更改线束模拟时间。如果指定了多个回调,请使用逗号分隔它们。回调函数按照它们列出的顺序运行。有关更多信息,请参见定制测试带.此选项不适用于子系统模型测试。
在开放状态下重建挽具
当您选择此属性时,每次打开该属性时,测试工具都会重新构建。如果指定为SIL/PIL子系统使用已生成的代码sltest.harness.create
或sltest.harness.set
,挽具重建使用该代码,而不是重新生成它。有关重建过程的详细信息,请参见同步测试装置和模型之间的变更.此选项不适用于子系统模型测试。
在重建时更新配置参数和模型工作区数据
当您选择此属性时,配置参数和模型工作区数据将在您重新构建工具时更新。有关重建过程的详细信息,请参见同步测试装置和模型之间的变更.此选项不适用于子系统模型测试。
重建后回调方法
您可以使用重建后回调自定义您的测试工具。重建后回调是在重新构建后运行的函数。例如,您的回调可以设置信号记录、添加自定义块或更改线束模拟时间。有关更多信息,请参见定制测试带.此选项不适用于子系统模型测试。
同步模式
同步模式控制何时将对被测组件的更改同步到主模型,以及何时将对集束所有者的更改同步到测试集束。同步模式还会影响模型和线束锁定。
有关其他信息和限制,请参见为一个新的测试工具设置同步而且模型和测试线束锁定.
同步类型 | 描述 | 可用性 | 当线束打开时,模型、切割和线束锁定 |
---|---|---|---|
同步挽具打开和关闭 |
当测试集束打开时,测试集束组件和参数从模型同步到测试集束。当测试束关闭时,相同的元素从束同步到模型。 |
可用于:
不适用于:
|
所有类型的cut的主要模型和挽具都是解锁的。 模型中的子系统cut被锁定。挽具中的子系统cut被解锁, |
同步线束打开 |
当线束打开时,线束组件和参数从模型同步到测试线束。 |
可用于:
不适用于:
|
所有类型的cut的主要模型和挽具都是解锁的。 模型中的子系统cut和线束被锁定。 |
仅在推送和重建期间同步 |
单击时同步推动改变或重新利用.Push同步从测试工具到模型的更改。重建将同步从模型到测试装置的更改。 |
可用于:
不适用于:
|
主要模型、集束以及模型和集束中的所有类型的cut(包括子系统)都是解锁的。 |
仅在重建期间同步 |
仅当单击时进行同步重新利用.从模型到测试工具的更改是同步的。 |
可用于:
不适用于:
|
模型中的主要模型、管束和所有类型的cut都是解锁的。除SIL/PIL验证模式组件被锁定和屏蔽外,挽具中的所有类型的cut都是解锁的。 |
自定义测试工具创建默认属性值
要为创建新的测试工具设置默认属性值,请使用sl_customization
文件或setHarnessCreateDefaults
函数。所有新创建的测试工具都使用新的默认值。
要查看当前默认的测试工具属性值,请使用sltest.harness.getHarnessCreateDefaults
.
对于单个测试工具,您可以使用“创建测试工具”对话框或“创建测试工具”来从默认值中更改属性值sltest.harness.create
函数。使用这些选项中的任何一个都不会更改创建新测试工具时使用的默认值。另请参阅测试线束属性而且更改测试线束属性.
设置默认值sl_customization.m
文件
要更改创建新测试工具时使用的默认属性值,您可以创建一个sl_customization.m
文件。
创建一个
sl_customization.m
文件并指定新的默认属性值。的所有名称-值参数
sltest.harness.create
,除非另行注明。这个示例
sl_customization.m
文件将工具名设置为myTestHarness
,设置创建后回调以使用addHarnessAnnotation
函数,在内部保存挽具,并记录输出:函数sl_customization (cm)创建带有控制选项的结构myStruct。Name =“myTestHarness”myStruct。PostCreateCallback =“addHarnessAnnotation”;myStruct。saveexternal = false;myStruct。LogOutputs = true;%调用工具定制cObj = cm.金宝appSimulinkTestCustomizer;cObj.setHarnessCreateDefaults (myStruct);结束
保存
sl_customization.m
文件。将文件添加到MATLAB路径。
通过重新加载Simulink或使用金宝app
sl_refresh_customizations
.有关更多信息,请参见用Simulink注册自定义金宝app.请注意
当您注册一个文件时,它的值将成为默认属性值。所有新的测试工具都使用默认的属性值,所有之前注册的值都将被清除。
如果需要查看自定义的默认值,请使用
sltest.harness.getHarnessCreateDefaults
.
属性设置默认值setHarnessCreateDefaults
函数
你也可以使用sltest.harness.setHarnessCreateDefaults
设置默认属性值。中描述的名称-值对属性可以设置sltest.harness.create
,除非另行注明。使用sltest.harness.setHarnessCreateDefaults
保存并注册默认属性值。但是,如果您已经使用sl_customization.m
文件,使用sltest.harness.setHarnessCreateDefaults
覆盖文件中指定的值。
另请参阅
sltest.harness.setHarnessCreateDefaults
|sltest.harness.getHarnessCreateDefaults
|测试序列