Main Content

Knob

Tune parameter value with dial

  • Knob block

Libraries:
Simulink / Dashboard

Description

The Knob block tunes the value of the connected block parameter to during simulation. For example, you can connect the Knob block to a Gain block in your model and adjust its value during simulation. You can modify the range of the Knob block's scale to fit your data. Use the Knob block with other Dashboard blocks to create an interactive dashboard to control your model.

Connect Dashboard Blocks

Dashboard blocks do not use ports to connect to model elements. To connect a dashboard block, use connect mode. To enter connect mode on an unconnected block, pause on the block you want to connect and click the Connect button . To enter connect mode on a connected block, select the block, pause on the ellipsis that appears (…), and in the action menu that expands, click the Connect button.

To connect a control block to a parameter in your model or to change the connection of a control block, enter connect mode. Select the block to whose parameter you want to connect. From the list that appears, select the parameter to which you want to connect. Then, pause on the dashboard block and click the Done Connecting button .

The control block cannot connect to a parameter defined by a variable until you update the model diagram. To connect to a parameter defined by a variable or to modify the value of a variable that defines the value of a connected parameter when the simulation is not running, update the model diagram by pressing Ctrl+D.

You can connect to a parameter with a scalar value or to an element of a matrix or structure. For more information, see Connect Dashboard Blocks to Simulink Model.

You can also connect dashboard blocks to a Stateflow® chart. For more information, see Connect Dashboard Blocks to Stateflow (Stateflow).

This animation shows how to connect the Knob block to your model.

An unconnected Knob block connects to the Gain parameter of a Gain block.

Parameter Logging

Tunable parameters connected to dashboard blocks are logged to the Simulation Data Inspector, where you can view the parameter values along with logged signal data. You can access logged parameter data in the MATLAB® workspace by exporting the parameter data from the Simulation Data Inspector by using the UI or the Simulink.sdi.exportRun function. For more information about exporting data using the Simulation Data Inspector UI, see Export Data to Workspace or File. The parameter data is stored in a Simulink.SimulationData.Parameter object, accessible as an element in the exported Simulink.SimulationData.Dataset.

Examples

expand all

You can use a Knob block to set the value of a parameter to one of several values during simulation. For example, in the model knobGain, a Knob block is connected to the Gain parameter of a Gain block. The Knob block is configured such that you can choose a gain value between 0 and 20.

The Block Parameter dialog box for the Knob block

Simulate the model. To change the gain value during simulation, turn the Knob block.

Animation of the knobGain model during simulation

Extended Examples

Limitations

  • Except for the Dashboard Scope block and the Display block, dashboard blocks can only connect to real scalar signals.

  • You cannot use the Connection table in the Block Parameters dialog box to connect a dashboard block to a block that is commented out. When you connect a dashboard block to a commented block using connect mode, the dashboard block does not display the connected value until the you uncomment the block.

  • Dashboard blocks cannot connect to model elements inside referenced models.

  • When you simulate a model hierarchy, dashboard blocks inside referenced models do not update.

  • Dashboard blocks do not support rapid accelerator simulation.

  • When you connect a dashboard block to a variable or parameter during simulation, the data for that variable or parameter is not logged to the Simulation Data Inspector. To log variable and parameter data to the Simulation Data Inspector, connect the dashboard block to the variable or parameter prior to simulation.

  • When you simulate a model in external mode with the Default parameter behavior set to Inlined, dashboard blocks can appear to change parameter and variable values. However, the change does not propagate to the simulation. For example, Gain blocks display changes made to the Gain parameter using the dashboard blocks, but the Gain value used in the simulation does not change.

Parameters

expand all

Dashboard blocks do not use ports to connect to model elements. To connect dashboard blocks to parameter values in your model, use connect mode, the Simulink® Toolstrip, or the Connection table in the Block Parameters dialog box. You can connect to a parameter with a scalar value, or to an element of a matrix. For information about connect mode and how to connect using the toolstrip, see Connect Dashboard Blocks to Simulink Model.

To connect a control block to a parameter with a scalar value or change the connection of a control block to a parameter with a scalar value using the Connection table:

  1. Select the block.

  2. To connect the block, in the Property Inspector, on the Parameters tab, click Connect. To change the connection of the block, click Change instead.

  3. Select the block to whose parameter value you want to connect.

  4. In the table, select the parameter to which you want to connect.

  5. Click Apply.

The control block cannot connect to a parameter defined by a variable until you update the model diagram. To connect to a parameter defined by a variable or to modify the value of a variable that defines the value of a connected parameter when the simulation is not running, update the model diagram by pressing Ctrl+D.

You can also connect dashboard blocks to a Stateflow chart. For more information, see Connect Dashboard Blocks to Stateflow (Stateflow).

Programmatic Use

To programmatically connect a dashboard block to a tunable parameter, use a Simulink.HMI.ParamSourceInfo object. The Simulink.HMI.ParamSourceInfo object contains four properties. Some properties apply to connecting dashboard blocks to parameters defined by values, and some apply to connecting dashboard blocks to parameters defined by variables. Not all fields have a value for a connection because a given dashboard block connects to either to a parameter defined by a value or to a parameter defined by a variable.

Block Parameter: Binding
Type: Simulink.HMI.ParamSourceInfo
Default: []

Type of scale displayed on the block. Linear specifies a linear scale, and Log specifies a logarithmic scale.

Programmatic Use

Block Parameter: ScaleType
Type: string or character vector
Values: 'Linear' | 'Log'
Default: 'Linear'

Finite, real, double, scalar value specifying the minimum tick mark value for the scale. The minimum must be less than the value of the Maximum parameter.

Programmatic Use

To programmatically set the Minimum parameter, use a 1-by-3 vector containing values for the Minimum, Tick Interval, and Maximum parameters, in that order. To use the auto value for the Tick Interval, leave the Tick Interval position in the vector empty or specify -1.

Block Parameter: Limits
Type: 1x3 vector
Default: [0 -1 100]

Finite, real, double, scalar value specifying the maximum tick mark value for the scale. The maximum must be greater than the value of the Minimum parameter.

Programmatic Use

To programmatically set the Maximum parameter, use a 1-by-3 vector containing values for the Minimum, Tick Interval, and Maximum parameters, in that order. To use the auto value for the Tick Interval, leave the Tick Interval position in the vector empty or specify -1.

Block Parameter: Limits
Type: 1x3 vector
Default: [0 -1 100]

Finite, real, positive, whole, scalar value specifying the interval of major tick marks on the scale. When set to auto, the block automatically adjusts the tick interval based on the values of the Maximum and Minimum parameters.

Programmatic Use

To programmatically set the Tick Interval parameter, use a 1-by-3 vector containing values for the Minimum, Tick Interval, and Maximum parameters, in that order. To use the auto value for the Tick Interval, leave the Tick Interval position in the vector empty or specify -1.

Block Parameter: Limits
Type: 1x3 vector
Default: [0 -1 100]

Position of the block label. When the block is connected to an element in the model, the label is the name of the connected element.

Programmatic Use

Block Parameter: LabelPosition
Type: character vector
Values: 'Top' | 'Bottom' | 'Hide'
Default: 'Top'

Block Characteristics

Data Types

double | half | integer | single

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

no

Zero-Crossing Detection

no

Extended Capabilities

Version History

Introduced in R2015a

expand all