Main Content

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

マスク コールバック コード

マスク コードの追加

MATLAB® コードを使用して、マスクの初期化およびマスク アイコンの描画ができます。コードの場所がモデルのパフォーマンスに影響を与えるため、必要とする機能を反映する場所にコードを追加してください。

目的マスク エディターでの追加場所プログラム上の指定
マスクの初期化[初期化] ペインMaskInitialization パラメーター
マスク アイコンの描画[アイコン] ペインMaskDisplay パラメーター
マスク パラメーターのコールバック コード[パラメーターとダイアログ] ペインMaskCallbacks パラメーター

描画コマンドの実行

マスク アイコンを描画する MATLAB コードを、[アイコン] ペインの [アイコンを描画するコマンド] セクション内に配置します。Simulink® は、以下の場合に、それらのコマンドを順次実行してマスク アイコンを再描画します。

  • ブロックが最初にマスク エディターのキャンバスにレンダリングされる場合

  • 描画コマンドに依存するマスク パラメーターや値が変更された場合

  • ブロックの外観が、回転やその他の変更によって変更された場合

メモ

マスク アイコンを描画する MATLAB コードを [初期化] セクションに配置した場合、モデルのパフォーマンスに影響します。これは、モデルでマスク ブロックが評価されるたびに Simulink でアイコンが再描画されるためです。

初期化コマンドの実行

モデル内のすべてのマスク ブロック用の初期化コマンドは、以下の場合に実行されます。

  • ブロック線図を更新する

  • シミュレーションを開始する

  • コード生成を開始するとき

  • マスクの変更を適用するとき

  • マスク エディターまたは set_param を使用して、MaskDisplayMaskInitialization などのマスクを定義するパラメーターのいずれかを変更するとき。

  • アイコンが初期化コマンドに依存する場合に、マスク ブロックを回転または反転させるとき。

  • アイコンを描画または再描画する際に、そのアイコン描画が初期化コードに依存するとき。

  • ブロックのダイアログ ボックスまたは set_param を使用してマスク パラメーターの値を変更するとき。

モデルを開くと、Simulink は、そのモデルの最上位または開いているサブシステムに存在している可視状態のマスク ブロックを見つけます。

Simulink は、これらの可視状態のマスク ブロックに対してのみ、以下のいずれかの条件が満たされた上で初期化コマンドを実行します。

  • マスク設定されたブロックに、アイコン描画コマンドがある。

    メモ

    Simulink は、モデルの読み込み時にマスク ブロックに初期化コマンドがあっても、アイコン描画コマンドがないと初期化しません。

  • マスク サブシステムがライブラリに属しており、[ライブラリ ブロックで内容を変更することを許可] パラメーターが有効になっている。

モデルをグラフィックスとして表示しないでメモリに読み込む場合は、マスク ブロックに対して最初に実行される初期化コマンドはありません。モデルを表示しない読み込みの詳細は、モデルの読み込みおよび load_system を参照してください。

メモ

モデルが既にコンパイルされている場合 (初期化済み)、マスク ブロックの調整不可のパラメーターは評価されません。

コールバック コードの実行

マスク パラメーターのコールバック コードはベース ワークスペースではなく一時ワークスペースで実行されます。コールバックで作成された変数を後で使用しなければならない場合 (コールバック処理中ではなく)、これらの変数を明示的にベース ワークスペースに割り当てなければなりません。

Simulink は以下の場合にコールバック コマンドを実行します。

  • マスク ダイアログ ボックスを開くとき。コールバック コマンドは、最上位マスクのダイアログ ボックスから順番に実行されます。

  • マスク ダイアログ ボックスでパラメーターの値を変更し、カーソルの位置を変更したとき。たとえば、パラメーターの値を変更してから Tab キーを押すかダイアログ ボックスの別のフィールドをクリックしたとき。

  • set_param コマンドを使用してパラメーター値を変更すると、コールバック コマンドが実行されます。

  • マスク ダイアログ ボックスまたは set_param を使用してパラメーター値を変更し、[適用] または [OK] をクリックしてその変更内容を適用するとき。コールバック コマンドの後にマスク初期化コマンドが実行されます。詳細については、[コード] ペインを参照してください。

  • マスク ブロック上にカーソルを合わせてそのブロックのツール ヒントを表示する場合に、そのツール ヒントにパラメーター名および値が含まれているとき。

    メモ

    コールバック コマンドは、ブロックのツール ヒントが表示されるときにマスク ダイアログ ボックスが開いている場合は実行されません。

  • Ctrl+D キーを押すか、Simulink エディターの [モデル化] タブで [モデルの更新] をクリックすることで、ブロック線図を更新するとき。

  • 変更を保存せずにマスク ダイアログ ボックスを閉じた場合、パラメーターのコールバック コマンドが順番に実行されます。

メモ

マスク ダイアログ ボックスのボタンは、ボタンに関連付けられたコールバック コードの実行中は使用できません。

関連するトピック