Documentation Center

  • Trials
  • Product Updates

Contents

Simulink.AliasType

Create alias for signal and/or parameter data type

Description

This class allows you to designate MATLAB® variables as aliases for signal and parameter data types. You do this by creating instances of this class and assigning them to variables in the MATLAB or model workspaces (see Creating a Data Type Alias). The MATLAB variable to which a Simulink.AliasType object is assigned is called a data type alias. The data type to which an alias refers is called its base type. Simulink® software allows you to set the BaseType property of the object that the variable references, thereby designating the data type for which it is an alias.

Simulink software lets you use aliases instead of actual type names in dialog boxes and set_param commands to specify the data types of Simulink block outputs and parameters. Using aliases to specify signal and parameter data types can greatly simplify global changes to the signal and parameter data types that a model specifies. In particular, changing the data type of all signals and parameters whose data type is specified by an alias requires only changing the base type of the alias. By contrast, changing the data types of signals and parameters whose data types are specified by an actual type name requires respecifying the data type of each signal and parameter individually.

    Note:   Suppose you specify an instance of the Simulink.AliasType class as the value of a Simulink.Parameter object's Data type property. If you enter the parameter object in a subsystem's mask, the subsystem displays the data type's base type instead of its alias name.

Creating a Data Type Alias

You can use either the Model explorer or MATLAB commands (see MATLAB Commands for Creating Data Type Aliases) to create a data type alias.

To use the Model explorer to create an alias:

  1. Select Base Workspace (i.e., the MATLAB workspace) in the Model explorer's Model Hierarchy pane.

    You must create data type aliases in the MATLAB workspace. If you attempt to create an alias in a model workspace, Simulink software displays an error.

  2. Select Simulink.AliasType from the Model explorer's Add menu.

    Simulink software creates an instance of a Simulink.AliasType object and assigns it to a variable named Alias in the MATLAB workspace.

  3. Rename the variable to a more appropriate name, for example, a name that reflects its intended usage.

    To change the name, edit the name displayed in the Name field in the Model explorer's Contents pane.

  4. Enter the name of the data type that this alias represents in the Base type field in the Model explorer's Dialog pane.

    You can specify the name of any existing standard or user-defined data type in this field. Skip this step if the desired base type is double (the default).

  5. Use the MATLAB save command to save the newly created alias in a MAT-file that can be loaded by the models in which it is used.

MATLAB Commands for Creating Data Type Aliases

Use the following syntax to create a data type alias at the MATLAB command line or in a MATLAB program

ALIAS = Simulink.AliasType;

where ALIAS is the name of the variable that you want to serve as the alias. For example, the following line creates an alias names MyFloat.

MyFloat = Simulink.AliasType;

The following notations get and set the properties of a data type alias, respectively,

PROPVALUE = ALIAS.PROPNAME;
ALIAS.PROPNAME = PROPVALUE;

where ALIAS is the name of the alias object, PROPNAME is the name of the alias object's properties, and PROPVALUE is the property's value. For example, the following code saves the current value of MyFloat's BaseType property and assigns it a new value.

old = MyFloat.BaseType;
MyFloat.BaseType = 'single';

See Properties for information on the names, permitted values, and usage of the properties of data type alias objects.

Data Type Aliases in the Generated Code

If you have a Simulink Coder™ license, you can cause data type aliases to appear in the code generated for a model using any of the following methods.

  • Specifying the signal data type of a block in the model as a Simulink.AliasType via the Block Parameters dialog box.

  • Creating a Simulink.Signal object that uses the Simulink.AliasType as its data type. Use this signal object as the name of a signal in the model and specify that the signal name must resolve to an object in the MATLAB workspace. See Signal Objects in the Simulink Coder User's Guide for more information.

  • Creating a Simulink.Parameter object that uses the Simulink.AliasType as its data type. Use this parameter object as a block parameter in the model. See Generated Code for Parameter Data Types in the Simulink Coder User's Guide for more information.

    Notes  

    • If you assign a data type in a block's Block Parameters dialog box and by using a Simulink.Signal object on the signal feeding into the block, the code is always generated using the data type in the dialog box.

    • The Simulink Coder code generator tries to preserve the names of alias types in the generated code. However, in some cases, an alias type name might revert to its underlying equivalent built-in data type. If you have a Embedded Coder® license, you can guarantee that the code generator uses the alias type name in the generated code, by using replacement types (see Data Type Replacement in the Embedded Coder documentation).

    • The Simulink.AliasType class does not support multiword data types for code generation.

    • You can specify the data type of a complex signal using the Simulink.AliasType class. In this case, if the DataScope property of the Simulink.AliasType class is set to Imported (or Auto with a header file specified), provide a definition for the complex type. As shown in the example below, the alias type definition, IAT_int32, should contain the name of the complex type prefixed by c.

      #ifndef myAliasTypes_H_
      #define myAliasTypes_H_
      
      #include "rtwtypes.h"
      
      typedef int32_T IAT_int32;
      typedef cint32_T cIAT_int32;
      
      #endif 

      In the above example, while IAT_int32 must be defined in the base workspace, cIAT_int32 need not be defined in the base workspace.

Parent

None

Children

None

Property Dialog Box

Base type

The data type to which this alias refers. The default is double. To specify another data type, select the data type from the adjacent pull-down list of standard data types or enter the data type's name in the edit field. Note that you can, with one exception, specify a nonstandard data type, e.g., a data type defined by a Simulink.NumericType object, by entering the data type's name in the edit field. The exception is a Simulink.NumericType whose Category is Fixed-point: unspecified scaling.

    Note:   Fixed-point: unspecified scaling is a partially specified type whose definition is completed by the block that uses the Simulink.NumericType. Forbidding its use in alias types avoids creating aliases that have different base types depending on where they are used.

Data scope

Specifies whether the data type definition should be imported from, or exported to, a header file during code generation. The possible values are:

ValueAction
Auto (default)If no value is specified for Header file, export the type definition to model_types.h, where model is the model name.

If a value is specified for Header file, import the data type definition from the specified header file.
ExportedExport the data type definition to a header file, which can be specified in the Header file field. If no value is specified for Header file, the header file name defaults to type.h, wheretype is the data type name.
ImportedImport the data type definition from a header file, which can be specified in the Header file field. If no value is specified for Header file, the header file name defaults to type.h, wheretype is the data type name.

Header file

Name of a C header file from which a data type definition is imported, or to which a data type definition is exported, based on the value of Data scope. If this field is specified, the specified name is used during code generation for importing or exporting. If this field is empty, the value defaults to type.h if Data scope equals Imported or Exported, or defaults to model_types.h if Data scope equals Auto.

Description

Describes the usage of the data type referenced by this alias.

Properties

Name

Description

BaseType

A string specifying the name of a standard or custom data type. (Base type)

DataScope

A string specifying whether the data type definition should be imported from, or exported to, a header file during code generation. (Data scope)

Description

A string that describes the usage of the data type. May be a null string. (Description)

HeaderFile

A string that specifies the name of a C header file from which a data type definition is imported, or to which a data type definition is exported, during code generation. (Header file)

See Also

Generate Code Including User-Defined Data Types in the Embedded Coder documentation

Was this topic helpful?