This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Argument Specification for Simulink Function Blocks

When a Simulink Function block is within the scope of a Function Caller block, you do not have to specify the parameters. In such a case, the Function Caller block can determine the input and output argument specifications.

You specify arguments when a Simulink Function block is outside the scope of a Function Caller block. A Simulink Function block is considered to be out of scope of a Function Caller block when the two blocks are in separate models referenced by a common parent model.

Example Argument Specifications for Data Types

This table lists possible input and output argument specifications.

Simulink Function Block Data TypeFunction Caller Block ExpressionDescription
doubledouble(1.0)Double-precision scalar.
doubledouble(ones(12,1))Double-precision column vector of length 12.
singlesingle(1.0)Single-precision scalar.
int8, int16, int32int8(1), int16(1), int32(1)Integer scalars.
 int32([1 1 1])Integer row vector of length 3.
 int32(1+1i)Complex scalar whose real and imaginary parts are 32-bit integers.
uint8, int16, int32uint8(1), uint16(1), uint32(1)Unsigned integer scalers.
booleanboolean(true),boolean(false)Boolean, initialized to true (1) or false (0).

fixdt(1,16)

fixdt (signed, word_length)

fi(0,1,16)

fi (value, signed, word_length)

16-bit fixed-point signed scalar with binary point set to zero.

Fixed-point numbers can have a word size up to 128 bits.

fixdt(1,16,4)fi(0,1,16,4)16-bit fixed-point signed scalar with binary point set to 4.
fixdt(1,16,2^0,0)fi(0,1,16,2^0,0)16-bit fixed-point signed scalar with slope set to 2^0 and bias set to 0.
Bus: <object name>parameter object nameSimulink.Parameter object with the Value parameter set to a MATLAB structure for the bus.
Enum: <class name>parameter object nameSimulink.Parameter object with the Value parameter set to an enumerated value.
<alias name>parameter object nameSimulink.Parameter object with the DataType parameter set to a Simulink.AliasType object and the Value parameter set to a value.

Input Argument Specification for Bus Data Type

Create a bus with two signals, and then specify the Input argument specification parameter for a Function Caller block. The Function Caller block calls a Simulink Function block that accepts the bus as input.

A bus input to a Function Caller block must be a non-virtual bus using a bus object.

  1. Create a Simulink® bus object myBus.

    myBus = Simulink.Bus;
  2. Add elements A and B.

    myBus.Elements(1).Name = 'A';
    myBus.Elements(2).Name = 'B';

  3. Create a MATLAB® structure myBus_MATLABstruct with fields A and B.

    myBus_MATLABStruct.A = 0; 
    myBus_MATLABStruct.B = 0;

  4. Create a Simulink parameter object myBus_parameter and assign the MATLAB structure to the Value parameter.

    myBus_parameter = Simulink.Parameter;
    myBus_parameter.DataType = 'Bus: myBus';
    myBus_parameter.Value = myBus_MATLABStruct;
     
  5. For the Function Caller block dialog box, set the Input argument specification parameter to myBus_parameter.

  6. For the Argument In block dialog box of the Simulink Function block, set the Data type parameter to Bus: myBus.

Input Argument Specification for Enumerated Data Type

Create an enumerated data type for the three primary colors, and then specify the Input argument specification parameter for a Function Caller block. The Function Caller block calls a Simulink Function block that accepts a signal with the enumerated type as input.

  1. Create a MATLAB file for saving the data type definition. On the MATLAB toolstrip, select New > Class.

  2. In the MATLAB editor, define the elements of an enumerated data type. The class BasicColors is a subclass of the class Simulink.IntEnumType.

    classdef BasicColors < Simulink.IntEnumType
      enumeration
        Red(0)
        Yellow(1)
        Blue(2) 
      end
    end 

  3. Save the class definition in a file named BasicColors.m.

  4. Create a Simulink parameter object myEnum_parameter and assign one of the enumerated values to the Value parameter.

    myEnum_parameter = Simulink.Parameter;
    myEnum_parameter.Value = BasicColors.Red;
  5. For the Function Caller block dialog box, set the Input argument specification. to myEnum_parameter.

  6. For the Argument In block dialog box within a Simulink Function block, set the Data type parameter to Enum: BasicColors.

Input Argument Specification for an Alias Data Type

Create an alias name for the data type single, and then specify the Input argument specification parameter for a Function Caller block. The Simulink Function block called by the Function Caller block also uses the alias name to define the input data type.

  1. Create a Simulink alias data type object myAlias.

    myAlias = Simulink.AliasType;
  2. Assign a data type.

    myAlias.BaseType = 'single';

  3. Create a Simulink parameter object myAlias_parameter and assign the alias name to the DataType parameter.

    myAlias_parameter = Simulink.Parameter;
    myAlias_parameter.DataType = 'myAlias';
    myAlias_parameter.Value = 1;
  4. For the Function Caller block dialog box, set the Input argument specification parameter to myAlias_parameter.

  5. For the Argument In block dialog box within a Simulink Function block, set the Data type parameter to myAlias.

See Also

Blocks

Related Topics