Parsing big structures to simulink fails??

1 visualización (últimos 30 días)
Nicolò Badodi
Nicolò Badodi el 2 de Dic. de 2020
Comentada: Nicolò Badodi el 3 de Dic. de 2020
I am trying to simulate a system that requires a lot of parameters to be loaded into Simuink.
These parameters are organized in a structure of the type:
constants
---> body1
---> value1
---> value2
---> ....
---> property 3
---> value1
---> value2
---> ...
---> body2
---> ....
---> ...
The structure is quite complex but all the values are constant.
What I'm doing now is running a script that defines this structure, and then I use the Simulink.Bus.CreateObject(constants) to generate a bus object bound to a "constant" block in Simulink.
Oddly enough the Simulink.Bus.CreateObject unpacks my struct and creates many objects, from various depths of my structure.
Any idea of I could import this damned structure to simulink??

Respuesta aceptada

Sara Nadeau
Sara Nadeau el 2 de Dic. de 2020
Loading data for a bus into Simulink involves two parts: the data itself and a definition of the bus data type.
For the data itself, you use your structure. The Bus object(s) you're creating define the bus data type. I believe you're seeing more than one bus object because your structure includes nested structures (which correspond to a nested bus). With a nested bus, you need to define the data type for that element of the bus using another Bus object.
To use your structure in the Constant block, you should be able to specify the value using the name of the variable in the workspace (could be base workspace or model workspace) with the structure data and then define the Output data type as Bus: myBusObject where myBusObject is the name of the Bus object for the top-level bus. You'll find the Output data type parameter for the Constant block on the Signal Attributes tab of the block dialog.

Más respuestas (0)

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by