主要内容

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

getParameterNames

获取元素上的参数名

自 R2022a 起

    说明

    paramNames = getParameterNames(element) 获取指定架构元素 element 上可用的参数名称。

    示例

    paramNames = getParameterNames(instance) 获取指定架构实例 instance 中可用的参数名称。

    示例

    全部折叠

    此示例展示了一个轮轴架构模型,其特定于实例的参数在 System Composer™ 中公开。这些参数被定义为 Simulink® 引用模型上的模型参量,用作与两个 System Composer 组件相连的模型行为。您可以在每个参照组件上独立更改这些参数的值。

    要为架构模型或组件添加参数,请使用参数编辑器。要删除这些参数,请从参数编辑器中删除它们。

    打开轮轴 mAxleArch 的架构模型,请使用属性检查器与引用组件上的参数交互。

    model = systemcomposer.openModel("mAxleArch");

    查找 Component 对象中的 RightWheelLeftWheel 组件。

    rightWheelComp = lookup(model,Path="mAxleArch/RightWheel");
    leftWheelComp = lookup(model,Path="mAxleArch/LeftWheel");

    获取 RightWheel 组件的参数名称。由于 LeftWheel 组件与同一引用模型 mWheel 相连,因此 LeftWheel 组件上的参数也是相同的。

    paramNames = rightWheelComp.getParameterNames
    paramNames = 1×3 string
        "Diameter"    "Pressure"    "Wear"
    
    

    获取 Pressure 组件架构上的 RightWheel 参数。

    paramPressure = rightWheelComp.Architecture.getParameter(paramNames(2));

    显示 Pressure 参数的值类型。

    paramPressure.Type
    ans = 
      ValueType with properties:
    
               Name: 'Pressure'
           DataType: 'double'
         Dimensions: '[1  1]'
              Units: 'psi'
         Complexity: 'real'
            Minimum: ''
            Maximum: ''
        Description: ''
              Owner: [1×1 systemcomposer.arch.Architecture]
              Model: [1×1 systemcomposer.arch.Model]
               UUID: '47c2446a-f6b0-4710-9a73-7ed25d1671c4'
        ExternalUID: ''
    
    

    获取 RightWheel 组件参数值。

    for i = 1:length(paramNames)
        paramName = paramNames(i)
        [paramValue,paramUnits,isDefault] = rightWheelComp.getParameterValue(paramNames(i))
    end
    paramName = 
    "Diameter"
    
    paramValue = 
    '16'
    
    paramUnits = 
    'in'
    
    isDefault = logical
       1
    
    
    paramName = 
    "Pressure"
    
    paramValue = 
    '31'
    
    paramUnits = 
    'psi'
    
    isDefault = logical
       0
    
    
    paramName = 
    "Wear"
    
    paramValue = 
    '0.25'
    
    paramUnits = 
    'in'
    
    isDefault = logical
       1
    
    

    获取 LeftWheel 组件参数值。

    for i = 1:length(paramNames)
        paramName = paramNames(i)
        [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue(paramNames(i))
    end
    paramName = 
    "Diameter"
    
    paramValue = 
    '16'
    
    paramUnits = 
    'in'
    
    isDefault = logical
       1
    
    
    paramName = 
    "Pressure"
    
    paramValue = 
    '32'
    
    paramUnits = 
    'psi'
    
    isDefault = logical
       1
    
    
    paramName = 
    "Wear"
    
    paramValue = 
    '0.25'
    
    paramUnits = 
    'in'
    
    isDefault = logical
       1
    
    

    首先,检查计算后的 RightWheel 参数。

    for i = 1:length(paramNames)
        paramName = paramNames(i)
        [paramValue,paramUnits] = rightWheelComp.getEvaluatedParameterValue(paramNames(i))
    end
    paramName = 
    "Diameter"
    
    paramValue = 
    16
    
    paramUnits = 
    'in'
    
    paramName = 
    "Pressure"
    
    paramValue = 
    31
    
    paramUnits = 
    'psi'
    
    paramName = 
    "Wear"
    
    paramValue = 
    0.2500
    
    paramUnits = 
    'in'
    

    检查计算后的 LeftWheel 参数。

    for i = 1:length(paramNames)
        paramName = paramNames(i)
        [paramValue,paramUnits] = leftWheelComp.getEvaluatedParameterValue(paramNames(i))
    end
    paramName = 
    "Diameter"
    
    paramValue = 
    16
    
    paramUnits = 
    'in'
    
    paramName = 
    "Pressure"
    
    paramValue = 
    32
    
    paramUnits = 
    'psi'
    
    paramName = 
    "Wear"
    
    paramValue = 
    0.2500
    
    paramUnits = 
    'in'
    

    PSI 组件上的 LeftWheel 参数设置参数值和单位。

    首先,检查 LeftWheel 上压力的当前值。

    [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
    paramValue = 
    '32'
    
    paramUnits = 
    'psi'
    
    isDefault = logical
       1
    
    

    更新 LeftWheel 上的压力值。

    leftWheelComp.setParameterValue("Pressure","34")
    [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
    paramValue = 
    '34'
    
    paramUnits = 
    'psi'
    
    isDefault = logical
       0
    
    

    Pressure 上的 LeftWheel 参数恢复为默认值。

    leftWheelComp.resetParameterToDefault("Pressure")

    检查 LeftWheel 上压力的还原值。

    [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
    paramValue = 
    '32'
    
    paramUnits = 
    'psi'
    
    isDefault = logical
       1
    
    

    Pressure 组件上提升 LeftWheel 参数。

    addParameter(model.Architecture,Path="mAxleArch/LeftWheel",Parameters="Pressure");

    Pressure 模型的根架构中获取提升后的 mAxleArch 参数。

    pressureParam = model.Architecture.getParameter("LeftWheel.Pressure");

    调整提升后的 Pressure 参数值。

    pressureParam.Value = "30";
    pressureParam
    pressureParam = 
      Parameter with properties:
    
          Name: "LeftWheel.Pressure"
         Value: '30'
          Type: [1×1 systemcomposer.ValueType]
        Parent: [1×1 systemcomposer.arch.Architecture]
          Unit: 'psi'
    
    

    获取 Pressure 参数提升来源的源参数。

    sourceParam = getParameterPromotedFrom(pressureParam)
    sourceParam = 
      Parameter with properties:
    
          Name: 'Pressure'
         Value: '30'
          Type: [1×1 systemcomposer.ValueType]
        Parent: [1×1 systemcomposer.arch.Component]
          Unit: 'psi'
    
    

    将提升后的 Pressure 参数值重置为源参数中的默认值。

    resetToDefault(pressureParam);
    pressureParam
    pressureParam = 
      Parameter with properties:
    
          Name: "LeftWheel.Pressure"
         Value: '32'
          Type: [1×1 systemcomposer.ValueType]
        Parent: [1×1 systemcomposer.arch.Architecture]
          Unit: 'psi'
    
    

    删除提升的参数。

    destroy(pressureParam)

    Muffler 架构模型中添加一个新的 mAxleArch 组件。

    topModel = systemcomposer.loadModel("mAxleArch");
    mufflerComp = addComponent(topModel.Architecture,"Muffler");

    将参数 noiseReduction 添加到 Muffler 组件中。

    noiseReduce = addParameter(mufflerComp.Architecture,"noiseReduction");

    为参数 Unit 设置默认值 NoiseReduction

    valueTypeNoise = noiseReduce.Type;
    valueTypeNoise.Units = "dB";

    Value 参数设置 noiseReduction 属性。

    noiseReduce.Value = "30";

    查看 noiseReduction 参数的属性。

    noiseReduce
    noiseReduce = 
      Parameter with properties:
    
          Name: "noiseReduction"
         Value: '30'
          Type: [1×1 systemcomposer.ValueType]
        Parent: [1×1 systemcomposer.arch.Architecture]
          Unit: 'dB'
    
    

    重新排列 mAxleArch 架构模型,查看所有组件。

    Simulink.BlockDiagram.arrangeSystem("mAxleArch");

    删除 Muffler 组件。

    destroy(mufflerComp)

    保存更新后的模型。

    model = systemcomposer.loadModel("mWheelArch");
    save(model)
    save(topModel)

    输入参数

    全部折叠

    输出参量

    全部折叠

    参数名称,以字符串数组形式返回。

    数据类型: string

    详细信息

    全部折叠

    版本历史记录

    在 R2022a 中推出