Adding a subsystem using an m file

조회 수: 24 (최근 30일)
Michael Joslin
Michael Joslin 2011년 8월 1일
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?

채택된 답변

Fangjun Jiang
Fangjun Jiang 2011년 8월 1일
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
Arnaud Miege
Arnaud Miege 2011년 8월 1일
Try:
add_block('built-in/Subsystem','Subsystem1')
Arnaud
Michael Joslin
Michael Joslin 2011년 8월 1일
I got it.
add_block('built-in/Subsystem',[sys '/Subsystem1'])
I forgot the sys in the brackets.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Paulo Silva
Paulo Silva 2011년 8월 1일
Simulink.BlockDiagram.createSubSystem(blocks)
  댓글 수: 1
Michael Joslin
Michael Joslin 2011년 8월 1일
I already have a section of code in my question that performs this. My question was how to add a subsystem and populate it using add_block.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Modeling에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!

Translated by