Main Content

Variant Connector ブロックでのマスク ワークスペース変数

この例では、マスク ワークスペース変数を Variant Connector ブロックのバリアント制御変数として使用する方法を説明します。

マスク ワークスペース変数とは、特定のブロックのマスク ワークスペース内に定義する変数です。これらの変数のスコープは制限されています。これらは、指定されたブロック、およびそのブロックの基盤となる層でのみ使用できるため、異なるマスクの変数に同じ名前を使用できます。マスク ワークスペース変数を Variant Connector ブロックのバリアント制御変数として使用すると、同じ変数名を使用して、異なるマスク内の複数のブロック インスタンスに異なるアクティブな選択肢を設定できます。同じ名前を使用すると、ベース ワークスペース内の変数の数が少なくなります。[ブロック パラメーター] ダイアログ ボックスで値を選択すると、シミュレーション時にその値のインデックスが基のマスク ワークスペース変数にマッピングされます。その後、この変数は Variant Connector ブロックのバリアント制御式の評価に使用されます。true に評価されるバリアント制御式に応じて、Variant Connector ブロックによって形成された有界領域内のブロックはアクティブまたは非アクティブのままになります。

この例では、マスク ワークスペース変数 A を Variant Connector ブロックのバリアント制御変数として使用しています。A のスコープは SS1 サブシステムに制限されているため、SS1 とその基礎となるブロックのみが A にアクセスできます。SS1 の [ブロック パラメーター] ダイアログ ボックスで Resistor を選択すると、シミュレーション時にそのインデックスが基のマスク変数 A にマッピングされます。その後、Variant Connector ブロックでバリアント制御式 A==1true に評価されます。Resistor ブロック R1 がアクティブになります。

モデル

シミュレーション結果

ケース 1: SS1 の [ブロック パラメーター] ダイアログ ボックスで、Resistor を選択すると、A==1true に評価され、R1 ブロックがアクティブになります。

ケース 2: SS1 の [ブロック パラメーター] ダイアログ ボックスで、No resistor を選択すると、A==1false に評価され、R1 ブロックが非アクティブになります。