Push Button
Change parameter or variable value using button with customizable appearance
Since R2021b
Libraries:
Simulink /
Dashboard /
Customizable Blocks
Description
Use the Push Button block to change the value of the connected variable or parameter before or during simulation. You can configure the button to change the value only while you press the button or to latch the value change until you click the button again. When you use the Push Button block in the Customizable Blocks library, you can modify the appearance of the block so it looks like a button in your real system. Use the Push Button block with other Dashboard blocks to create an interactive dashboard to control your model.
To push the virtual button, click the Push Button block. While you press down your pointer, the button is pushed. When you release your pointer, you release the button.
You can use callback functions to specify what you want the button to do:
PressFcns
functions run while the button is pushed. You can configure the button to run thePressFcn
function only once while the button is pushed, or you can specify a repeat interval.ClickFcns
functions run when you release the button.
You can configure the button to stay pushed when you release your pointer by setting the
Button Type to Latched
. When you choose the latched
button type:
To latch the button, click the button.
To unlatch the button, click the button again.
The PressFcn
function runs while the button is latched. The
ClickFcn
function runs once when you latch the button, and once when
you unlatch the button.
You can use states to specify how the appearance of the Push Button block changes when you interact with the button:
While you push the button, the block is in the
Pressed
state.When the button is latched and you are not pushing it, the block is in the
Latched
state.When the button is latched and you are pushing it, the block is in the
Latched and Pressed
state.When the block is not in any of these three states, it is in the
Default
state.
A state pairs pointer actions with:
A State Label
A state icon
A state image
The Pressed
, Latched
, and
Latched and Pressed
states also pair pointer actions with the
On Value of the Push Button block. When you enter one of
these states from the default state, the On Value is assigned to the
Simulink® component to which the Push Button block connects.
Note
Double-clicking the Push Button block does not open its dialog box during simulation or when the block is selected. To edit the block parameters, you can use the Property Inspector or open the block dialog box by:
Double-clicking the block when the block is not selected and the model is not simulating
Right-clicking the block and selecting Block Parameters from the context menu
Customize Push Button Blocks
When you add a Push Button 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 Gauge 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 the Edit Custom Block button.
When you design a Push Button block, you configure the block appearance
for each possible state. When you configure the Block Type as
Momentary
, the block has two states. When you configure the
Block Type as Latch
, the block has four.
You can use the toolbar above the block to switch states. For each state, you can:
Upload a state image.
Upload a state icon and specify the position of the icon relative to the state label.
Specify the State Label text, color, opacity, and position.
For the Pressed
, Latched
, and
Latched and Pressed
states, you can specify the On
Value.
You can also upload a foreground or a background image, or set a solid background color. The foreground and background apply to all states.
Use the toolbar above the block to configure the image, the icon, and the State Label color and opacity.
You can use the Design tab in the Property Inspector for fine control over the block design and to enter exact values for design settings.
Use the Design tab to:
Specify the On Value.
Specify the State Label text and position.
Specify the icon position.
Upload a foreground image.
Upload a background image.
Set a solid background color.
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 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, 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, 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
.
Examples
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
Block Characteristics
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|