Display color that reflects signal value on lamp with customizable appearance
Simulink / Dashboard / Customizable Blocks
The Lamp block displays a color that reflects the value of the connected signal. To configure the Lamp block to provide the information you need during simulation, specify one or more states, which pair a signal value with a color for the Lamp block to display. When you use the Lamp block in the Customizable Blocks library, you can modify the appearance of the block so it looks like a real indicator lamp in your system. Use the Lamp block with other dashboard blocks to build an interactive dashboard of controls and indicators for your model.
Customize Lamp Blocks
When you add a Lamp 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 custom Lamp block, you can:
Select a shape for the region that changes color to reflect the value of the connected signal.
Select an icon from a built-in set of shapes, wireless icons, and automotive indicator lamps or upload your own custom icon.
Specify how to combine the shape and the icon.
Simple — Overlay the icon on top of the shape.
Intersect — Retain the intersection of the shape and icon as the area that changes color to reflect the signal value.
Subtract — Subtract the icon from the shape, producing a cut out in the shape of the icon in the area that changes color to reflect the signal value.
The intersect and subtract combination styles use transparency in the icon asset to produce the area that changes color. When you design a Lamp block that uses a custom icon, consider using an SVG or PNG file for the icon if you want your design to use the intersect or subtract options. Both formats support transparency, and SVG files also scale well in response to zoom operations.
Upload a background image or specify a background color to provide a background for the shape and icon.
Upload a foreground image that overlays the rest of the lamp 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 Lamp 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 change the icon and how the icon combines with the shape. To select a shape, background image or color, and foreground image, use the Design tab in the Property Inspector.
When you finish designing the lamp, click Exit in the upper-right of the canvas to exit design mode.
Connect Dashboard Blocks
Dashboard blocks do not use ports to connect to model elements. To connect dashboard blocks to signals 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. To connect a single dashboard block, you can also use the Connection table in the block dialog box.
You can modify dashboard block connections during normal and accelerator mode simulations.
To enter connect mode, select a dashboard block to connect. Then, on the block tab, click Connect. In connect mode, when you select one or more signals or blocks, a list of signals that are available for connection appears. Select a signal from the list to connect to the selected dashboard block. To connect another dashboard block, pause on the block you want to connect and click the Connect button above it. Then, select one or more signals and blocks in the model and choose a signal 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.
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.
You cannot connect a dashboard block to state activity or chart data in Stateflow® during simulation.
You cannot programmatically connect a dashboard block to state activity or chart data in Stateflow.
Some signals do not have data available during simulation due to block reduction or optimization for accelerator mode simulations. To view such a signal using a dashboard block, mark the signal for logging.
Connection — Signal to connect and display
signal connection options
Use the connection table to select the signal to connect to the block. To connect the block to a signal:
Make a selection in the model that includes one or more signals.
In the table, select the signal you want to connect.
You can connect dashboard blocks to signals in the model during simulation.
Label — Block label position
Top (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.
|Type: character vector|
Lock Aspect Ratio — Option to maintain block aspect ratio
on (default) |
Turn on this option to maintain the aspect ratio when resizing the block in the Simulink® canvas.
When the aspect ratio is locked, adding a new background image changes the aspect ratio of the block to match that of the background image.
When the aspect ratio is not locked, adding a new background image does not change the proportions of the block but instead stretches or scales the background image to fit the size of the block.
Specify State Values as Ranges — Option to specify ranges of values that activate states
Rather than specifying signal values that activate the Lamp block states, you can also specify ranges of signal values that activate the states. Select Specify State Values as Ranges and specify the minimum and maximum of the value range that activates each state.
To programmatically specify whether the states are each activated by a signal
value or by a range of signal values, specify the
parameter as a string or a character vector. To activate each state with a signal
activate each state with a range of signal values, set
|Type: character vector | string|
States — Signal value and color pairs
States match a display color to the value of the connected signal. Each state consists of a State and a Color.
State — Connected signal value or range of signal values that cause the Lamp block to display the specified color. To specify a range of values, select Specify State Values as Ranges and specify the minimum and maximum of the range of values that activates each state.
Color — Lamp color when the connected signal value matches the corresponding State value. You can select from a palette of standard colors or specify a custom color with
[undefined] state specifies the color of the
Lamp block when the connected signal value does not match any of the
values specified in the States table. Click the
+ button to add another state.
To programmatically specify the
Color parameter values for a Lamp block, use an
array of structures that contain these fields:
doublesignal value or vector specifying the minimum and maximum of a range of
doublesignal values that cause the Lamp block to display the specified color indication.
Specifying a vector enables the Specify State Values as Ranges option.
[r g b]vector with values between
1that specifies the color for the Lamp block to display.
lampState1.Value = [1 2]; lampState1.Color = [0 0 1]; lampState2.Value = [2 3]; lampState2.Color = [1 0 0]; lampStates = [lampState1 lampState2];
|Type: structure array|
ColorDefault parameter specifies the color for the
Lamp block when the value of the connected signal does not match any
of the specified state values. Specify the
[r g b] vector with values between
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Dashboard blocks are ignored for code generation.