Toggle parameter between two values
Simulink / Dashboard
The Toggle Switch block toggles the value of the connected block parameter between two values during simulation. For example, you can connect the Toggle Switch block to a Switch block in your model and change its state during simulation. Use the Toggle Switch block with other Dashboard blocks to create an interactive dashboard for your model.
Double-clicking the Toggle Switch block does not open its dialog box during simulation and when the block is selected. To edit the block's parameters, you can use the Property Inspector, or you can right-click the block and select Block Parameters from the context menu.
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.
You can modify dashboard block connections in your model during normal and accelerator mode simulations.
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, in the canvas, select the dashboard block to connect. On the Simulink® Toolstrip, a tab named after the type of the selected block appears. 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,
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.
You can hide the message shown on unconnected blocks using the
set_param function with the
block parameter. The message also disappears when you connect the block.
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
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.
Connection — Select a variable or block parameter to connect
variable and parameter connection options
Select the variable or block parameter to control using the Connection table. To connect the block to a signal:
Make a selection in the model that includes one or more blocks.
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,
(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.bto connect to scalar element
bof the structure or bus
anested inside the selected composite variable or parameter.
To facilitate understanding and debugging your model, you can connect Dashboard blocks to variables and parameters in your model during simulation.
To see workspace variables in the connection table, update the model diagram using Ctrl+D.
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.
States — Pair values and labels
scalar and character vector
Pairs of values to assign to the connected variable or parameter and text to display on the block. Switches have two states — Top and Bottom — one corresponding to each switch position. Each state contains a Value and a Label.
Value — Value to assign to the connected variable or parameter when the switch is in the corresponding position.
Label — Text to display on the block for the corresponding position.
This table describes the default configuration for the block.
|Position||State Value||State Label|
To configure the States for the block programmatically,
specify the value of the
States parameter as a structure
array containing two elements with fields:
Value— Scalar double value for the state.
Label— String or character array to use as the label for the switch position.
topState.Value = 0; topState.Label = 'Off'; bottomState.Value = 1; bottomState.Label = 'On'; switchStates = [topState bottomState];
|Type: two element array of structures|
Label — Block label position
Top (default) |
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.
|Type: character vector|
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Dashboard blocks are ignored for code generation.
Version HistoryIntroduced in R2015a
R2023b: Open panel in new window
Starting in R2023b, you can open a dashboard panel in a new window. To do so, select the panel and pause on the ellipsis that appears. In the action menu that expands, click the Open In New Window button .
You can minimize and restore the new window containing the panel separately from the model window. From the panel window, you can run, pause, stop, and step through the simulation. In the panel window, you can edit the panel and the blocks it contains.
To return the panel to the model canvas, in the panel window toolstrip, click Open in canvas .
For more information about opening a panel in a new window, see Open Panel in New Window.
R2023a: Persistent panels tab in Simulink Toolstrip
When you add a dashboard panel to a model, the Panels tab appears in the Simulink Toolstrip and shows options for managing and editing panels.
Previously, the Panels tab was only visible when a panel was selected. Starting in R2023a, the Panels tab stays visible when no panel is selected.
The Panels tab also contains these new options:
You can add an empty panel.
You can rename the selected panel.
You can hide the selected panel.
R2022b: Undo and redo support for customizable dashboard blocks in panel
Starting in R2022b, you can undo and redo the changes you make to customizable dashboard blocks that are in a panel.
To undo or redo a change:
Click the panel or a block in the panel.
Press Ctrl+Z to undo the change, or press Ctrl+Y to redo the change.
The keyboard shortcuts are based on Windows®. On a Mac, press command (⌘) instead of Ctrl.
R2022b: Toolstrip support for panels
Starting in R2022b, you can use the Simulink Toolstrip to manage and edit panels and the dashboard blocks that they contain.
When you click a dashboard block in a panel, the toolstrip tab for the block appears. For example, when you click a Circular Gauge block, the Gauge tab appears in the toolstrip.
When you click a panel, the Panel tab appears in the toolstrip. The tab provides these options:
Manage the visibility of panels in the model.
Fit all unhidden panels within the current view.
Collapse the selected panel.
Customize the size and the contents of the panel.
Set a custom background image for the selected panel.
Add a new tab to the selected panel.
R2021a: Tune matrix and structure elements using dashboard blocks
Starting in R2021a, you can connect a block from the Dashboard library to a scalar element of a matrix or structure that defines the value of a tunable block parameter. When you connect a dashboard block to a tunable parameter, you first select one or more blocks. Then, in a dialog box, you select the parameter to which you want to connect. When you select a parameter that has a nonscalar value, specify the element you want to tune using the text box in the dialog box.
R2020b: Simulink Toolstrip support for dashboard blocks
Starting in R2020b, the Block tab in the Simulink Toolstrip turns into a block-specific tab when you select a block in your model that is from the Dashboard library in the Simulink library or from the Flight Instruments library in the Aerospace Blockset™ Flight Control Analysis library. From the toolstrip, you can connect, disconnect, and modify connections for the selected block. You can jump to the model element connected to the selected block, and you can add the selected block to a panel.
R2019a: Programmatically add and configure dashboard blocks
Starting in R2019a, you can use functions such as
set_param to create and configure blocks from the Dashboard
library in your model.