Main Content


Add signal interface element


element = addElement(interface,name) adds an element to a signal interface with default properties.


element = addElement(interface,name,Name,Value) sets the properties of the element as specified in Name,Value.


collapse all

Add an interface 'newSignal' to the interface dictionary of the model, and add an element 'newElement' with type 'double'.

arch = systemcomposer.createModel('newModel',true);
interface = addInterface(arch.InterfaceDictionary,'newSignal');
element = addElement(interface,'newElement','Type','double')
element = 
  SignalElement with properties:

      Interface: [1×1 systemcomposer.interface.SignalInterface]
           Name: 'newElement'
           Type: 'double'
     Dimensions: '1'
          Units: ''
     Complexity: 'real'
        Minimum: '[]'
        Maximum: '[]'
    Description: ''
           UUID: '2b47eaa6-191a-439a-ba2b-2bcc3209b912'
    ExternalUID: ''

Input Arguments

collapse all

New interface object, specified as a systemcomposer.interface.SignalInterface object.

Name of new element with a valid variable name, specified as a character vector.

Data Types: char

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: 'Type','double'

Data type of element, specified as the comma-separated pair consisting of 'Type' and a valid data type character vector.

Data Types: char

Dimensions of element, specified as the comma-separated pair consisting of 'Dimensions' and a positive integer array. Each element of the array is the size of the element in the corresponding direction. A scalar integer indicates a scalar or vector element and a row vector with two integers indicates a matrix element.

Data Types: double

Complexity of element, specified as the comma-separated pair 'Complexity' and 'real' if the element is purely real, or 'complex' if an imaginary part is allowed.

Data Types: char

Output Arguments

collapse all

New interface element object, returned as a systemcomposer.interface.SignalElement object.

More About

collapse all


TermDefinitionApplicationMore Information
interfaceAn interface defines the kind of information that flows through a port. The same interface can be assigned to multiple ports. An interface can be composite, meaning that it can include elements that describe the properties of an interface signal.Interfaces represent the information that is shared through a connector and enters or exits a component through a port. Use the Interface Editor to create and manage interfaces and interface elements and store them in an interface data dictionary for reuse between models.Define Interfaces
interface elementAn interface element describes a portion of an interface, such as a communication message, a calculated or measured parameter, or other decomposition of that interface.

Interface elements describe the decompositions of an interface:

  • Pins or wires in a connector or harness.

  • Messages transmitted across a bus.

  • Data structures shared between components.

Assign Interfaces to Ports
interface dictionaryAn interface data dictionary is a consolidated list of all the interfaces in an architecture and where they are used. Local interfaces on a System Composer™ model can be saved in an interface data dictionary using the Interface Editor.Interface dictionaries can be reused between models that need to use a given set of interfaces and interface elements. Data dictionaries are stored in separate .sldd files.
adapterAn adapter helps connect two components with incompatible port interfaces by mapping between the two interfaces. An adapter can also act as a unit delay or rate transition.

With an adapter, you can perform three functions on the Interface Adapter dialog:

  • Create and edit mappings between input and output interfaces.

  • Apply an interface conversion UnitDelay to break an algebraic loop.

  • Apply an interface conversion RateTransition to reconcile different sample time rates for reference models.

Interface Adapter

Introduced in R2019a