ブロックのコールバック
ブロックのコールバックの指定
プロパティ インスペクターを開きます。[モデル化] タブの [設計] で [プロパティ インスペクター] をクリックします。
コールバックを指定するブロックを選択します。プロパティ インスペクターの [プロパティ] タブの [コールバック] セクションで、定義するコールバックを選択します。
ボックス内に、コールバックで実行する関数を入力します。
プログラムによりブロックのコールバックを指定するには、set_param
を使用して、MATLAB® コードをブロックのコールバック パラメーターに割り当てます。
ブロック コールバック パラメーター
モデリング アクションが起こる前か起こった後にブロックのコールバックが実行される場合、そのコールバックはモデリング アクションの直前または直後に発生します。
ブロックのコールバック パラメーター | いつ実行されるか |
---|---|
| ブロックを開くとき。 一般に、このパラメーターは Subsystem ブロックで使用します。 コールバックが実行されるのは、ブロックをダブルクリックしたときか、ブロックを引数として
モデル参照で
|
| ブロック線図が読み込まれた後。 Subsystem ブロックの場合は、 |
ブロックのコールバック パラメーター | いつ実行されるか |
---|---|
| ブロックが移動またはサイズが変更されたとき。 |
| ブロックの名前やパスが変更された後。 Subsystem ブロックのパスが変更された場合、Subsystem ブロックは子孫のブロックの |
PreCopyFcn | ブロックがコピーされる前。
ブロック |
| ブロックがコピーされた後。コールバックは、
|
| ブロックがシステム クリップボードにコピーまたは切り取られたとき。 |
PreDeleteFcn | ブロックがグラフィカルに削除される前 (たとえば、ユーザーがブロックをグラフィカルに削除するときやブロックで
|
| ブロックをグラフィカルに削除した後 (たとえば、ブロックをグラフィカルに削除したとき、ブロックで
Subsystem ブロックの場合は、 |
| ブロックがメモリから削除されたとき (たとえば、ブロックまたはブロックを含むサブシステムで ブロックをまだグラフィカルに削除していない場合は、 |
| ブロックの削除が元に戻されたとき。 |
ブロックのコンパイルおよびシミュレーションのコールバック パラメーター
ブロックのコールバック パラメーター | いつ実行されるか |
---|---|
| ブロック線図がコンパイルされる前とブロック パラメーターが評価される前。 |
| ブロック線図がコンパイルされた後とシミュレーションを開始する前。 S-Function ブロックの場合は、 |
| シミュレーションを継続する前。 |
| シミュレーションの一時停止時。 |
| シミュレーションの終了時。 S-Function ブロックの場合、 |
ブロックのコールバック パラメーター | いつ実行されるか |
---|---|
| ブロック線図を閉じる前。 Subsystem ブロックの場合は、 |
| ブロック線図を読み込んだ後。 Subsystem ブロックの場合は、 |
| ブロックが
たとえば、開いている MATLAB ウィンドウをすべて閉じるには、以下のようなコマンドを使用します。 set_param('my_model','CloseFcn','close all') |
| ブロック線図を閉じる前。 モデルを閉じると、ブロックの Subsystem ブロックの場合は、 |
他のブロックのコールバック パラメーターを Subsystem ブロックで使用できますが、この表のコールバック パラメーターは Subsystem ブロックに固有のものです。
メモ
マスク サブシステムに対するコールバックは、マスク サブシステムのパラメーターを直接参照することができません (ブロック マスクの作成を参照)。Simulink® は MATLAB ベース ワークスペースにあるブロック コールバックを評価しますが、一方マスク パラメーターはマスク サブシステムのプライベート ワークスペースに存在します。ただし、ブロック コールバックは get_param
を使用してマスク パラメーターの値を取得することができます。たとえば、ここで、gain
は現在のブロックにおけるマスク パラメーターの名前です。
get_param(gcb, 'gain')
ブロックのコールバック パラメーター | いつ実行されるか |
---|---|
| ブロックまたはラインがサブシステムで削除された後。 ブロックに |
| エラーがサブシステム内で発生したとき。
newException = errorHandler(subsys, ... errorType, originalException) ここで、
元の例外を発行する場合は、サブシステムやエラー タイプの指定は不要です。 次のコマンドは、 set_param(subsys,'ErrorFcn','errorHandler') set_param の呼び出しでは、コールバック コードの入力引数を含めないでください。Simulink は、コールバックによって返されるエラー メッセージを表示します。 |
| ブロックを含むサブシステムを閉じる前または以下を使用してブロックを新しいサブシステムの一部にする際
モデルを閉じたときに、Simulink がルート モデル レベルでブロックの |
関連するトピック
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)