最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

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

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

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

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

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>parameter object nameValue パラメーターがバスの MATLAB 構造体に設定されている Simulink.Parameter オブジェクト。
Enum:<class name>parameter object nameValue パラメーターが列挙値に設定された Simulink.Parameter オブジェクト。
<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. フィールド AB をもつ MATLAB® 構造体 myBus_MATLABstruct を作成します。

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

  4. Simulink パラメーター オブジェクト myBus_parameter を作成し、MATLAB 構造体を Value パラメーターに割り当てます。

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

  6. Simulink Function ブロックの Argument In ブロックのダイアログ ボックスで、[データ型] パラメーターを 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. Simulink パラメーター オブジェクト myEnum_parameter を作成し、列挙型の値の 1 つを Value パラメーターに割り当てます。

    myEnum_parameter = Simulink.Parameter;
    myEnum_parameter.Value = BasicColors.Red;
  5. Function Caller ブロックのダイアログ ボックスで、[入力引数の仕様]myEnum_parameter に設定します。

  6. Simulink Function ブロック内の Argument In ブロックのダイアログ ボックスで、[データ型] パラメーターを 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 In ブロックのダイアログ ボックスで、[データ型] パラメーターを myAlias に設定します。

参考

ブロック

関連するトピック