フィルターのクリア

How can I programmatically replace a referenced model with a Subsystem in Simulink?

9 ビュー (過去 30 日間)
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
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 件)

カテゴリ

Help Center および File ExchangeSubsystems についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by