Main Content

Simulink.BlockDiagram.createSubsystem

Create subsystem containing specified set of blocks

Description

example

Simulink.BlockDiagram.createSubsystem(blocks) creates a subsystem and moves the specified blocks into it. All of the specified blocks must originally reside in the same block diagram.

If any of the blocks have unconnected ports, the function creates and connects Inport and Outport blocks to them inside the subsystem.

If any of the blocks are input or output port blocks, the function creates Inport and Outport blocks in the parent system to connect to the corresponding ports on the new Subsystem block.

Simulink.BlockDiagram.createSubsystem() replaces the currently selected blocks with a new subsystem that contains those blocks.

example

Simulink.BlockDiagram.createSubsystem(___,Name,Value) specifies options using one or more name-value pair arguments in addition to the input arguments in previous syntaxes. For example, 'Name','MySubsystem' names the new subsystem 'MySubsystem'.

Examples

collapse all

Open or load the example model.

CreateSubsystemModel

Get the block handles for all blocks at the top level of the model by using the Simulink.findBlocks function.

bh = Simulink.findBlocks('CreateSubsystemModel');

Replace the contents of the model with a subsystem that contains the model contents.

Simulink.BlockDiagram.createSubsystem(bh);

Open or load the example model.

CreateSubsystemModel

Get the block handles for all blocks at the top level of the model by using the Simulink.findBlocks function.

bh = Simulink.findBlocks('CreateSubsystemModel');

Replace the contents of the model with a subsystem named ss1 that contains the model contents.

Simulink.BlockDiagram.createSubsystem(bh,'Name','ss1');

Input Arguments

collapse all

Block handles, specified as a numeric array. To get block handles, use the Simulink.findBlocks or gcbh functions.

Data Types: double

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: Simulink.BlockDiagram.createSubsystem(blocks, 'Name', 'MySubsystemName')

Name of the new subsystem, specified as the comma-separated pair consisting of 'Name' and a character vector or string scalar.

Data Types: char | string

Option to make the subsystem name unique, specified as the comma-separated pair consisting of 'MakeNameUnique' and 'on' or 'off'.

If the value that you specify for Name is already used in the diagram:

  • 'on' — Uses the next available increment of the name. For example, if Name is set to 'Controller' and the diagram already contains a block named 'Controller', the function names the new subsystem 'Controller1'.

  • 'off' — Returns an error.

Dependencies

To use this parameter, specify a value for the Name argument.

Data Types: char | string

Introduced in R2009a