Simulink: Is there an easy way to replicate a sub-system in the same simulation?

8 views (last 30 days)
I have a simulation composed of several interconnected subsystems, and I wish extend this to simultaneously, but independently, simulate the same process, but in the reverse direction.
I know that I can copy & paste my existing blocks, then manually rename the variables, gotos, etc.
Wondering if there is a simple and easy way to do this where these are renamed automatically (maybe adding pre-/suffix to the existing names)?
I've tried to keep this general, as I think any answer would apply whatever you might be doing with simulink, but am happy to provide any and all details, if it will help someone find an easier solution.

Accepted Answer

Sebastian Castro
Sebastian Castro on 31 Jul 2015
You can automate this using a script. Some relevant functions include:
  • add_block to add and copy blocks, as well as position them
  • add_line to connect blocks together
  • set_param to rename blocks or change block parameters e.g. Goto/From tag names
- Sebastian
  3 Comments
Sebastian Castro
Sebastian Castro on 31 Jul 2015
I've done a little bit of this. I know that people generally use these techniques to string together multiple repetitive blocks, for example, strings of battery cells or finite-element models.
You can use "find_system" to do your search of blocks inside a subsystem... or even to search for the subsystems themselves.
To get a list of all block parameters, you can do:
>> get_param(blockName,'ObjectParameters');
- Sebastian
Daniel Tweed
Daniel Tweed on 31 Jul 2015
Thanks, I thought this would be a lot more complicated. I was looking at about 150 individual params needing to be changed and, although I could invest the time to do it manually if needed, I assumed there must be an easier way.
Daniel

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!