Combo Box

Select parameter value from drop-down menu

  • Library:
  • Simulink / Dashboard

Description

The Combo Box block lets you set the value of a parameter to one of several values. You can define each selectable value and its label through the Combo Box block parameters. Use the Combo Box block with other Dashboard blocks to build an interactive dashboard of controls and indicators for your model.

Double-clicking the Combo Box 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.

Connecting Dashboard Blocks

Dashboard blocks do not use ports to make connections. To connect Dashboard blocks to variables and block parameters in your model, 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. If you only want to connect a single Dashboard block, you can also use the Connection table in the block dialog box to make the connection.

Tip

To facilitate understanding and debugging your model, 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 your model diagram. To connect Dashboard blocks to variables or modify variable values between opening your model and running a simulation, update your model diagram using Ctrl+D.

To enter connect mode, click the Connect button that appears above your unconnected Dashboard block when you pause on it.

In connect mode, when you select one or more signals or blocks, a list of parameters and signals available for connection appears. Select a signal or parameter from the list to connect the selected Dashboard block. To connect another Dashboard block, pause on the block and click the Connect button above it. Then, make a selection of signals and blocks in your model, and choose a signal or parameter to connect.

When you finish connecting the Dashboard blocks in your model, click the Exit button in the upper-right of the canvas to exit connect mode.

Tip

You can hide the message shown on unconnected blocks using the set_param function with the ShowInitialText block parameter.

Parameter Logging

Tunable parameters connected to Dashboard blocks are logged to the Simulation Data Inspector, where you can view 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 UI or by using the Simulink.sdi.exportRun function. For more information about exporting data with the Simulation Data Inspector UI, see Export Data from the Simulation Data Inspector. The parameter data is stored in a Simulink.SimulationData.Parameter object, accessible as an element in the exported Simulink.SimulationData.Dataset.

Limitations

  • Dashboard blocks can only connect to real scalar signals.

  • You cannot use the Connection table 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 signals 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.

  • Some signals are not available during accelerator mode simulations. To view such signals on a Dashboard block, mark the signal for logging.

  • Parameters specified by indexing a variable array do not appear in the Connection table. For example, a block parameter defined as engine(1) using the variable engine does not appear in the table.

    To access the parameter in the Connection table, assign the indexed value to a scalar variable, such as engine_1. Then, use the scalar variable to define the block parameter.

  • When you connect a Dashboard block to a variable or parameter during simulation, the data for that variable or parameter does not get 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, the Gain block displays changes made to its Gain parameter using the Dashboard blocks, but the Gain value used in the simulation does not change.

Parameters

expand all

Select the variable or block parameter to control using the Connection table. Populate the Connection table by selecting one or more blocks in your model. Select the radio button next to the variable or parameter you want to control, and click Apply. To facilitate understanding and debugging your model, you can connect Dashboard blocks to variables and parameters in your model during simulation.

Note

To see workspace variables in the connection table, update the model diagram using Ctrl+D.

Programmatic Use

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.

Block Parameter: Binding
Type: Simulink.HMI.ParamSourceInfo
Default: []

Set of states from which to select a value for the connected parameter. Each State consists of a State Value and a State Label.

  • State Value — Value assigned to the connected variable or parameter when you select the state with the corresponding Label.

  • State Label — Label for each state. You can use the Label to display the value the connected parameter takes when the switch is positioned at the bottom, or you can enter a descriptive text label.

Click the + button to add additional States.

The default configuration for the block includes these States.

State ValueState Label
0Label1
1Label2
2Label3

Programmatic Use

To programmatically configure the States for a block, use an array of structures containing the fields Value and Label. Include a structure in the array for each state you want to configure on the block.

state1.Value = 1;
state1.Label = 'State 1';
state2.Value = 2;
state2.Label = 'State 2';
radioStates = [state1 state2];
Block Parameter: States
Type: structure
Default: 3x1 structure array

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.

Example: myEnumType

Programmatic Use

To programmatically specify the state labels and values for the block using an enumerated data type, specify 'on' for the UseEnumeratedDataType parameter and the name of the enumerated data type for the EnumeratedDataType parameter.

Block Parameter: UseEnumeratedDataType
Type: string or character array
Values: 'on' | 'off'
Default: 'off'
Block Parameter: EnumeratedDataType
Type: string or character array
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.

Programmatic Use

Block Parameter: LabelPosition
Type: character vector
Values: 'Hide' | 'Bottom' | 'Top'
Default: 'Hide'

Block Characteristics

Data Types

double | integer | single

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

no

Zero-Crossing Detection

no

Extended Capabilities

Introduced in R2017b