Cant use nested bus objects with bus object arrays in simulink

30 visualizzazioni (ultimi 30 giorni)
Hello,
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:

Risposta accettata

Mark McBroom
Mark McBroom il 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
  2 Commenti
Timo
Timo il 3 Feb 2023
Modificato: Timo il 3 Feb 2023
Thank you, this helped. The selector part was important ("Vector selector", named selector, for anyone reading this)
Saifsiddique
Saifsiddique il 14 Feb 2024
I'm also stuck with the same problem. Does it mean that you selected for this particualr example Bus:Arrow instead of Bus: Quiver in the Data type?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulink Functions in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by