Main Content

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

Variant Connector ブロックを使用した機械システムでのバリアントのモデル化

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

モデルの確認

機械システム モデル例内のバリアント リーフ領域を開くには、MATLAB® コマンド ウィンドウに ssc_variant_connector_leaf_region と入力します。

このモデルには、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: LeafRegion_1 がアクティブで LeafRegion_2 が非アクティブ

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

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

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

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

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

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

ケース 2: LeafRegion_1 が非アクティブで LeafRegion_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 に設定して、シミュレーション中に両方の領域が非アクティブになる様子を解析することもできます。

関連するトピック