モデルをバリアント システムに変換
モデル トランスフォーマー ツールを使用すると、条件を満たすモデル化パターンを Variant Source ブロックとVariant Subsystem, Variant Model, Variant Assembly Subsystemブロックに置き換えることにより、モデルのコンポーネント化を改善できます。モデル トランスフォーマーは、条件を満たすモデル化パターンをレポートします。どのモデル化パターンを Variant Source ブロックまたは Variant Subsystem ブロックに置き換えるかを選択します。
モデル トランスフォーマーでは、以下の変換を実行できます。
1 つの If ブロックが 1 つ以上の If Action Subsystem に接続し、それぞれに出力端子が 1 つずつある場合は、このモデル化パターンを 1 つのサブシステムと 1 つの Variant Source ブロックに置き換えます。
1 つの If ブロックが、出力端子がない、または出力端子が 2 つ以上ある 1 つの If Action Subsystem に接続する場合は、このモデル化パターンを 1 つの Variant Subsystem ブロックに置き換えます。
1 つの Switch Case ブロックが 1 つ以上の Switch Case Action Subsystem に接続し、それぞれに出力端子が 1 つずつある場合は、このモデル化パターンを 1 つのサブシステムと 1 つの Variant Source ブロックに置き換えます。
1 つの Switch Case ブロックが、出力端子がない、または出力端子が 2 つ以上ある 1 つの Switch Case Action Subsystem に接続する場合は、このモデル化パターンを 1 つの Variant Subsystem ブロックに置き換えます。
1 つの Switch ブロックを 1 つの Variant Source に置き換えます。
データ端子が 2 つ以上ある 1 つの Multiport Switch ブロックを 1 つの Variant Source ブロックに置き換えます。
モデル トランスフォーマー ツールで変換を実行するには、Multiport Switch ブロックまたは Switch ブロックへの制御入力と、If ブロックまたは Switch Case ブロックへの入力が、以下のいずれかでなければなりません。
[定数値] パラメーターがスカラー型の
Simulink.Parameter
オブジェクトである Constant ブロック。[定数値] パラメーターがスカラー型の
Simulink.Parameter
オブジェクトである Constant ブロック、およびサポートされている MATLAB 式を形成するその他のブロックの組み合わせ。Types of Operators in Variant Blocks for Different Activation Timesにある MATLAB 式は、ビット演算以外ではサポートされます。
モデル変換の制限
モデル トランスフォーマー ツールには以下の制限があります。
モデル トランスフォーマーをモデルで実行するには、モデルをシミュレートできなければなりません。
If Action Subsystem ブロックが Merge ブロックを駆動し、Merge ブロックのもう 1 つの入力端子が未接続であるか、別の条件付きサブシステムによって駆動されている場合、モデル トランスフォーマーは Variant Source ブロックを追加しません。このモデル化パターンでは、警告と除外候補のメッセージが表示されます。
モデル トランスフォーマーは、すべてのモデル化パターンに対してバリアント変換を実行できるわけではありません。次の場合は例外になります。
保護モデルを参照する Model ブロックがモデルに含まれている場合。
[バリアントのアクティベーションのタイミング] パラメーターが
update diagram
に設定された Variant Source ブロックがモデルに含まれている場合。
1 つ以上のタスクを実行した後は、[このチェックを実行] ボタンと [すべて実行] ボタンが非アクティブになるため、タスクを再実行できません。タスクを再実行する場合は、[モデル トランスフォーマー] を右クリックし、
Reset
を選択して、モデル トランスフォーマーをリセットします。変換中は、モデルを変更しないでください。モデルを変更する場合は、[モデル トランスフォーマー] を閉じ、モデルを変更してから、[モデル トランスフォーマー] を再度開きます。
モデル トランスフォーマー内のハイパーリンクを機能させるには、リンク先のモデルを開いておかなければなりません。