Main Content

本页采用了机器翻译。点击此处可查看英文原文。

sltest.testmanager.OutputTriggerResult 类

命名空间: sltest.testmanager

信号记录输出触发结果

自 R2023a 起

描述

sltest.testmanager.OutputTriggerResult 对象包含来自 sltest.testmanager.TestIterationResult 对象中的迭代结果的信号记录输出触发结果。如果测试用例没有迭代,则触发结果来自 sltest.testmanager.TestCaseResult 对象中的测试用例结果。

sltest.testmanager.OutputTriggerResult 类是 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅 类属性

创建对象

otr = sltest.testmanager.TestIterationResult.getOutputTriggerResults(tir) 为测试迭代结果对象 tir 创建输出触发结果对象。

otr = sltest.testmanager.TestIterationResult.getOutputTriggerResults(tcr) 为测试用例结果对象 tcr 创建输出触发结果。仅当测试用例没有迭代时才使用此语法。

属性

全部展开

信号记录启动模式,作为 sltest.testmanager.TriggerMode 枚举类的成员返回。

属性:

GetAccess
public
SetAccess
private

信号记录停止模式,作为 sltest.testmanager.TriggerMode 枚举类的成员返回。

属性:

GetAccess
public
SetAccess
private

启动信号记录的条件,以逻辑 MATLAB 表达式形式返回。

属性:

GetAccess
public
SetAccess
private

停止信号记录的条件,以逻辑 MATLAB 表达式形式返回。

属性:

GetAccess
public
SetAccess
private

数据类型: string

仿真启动后信号记录开始的时间(以秒为单位),以标量双精度值形式返回。仅当 StartLoggingMode 属性设置为 sltest.testmanager.TriggerMode.Duration 时,此属性才适用。

属性:

GetAccess
public
SetAccess
private

记录开始后信号记录停止的时间(以秒为单位),以双精度标量形式返回。仅当 StopLoggingMode 属性设置为 sltest.testmanager.TriggerMode.Duration 时,此属性才适用。

属性:

GetAccess
public
SetAccess
private

记录的信号开始是否移至时间 0,返回为 truefalse

属性:

GetAccess
public
SetAccess
private

启动触发时的模型仿真时间(以秒为单位),以标量双精度值形式返回。

属性:

GetAccess
public
SetAccess
private

停止触发发生时的模型仿真时间(以秒为单位),以标量双精度值返回。

属性:

GetAccess
public
SetAccess
private

相对信号记录开始时间(以秒为单位),以标量双精度值形式返回。LoggedRunStartTime 属性依赖于 ShiftToZero 属性的值。如果 ShiftToZerofalse,那么 LoggedRunStartTimeLoggingStartTimeInSim 属性相同。如果 ShiftToZerotrue,则 LoggedRunStartTime 是 0。

属性:

GetAccess
public
SetAccess
private

相对信号记录停止时间(以秒为单位),以标量双精度值返回。LoggedRunStopTime 属性依赖于 ShiftToZero 属性的值。如果 ShiftToZerofalse,那么 LoggedRunStopTime 就与 LoggingStopTimeInSim 相同。如果 ShiftToZerotrue,则 LoggedRunStartTime 就是 LoggingStopTimeInSim 属性的值减去信号移位的秒数。

属性:

GetAccess
public
SetAccess
private

示例

全部折叠

打开模型。

openExample('sldemo_absbrake')

创建测试文件、测试套件和测试用例。删除默认测试套件。

tf = sltest.testmanager.TestFile('mytf');
ts = sltest.testmanager.TestSuite(tf,'myts');
tc = sltest.testmanager.TestCase(ts,'baseline','mytc');

tsDel = getTestSuiteByName(tf,'New Test Suite 1');
remove(tsDel);

将在测系统分配给测试用例。

setProperty(tc,'Model','sldemo_absbrake');

捕捉基线准则。

baseline = captureBaselineCriteria(tc,'baseline_triggers.mat',true);

创建一个记录信号集并向其中添加车轮速度模块输出信号。

sigset = addLoggedSignalSet(tc);
bPath = Simulink.BlockPath('sldemo_absbrake/Wheel Speed');
Ww = sigset.addLoggedSignal(bPath,1);

设置开始和停止触发器。

ot = getOutputTrigger(tc);
ot.StartLoggingMode = sltest.testmanager.TriggerMode.Condition;
ot.StartLoggingCondition = 'Ww < 40';
ot.StopLoggingMode = sltest.testmanager.TriggerMode.Duration;
ot.StopLoggingDuration = 4;

打开测试管理器。

sltest.testmanager.view

要映射输出触发器中使用的符号,请在左侧窗格中点击 mytc 测试用例。在右侧窗格中,展开仿真输出。在输出触发子部分中,指向 Ww 符号,然后选择映射到模型元素

Map to model element menu option for symbol

在模型中,选择 Ww 信号,并在连接对话框中选择 Ww。在测试管理器中点击完成

在命令行上,运行测试并获取测试文件、测试套件、测试用例和输出触发器的结果集和结果。

resultset = run(tf);
tfr = getTestFileResults(resultset);  
tsr = getTestSuiteResults(tfr);  
tcr = getTestCaseResults(tsr);  
otr = getOutputTriggerResults(tcr);

在测试管理器的结果和工件窗格中,请注意基线测试失败,因为触发的结果开始时间移至零,但基线数据未移位。Plot comparing baseline and triggered results

版本历史记录

在 R2023a 中推出