メインコンテンツ

機械システム内のバリアント リーフ領域

この例では、リーフ タイプのVariant Connectorブロックを使用して、異なったバリアント構成に対し速度源と質量の変位のシミュレーションを行う方法を説明します。Variant Connector ブロックを使うと、コンポーネントを物理的に取り外したりシミュレーションから除外することなしに、シミュレーション中にネットワーク内で一連のコンポーネントをアクティブまたは非アクティブにすることができます。

モデルの探求

機械システム内のバリアント リーフ領域のモデル例を開きます。

このモデルには、VC_1 と VC_2 の 2 つの Variant Connector ブロックがあります。これらはリーフ タイプの Variant Connector ブロックです。VC_1 はバリアント条件 A == 1 をもち、VC_2 はバリアント条件 B == 1 をもちます。

シミュレーション中に、Simulink® は、それぞれのリーフ タイプの Variant Connector ブロックに関連付けられたバリアント条件を計算します。ある Variant Connector ブロックのバリアント条件が true として評価された場合、そのブロックのリーフ領域内にあるすべての物理コンポーネントがアクティブになります。たとえば、A == 1true として評価された場合、LeafRegion_1 内のコンポーネントがアクティブになります。A == 1false として評価された場合、LeafRegion_1 内のコンポーネントは非アクティブのままです。

異なったバリアント構成での機械システムのシミュレーション

バリアント条件変数 A および B は、PostLoadFcn コールバックで定義されます。これらの変数の値を表示または変更するには、[モデル化] タブで、[モデル設定][モデル プロパティ] を選択します。[コールバック] タブの [モデルのコールバック] ペインで、[PostLoadFcn] をクリックします。この例では、A = 1B = 2 の値となります。これらの変数に基づいて、関連付けられたリーフ領域がアクティブになります。

ケース 1: Leaf Region_1 がアクティブで Leaf Region_2 が非アクティブ

1. [モデル プロパティ] ウィンドウで、A の値を 1 に、B2 に設定します。

2. [実行] をクリックして、Variant Connector ブロックから接続先のコンポーネントへと、バリアント条件が伝播することを確認します。

3. 伝播されたバリアント条件とブロックのアクティブ化状態を解析するには、[デバッグ] タブで、[情報のオーバーレイ][バリアント凡例] を選択します。バリアント凡例の詳細については、Visualize Propagated Variant Conditions and Bounded Regions in Variant Legendを参照してください。

  • A == 1true として評価。LeafRegion_1 内のコンポーネントがアクティブになります。

  • B == 1false として評価。LeafRegion_2 内のコンポーネントが非アクティブになります。

4. A == 1trueB == 1false という条件に対応する [Variant Leaf Region in Mechanical System] テーブルの [Plot] リンクをクリックすることにより、質量および速度源の変位を表示します。

ケース 2: Leaf Region_1 が非アクティブで Leaf Region_2 がアクティブ

1. [モデル プロパティ] ウィンドウで、A の値を 1 に、B2 に設定して、モデルのシミュレーションを行います。

2. バリアント条件とブロックのアクティブ化状態を解析します。

  • A == 1false として評価。LeafRegion_1 内のコンポーネントが非アクティブになります。

  • B == 1true として評価。LeafRegion_2 内のコンポーネントがアクティブになります。

3. A==1falseB==1true という条件に対応する [Variant Leaf Region in Mechanical System] テーブルの [Plot] リンクをクリックすることにより、質量および速度源の変位を表示します。

同様に、AB の値を 0 に設定して、シミュレーション中に両方の領域が非アクティブになる様子を解析することもできます。

参考

トピック