In Bus Element, Bus Element In
Select signal that connects to input port
Description
The In Bus Element block, also known as the Bus Element
In block, combines the functionality of an Inport block and a
Bus Selector block. This block is of the Inport block
type and all In Bus Element blocks that use the same port share a Block
Parameters dialog box.
You can use an In Bus Element block to select a virtual bus element,
virtual bus, or nonbus signal associated with the port. To select multiple signals from
a bus, use multiple In Bus Element blocks.
Create Port and Related Blocks
When you insert an In Bus Element block, the block label populates
with default values. The label consists of two interactive text fields: the port
name and the bus element. To change the name of the port associated with the block,
edit the first text field in the label by clicking in it.
To create related In Bus Element blocks, in the Block Parameters
dialog box, you can select the Add blocks for selected
signals
button.
If multiple blocks are associated with the same port and you change the name of
the port, all blocks that share the port update to reflect the new port name.
You can create additional ports by holding Ctrl while you drag an
existing In Bus Element block to a new location. Upon releasing the
mouse, you have the option to create a port or use the existing port associated with
the block being copied.
Examine Port Input
You can view the signals associated with a port in the Block Parameters dialog box
for any of the related In Bus Element blocks.
Black element names are already associated with an In Bus Element
block. Grey element names are available, but are not being used. Red element names
are not available in the input bus, despite being specified by an In Bus
Element block.
You can create In Bus Element blocks for each selected signal by
clicking the Add blocks for selected signals button
.
To remove blocks associated with selected elements, such as elements which are
unavailable in the input bus, click the Remove blocks of selected
signals button
.
Select a Signal
To change the bus element associated with the block, edit the second text field in
the label by clicking in it.
If a bus is connected to the port, you can select an element of the bus from the
list that appears. To see all elements of the bus along with the previously
specified signal, clear the text. The list of elements is filtered to include only
the elements that contain the existing text.
Each dot in the part of the label that describes the bus element indicates a new
level of bus hierarchy. To reduce the size of the label, you can display only the
signal name by selecting the block, pausing over the ellipsis, and selecting
Compact Notation from the action bar. To show the signal
hierarchy again, select Expanded Notation from the action
bar.
You can pass through the entire input connected to the port, including nonbus
signals, by deleting the text from the second text field. Referenced models do not
support passing through an entire bus.
Load Input Data
You can use an In Bus Element block to load external input data for
a bus. An In Bus Element block can load data for an element of a bus
or for an entire bus. When you use an In Bus Element block to load
data for an entire bus, you must specify the data type for the block using a Simulink.Bus
object. For more
information about loading input data for bus elements, see Load Input Data for a Bus Using In Bus Element Blocks.
You can load simulation input data for a group of root-level In Bus
Element blocks by using a structure of timeseries
,
timetable
, or SimulationDatastore
objects.
In Bus Element blocks interpolate loaded data for all data types
except string
, enumerated
, and fixed
point
.
Ports
Output
expand all
Port_1
— Selected input signal
signal
Selected input bus or bus element that is associated with an external
subsystem or model port.
Data Types: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| Boolean
| fixed point
| enumerated
| bus
Parameters
expand all
Port name
— Name of input port
InBus
(default) | port name
Specify a port name that is not already in use by another block or port.
The name appears on the parent Subsystem or
Model block. The name also appears next to the block.
Multiple blocks can access the same port.
Programmatic Use
Block Parameter:
PortName |
Type: character vector |
Values:
'InBus' | '<port name>' |
Default:
'InBus' |
Port number
— Position of port on parent block
1
(default) | real integer
Specify the order in which the port that corresponds to the block appears on the
parent Subsystem or Model block.
If you add a block that creates another port, the port number is the next
available number.
Deleting all blocks associated with a port deletes the port. Other ports
are renumbered so that they are sequential and do not skip any
numbers.
Specifying a port number that exceeds the number of ports creates a port
for that number and for any skipped sequential numbers.
Programmatic Use
Block Parameter:
Port |
Type: character vector |
Values: real integer |
Default:
'1' |
Set color
— Specify block background color
Black
(default) | White
| Red
| Green
| Blue
| Cyan
| Magenta
| Yellow
| Gray
| Light Blue
| Orange
| Dark Green
| More Colors
Specify the block background color. This specification sets the color of blocks associated
with selected bus elements, or of all blocks associated with the port if you do not
select any bus elements.
Programmatic Use
Block Parameter:
BackgroundColor |
Type: character vector |
Values:
'black' | 'white |
'red' | 'green' |
'blue' | 'cyan' |
'magenta' | 'yellow' |
'gray' | 'lightBlue' |
'orange' | 'darkGreen' |
'[r,g,b]' where r ,
g , and b , are the red, green, blue
values of the color in the range 0.0 to 1.0 |
Default:
'black' |
Filter
— Filter set of displayed signals
text
Specify a search term to use for filtering a long list of bus elements. Do not enclose the
search term in quotation marks. The filter does a partial string search and supports
regular expressions. To use a regular expression character as a literal, include an
escape character (\
). For example, to use a question mark, type
sig\?1
.
Signal Attributes
To specify signal attributes, click the pencil button or the specified attributes next to
a signal name.
Data Type
— Data type
Inherit: auto
(default) | built-in Simulink® data type | fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| Enum: <class name>
| Bus: <object name>
| <data type expression>
Specify the data type. The type can be inherited, specified directly, or
expressed as a data type object such as
Simulink.NumericType
.
Examples of built-in data types include double
and
uint8
. For more information, see Data Types Supported by Simulink.
If you specify a data type expression, specify an expression that evaluates to
a Bus
object.
Dimensions
— Signal dimensions
-1
(default) | integer | [integer, integer]
Specify the dimensions of a signal.
-1
| The signal can have any dimensions. |
N
| The signal must be a vector of size
N . |
[R C]
| The signal must be a matrix having R
rows and C columns. |
Programmatic Use
Block Parameter:
PortDimensions |
Type: character vector |
Values: '-1' |
integer | [integer, integer] |
Default:
'-1' |
Dims Mode
— Allow variable-size signals
Inherit
(default) | Fixed
| Variable
Specify the type of signals allowed. To allow variable-size and fixed-size
signals, select Inherit
. To allow only variable-size
signals, select Variable
. To not allow variable-size
signals, select Fixed
.
Dependencies
When the signal is variable-sized, the Dimensions
parameter specifies the maximum dimensions of the signal.
Command-Line Information
Parameter:
VarSizeSig
|
Type: character vector |
Value:
'Inherit '| 'No' |
'Yes'
|
Default:
'Inherit'
|
Unit
— Physical unit of the signal
inherit
(default) | <Enter unit>
Specify the physical unit of the signal. For a list of supported units, see
Allowed Unit Systems.
Programmatic Use
Block Parameter:
Unit
|
Type: character vector |
Values:
'inherit' | '<Enter unit>'
|
Default:
'inherit'
|
Sample time
— Specify sample time
-1
(default) | scalar
Specify the discrete interval between sample time hits or specify another
appropriate sample time such as continuous or inherited.
By default, the signal inherits its sample time. To set a different sample
time, enter a valid sample time based on the table in Types of Sample Time.
Programmatic Use
Block Parameter:
SampleTime |
Type: character vector |
Values: scalar |
Default:
'-1' |
Complexity
— Signal type
auto
(default) | real
| complex
Specify the numeric type of the signal. To choose the numeric type of the
signal, select auto
. Otherwise, choose a real or
complex signal type.
Programmatic Use
Block Parameter:
SignalType |
Type: character vector |
Values:
'auto' | 'real' |
'complex' |
Default:
'auto' |
Minimum
— Minimum value
[]
(default) | scalar
Lower value of the range that Simulink checks.
This number must be a finite real double scalar value.
Simulink software uses this value to perform:
Simulation range checking (see Specify Signal Ranges).
Automatic scaling of fixed-point data types.
Optimization of the code that you generate from the model. This
optimization can remove algorithmic code and affect the results of
some simulation modes such as SIL or external mode. For more
information, see Optimize using the specified minimum and maximum values (Embedded Coder).
Programmatic Use
Block Parameter:
OutMin |
Type: character vector |
Values: '[ ]' |
scalar |
Default: '[
]' |
Maximum
— Maximum value
[]
(default) | scalar
Upper value of the range that Simulink checks.
This number must be a finite real double scalar value.
Simulink software uses this value to perform:
Simulation range checking (see Specify Signal Ranges).
Automatic scaling of fixed-point data types.
Optimization of the code that you generate from the model. This
optimization can remove algorithmic code and affect the results of
some simulation modes such as SIL or external mode. For more
information, see Optimize using the specified minimum and maximum values (Embedded Coder).
Programmatic Use
Block Parameter:
OutMax |
Type: character vector |
Values: '[ ]' |
scalar |
Default: '[
]' |
Block Characteristics
Data Types | Boolean | bus | double | enumerated | fixed point | half | integer | single | string
|
Direct Feedthrough | no
|
Multidimensional Signals | yes
|
Variable-Size Signals | yes
|
Zero-Crossing Detection | no
|
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
HDL Code Generation
Generate Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.
This block can be used to simplify the Subsystem bus interfaces
when you use the block in subsystems that generate HDL code, but is not included in
the hardware implementation.
To learn more about using buses for HDL code generation, see Buses (HDL Coder) and Use Bus Signals to Improve Readability of Model and Generate HDL Code (HDL Coder).
Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.
Introduced in R2017a