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 の実行順序を表示するには、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 のデータ依存性を無視します。ブロックは、サブシステム 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 で導入