Bus-Capable Blocks

Bus-capable blocks can accept bus signals as input, produce bus signals as output, or both. Some bus-capable blocks work with nonvirtual buses, but not with virtual buses. Some bus-capable blocks have additional requirements for bus signals; see the block documentation for details.

All virtual blocks

Assignment(nonvirtual buses)

Bus Assignment

Bus Creator

Bus Selector

Constant (nonvirtual buses)


Data Store Memory (nonvirtual buses)

Has no input port, can store bus signals 

Data Store Read (nonvirtual buses)


Data Store Write (nonvirtual buses)



(special requirements) (special requirements)

From File (nonvirtual buses)


From Workspace (nonvirtual buses)


Signal Editor (nonvirtual buses)


Interpolation Using Prelookup


Manual Switch


(special requirements) 


(special requirements)) 

Multiport Switch

(special requirements) (special requirements)


  (special requirements)

Rate Transition

(special requirements) 

Signal Conversion

(special requirements)

Signal Specification


(special requirements)

To File (nonvirtual buses)

(special requirements) 

To Workspace (nonvirtual buses)


Unit Delay

(special requirements)

Vector Concatenate(nonvirtual buses)

Zero-Order Hold

These modeling patterns support the use of buses. See the documentation for those features for any special considerations relating to the use of buses. Subsystems, models, and S-functions support the use of buses.

  • Subsystems

  • Model referencing

  • S-Functions

  • Stateflow® charts

  • MATLAB Function blocks

  • MATLAB System blocks

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.

Root level bus outputs are not logged when you select the Output configuration parameter. Use standard signal logging instead, as described in Export Signal Data Using Signal Logging.

Do not use signal logging for bus or arrays of buses directly from within a For Each subsystem. Either use a Bus Selector block to select the bus element signals to log or add an Outport block outside of the subsystem and then log that signal. For details, see Log Signals in For Each Subsystems.

See Also


Related Topics