To simplify model appearance, combine individual signals into composite signals using these techniques:
For a detailed comparison of composite signals, see Types of Composite Signals.
Virtual buses meet most modeling requirements for combining signals into a composite signal and give you flexibility for combining different types of signals.
Name-Based Composite Signals (Buses)
Index-Based Composite Signals
|Demux||Extract and output elements of virtual vector signal|
|Mux||Combine input signals of same data type and complexity into virtual vector|
|Selector||Select input elements from vector, matrix, or multidimensional signal|
|Vector Concatenate, Matrix Concatenate||Concatenate input signals of same data type to create contiguous output signal|
|Specify properties of buses|
|Specify properties of elements of buses|
|Convert cell array containing bus information to Simulink.Bus objects|
|Use Simulink.Bus objects to create cell array containing bus information|
|Save Simulink.Bus objects in function|
MATLAB Structures from Buses
Visually Group Lines
Combine signals into virtual buses, which only affect visual appearance.
Use In Bus Element and Out Bus Element blocks for bus inputs and outputs.
Display information about buses, such as signal hierarchy and whether the bus is virtual or nonvirtual.
Recognize modeling patterns that cause hidden Bus To Vector and Signal Conversion blocks.
Modify and Configure Buses
Change the order and hierarchy of nested buses and their elements.
Use a Bus Assignment block to assign values to elements of a bus.
Specify bus element values as initial conditions for buses.
Share blocks that create or interact with buses using subsystem references or custom libraries.
Define Bus Object Data Types
Simulink.Bus object uses and
Use functions and classes to define
Bus objects and bus
elements, create bus objects from blocks, or create
from MATLAB® data.
Customize the Bus Editor import and export commands by writing MATLAB functions that provide the desired capabilities. Register these functions using the Simulink® Customization Manager.
Functionally Group Lines
Create buses that appear in generated code and support modeling constructs such as arrays of buses.
Make the sample time of signals the same so that you can group them in a nonvirtual bus.
Use a structure in code generation to represent a nonvirtual bus. Control data types of initial condition structure fields.
Find nonvirtual buses in generated code for a simple model.
Simplify Iterative Processing
Streamline a model by combining nonvirtual buses that have the same data type into an array.
Set up your model to use an array of buses to select signals, assign values to a signal, perform iterative processing, log and load signals, and initialize signals.
Convert an existing model that does not use arrays of buses to use arrays of buses.