Function-Call Split
関数呼び出しラインを分割するためのジャンクションを提供する
ライブラリ:
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 の実行順序が、ブロック上に表示されます。各サブシステムの実行順序の書式は、s:[B#]
です。ここで、#
は 0 ~ (所定の信号の分岐点に接続されたサブシステムまたはモデルの合計数 - 1) の範囲の値です。サブシステムは、この値に基づいて昇順に実行します。
Function-Call Split ブロックは信号ラベル伝播をサポートします。
次のモデルは、[Function-Call Subsystem 出力のフィードバック信号の入力をラッチする] パラメーターを適用して、Function-Call Split ブロックにより発生したデータ依存性エラーを回避する方法を示します。f1
サブシステムの Inport ブロックでこのパラメーターを有効にすることにより、Function-Call Split ブロックは信号 b のデータ依存性を無視します。ブロックは、サブシステム f1
と g1
との間のデータ依存性のループを解消します。モデルは f1 を呼び出して g1 より必ず先に実行するという目的の動作を実現します。所定の実行ステップの場合、サブシステム f1
は前の実行ステップで計算された g1
の出力を使用します。
制限
Function-Call Split ブロックには、次の制限事項があります。
所定の関数呼び出し信号に接続された Function-Call Subsystem とモデルはすべて、モデル階層の同じ非バーチャル層内に存在しなければならない。
分岐された Function-Call Subsystem (またはモデル) とその子を関数呼び出しイニシエーターに直接接続することはできない。
1 つの関数呼び出し信号に接続された Function-Call Subsystem とモデルは、複数のイニシエーターをもつことができない。
Function-Call Split ブロックの入力を複数の Function-Call 要素をもつ信号からの入力にすることはできない。
端子
入力
出力
パラメーター
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
バージョン履歴
R2010a で導入