Adding a subsystem using an m file
38 views (last 30 days)
Show older comments
I am using the following code to create a simulink model via text:
%%Test model for learning how to build simulink models in script
%Clean up
clear;
clc;
%%open the model
sys = 'testModel';
delete('testModel.mdl')
new_system(sys) % Create the model
open_system(sys) % Open the model
%%Place blocks
pos1 = [0 0 30 30];
pos2 = [80 0 120 30];
offset = [0 60 0 60];
for i = 1:10;
add_block('built-in/Constant',[sys strcat('/Constant',num2str(i))],'Value','7','Position',pos1);
add_block('built-in/gain',[sys strcat('/gain',num2str(i))], 'Gain','3','Position',pos2);
%Connect blocks
add_line(sys,strcat('Constant',num2str(i),'/1'),strcat('gain',num2str(i),'/1'),'autorouting','on')
pos1=pos1+offset;
pos2=pos2+offset;
end
add_block('built-in/Subsystem','/Subsystem1')
% blocks = find_system(sys, 'SearchDepth', 1);
% bh = cell(length(blocks),1);
% for i = 2:length(blocks)
% bh = [bh get_param(blocks{i}, 'handle')];
% end
% Simulink.BlockDiagram.createSubSystem(bh);
%%Save and close system
pause %hit enter to continue
save_system(sys)
close_system(sys)
I want to place all of the blocks I just created into a subsystem, is it possible to do this with add_block command?
0 Comments
Accepted Answer
Fangjun Jiang
on 1 Aug 2011
You can do that. The easiest way to do is to add your Subsystem block first.
add_block('built-in/Subsystem','/Subsystem1')
And then add all the other blocks you want by specifying the destination.
add_block('built-in/Constant','/Subsystem1/MyConstant')
3 Comments
More Answers (1)
See Also
Categories
Find more on Subsystems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!