Dynamic number of Simulink blocks, is it possible?

Is it possible to have simulink model that contains a dynamic number of blocs? E.g. have a model that creates N simulink subsystems of some given type? And how is this done?
Thanks :)
Benjamin

 Accepted Answer

You can use add_block to programmatically add blocks to a Simulink model. However, you cannot do this while the model is executing (because during this time, the model is locked by the engine, as it needs to be able to rely on the information from model compile).

3 Comments

One good alternative would be to insert extra blocks (those that would be added dynamically) and while the simulation is running use switches to "route" the signals to those blocks.
Awesome, thanks, that makes sense! How do you programmatically make the connections?
You can add User-defined blocks to your model and use the set_param function inside them to change the state of switches.
The embedded function block is probably the easy way but Level-2 M-file
S-Function block also work.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!