Main Content

resetParameterToDefault

Reset parameter on component to default value

Since R2022a

    Description

    resetParameterToDefault(element,paramName) resets parameter specified by paramName on the architectural element element to the default value and units, if applicable.

    example

    Examples

    collapse all

    This example shows a wheel axle architecture model with instance-specific parameters exposed in System Composer™. These parameters are defined as model arguments on the Simulink® reference model used as a model behavior linked to two System Composer components. You can change the values of these parameters independently on each reference component.

    To add parameters to the architecture model or components, use the Parameter Editor. To remove these parameters, delete them from the Parameter Editor.

    Open the architecture model of the wheel axle mAxleArch to interact with the parameters on the reference components using the Property Inspector.

    model = systemcomposer.openModel("mAxleArch");

    Look up the Component objects for the RightWheel and LeftWheel components.

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

    Get the parameter names for the RightWheel component. Since the LeftWheel component is linked to the same reference model mWheel, the parameters are the same on the LeftWheel component.

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

    Get the Pressure parameter on the RightWheel component architecture.

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

    Display the value type for the Pressure parameter.

    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: ''
    
    

    Get the RightWheel component parameter values.

    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
    
    

    Get the LeftWheel component parameter values.

    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
    
    

    First, check the evaluated RightWheel parameters.

    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'
    

    Check the evaluated LeftWheel parameters.

    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'
    

    Set the parameter value and unit for the PSI parameter on the LeftWheel component.

    First, check the current values for the pressure on LeftWheel.

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

    Update the values for the pressure on LeftWheel.

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

    Revert the Pressure parameter on LeftWheel to its default value.

    leftWheelComp.resetParameterToDefault("Pressure")

    Check the reverted values for the pressure on LeftWheel.

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

    Promote the Pressure parameter on the LeftWheel component.

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

    Get the promoted Pressure parameter from the root architecture of the mAxleArch model.

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

    Adjust the value of the promoted Pressure parameter.

    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'
    
    

    Get the source parameter from which the Pressure parameter is promoted.

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

    Reset the value of the promoted Pressure parameter to the default value in the source parameter.

    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'
    
    

    Delete the promoted parameter.

    destroy(pressureParam)

    Add a new Muffler component to the mAxleArch architecture model.

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

    Add the parameter noiseReduction to the Muffler component.

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

    Set the default Unit value for the NoiseReduction parameter.

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

    Set the Value property for the noiseReduction parameter.

    noiseReduce.Value = "30";

    View the properties of the noiseReduction parameter.

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

    Rearrange the mAxleArch architecture model to view all components.

    Simulink.BlockDiagram.arrangeSystem("mAxleArch");

    Delete the Muffler component.

    destroy(mufflerComp)

    Save the updated models.

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

    Input Arguments

    collapse all

    Parameter name, specified as a character vector or string.

    Example: "GainArg"

    Data Types: char | string

    More About

    collapse all

    Version History

    Introduced in R2022a