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
Composite Signal Basics
Visually Group Lines
- Group Signal Lines into Virtual Buses
Combine signals into virtual buses, which only affect visual appearance.
- Simplify Subsystem and Model Interfaces with Buses
Use In Bus Element and Out Bus Element blocks for bus inputs and outputs.
- Display Bus Information
Display information about buses, such as signal hierarchy and whether the bus is virtual or nonvirtual.
- Identify Automatic Bus Conversions
Recognize modeling patterns that cause hidden Bus To Vector and Signal Conversion blocks.
Modify and Configure Buses
- Modify Bus Hierarchy
Change the order and hierarchy of nested buses and their elements.
- Assign Signal Values to Bus Elements
Use a Bus Assignment block to replace signals assigned to bus elements.
- Specify Initial Conditions for Bus Elements
Specify bus element values as initial conditions for buses.
- Share and Reuse Bus-Routing Blocks
Share blocks that create or interact with buses using subsystem references or custom libraries.
Define Bus Object Data Types
- Specify Bus Properties with Simulink.Bus Object Data Types
Simulink.Busobject uses and implementation.
- Create Bus Objects Programmatically
Use functions and classes to define
Busobjects and bus elements, create bus objects from blocks, or create
Busobjects from MATLAB® data.
Functionally Group Lines
- Create Nonvirtual Buses
Create buses that appear in generated code and support modeling constructs such as arrays of buses.
- Modify Sample Times for Nonvirtual Buses
Make the sample time of signals the same so that you can group them in a nonvirtual bus.
- Generate Code for Nonvirtual Buses
Use a structure in code generation to represent a nonvirtual bus. Control data types of initial condition structure fields.
- Inspect Generated Code for Nonvirtual Buses
Find nonvirtual buses in generated code for a simple model.
Simplify Iterative Processing
- Group Nonvirtual Buses in Arrays of Buses
Streamline a model by combining nonvirtual buses that have the same data type into an array.
- Work with Arrays of Buses
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 Models to Use Arrays of Buses
Convert an existing model that does not use arrays of buses to use arrays of buses.