Callback Button
Libraries:
Simulink /
Dashboard /
Customizable Blocks
Description
The Callback Button block executes MATLAB® code in response to a click or a press of the button. When you press the button, the code executes after a time span that you specify has elapsed or at time intervals that you specify. You can configure the block to execute different code for a click versus for a press. When you use the Callback Button block from the Customizable Blocks library, you can also customize the appearance of the block to look like a button in your real system.
To push the virtual button during simulation, click the Callback Button block. To push the virtual button when the simulation is not running, select the Callback Button, and then click the Callback Button block. While you press down your pointer for the click, 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:
PressFcn
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.ClickFcn
functions run when you release the button.
You can configure the button to remain pushed when you release the 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 Callback 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
Note
Double-clicking a connected Callback Button block during simulation does not open its dialog box. Clicking a connected Callback Button block to select the block, and then double-clicking the block also does not open its dialog box. To edit the block parameters in these cases, use the Property Inspector or right-click the block and select Block Parameters from the context menu.
Customize Callback Button Blocks
When you add a Callback 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:
In the Simulink® Toolstrip, 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 the Edit Custom Block button .
In design mode, you can use the toolbar above the block to customize the callback button. To access additional customization options or to enter exact values for design settings, use the Design tab in the Property Inspector.
When you customize a Callback Button block, you configure the block
appearance for each 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.
To select a state to customize, use the drop-down list in the toolbar. Alternatively, on
the Design tab, select the States component and
then select from the Select State list.
Design Mode Actions that Customize the Selected State
Action | Available in Toolbar | Available in Design Tab |
---|---|---|
Upload a state image. | Yes | Yes |
Upload a state icon. | Yes | Yes |
Specify the state label text. | No | Yes |
Specify the color and opacity of the state label text. | Yes | Yes |
Change the size of the state image and state icon. | No | Yes |
Change the position of the state label, state image, and state icon. | No | Yes |
In addition to customizing the block design using the toolbar and Design tab, you can also resize and reposition components interactively in the canvas. To resize a component specific to a state, such as the state image, select the state in the toolbar, and then resize or reposition the component.
Design Mode Actions that Apply to All States
Action | Available in Toolbar | Available in Design Tab |
---|---|---|
Upload a background image. | No | Yes |
Set a solid background color. | No | Yes |
Upload a foreground image. | No | Yes |
When you finish editing the design, to exit design mode, click the X in the upper right of the canvas.
Examples
Parameters
Block Characteristics
Data Types | |
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|
Tips
To design a button that changes the value of a variable or parameter in your model, use the Push Button block.