Simulink Function
Simulink ブロックを使用した関数の定義
ライブラリ:
Simulink /
User-Defined Functions
説明
Simulink Function ブロックは、Simulink® ブロックを使用した関数の実装を有効にするように事前構成されている Subsystem ブロックです。Simulink Function ブロックを使用して関数を定義して呼び出すには、以下を行います。
関数名と入力引数および出力引数を含む関数プロトタイプを指定する (例
y = f(u)
)。Simulink ライブラリのブロックを使用して関数の動作を実装する。
モデルの階層構造の任意の場所で呼び出して再利用するように Simulink Function ブロックを構成する。
関数が呼び出されると、呼び出し元は入力引数を介して関数にデータを送り、実装された動作に基づいて関数が実行された後、出力引数を介して関数からデータを受け取ります。
詳細については、Simulink 関数の概要を参照してください。
関数プロトタイプの指定
関数プロトタイプは関数の実装とは切り離されています。入力引数と出力引数を指定し、モデルの階層構造内の他のブロックからの関数の呼び出し方法を指定します。関数プロトタイプで指定された入力引数と出力引数は、Argument Inport ブロックまたは Argument Outport ブロックでそれぞれ表されます。ブロック上に表示されるテキストをダブルクリックすることで関数プロトタイプを編集できます。
関数の動作の実装
関数の目的の動作を実装するには、必要なすべての Simulink ブロックをサブシステム内に追加します。Simulink Function ブロックでは、Argument Inport ブロックと Argument Outport ブロックに加え、InportブロックとOutportブロックを使用してデータを入力および出力できます。
例については、Simulink 関数を使用した共有プリンターでのインク状態の監視を参照してください。
Simulink Function ブロックの構成
Simulink Function ブロックを構成するには、Simulink Function ブロック内にある Trigger ブロックのブロック パラメーターを開きます。
関数名 – Simulink Function ブロックの関数名を指定します。
関数の可視性 – 関数のスコープの可視性を選択します。
[関数の可視性] が
port
に設定されている場合、次のパラメーターも指定できます。関数呼び出しを非同期で実行 – 関数を同期的に実行するか非同期的に実行するかを指定します。
端子へのスコープ – エクスポート関数の端子の名前を指定します。
Simulink 関数の呼び出し
関数の呼び出し元と関数プロトタイプを使用して、関数を呼び出して実行できます。Simulink Function ブロックで定義された関数は、Function Caller ブロック、Chart (Stateflow)、MATLAB Function ブロック、MATLAB System ブロック、または S-Function ブロックから呼び出すことができます。
詳細については、モデルからの Simulink 関数の呼び出しを参照してください。
モデルに関する考慮事項
Simulink Function ブロックを使用するときは、関数呼び出し間での状態の維持や連続サンプル時間がモデルに必要かどうかを検討してください。
関数呼び出し間での状態の維持 – Simulink Function ブロックが状態をもつ任意のブロック (Unit Delay ブロックや Memory ブロックなど) を含む場合、それらの状態の値は関数呼び出しの間で維持されます。その関数に対して複数の呼び出しがある場合、状態値は異なる呼び出し元から発信される呼び出しの間でも維持されます。
連続サンプル時間は継承できない – Simulink Function ブロックは連続サンプル時間を継承できません。
Simulink Function ブロックを使用したコード生成
Simulink Coder™ または Embedded Coder® がある場合、Simulink 関数を含むモデルからコードを生成できます。詳細については、Simulink Function ブロックとコードの生成 (Embedded Coder)およびConfigure Entry-Point Function Interfaces for Simulink Function and Function Caller Blocks (Embedded Coder)を参照してください。
例
端子
入力
出力
パラメーター
ブロックの特性
拡張機能
バージョン履歴
R2014b で導入参考
ブロック
- Argument Inport | Argument Outport | Trigger | Function Caller | MATLAB Function | Chart (Stateflow) | Function-Call Subsystem | Inport | Outport