主要内容

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

sltest.testsequence.setProperty

R2025b

设置 Test Sequence 模块属性

描述

sltest.testsequence.setProperty(blockPath,Name,Value) 根据一个或多个 Name、Value 对设置 blockPath 指定的 Test Sequence 模块的属性。使用 sltest.testsequence.getProperty 获取有效属性。

注意

除 ActiveStepDataSymbol 和 ScenarioParameter 之外的所有属性都是可写的。您不能使用 sltest.testsequence.setProperty 更改 ActiveStepDataSymbol 或 ScenarioParameter 的值。但是,您可以使用 sltest.testsequence.editSymbol 重命名符号。

示例

示例

全部折叠

此示例显示如何以编程方式创建 Test Sequence 模块,并获取该模块的属性,这些属性可在 Name 的 Value、sltest.testsequence.setProperty 对中使用。

1.创建一个模型和一个 Test Sequence 模块。

new_system('tsb_model');
sltest.testsequence.newBlock('tsb_model/Test Sequence');

2.获取 Test Sequence 模块的属性。

block_properties = sltest.testsequence.getProperty...
    ('tsb_model/Test Sequence')
block_properties = struct with fields:
                         Name: 'Test Sequence'
                 UpdateMethod: 'INHERITED'
                   SampleTime: '-1'
                  Description: ''
                     Document: ''
                          Tag: []
        SupportVariableSizing: 1
    SaturateOnIntegerOverflow: 1
                  InputFimath: 'fimath(...↵)'
             EmlDefaultFimath: 'Same as MATLAB Default'
         EnableActiveStepData: 0
         ActiveStepDataSymbol: ''
           ActiveStepDataType: 'String'
            ScenarioParameter: ''
                    Semantics: 'StateflowCompatible'

3.关闭模型。

close_system('tsb_model',0)

此示例使用编程接口获取和设置 Test Sequence 模块的属性。

1.加载模型。

Model = 'sltestRollRefTestExample';
load_system(Model)

2.获取 Test Sequence 模块的属性。

blockInfo = sltest.testsequence.getProperty([Model '/Test Sequence'])
blockInfo = struct with fields:
                         Name: 'Test Sequence'
                 UpdateMethod: 'INHERITED'
                   SampleTime: '-1'
                  Description: ''
                     Document: ''
                          Tag: []
        SupportVariableSizing: 1
    SaturateOnIntegerOverflow: 1
                  InputFimath: 'fimath(...↵)'
             EmlDefaultFimath: 'Same as MATLAB Default'
         EnableActiveStepData: 0
         ActiveStepDataSymbol: ''
           ActiveStepDataType: 'Enum'
            ScenarioParameter: ''
                    Semantics: 'StateflowCompatible'

3.获取 Test Sequence 模块更新方法。

blockUpdateMethod = sltest.testsequence.getProperty(...
    [Model '/Test Sequence'],'UpdateMethod')
blockUpdateMethod = 
'INHERITED'

4.更改 Test Sequence 模块更新方法和采样时间。

sltest.testsequence.setProperty([Model '/Test Sequence'],...
    'UpdateMethod','Discrete','SampleTime','0.1')

5.启用活动步骤数据并将数据类型设置为 String。如果在单个测试序列中或在 Test Sequence 模块中的场景中存在重复的步骤名称,请使用此数据类型。

sltest.testsequence.setProperty([Model '/Test Sequence'],...
    'EnableActiveStepData',1,'ActiveStepDataType','String');

6.检查更改。

blockInfo = sltest.testsequence.getProperty([Model '/Test Sequence'])
blockInfo = struct with fields:
                         Name: 'Test Sequence'
                 UpdateMethod: 'DISCRETE'
                   SampleTime: '0.1'
                  Description: ''
                     Document: ''
                          Tag: []
        SupportVariableSizing: 1
    SaturateOnIntegerOverflow: 1
                  InputFimath: 'fimath(...↵)'
             EmlDefaultFimath: 'Same as MATLAB Default'
         EnableActiveStepData: 1
         ActiveStepDataSymbol: 'Active_Step'
           ActiveStepDataType: 'String'
            ScenarioParameter: ''
                    Semantics: 'StateflowCompatible'

7.关闭模型。

close_system(Model,0)

这

ActiveStepEnumName 是 ActiveStepDataSymbol 的属性,后者又是 Test Sequence 模块的属性。要将活动步骤的枚举名称设置为 NewEnumName,请使用以下代码:

ts = sltest.testsequence.getProperty(...
     'model/Test Sequence');
sltest.testsequence.editSymbol(...
     'model/Test Sequence',...
     ts.ActiveStepDataSymbol,...
     'ActiveStepEnumName','NewEnumName')

输入参数

全部折叠

Test Sequence 模块的路径(包括模块名称),指定为字符串或字符向量。可以使用模块句柄替代模块路径。

示例: 'FanSpeedTestHarness/Test Sequence'

名称-值对组参量

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'Description','Temperature cycle','EnableActiveStepData',true

有效的名称-值对是特定于模块的。使用 sltest.testsequence.getProperty 获取模块的属性。

版本历史记录

在 R2017a 中推出