How can I programmatically replace a referenced model with a Subsystem in Simulink?
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 18 Juin 2018
Réponse apportée : MathWorks Support Team
le 18 Juin 2018
I have a Simulink model with a model reference. I would like to programmatically replace the 'Model' block with a 'Subsystem' block.
Réponse acceptée
MathWorks Support Team
le 18 Juin 2018
Assuming that you have a 'parent.slx' model which references a model 'child.slx' (whose block name is 'Model' in the parent Simulink model), use either of the following options:
1)
>> open_system('parent');
>> add_block('built-in/Subsystem',['parent/mySub']);
>> load_system('child');
>> Simulink.BlockDiagram.copyContentsToSubsystem('child',['parent/mySub']);
>> pos = get_param('parent/Model','position');
>> delete_block('parent/Model');
>> set_param('parent/mySub','position',pos);
2)
>> open_system('parent');
>> load_system('child');
>> convert2subsys('child');
>> add_block('child/Subsystem','parent/mySub');
>> pos = get_param('parent/Model','position');
>> delete_block('parent/Model');
>> set_param('parent/mySub','position',pos);
>> close_system('child',0);
where 'convert2subsys' is defined at the following link:
Please refer to the attachment for further details.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Subsystems dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!