How can I programmatically replace a referenced model with a Subsystem in Simulink?
9 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2018 年 6 月 18 日
回答済み: MathWorks Support Team
2018 年 6 月 18 日
I have a Simulink model with a model reference. I would like to programmatically replace the 'Model' block with a 'Subsystem' block.
採用された回答
MathWorks Support Team
2018 年 6 月 18 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Subsystems についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!