Main Content

Simulink Function ブロックの引数の指定

Simulink Function ブロックが Function Caller ブロックのスコープ外であると見なされるのは、これらの 2 つのブロックが共通の親モデルから参照される別々のモデル内にある場合です。

  • Simulink Function ブロックが Function Caller ブロックのスコープ内にある場合、Function Caller ブロックで入力引数と出力引数の指定を継承できます。Function Caller ブロックのパラメーターを指定する必要はありません。

  • Simulink Function ブロックが Function Caller ブロックのスコープ外にある場合、Function Caller ブロックの入力引数と出力引数を指定する必要があります。

データ型に対するサンプル引数の指定

次の表は、可能な入力引数と出力引数の指定の一覧です。

Simulink Function ブロックのデータ型Function Caller ブロックの式説明
doubledouble(1.0)倍精度スカラー。
doubledouble(ones(12,1))長さ 12 の倍精度列ベクトル。
singlesingle(1.0)単精度スカラー。
int8int16int32int8(1), int16(1), int32(1)整数スカラー。
 int32([1 1 1])長さ 3 の整数行ベクトル。
 int32(1+1i)32 ビット整数の実数部と虚数部をもつ複素数スカラー。
uint8int16int32uint8(1), uint16(1), uint32(1)符号なし整数スカラー。
booleanboolean(true),boolean(false)boolean。true (1) または false (0) に初期化されます。

fixdt(1,16)

fixdt (signed, word_length)

fi(0,1,16)

fi (value, signed, word_length)

2 進小数点が 0 に設定された 16 ビットの符号付き固定小数点スカラー。

固定小数点数は、最大 128 ビットのワード サイズをもつことができます。

fixdt(1,16,4)fi(0,1,16,4)2 進小数点が 4 に設定された 16 ビットの符号付き固定小数点スカラー。
fixdt(1,16,2^0,0)fi(0,1,16,2^0,0)勾配が 2^0 に設定され、バイアスが 0 に設定された 16 ビットの符号付き固定小数点スカラー。
Bus: <object name>bus object nameSimulink.Bus オブジェクト
Enum:<class name>enumerated value列挙値に設定された列挙型。
<alias name>parameter object nameDataType パラメーターが Simulink.AliasType オブジェクトに設定され、Value パラメーターが特定の値に設定された Simulink.Parameter オブジェクト。

バス データ型の入力引数の仕様

2 つの信号をもつバスを作成し、Function Caller ブロックに対して [入力引数の仕様] パラメーターを指定します。Function Caller ブロックはバスを入力として受け入れる Simulink Function ブロックを呼び出します。

Function Caller ブロックへのバス入力はバス オブジェクトを使用した非バーチャル バスでなければなりません。

  1. Simulink® バス オブジェクト myBus を作成します。

    myBus = Simulink.Bus;
  2. 要素 A および B を追加します。

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

  3. Function Caller ブロックのダイアログ ボックスで、[入力引数の仕様] パラメーターを myBus に設定します。

  4. Simulink Function ブロック内の Argument Inport ブロックのダイアログ ボックスで、[データ型] パラメーターを Bus: myBus に設定します。

列挙データ型の入力引数の仕様

3 つの基本色の列挙データ型を作成し、Function Caller ブロックに対して [入力引数の仕様] パラメーターを指定します。Function Caller ブロックは、列挙型の信号を入力として受け入れる Simulink Function ブロックを呼び出します。

  1. データ型定義を保存する MATLAB® ファイルを作成します。MATLAB ツールストリップで、[新規][クラス] を選択します。

  2. MATLAB エディターで、列挙データ型の要素を定義します。BasicColors クラスは Simulink.IntEnumType クラスのサブクラスです。

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

  3. BasicColors.m という名前のファイルにクラス定義を保存します。

  4. Function Caller ブロックのダイアログ ボックスで、[入力引数の仕様]BasicColors(0) に設定します。

  5. Simulink Function ブロック内の Argument Inport ブロックのダイアログ ボックスで、[データ型] パラメーターを Enum: BasicColors に設定します。

エイリアス データ型の入力引数の仕様

single データ型のエイリアス名を作成し、Function Caller ブロックに対して [入力引数の仕様] パラメーターを指定します。Function Caller ブロックで呼び出される Simulink Function ブロックもエイリアス名を使用して入力データ型を定義します。

  1. Simulink エイリアスデータ型オブジェクト myAlias を作成します。

    myAlias = Simulink.AliasType;
  2. データ型を割り当てます。

    myAlias.BaseType = 'single';

  3. Simulink パラメーター オブジェクト myAlias_parameter を作成し、エイリアス名を DataType パラメーターに割り当てます。

    myAlias_parameter = Simulink.Parameter;
    myAlias_parameter.DataType = 'myAlias';
    myAlias_parameter.Value = 1;
  4. Function Caller ブロックのダイアログ ボックスで、[入力引数の仕様] パラメーターを myAlias_parameter に設定します。

  5. Simulink Function ブロック内の Argument Inport ブロック ダイアログ ボックスに対して、[データ型] パラメーターを myAlias に設定します。

参考

ブロック

オブジェクト

関連するトピック