Bus-Capable Blocks
Blocks that support buses or arrays of buses can accept them as input, produce them as output, store them in memory, or perform a combination of these options. Block support for buses and arrays of buses can depend on block parameter settings.
This table describes whether a block supports virtual buses, nonvirtual buses, and arrays of buses.
Note
Buses that contain signals of enumerated data types do not pass through a block that requires a nonzero scalar initial value (such as a Unit Delay block). Use a structure value to initialize signals with enumerated types.
Block | Virtual Bus Support | Nonvirtual Bus Support | Array of Buses Support |
---|---|---|---|
All virtual blocks (see Nonvirtual and Virtual Blocks) | Supported Inport and Outport blocks at the top-level of a
model must specify | Supported | Supported with limitations All virtual blocks except Demux, Enable, Mux, and Trigger blocks support arrays of buses. |
Argument Inport | Not supported | Supported | Supported |
Argument Outport | Not supported | Supported | Supported |
Assignment | Not supported Use the Bus Assignment block instead. | Supported | Supported |
Bus Assignment | Supported | Supported | Not supported Use the Assignment block instead. |
Bus Creator | Supported | Supported | Supported Supports arrays of buses as input. To create arrays of buses, use the Vector Concatenate or Matrix Concatenate block. |
Bus Selector | Supported | Supported | Supported Supports arrays of buses as output. To select elements from arrays of buses, use the Selector block. |
C Caller | Supported | Supported | Supported |
C Function | Supported | Supported | Supported |
Chart (Stateflow) | Supported Supports virtual
buses when they are defined by a | Supported | Supported |
Constant | Not supported | Supported | Supported |
Data Store Memory | Not supported | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Data Store Read | Not supported | Supported | Supported |
Data Store Write | Not supported | Supported | Supported |
Delay | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
From File | Not supported | Supported | Not supported |
From Workspace | Not supported | Supported | Supported |
Function Caller | Not supported | Supported | Supported |
IC | Not supported | Supported | Supported |
In Bus Element | Supported | Supported | Supported Supports array of buses as output. |
Inport | Supported When receiving a
virtual bus at the top-level of a model, the virtual bus must be defined by a
| Supported | Supported |
Interpolation Using Prelookup | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. Supports arrays of buses as input. |
Manual Switch | Supported | Supported | Supported |
MATLAB Function | Supported Supports virtual
buses as input when they are defined by a | Supported | Supported |
MATLAB System | Supported Supports virtual
buses as input when they are defined by a | Supported | Supported |
Matrix Concatenate | Not supported Use the Bus Creator block instead. | Supported Supports nonvirtual buses as input. To create nonvirtual buses, use the Bus Creator block. | Supported |
Memory | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Merge | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Model | Supported Supports virtual buses when they are defined by one of these options:
| Supported | Supported |
Multiport Switch | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Out Bus Element | Supported | Supported | Supported Supports arrays of buses as input. |
Outport | Supported When connected to a
virtual bus at the top-level of a model, the virtual bus must be defined by a
| Supported | Supported |
Permute Dimensions | Not supported | Supported | Supported |
Playback | Supported | Supported | Supported |
Prelookup | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported Supports arrays of buses as output. |
Probe | Supported Supports virtual buses as input. | Supported Supports nonvirtual buses as input. | Supported Supports arrays of buses as input. |
Rate Transition | Supported | Supported | Supported |
Reshape | Not supported | Supported | Supported |
S-Function | Supported Supports virtual
buses when they are defined by a | Supported | Supported |
Selector | Not supported Use the Bus Selector block instead. | Supported Supports nonvirtual buses as output. To select elements from nonvirtual buses, use the Bus Selector block. | Supported |
Signal Conversion | Supported To convert a virtual
bus to a nonvirtual bus, specify a | Supported | Supported Supports array of
buses when Output is set to |
Signal Editor | Not supported | Supported For requirements, see the block documentation. | Supported |
State Reader | Not supported | Supported | Supported |
State Writer | Not supported | Supported | Supported |
Subsystem | Supported | Supported | Supported |
Switch | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
To File | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Not supported |
To Workspace | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Unit Delay | Supported | Supported | Supported |
Vector Concatenate | Not supported Use the Bus Creator block instead. | Supported Supports nonvirtual buses as input. For requirements, see the block documentation. | Supported For requirements, see the block documentation. |
Width | Supported Supports virtual buses as input. | Supported Supports nonvirtual buses as input. | Supported Supports arrays of buses as input. |
Zero-Order Hold | Supported | Supported | Supported |