- Find all S-function blocks in the model using find_sustem().
- Get the position of s-function block using get_param().
- Delete the s-function block using delete_block().
- Copy the Subsystem from back-up model file using add_block() at the same position.
Is it possible to write a script to automatically replace all S-Functions in a model with their counterpart Simulink Blocks?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a huge Simulink model which is filled with loads of S-Functions, and I'm looking to write some code to automatically replace them with Simulink blocks (i.e. the original blocks that the S-Functions replaced). There are too many to go through and do it manually. I was wondering if there's some way of calling the Simulink models?
I've tried using replace_block:
open ModelName
SFuns_loc = find_system('ModelName','BlockType','S-Function');
for s = 1:max(size(char(SFuns_loc)))
replace_block('ModelName','S-Function','Mux','noprompt');
end
So I can replace them with Muxes or bus creators etc (just as an example of how I'm using the replace_block function). However, what I need is a piece of code that will do the same thing as double-clicking on each S-Function and selecting "replace block with original Simulink Model".
Thanks for your advice in advance.
Ben
0 Commenti
Risposta accettata
TAB
il 6 Set 2012
Modificato: TAB
il 6 Set 2012
Try only
replace_block('ModelName','S-Function','Mux','noprompt');
It will replace all S-Function blocks in the model with Mux.
[EDITED]
I think replace_block() will not work here. You try with following steps
You can operate a loop to replace each S-function block one by one using above steps.
5 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Programmatic Model Editing 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!