Cant use nested bus objects with bus object arrays in simulink
12 views (last 30 days)
Show older comments
Timo on 1 Feb 2023
I am trying to build a Bus (struct) (<Quiver>) that has an array of a nested bus type (<Arrow>). Later, I want to dissect this array (<arrows>), loop over it and use the members (<point>, <head>) of that bus object.
However, I get the following error:
Selected signal 'arrows.origin.x' in the Bus Selector block 'Demo/Inport' is invalid since it refers to a bus element within an array of sub-buses. The path to the array of sub-buses is 'arrows'. Please select the appropriate array element using a Selector block before using the Bus Selector block to access an element within the bus.
This is very annoying. Programatically this is totally normal, nested stucts. Why can I specify the dimension of that struct array, if it wont compile?
How can I do what I intend to do?
This is what I am doing, basically:
Mark McBroom on 3 Feb 2023
As the error message indicates, configure the bus selector to select the arrows element, which is an array of buses. You can then use a selector block to chose one or more of the elements from the array of buses... and/or you can feed into a For Each Subsystem to operate on each of the elements
More Answers (0)
Find more on Simulink Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!