Main Content

Function-Call Split

関数呼び出しラインを分割するためのジャンクションを提供する

  • Function-Call Split block

ライブラリ:
Simulink / Ports & Subsystems

説明

Function-Call Split ブロックでは、1 つの関数呼び出しラインを分岐して、複数の Function-Call Subsystem または関数呼び出しモデルに接続することができます。

Function-Call Subsystem または関数呼び出しモデルのうち、点で印が付けられた Function-Call Split ブロックの出力端子に接続されたものは、他の出力端子に接続されたサブシステムまたはモデルより先に実行されます。この指定実行順序が、これらサブシステムまたはモデル間でのデータ依存性でサポートされない場合、Function-Call Split ブロックはエラーを返します。このエラーを防止するには、データ依存性ループに関係している Function-Call Subsystem またはモデルで 1 つ以上の Inport ブロックで [Function-Call Subsystem 出力のフィードバック信号の入力をラッチする] パラメーターを有効にすることを検討してください。このオプションを選択すると、対応する関数呼び出しが遅延され、結果としてデータ依存性ループが解消されます。

指定された関数呼び出し信号の分岐に接続された Function-Call Subsystem の実行順序を表示するには、Simulink エディターの [デバッグ] タブで [情報のオーバーレイ] を選択し、[実行順序] をクリックします。Simulink キャンバスに [実行順序ブロック リスト] を表すペインが開きます。このリストでは、Function-Call Subsystem の実行順序は [n]←[m] subsystem block name の形式で表されます。ここでは以下のようになります。

  • n は、サブシステムの実行順序を示します。

  • m は、関数呼び出し信号を生成するブロックの実行順序を示します。

  • subsystem block name は、Function-Call Subsystem の名前を示します。

Function-Call Split ブロックは信号ラベル伝播をサポートします。

次のモデルは、[Function-Call Subsystem 出力のフィードバック信号の入力をラッチする] パラメーターを適用して、Function-Call Split ブロックにより発生したデータ依存性エラーを回避する方法を示します。f1 サブシステムの Inport ブロックでこのパラメーターを有効にすることにより、Function-Call Split ブロックは信号 b のデータ依存性を無視します。ブロックは、サブシステム f1g1 との間のデータ依存性のループを解消します。モデルは f1 を呼び出して g1 より必ず先に実行するという目的の動作を実現します。所定の実行ステップの場合、サブシステム f1 は前の実行ステップで計算された g1 の出力を使用します。

制限

Function-Call Split ブロックには、次の制限事項があります。

  • 所定の関数呼び出し信号に接続された Function-Call Subsystem とモデルはすべて、モデル階層の同じ非バーチャル層内に存在しなければならない。

  • 分岐された Function-Call Subsystem (またはモデル) とその子を関数呼び出しイニシエーターに直接接続することはできない。

  • 1 つの関数呼び出し信号に接続された Function-Call Subsystem とモデルは、複数のイニシエーターをもつことができない。

  • Function-Call Split ブロックの入力を複数の Function-Call 要素をもつ信号からの入力にすることはできない。

端子

入力

すべて展開する

Function-Call Generator ブロック、S-Function ブロック、Hit Crossing ブロック、または Stateflow® チャートは関数呼び出しイベントを提供できます。

出力

すべて展開する

Function-Call Subsystem または関数呼び出しモデルに接続された関数呼び出しライン。

パラメーター

すべて展開する

ブロックのアイコンの形状を選択します。

設定

記号

四角形のブロックのアイコン。

円形

円形のブロックのアイコン。

プログラムでの使用

ブロック パラメーター: IconShape
: 文字ベクトル
: 'distinctive' | 'round'
既定の設定: 'distinctive'

関数呼び出し信号の出力端子の数を指定します。

設定

2

2 つの関数呼び出し出力端子。

整数

整数

プログラムでの使用

ブロック パラメーター: NumOutputPorts
: 文字ベクトル
: '2' | '<integer>'
既定の設定: '2'

関数呼び出しを最初に提供する端子を基準にして、関数呼び出し出力端子の順序を選択します。

設定

既定の設定

最上位の端子が最初に関数呼び出しを提供します。

反転

最下位の端子が最初に関数呼び出しを提供します。

プログラムでの使用

ブロック パラメーター: OutputPortLayout
: 文字ベクトル
: 'default' | 'reverse'
既定の設定: 'default'

ブロックの特性

データ型

double

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

バージョン履歴

R2010a で導入