Modify Bus Hierarchy
To view the hierarchy of a bus, right-click on the associated signal line and click Signal Hierarchy in the context menu. You can also see the signal hierarchy in the block parameter dialog box for the Bus Creator, Bus Assignment, Bus Selector, In Bus Element, and Out Bus Element blocks.
To change the hierarchy of elements in a bus, you can:
Separate a bus into its constituent signals with a Bus Selector block, then reassemble the signals with one or more Bus Creator blocks.
For an Out Bus Element block, edit the second part of the label, which corresponds to the bus element. Suppose you have a bus element named
signal1and you want to move
signal1into a nested bus named
NestedBus. You would change the part of the label that corresponds to the bus element from
In the Out Bus Element block parameter dialog box, click and drag signals to different hierarchy levels.
To change the order of elements in a bus:
In the Bus Creator block parameter dialog box, select one signal or adjacent signals, then click the Up or Down button.
In the Out Bus Element block parameter dialog box, click and drag signals within their existing hierarchy level.
When you change the bus hierarchy, Simulink® automatically handles most of the complexities involved. For example,
Simulink repairs broken selections in the Bus Selector and
Bus Assignment block parameter dialog boxes due to upstream bus
hierarchy changes. By default, the related Repair bus selections configuration parameter is set to
Warn and repair. The repairs occur when you update a
To change the value of elements in a bus, use a Bus Assignment block. For details, see Assign Signal Values to Bus Elements.
Resolve Circular Dependencies in Buses
Nesting buses can produce a loop of blocks where a bus is an element of itself. This circular definition cannot be resolved and therefore causes an error. To trace the loop, you can use the location cited in the error message.
Select a signal line associated with the location cited in the error message.
Right-click a signal and choose Highlight Signal to Source or Highlight Signal to Destination. See Highlight Signal Sources and Destinations for more information.
Continue choosing signals and highlighting their sources and destinations until the loop becomes clear.
Restructure the model to eliminate the circular bus definition.
Because the problem is a circular definition, rather than a circular computation, the cycle cannot be broken by inserting additional blocks. For example, you cannot fix a circular definition the way that you break an algebraic loop by inserting a Unit Delay block. You must restructure the model to eliminate the circular bus definition.