Main Content

Knob

Change parameter or variable value using knob with customizable appearance

  • Library:
  • Simulink / Dashboard / Customizable Blocks

  • Knob block

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.

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 using design mode. You can enter design mode in one of three ways after selecting the block:

  • On the Knob tab, under Design, click Edit.

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

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

In design mode, you have access to block parameters and settings that allow you to design the appearance of the block. You can use the toolbar above the block to change the background image or needle image and to set the opacity and color for the scale, tick labels, and value bar. To design the appearance of the scale, select the aspect of the scale you want to edit in the middle section of the toolbar. Use the controls on the right of the toolbar to set the color and opacity. You can also click and drag to reposition the needle or the scale.

For fine control of the block design, use the Design tab in the Property Inspector. You can use the Property Inspector to enter exact values for design settings. The Design tab also includes design parameters that are not available through the toolbar or interactive editing, such as the ability to add a foreground image to the block.

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

Connect Dashboard Blocks

Dashboard blocks do not use ports to connect to model elements. To connect dashboard blocks to variables and block parameters, use connect mode. Connect mode facilitates the process of connecting dashboard blocks in your model, especially when you want to connect multiple blocks at once. To connect a single dashboard block, you can also use the Connection table in the block dialog box.

Tip

You can modify dashboard block connections in your model during normal and accelerator mode simulations.

Note

Dashboard blocks cannot connect to variables until you update the model diagram. To connect dashboard blocks to variables or modify variable values between opening your model and running a simulation, update the model diagram using Ctrl+D.

To enter connect mode, select the block. Then, on the block tab, click Connect. In connect mode, when you select one or more blocks, a list of parameters and variables available for connection appears. Select a variable or parameter from the list to connect to the selected dashboard block.

When the value of the selected variable or block parameter is nonscalar, use the text box at the bottom of the Connection table to specify the element you want to connect to the dashboard block. To connect to an element of a vector, matrix, or array, specify the element index, for example, 3 or (1,3). To connect to an element in a bus or structure, specify the element in the context of the bus or structure hierarchy by using dots to indicate different levels in the hierarchy, and omit the top level. For example, specify a.b to connect to scalar element b of the structure or bus a nested inside the selected composite variable or parameter.

To connect another dashboard block, pause on another dashboard block and click the Connect button above it. Then, make a selection of signals and blocks in your model and choose a model element to connect.

When you finish connecting the dashboard blocks in your model, on the block tab, click Done Connecting.

Tip

You can hide the message shown on unconnected blocks using the set_param function with the ShowInitialText block parameter. The message also disappears when you connect the 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 the Workspace or a 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.

  • The toolstrip does not support blocks that are inside a panel.

  • 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

Select the variable or block parameter to control using the Connection table. To connect the block to a signal:

  1. Make a selection in the model that includes one or more blocks.

  2. Select the variable or parameter you want to connect.

    When the value of the selected variable or block parameter is nonscalar, use the text box at the bottom of the Connection table to specify the element you want to connect to the dashboard block. To connect to an element of a vector, matrix, or array, specify the element index, for example, 3 or (1,3). To connect to an element in a bus or structure, specify the element in the context of the bus or structure hierarchy by using dots to indicate different levels in the hierarchy, and omit the top level. For example, specify a.b to connect to scalar element b of the structure or bus a nested inside the selected composite variable or parameter.

  3. Click Apply.

To facilitate understanding and debugging your model, you can connect Dashboard blocks to variables and parameters in your model during simulation.

Note

To see workspace variables in the connection table, update the model diagram using Ctrl+D.

Programmatic Use

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

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

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'

Whether to maintain the block aspect ratio when resizing the block and when you specify a new background image.

Block foreground color, excluding the text. The Foreground Color applies to the scale and the block name. To specify the color for the block text, use the Font Color.

Specify the Foreground Color for the block using the Design tab in the Property Inspector.

  1. On the Design tab, click Edit Design.

  2. Select the Scale component.

  3. In the Ticks section, open the Color menu. You can choose from the palette of standard colors or specify a custom color.

Programmatic Use

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

Block Parameter: ForegroundColor
Type: [r g b] vector

Block background color. You can choose to select a solid background color instead of providing a background image. To design a block that uses a solid background, use the Design tab in the Property Inspector.

  1. On the Design tab, click Edit Design.

  2. Select the Background component.

  3. Select Use background color.

  4. Choose a background color from the palette of standard colors or specify a custom color.

  5. Adjust the Offset from scale option until the solid background is the desired size.

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

Programmatic Use

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

Block Parameter: BackgroundColor
Type: [r g b] vector

Block font color. The Font Color applies to the scale labels. To specify the color of the scale, use the Foreground Color.

Specify the Font Color for the block using the Design tab in the Property Inspector.

  1. On the Design tab, click Edit Design.

  2. Select the Scale component.

  3. In the Labels section, open the Color menu. You can choose from the palette of standard colors or specify a custom color.

Block Characteristics

Data Types

double | half | integer | single

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

no

Zero-Crossing Detection

no

Extended Capabilities

Introduced in R2021a