Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

マスク コードの追加

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

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

描画コマンドの実行

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

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

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

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

メモ

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

初期化コマンドの実行

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

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

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

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

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

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

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

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

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

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

Simulink は、以下のいずれかの条件が満たされている場合、これらの可視状態のマスク ブロックおよびその親ブロックの初期コマンドを実行します。

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

    メモ

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

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

モデルをグラフィックスとして表示しないでモデルをメモリに読み込んだ場合、自己修正可能なマスクをもつライブラリ ブロックを除き、マスク ブロックに対して初期化コマンドは実行されません。モデルを表示しない読み込みの詳細は、モデルの読み込みおよび load_system を参照してください。

メモ

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

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

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

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

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

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

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

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

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

    メモ

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

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

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

メモ

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

関連するトピック