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 |