Composite Signals
Use composite signals, such as buses, to group signals and reduce model
complexity
To simplify model appearance, combine individual signals into composite signals using these techniques:
Virtual buses
Nonvirtual buses
Mux signals
Concatenated signals
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.
Blocks
Functions
Tools
Bus Editor | Create, modify, and manage bus objects |
Model Explorer | View, modify, and add elements of Simulink models, Stateflow charts, and workspace variables |
Topics
Composite Signal Basics
- Types of Composite Signals
Reduce visual complexity in a model by combining signals into a composite signal. - Bus-Capable Blocks
Identify the blocks that support virtual buses, nonvirtual buses, and arrays of buses.
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
UnderstandSimulink.Bus
object uses and implementation. - Create Bus Objects Programmatically
Use functions and classes to defineBus
objects and bus elements, create bus objects from blocks, or createBus
objects 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.