Main Content

Function-Call Generator

サブシステムまたはモデルの実行を制御する関数呼び出しイベントを提供

  • Function-Call Generator block

ライブラリ:
Simulink / Ports & Subsystems

説明

Function-Call Generator ブロックは、Function-Call Subsystem または関数呼び出しモデルを [サンプル時間] パラメーターで指定したレートで実行する関数呼び出しイベントを提供します。Function-Call Subsystem または関数呼び出しモデルは、[トリガー タイプ] パラメーターが [関数呼び出し] に設定された Trigger ブロックを含むサブシステムまたはモデルです。

各 Function-Call Subsystem または関数呼び出しモデルを各タイム ステップで複数回反復して実行するには、[反復回数] パラメーターを使用します。

複数の Function-Call Subsystem または関数呼び出しモデルを指定した順序で実行するには、Function-Call Generator ブロックを Function-Call Split ブロックと使用します。例については、Function-Call Split を参照してください。

Function-Call Subsystem または関数呼び出しモデルをタイム ステップごとではなく断続的に実行するには、[イネーブル端子の表示] パラメーターを選択します。次に、イネーブル端子の入力を使用して、ブロックが関数呼び出しイベントを出力するタイミングを制御できます。実質的には、必要に応じてブロックのオンとオフを切り替えることができます。

端子

入力

すべて展開する

ブロックは、この端子の入力が正の数値である場合にのみ、関数呼び出しイベントを出力します。

依存関係

この端子を有効にするには、[イネーブル端子の表示] チェック ボックスをオンにします。

出力

すべて展開する

関数呼び出しイベントを Function-Call Subsystem または関数呼び出しモデルの関数呼び出し入力端子に送信します。

パラメーター

すべて展開する

関数呼び出しイベントの時間間隔を Function-Call Subsystem または関数呼び出しモデルに指定します。そのサブシステムまたはモデルの実際の呼び出し頻度がこのパラメーターが指定する時間間隔と異なる場合は、Simulink® でエラーが表示されます。

既定では、ブロックは時間間隔 1 を使用します。異なる間隔を設定するには、サンプル時間のタイプの表に基づいて有効なサンプル時間を入力するか、-1 を指定してモデルから時間間隔を継承します。

依存関係

このパラメーターを有効にするには、[イネーブル端子の表示] チェック ボックスをオフにします。[イネーブル端子の表示] をオンにすると、サンプル時間が自動的に -1 (継承) に設定されます。

プログラムでの使用

ブロック パラメーター: sample_time
: 文字ベクトル
: '1' | スカラー表現 | ベクトル表現 | '-1'
既定の設定: '1'

このパラメーターの値は、ベクトルとすることができ、その場合、ベクトルの各要素は Function-Call Subsystem またはモデルを実行する回数を指定します。ベクトルが指定されている場合、ブロックは関数呼び出しイベントのベクトルを出力します。このベクトルは Demux ブロックを使用して個々の関数呼び出しイベントに分割され、これを使用して複数の Function-Call Subsystem またはモデルを駆動できます。

[反復回数][3 2] と指定し、このブロックの出力を、2 つの Function-Call Subsystem の制御端子に接続する Demux ブロックに接続すると仮定します。この場合、最初の Function-Call Subsystem は各タイム ステップで 3 回実行され、2 番目の Function-Call Subsystem は各タイム ステップで 2 回実行されます。

ただし、このブロックの出力を 1 つの Function-Call Subsystem またはモデルに接続する場合、Function-Call Subsystem またはモデルがタイム ステップごとに実行する合計回数は、ベクトル要素値の合計に等しくなります。上記の例では、[反復回数][3 2] に指定して、このブロックの出力を 1 つの Function-Call Subsystem に接続すると、結果として Function-Call Subsystem は各タイム ステップで 5 回実行されます。

設定

1

各タイム ステップ中に関数呼び出しを 1 回提供します。

整数

符号付きまたは符号なしの整数。タイム ステップごとに指定した回数の関数呼び出しを提供します。

プログラムでの使用

ブロック パラメーター: numberOfIterations
: 文字ベクトル
: '1' | '<integer>''<vector of integers>'
既定の設定: '1'

このパラメーターがオンになっていない場合、このブロックの出力は、接続先のブロックを駆動するために必要に応じてベクトルに拡張されます。たとえば、[反復回数]2 に設定されていて、[広範囲の出力を許可しない] がオンになっていない場合、そしてこのブロックの出力が、3 つの別個の Function-Call Subsystem に接続している Demux ブロックに接続されている場合、各 Function-Call Subsystem は各タイム ステップで 2 つの関数呼び出しイベントを受け取ります。このブロックの出力が複数のイベントをもつ Stateflow® チャートに接続している場合、同様の結果が発生します。これらの状況で [広範囲の出力を許可しない] がオンになっている場合、Simulink でエラーが発生します。

出力信号の暗黙的な拡張を回避するには、このパラメーターをオンにします。

出力信号の暗黙的な拡張を適宜許可するには、このパラメーターをオフにします。

プログラムでの使用

ブロック パラメーター: DisallowWideOutput
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

ブロックに制御信号入力端子を追加するには、このパラメーターをオンにします。ブロックは、制御信号入力端子の値が正の数値である場合にのみ、関数呼び出しイベントを出力します。

制御信号入力端子を削除するには、このパラメーターをオフにします。ブロックは、タイム ステップごとに関数呼び出しイベントを出力します。

プログラムでの使用

ブロック パラメーター: ShowEnablePort
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

ブロックの特性

データ型

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入