スーパーブロックのマスク

マスクを適用して、スーパーブロック内のダイアグラムを非表示にします。

マスク操作は、マスクツールグループの主要アクションです。マスク操作によって、スーパーブロックの内部ブロックを非表示にして、スーパーブロックが通常のブロックのように表示されて動作するように変更できます。マスクを編集、削除、および復元することもできます。
  1. ダイアグラムで、スーパーブロックを選択します。
  2. リボンのマスク(Mask)ツールグループで、自動マスク(Auto Mask)ツール:をクリックします。
    スーパーブロックがマスクされ、通常のブロックと同じように動作するようになります。例えば、通常のブロックまたはマスクされたスーパーブロックをダブルクリックすると、パラメータを変更するためのブロックダイアログが開きますが、マスクされていないスーパーブロックをダブルクリックすると、そのスーパーブロックに関連付けられたダイアグラムが開きます。
  3. マスクされたスーパーブロックをダブルクリックします。
    PIDコントローラーのダイアグラムを持ち、マスクされたスーパーブロックControllerでは、次のようなパラメータI、D、Pを持つブロックダイアログが表示されます。
    これら3つのパラメータの値は、入力エントリのI、D、Pです。これらは、Controllerスーパーブロックのルートダイアグラムのコンテキストで定義されたコンテキスト変数です。

マスクされたスーパーブロック内への移動

Projectブラウザまたはコンテキストメニューで、マスクされたスーパーブロックの内部へ移動できます。

  • Projectブラウザで、スーパーブロックをダブルクリックします。
    モデル表示が消えて、スーパーブロックのメインダイアグラムが表示されます。
    注: Projectブラウザからのナビゲーション方法は、マスクされたスーパーブロックでもマスクされていないスーパーブロックでも同じです。
  • モデリングウィンドウで、ダイアグラム内のマスクされたスーパーブロックを右クリックして、コンテキストメニューからマスクされたスーパーブロックに入る(Enter Masked Super Block)を選択します。
    モデル表示が消えて、スーパーブロックのメインダイアグラムが表示されます。
  • スーパーブロックの表示をクリアするには、スーパーブロックの周囲の空白部でダブルクリックします。
    スーパーブロックが閉じて、モデル表示が元に戻ります。

マスクされたスーパーブロックの編集

マスクの編集ツールでは、スーパーブロックに関連付けられているパラメーターを変更できます。

  1. 編集するマスクされたスーパーブロックを選択します。
  2. リボンのマスク(Mask)ツールグループで、編集(Edit)ツール: をクリックします。
    表示されたダイアログで、マスクの変更を行います。変更には、パラメーターの追加や削除、パラメーターのタイプや説明の変更などがあります。

Parameters Creator

Define parameters in a masked super block.

When you edit a masked super block to add objects, you can define those objects as text, buttons, or parameters.

To open the Parameters Creator, after you enter a value in the Number of objects field in the Mask Editor dialog, click the ... button to the right of an object in the table.

The Parameters Creator dialog contains the following fields:
注: There are many options in the Parameters Creator, and not all fields are enabled depending on which options you select. The following list does not necessarily cover every possible combination of options.
  • Element Type: Options are Parameter, Text, or Button. The Text option enables only the Name and Value fields. The Button option enables the Name, Description, Value, and Callback fields.
  • Name
  • Description
  • Parameter visibility: Toggle whether the parameter is visible.
  • Parameter enabled: Toggle whether the parameter can used.
  • Value: The default value of the parameter.
  • Type: Options are Scalar, Vector, Matrix, String, Number, and Generic. Depending on which type you select, other fields are enabled or disabled.
  • First dimension size: Defines the size of a vector or matrix if you select those types.
  • Second dimension size: Defines the size of a matrix if you select that type.
  • Callback: For widgets Editor and Disabled Editor (see below), define the function called by the additional editor button.
  • Widget: Select the type of UI element associated with the parameter. Options include:
    • Entry: Simple entry field.
    • Checkbox: Select or deselect the parameter.
    • Listbox: Select entries in a list. To define the listbox options, enter a value in Number of listbox elements and enter the option names in the table.
    • Combobox: Select entries in a combobox. To define the combobox options, enter a value in Number of subparameters and enter Names and Descriptions in the table.
    • Radio button: Select radio button options. To define the radio button options, enter a value in Number of subparameters and enter Names and Descriptions in the table.
    • Table: Table of subparameters. Define the number of rows in Table row dimension. Define the Number of table subparameters. Table subparameters are effectively another layer of parameters. Click the ... button to open the Table Parameters Creator, which contains a subset of the same fields as the Parameters Creator dialog.
    • Editor: Adds a button to the right of the parameter that opens a script editor.
    • Disabled Editor: Disables the parameter field and adds a button to the right of the parameter that opens a script editor.

スーパーブロックのマスクの除去と復元

削除ツールは、スーパーブロックからマスクを除去して、スーパーブロックの非表示コンテンツにアクセスできるようにします。復元ツールは、マスクを再適用します。

  1. ダイアグラム内のマスクされたスーパーブロックを選択します。
    マスク(Mask)ツールグループ内のツールがアクティベートされます。
  2. リボンのマスク(Mask)ツールグループで、削除(Remove)ツール: をクリックします。
    スーパーブロックからマスクが削除され、ダイアグラムとスーパーブロックに関するその他の情報にアクセスできるようになります。
  3. スーパーブロックを選択します。
  4. リボンから、復元(Restore) ツール: をクリックします。
    スーパーブロックにマスクが再適用され、スーパーブロックは再び通常のブロックと同じように動作します。

マスキングの例

マスキング、自動マスキング、マスキングによる新しいブロックの作成について学びます。

ブロックブロックのマスキング

スーパーブロック上に配置されたマスクは、セミグローバルな階層的スコープのメカニズムを壊します。マスクは、パラメーターのセット(マスクパラメータ)を定義し、それらの値を、場合によってはスーパーブロック外のパラメーターの関数として提供します。例えて言えば、マスクされていないスーパーブロックはOMLスクリプトに、マスクされたスーパーブロックはOML関数に例えられます。

ブロックブロックダイアログ

次の図を、SuperBlockという名前のスーパーブロックの内部で考えてみましょう:



スーパーブロックコンテキストが空の場合、このダイアグラムのパラメータは ABdTです。スーパーブロックがマスクされている場合、マスクはこれら3つのパラメータを定義する必要があります。このようなマスクは次のようなものです:



マスクパラメータ名はマスク GUI 上では直接表示されません。この場合、マスクパラメータは ABdTと名付けられます。パラメータ値は数値1、2、1.3で定義されています。この時点でスーパーブロックはライブラリブロックに似ています。マスクパラメータは基本的にブロックのローカルでプライベートな変数であり、ユーザーには透過的です。

自動マスク

スーパーブロックのマスクは、マスクエディターを使った作成、または自動生成が可能です。自動マスク機能は、スーパーブロック内のダイアグラムを自己完結させるために必要なパラメータのセットを識別し、マスクパラメータ名と値の両方として使用します。前の例に自動マスクを適用すると、次のようなマスクが作成されます:


このマスクは、スーパーブロック内のABdT という名前のパラメータを、スーパーブロック外の同じ名前のモデルパラメータから定義します。このマスクは編集することができ、特にパラメーターの説明を入力することができます(オートマスキングでは、デフォルトでパラメーターの名前が説明フィールドに入ります)。

このモデルには、同じ値を持つAという2つのパラメータが含まれています。BdTについても同様です。意味的には、このマスクの存在は、以下の命令をスーパーブロックのコンテキストに置くことと同じです:


マスキングによる新しいブロックの作成

スーパーブロックは一度マスクされると、ライブラリブロックのように使用することができ、ブロックライブラリに配置することもできます。パラメータの値は、単にデフォルトの数値に置き換えてください。Twin Activateベースの一部のライブラリブロックは、マスクされたスーパーブロックです。

デジタルChebyshevフィルターによる新しいブロックの作成

OMLの関数cheby1に基づいて、I型のデジタルChebyshevフィルターを実装する新しいブロックの作成を考えてみましょう。この関数は、フィルターの次数、減衰係数、カットオフ周波数に基づいて、フィルターの離散伝達関数の分子と分母を計算します。Twin Activate、Chebyshevブロックは存在しませんが、離散伝達関数は存在します。つまり、Chebyshevブロックは次のようにマスクされたスーパーブロックとして構成することができます:


新しいブロックを作成するには、このスーパーブロックを自動マス クし、マスクを編集してブロックおよびパラメータの説明とデフォルト値を指定します:



このブロックは、モデル内でそのまま使用することも、ライブラリに置いて広く使用することもできます。