Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

バリアント条件の伝播の制御

バリアント条件の伝播中、Simulink は条件をブロックに自動的に割り当てます。モデル内の上流および下流にバリアント条件が伝播する方法を制御できます。

このモデルについて考えます。

Simulink で [シミュレーション][実行] をクリックして、ブロックに対するバリアント条件の伝播を確認します。

Variant Source1 ブロックには A==1 条件があります。この条件は、Variant Source1 ブロックに接続されたブロックに対して前後に伝播します。バリアント条件は Gain4 ブロックに伝播しますが、Sine Wave1 ブロックには伝播しません。

Scope ブロックは無条件であり、入力を Sine Wave1 ブロックから受け取ります。したがって、Sine Wave1 ブロックは無条件です。Scope ブロックを削除した場合、バリアント条件は Sine Wave1 ブロックに伝播します。

Scope ブロックをその他のブロック (Terminator ブロックを含む) で置き換える場合、Sine Wave1 ブロックは無条件のままです。

入力のうちの少なくとも 1 つが無条件の場合、ブロックは無条件になります。Sum ブロックの入力側は、Gain5 (条件付き) ブロックと Sine Wave2 (無条件) ブロックに接続されています。したがって、Sum ブロックは無条件です。

こうした概念を使用して、両側または片側へのバリアント条件の伝播を制御する Subsystem ブロックを作成できます。

上流および下流へのバリアント条件の伝播を停止する

Variant Source2 ブロックと Variant Source3 ブロックに接続されたモデルのセクションについて考えます。モデルをシミュレートするとき、Variant Source2 ブロックおよび Variant Source3 ブロックのバリアント条件は上流および下流に伝播します。

Gain6 ブロックと Gain7 ブロックの間の Stop on both sides ブロックは、バリアント条件が上流または下流に伝播することを防ぎます。Stop on both sides ブロックをダブルクリックして、そのコンポーネントを表示します。

Stop on both sides ブロックは、Terminator を使用して Subsystem ブロックの上流でのバリアント条件の伝播を停止します。Subsystem ブロックの下流側での条件の伝播を停止するために、入力端子のうちの 1 つが Ground (無条件) に接続されています。したがって、この配置によって上流および下流へのバリアント条件の伝播が停止されます。同様に、モデルの上流または下流へのバリアント条件の条件伝播を選択的に停止することもできます。たとえば、Terminator ブロックを削除する場合、バリアント条件は上流に伝播しますが、下流への伝播は停止します。

下流へのバリアント条件の伝播を停止する

ここでは、Subsystem ブロックの 1 つの入力端子が無条件であるため、Subsystem ブロックは入力側で無条件になり、下流へのバリアント条件の伝播を停止します。

詳細