Main Content

Knob

Change parameter or variable value using knob with customizable appearance

Since R2021a

  • Knob block

Libraries:
Simulink / Dashboard / Customizable Blocks

Description

Use the Knob block to tune the value of a variable or block parameter to during simulation. When you use the Knob block in the Customizable Blocks library, you can customize the appearance of the block so that it looks like a control in a real system. You can modify the range and tick values on the Knob block to fit the desired range for the value you want to tune. Use the Knob block with other dashboard blocks to create an interactive dashboard to control your model.

To tune a value when the simulation is running, use your pointer to drag the handle to the scale value to which you want to set the connected variable or block parameter. To tune a value when the simulation is not running, select the Knob block, and then drag the handle to the scale value to which you want to set the connected variable or block parameter.

Customize Knob Blocks

When you add a Knob block to your model, the block is preconfigured with a default design. You can use the block with the default design or customize the appearance of the block.

To customize the appearance of the block, use design mode. After selecting the block, you can enter design mode in one of three ways:

  • On the block-specific tab, under Design, click Edit.

  • In the Property Inspector, on the Design tab, click Edit.

  • Pause on the ellipsis that appears over the block and click Edit Custom Block.

In design mode, you can use the toolbar above the block to customize the circular gauge. To access additional customization options or to enter exact values for design settings, use the Design tab in the Property Inspector.

Customizable Knob block in design mode with the toolbar and the Design tab in the Property Inspector visible.

Design Mode Actions

ActionAvailable in ToolbarAvailable in Design Tab

Upload a handle image.

YesYes

Upload a background image.

YesYes

Set a solid background color.

NoYes

Upload a foreground image.

NoYes

Change the color and opacity of the scale tick marks, scale labels, or value bar.

YesYes

Change the arc length of the scale.

NoYes

Specify the scale direction as clockwise or counterclockwise.

NoYes

Specify the location of the origin from which the value bar grows.

NoYes

Change the size of the scale and handle.

NoYes

Change the position the scale and handle.

NoYes

To change the color and opacity of the scale tick marks, scale labels, or value bar using the toolbar, in the second section of the toolbar from the left, select the component whose color you want to change. To change the color, click the color wheel. To change the opacity, move the slider.

In addition to customizing the block design using the toolbar and Design tab, you can also resize and reposition components interactively in the canvas. The movement of the handle is limited to the line that passes through the center of the block and the minimum value on the scale.

When you finish editing the design, to exit design mode, click the X in the upper right of the canvas.

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 a Constant 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.

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 dialog 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

Use the Property Inspector and the Block Parameters dialog box to specify the values of the block parameters. To set the core parameters of the dashboard block, use the Block Parameters dialog box or the Parameters tab in the Property Inspector. To customize the block, use the Design tab in the Property Inspector. To open the Block Parameters dialog box for a block, double-click the block. To open the Property Inspector, on the Modeling tab, under Design, select Property Inspector.

Parameters

To set the core parameters of the dashboard block, open the Property Inspector and click the Parameters tab.

Connection

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.SignalSpecification
Default: []
Main

Finite, real, double, scalar value specifying the minimum tick mark value for the scale. The parameter value 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 parameter value 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]

Set the direction of increasing scale values.

Programmatic Use

Block Parameter: ScaleDirection
Type: character vector
Values: 'Clockwise' | 'Counterclockwise'
Default: 'Clockwise'

You can display the name of the element to which the dashboard block connects in a label positioned at the top or at the bottom of the block, or you can hide the label. If you want the label to be visible, specify the position of the block. If you do not want the label to be visible, specify Hide.

Note

When the dashboard block is not connected to an element, the label is blank.

Programmatic Use

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

Select this parameter to maintain the aspect ratio when resizing the block in the Simulink canvas.

Tip

  • When the aspect ratio is locked, adding a new background image changes the aspect ratio of the block to match that of the background image.

  • When the aspect ratio is not locked, adding a new background image does not change the proportions of the block but instead stretches or scales the background image to fit the size of the block.

Design

To customize the dashboard block, open the Property Inspector, click the Design tab, and click Edit.

Knob

Select this parameter to maintain the aspect ratio when resizing the block in the Simulink canvas.

Tip

  • When the aspect ratio is locked, adding a new background image changes the aspect ratio of the block to match that of the background image.

  • When the aspect ratio is not locked, adding a new background image does not change the proportions of the block but instead stretches or scales the background image to fit the size of the block.

Scale

Finite, real, double, scalar value specifying the minimum tick mark value for the scale. The parameter value 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 parameter value 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]

Specify the value on the scale from which the handle moves and the value bar grows. When set to auto, the Origin is the minimum of the scale.

Example: 0

Set the direction of increasing scale values.

Programmatic Use

Block Parameter: ScaleDirection
Type: character vector
Values: 'Clockwise' | 'Counterclockwise'
Default: 'Clockwise'

Specify the arc length of the scale as a scalar value, measured in degrees.

Example: 90

Specify the angular location of the minimum scale value, measured in degrees clockwise from the horizontal axis pointing right.

Example: 0

Specify the radius of the free end of the scale tick marks as a ratio of the smaller of the two dimensions of the bounding box of the scale, width or height. The Inner Radius can be larger than the Outer Radius.

Example: 0.5

Specify the span line radius as a ratio of the smaller of the two dimensions of the bounding box of the scale, width or height. The Outer Radius can be smaller than the Inner Radius.

Example: 0.5

Specify the horizontal offset of the left edge of the bounding box of the scale from the left edge of the block as a ratio of the block width. Relative to the position of the scale when the offset is 0, an offset with a negative value moves the scale left, and an offset with a positive value moves the scale right.

Example: 1

Specify the vertical offset of the top edge of the bounding box of the scale from the top edge of the block as a ratio of the block height. Relative to the position of the scale when the offset is 0, an offset with a negative value moves the scale up, and an offset with a positive value moves the scale down.

Example: 1

Specify the width of the bounding box of the scale as a ratio of the block width.

Example: 2

Specify the height of the bounding box of the scale as a ratio of the block height.

Example: 2

Select this parameter to maintain the aspect ratio when resizing the scale using the Property Inspector.

Set the color of the scale tick marks, the span line, and the block name. Choose a color from the palette of standard colors, or specify a custom color.

Tip

You can also set the Tick Color by choosing a Foreground Color on the Format tab of the Simulink Toolstrip.

To specify the color of the block text, use the Label Color parameter.

Programmatic Use

Specify the ForegroundColor parameter for the block as a string or a character vector that defines a 1-by-3 [r g b] vector with values between 0 and 1.

Block Parameter: ForegroundColor
Type: character vector | string
Values: [r g b] vector

Choose a font color for the scale label from the palette of standard colors, or specify a custom color.

Tip

To specify the color of the scale, use the Tick Color parameter.

Specify the distance of the labels from the center of the scale as a ratio of the smaller of the two block dimensions, width or height.

Example: 0.5

Handle

Specify the width of the handle image as a ratio of the smaller of the two dimensions of the bounding box of the scale, width or length.

Example: 1

Specify the height of the handle image as a ratio of the smaller of the two dimensions of the bounding box of the scale, width or length.

Example: 1

Select this parameter to maintain the aspect ratio when resizing the image using the Property Inspector.

Rotate the handle image about its center in 90 degree increments.

Example: 90

Specify the distance from the center of the handle image to the center of the scale as a ratio of the diameter of the scale.

Example: 1

Background Image

For the block background, you can provide a background image, or to select a solid color. To select a solid background color, turn Use Background Color on. To provide a background image, turn Use Background Color off.

Note

Changing the background color using the toolstrip removes the background image and enables the Use Background Color option.

When you use a solid background with the Circular Gauge block, you can design noncircular gauges. When the scale arc angle is 180° or smaller, the background shape conforms to the scale.

Knob block with noncircular orange background area

Example: on

To select a solid background color, enable the Use Background Color parameter. Then, choose a background color from the palette of standard colors, or specify a custom color.

Note

When you use a solid background with the Circular Gauge block, you can design noncircular gauges. When the scale arc angle is 180° or smaller, the background shape conforms to the scale.

Knob block with noncircular orange background area

Programmatic Use

Specify the BackgroundColor parameter for the block as a 1-by-3 [r g b] vector with values between 0 and 1 that is formatted as a string or a character vector.

Block Parameter: BackgroundColor
Type: character vector | string
Values: [r g b] vector

Specify the block background opacity as a scalar value from 0 to 1.

Example: 0.5

Set the offset of the outer edge of the area covered by the block background color from tick marks, specified as a scalar value from 0 to 1.

Example: 0.1

Foreground Image

Specify the horizontal offset of the left edge of the image from the left edge of the block as a ratio of the block width. Relative to the position of the image when the offset is 0, an offset with a negative value moves the image left, and an offset with a positive value moves the image right.

Example: 1

Specify the vertical offset of the top edge of the image from the top edge of the block as a ratio of the block height. Relative to the position of the image when the offset is 0, an offset with a negative value moves the image up, and a positive value moves the image down.

Example: 1

Specify the image width as a ratio of the block width.

Example: 0.5

Specify the image height as a ratio of the block height.

Example: 0.5

Select this parameter to maintain the aspect ratio when resizing the image using the Property Inspector.

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 R2021a

expand all