ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

リンク付きブロックへのマスクの適用

Simulink® ライブラリには、マスクをもつブロックを含めることができます。このタイプのブロックの例として、Ramp ブロックが挙げられます。このブロックは、モデルまたは別のライブラリにコピーされると、ライブラリ リンクになります。このリンク付きブロックには、新しいマスクを追加できます。このリンク付きブロックがライブラリ内に存在しているときに再びコピーすると、このリンク付きブロックに別のマスクを追加して、マスクのスタックを作成できます。リンク付きブロックにマスクを追加することで、他の Simulink ブロックと同様に、カスタム インターフェイスをリンク ブロックに追加できます。

ライブラリの一部として表示されるブロック マスクは、ベース マスクです。派生マスクは、ベース マスクの上に作成されたマスクです。

たとえば、以下の図では、ライブラリ A にブロック A が含まれており、このブロック A にマスク A が追加されています。ブロック A がライブラリ B にコピーされ、このブロック A にマスク B が追加されています。ブロック A がライブラリ B にコピーされると、ライブラリ B からライブラリ A へのライブラリ リンクが作成されます。

次に、ブロック B がモデルにコピーされ、このブロック B にマスク C が追加されています。これで、ライブラリ B からブロック C へのライブラリ リンクが作成されます。したがって、ブロック C にはマスク A、マスク B およびマスク C が追加されています。マスク C は派生マスクであり、マスク B はベース マスクです。

ブロック C の以下の点について注意してください。

  • マスク パラメーター名は、スタック内で一意です。

  • マスク B およびマスク C に対してマスク パラメーターを設定できます。

  • マスク B およびマスク C は、マスク A から MaskType パラメーターと MaskSelfModifiable パラメーターを継承します。

  • 最初にマスク C、続いてマスク B、マスク A という順番でそれぞれのマスク初期化コードが実行されます。

  • 変数は、スタック内で現在のマスクのすぐ上に位置するマスクから順番に解決されます。現在のマスクが一番上のマスクである場合、通常の変数関連付けルールに従います。

マスク パラメーターのガイドライン

  • 複数のマスク パラメーターに同じ名前を使用することはできません。Promote タイプのマスク パラメーターは例外であり、名前は継承されるので、継承元のパラメーターの名前と同じになります。

  • ベース マスクの下に位置するマスクに対して、マスク パラメーターを設定することはできません。ベース マスクの下に位置するマスクのマスク パラメーターは、ライブラリから継承されます。

マスクされたリンク付きブロックに対するマスクの動作

以下に示すのは、マスクされたリンク付きブロックについて理解しておくことが重要な動作の一部です。

  • MaskType および MaskSelfModifiable パラメーターは、ベース マスクから継承されます。

  • 派生マスクのマスク表示コードが最初に実行され、次に派生マスクの下に位置するマスクの表示コードから、MaskIconFrame パラメーターが opaque に設定されているマスクまで順番に実行されます。

  • 派生マスクのマスク初期化コードが最初に実行され、次に派生マスクの下に位置するマスクの初期化コードが順番に実行されます。

  • 変数は、スタック内で現在のマスクのすぐ上に位置するマスクから順番に解決されます。現在のマスクが一番上のマスクである場合、通常の変数関連付けルールが適用されます。

  • 複数のマスクをもつブロックを含んでいる Simulink モデルまたはライブラリを保存するときに、[ファイル][モデルを前バージョンにエクスポート...]を使用していると、Sourceblock パラメーターが変更されて、一番下のマスクをもつライブラリ ブロックを参照します。

  • ライブラリへのリンクを無効化、切断または再確立したときに、以下の処理が発生します。

    • ライブラリ ブロックへのリンクを無効にした場合、マスク階層全体が保存されモデル ファイルに保存されるので、ブロックがスタンドアロン ブロックとして動作できます。

    • ライブラリ ブロックへのリンクを切断した場合、ブロックはスタンドアロン ブロックになります。

    • リンクを無効にしてから復元して再確立した場合、マスクに対する変更内容はすべて破棄されます。サブシステムにマスクを追加した場合、リンクを無効にしてからプッシュを実行して再確立しなければなりません。プッシュを実行したときに、サブシステムの変更内容がライブラリ ブロックにプッシュされ、一番上のマスクの変更内容が隣接ライブラリにプッシュされます。

この情報は役に立ちましたか?