Создайте подсистему, содержащую заданный набор блоков
Simulink.BlockDiagram.createSubsystem(blocks)
Simulink.BlockDiagram.createSubsystem()
Simulink.BlockDiagram.createSubsystem(
создает новую подсистему и перемещает заданные блоки в подсистему. Все заданные блоки должны первоначально находиться в верхнем уровне модели или в той же существующей подсистеме в модели.blocks
)
Если какой-либо из блоков имеет несвязанные входные порты, команда создает блоки входного порта для каждого несвязанного входного порта в подсистеме и соединяет блок входного порта с несвязанным входным портом. Команда так же создает и соединяет блоки выходного порта для несвязанных выходных портов на заданных блоках. Если какой-либо из заданных блоков является входным портом, команда создает блок входного порта в родительской системе и соединяет ее с соответствующим входным портом недавно созданной подсистемы. Команда так же создает и соединяет блоки выходного порта для каждого из заданных блоков, который является блоком выходного порта.
Simulink.BlockDiagram.createSubsystem()
создает новую подсистему в в настоящее время выбранной модели и перемещает в настоящее время выбранные блоки в текущую модель к новой подсистеме.
|
Массив указателей блока Значение по умолчанию: |
Эта функция преобразует содержимое модели или подсистемы в подсистему.
function convert2subsys(sys) blocks = find_system(sys, 'SearchDepth', 1); bh = []; for i = 2:length(blocks) bh = [bh get_param(blocks{i}, 'handle')]; end Simulink.BlockDiagram.createSubsystem(bh); end
Например, предположите, что вы создаете эту модель и сохраняете ее как initial_model.slx
.
Выполните этот код, чтобы преобразовать модель, чтобы создать подсистему:
convert2subsys('initial_model');
Simulink.BlockDiagram.copyContentsToSubsystem
| Simulink.BlockDiagram.deleteContents
| Simulink.SubSystem.convertToModelReference
| Simulink.SubSystem.copyContentsToBlockDiagram