Main Content

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

sltest.testsequence.setProperty

设置 Test Sequence 模块属性

说明

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

注意

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

示例

示例

全部折叠

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

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)

ActiveStepEnumNameActiveStepDataSymbol 的属性,而 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 中推出