Main Content

Composite Components

Construct custom components by connecting multiple components

A composite component is constructed out of other components. To create a composite component, you have to list the names of the member (constituent) components and then specify how the ports of the member components are connected to each other and to the external ports of the composite component. You also specify which parameters of the member components are to be visible, and therefore adjustable, in the block dialog box of the composite component.

Language Syntax

componentsDeclare member components included in composite component
connectConnect two or more component ports of the same type
connectionsDefine connections for member component ports in composite component
importImport model classes


subsystem2sscConvert subsystem containing Simscape blocks into equivalent Simscape file or files


Basic Techniques for Creating Composite Components

About Composite Components

A composite component is constructed out of other components.

Declaring Member Components

A components declaration block begins with a components keyword and is terminated by an end keyword.

Parameterizing Composite Components

Composite component parameters let you adjust the desired parameters of the underlying member components from the top-level block dialog box when building and simulating a model.

Specifying Initial Target Values for Member Variables

Member components have to be declared with ExternalAccess=observe, and therefore their variables do not appear in the Variables tab of the top-level block dialog box.

Specifying Component Connections

The structure section of a Simscape™ file is executed once during compilation.

Composite Component — DC Motor

This example shows how to implement a DC motor model by means of a composite component.

Importing Domain and Component Classes

An import mechanism provides a convenient means to accessing classes defined in different scopes, or namespaces.

Composite Component Using import Statements

This example shows how you can use import statements to implement a DC motor model by means of a composite component.

Converting Subsystems into Composite Components

You can generate a composite component from a subsystem consisting entirely of Simscape blocks.

Component Variants

Defining Component Variants

Use conditional sections to define variants within component file.

Component Variants — Series RLC Branch

This example shows how to implement variants within a component file by using conditional sections.

Component Arrays

Component Arrays

Use parametric-sized arrays of member components in composite components.

Segmented Pipeline Using Component Array

This example shows how you can model a segmented pipeline using an array of identical pipe segments, connected in series. The size of the array corresponds to the number of segments, and the block user can modify this parameter.

Case Study — Battery Pack with Fault Using Arrays

This case study shows how you can use component arrays to model a battery pack consisting of multiple series-connected cells. It also shows how you can introduce a fault into one of the cells to see the impact on battery performance and cell temperatures. The block user can modify both the number of cells and the position of the faulted cell as block parameters.