To reduce model complexity, group individual signals or messages into composite lines using buses.
Virtual buses meet most modeling requirements for composite interfaces and provide the flexibility to combine different types of signals.
For a comparison of modeling techniques, see Composite Interface Guidelines.
Bus Element Ports
|Extract and output elements of virtual vector signal
|Combine input signals of same data type and complexity into virtual vector
|Select input elements from vector, matrix, or multidimensional signal
|Concatenate input vectors of same data type for iterative processing
|Concatenate input matrices of same data type for iterative processing
Bus Element Ports
|Number of leaf elements in
|Leaf elements in
|Specify properties of buses
|Specify properties of elements of buses
|Convert cell array containing bus information to
Simulink.Bus objects from blocks or MATLAB
Simulink.Bus objects to create cell array containing bus
Simulink.Bus objects in function
MATLAB Structures from Buses
Composite Interface Basics
Visually Group Lines
- Group Signals or Messages into Virtual Buses
Create buses to reduce the number of lines in a block diagram.
- Simplify Subsystem and Model Interfaces with Bus Element Ports
Group multiple lines into a bus at the input or output of a model component.
- 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.
- Programmatically Create Bus Element Ports
Add blocks for bus element ports and specify element attributes using MATLAB® functions.
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
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 for iterative processing 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.
- Iteratively Process Nonvirtual Buses with Arrays of Buses
Update a model to use arrays of buses to apply the same algorithm to multiple nonvirtual buses with the same data type.