Rotary Switch
Change parameter or variable value using rotary switch with customizable appearance
Since R2021b
Libraries:
Simulink /
Dashboard /
Customizable Blocks
Description
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.
A real rotary switch has multiple settings. The Rotary Switch block treats these settings as different states. A state pairs a State Value with a handle orientation, a click area, and a State Label that is displayed on the click area.
You can activate a state by clicking its click area or by dragging the handle and releasing it over the click area. When you activate the state, the State Value is assigned to the Simulink® block diagram element to which the Rotary Switch block connects.
Collectively, the state click areas cover the area of the block within the angular range that the handle traverses when it moves from the first state to the last state. The state labels are evenly spaced over the range, with the first label at the start of the range, and the last label at the end of the range. The range is subdivided into click areas such that the borders of adjacent click areas bisect the angular distance between labels.
Note
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
Customize Rotary Switch Blocks
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.
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 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 specify the arc the handle traverses when it moves from the first state to the last state.
To change the arc length, on the Design tab, in the Rotary Switch component, specify the Arc.
To change the orientation of the arc, in the Rotary Switch component, specify the Start Angle.
You can replace the handle image and background image using the toolbar above the block.
To resize the handle, select the handle in the canvas. Then, click and drag the grab points that define its dimensions. To reposition the handle, click and drag it in the canvas.
You can add any number of states to the block. To add or delete states, use the toolbar above the block.
For each state, you can:
Specify the State Label text and color.
Specify the State Value.
To change the color of the State 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.
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 State Value.
Configure the State Label.
Upload a foreground 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 Workspace or 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 |
|
Tips
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.
To design a control that applies values to a connected variable or parameter from a continuous range, use the Knob, Horizontal Slider, or Vertical Slider blocks.