Change parameter or variable value using rotary switch with customizable appearance
Simulink / Dashboard / Customizable Blocks
Use the Rotary Switch block to change the value of the connected variable or parameter before or during simulation. When you use the Rotary Switch block in the Customizable Blocks library, you can customize the appearance of the block to look like a real rotary switch in your system. Use the Rotary Switch block with other dashboard blocks to create an interactive dashboard for your model.
Double-clicking the Rotary Switch 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.
When you add a Rotary Switch 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.
When you design a rotary switch using the Rotary Switch block, you configure:
The block background.
You can upload a background image or specify a solid background color.
The handle that rotates to indicate the state of the block.
After you add a handle image, you can rotate the image in 90 degree increments and change the handle size and position.
The circular arc along which the block evenly distributes the states.
Set the start and end points of the arc by specifying a start angle and the arc angle.
The label radius that sets the position for the state labels.
The number of states for the block.
The labels for each state, which are visible on the block.
To change the color of the labels, on the Format tab, under Style, click the arrow on the Foreground button and select a color. You can select from a palette of standard colors or click Custom Colors to specify a custom color.
The value the block assigns to the connected variable or parameter for each state.
You can also add a foreground image to the design.
To customize the appearance of the block, use design mode. You can enter design mode in one of three ways after selecting the block:
On the Button 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.
Design mode gives you access to block parameters and settings that allow you to customize the appearance of the block. You can use the toolbar above the block to configure the image, the icon, and the label color and opacity for each state. For more customization options, use the Design tab in the Property Inspector.
When you finish designing the rotary switch, click Exit in the upper-right of the canvas to exit design mode.
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, 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,
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 the Workspace or a 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
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.b to connect to scalar element
b of the structure or bus
nested 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— Block state labels and values
Each state pairs a State Value with a State Label. When the block is in a given state, it assigns the State Value for that state to the connected variable or parameter. You can use the State Label to display the value assigned to the connected variable or parameter on the block or to provide a descriptive text label.
By default, the switch has these states.
|State Value||State Label|
To add a state, click the + button. To remove a state, click the - button.
You can also configure the states for the block in design mode by using the toolbar above the block or the Design tab in the Property Inspector.
Enumerated Data Type— Specify state values and labels using an enumerated data type
You can use an enumerated data type that pairs a numeric value with each enumeration to configure the state values and labels for the block. To specify the states for the block using an enumerated data type, first select the Enumerated Data Type option. Then, specify the name of the enumerated data type in the text box. The definition for the specified enumerated data type must be saved on the MATLAB path or in the base workspace.
Label— Block label position
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|
Lock Aspect Ratio— Whether to maintain block aspect ratio
Whether to maintain the block aspect ratio when resizing the block and when you specify a new background image.
The Rotary Switch block allows you to design a circular control, with the state labels and the click areas that cause state transitions distributed along an arc. For more flexibility in the design of a control block with several states, use one of the customizable switch blocks. Each block is preconfigured with two states, but you can add and configure any number of states as required by your design.
Dashboard blocks are ignored for code generation.