Main Content


Group blocks into functional subsystems, create model hierarchy

As a model increases in size and complexity, you can simplify it by grouping blocks into subsystems. A subsystem is a set of blocks that you group into a single Subsystem block.

Using subsystems:

  • Establishes a hierarchical block diagram, where a Subsystem block is on one layer and the blocks that make up the subsystem are on another.

  • Keeps functionally related blocks together.

  • Helps reduce the number of blocks displayed in your model window.

  • Establishes an interface with inputs and outputs.

When you make a copy of a subsystem, that copy is independent of the source subsystem. To reuse the contents of a subsystem across a model or across models, consider referenced subsystems, referenced models, or subsystems linked to a block in a custom library. For more information, see Explore Types of Model Components.

A subsystem can be virtual or nonvirtual. A virtual subsystem provides graphical hierarchy in a model. A nonvirtual subsystem provides graphical hierarchy and executes as a unit within a model.


SubsystemGroup blocks to create model hierarchy


développer tout

Simulink.BlockDiagram.createSubsystemCreate subsystem containing specified set of blocks
Simulink.BlockDiagram.copyContentsToSubsystemCopy graphical contents from system to empty subsystem
Simulink.BlockDiagram.expandSubsystemReplace subsystem with subsystem contents
Simulink.SubSystem.convertToModelReferenceConvert subsystem to model reference
Simulink.SubSystem.copyContentsToBlockDiagramCopy graphical contents from subsystem to another model
Simulink.SubSystem.deleteContentsDelete contents of subsystem
convertAllSubsystemReferenceBlockToSubsystemConverts all subsystem reference blocks to regular Subsystem blocks (depuis R2022a)
convertSubsystemReferenceBlockToSubsystemConverts a subsystem reference block to a regular Subsystem block (depuis R2022a)
convertSubsystemToSubsystemReferenceConverts a Subsystem block to subsystem reference (depuis R2022a)
getActiveInstancesReturns all the active instances of subsystem references (depuis R2022a)
getAllDirtyInstancesReturns child Subsystem block diagrams that are referred in the given block diagram and are also being edited (depuis R2022a)
getAllInstances Returns all subsystem reference blocks inside a block diagram (depuis R2022a)
getAllReferencedSubsystemBlockDiagrams Returns all the child Subsystem block diagrams for a given block diagram (depuis R2022a)
getNearestParentSubsystemReferenceBlock Returns the nearest parent subsystem reference for a block (depuis R2022a)
getSystemOwningTheLockReturns the system that has acquired the lock for editing (depuis R2022a)
isSystemLocked Checks if the system is locked due to an edit or update to the subsystem reference (depuis R2022a)
Simulink.SubsystemReference.generateSignaturesGenerate unit test signatures of subsystem file (depuis R2023a)
Simulink.SubsystemReference.getUnitTestNamesReturn names of unit tests of subsystem file (depuis R2023a)
Simulink.SubsystemReference.removeSignaturesRemove previously generated unit test signatures of subsystem file (depuis R2023a)
Simulink.SubsystemReference.showSignatureDiffDialogForSSOpen dialog to show difference in signatures of two subsystem blocks (depuis R2023a)
Simulink.SubsystemReference.showSignatureDiffDialogForUnitTestsOpen dialog to show difference in signatures of subsystem reference instance with unit test signatures (depuis R2023a)


Model Reference Conversion AdvisorConvert subsystems to referenced models
Referenced Files PaneView, save, and close referenced subsystems and models (depuis R2020b)



Subsystem References