このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ブロック メソッド実行イベントに対するリスナーを登録
h = add_exec_event_listener(blk
,event,listener);
h = add_exec_event_listener(
は、ブロック メソッド実行イベントに対するリスナーを登録します。ここで、リスナーは、イベントが発生するときにブロックに対するランタイム データのログなど、何らかのタスクを実行する MATLAB® プログラムです (メソッド実行イベントのリスニングを参照してください)。Simulink® ソフトウェアは、モデルのシミュレーション中に指定したイベントが生じる場合は必ず登録したリスナーを呼び出します。バーチャル ブロックに対するリスナーの登録はできません。blk
,event
,listener
)
メモ
Simulink は、シミュレーションの実行中にのみ、リスナーを登録することができます。シミュレーションを実行していないときに、この関数を呼び出すと、エラー メッセージが表示されます。モデルのシミュレーションによりトリガーされるすべての関連イベントを、リスナーが確実にキャッチするためには、モデルのコールバック関数 StartFcn
にリスナーを登録しなければなりません (カスタマイズされたモデルの動作のコールバックを参照してください)。
blk
リスナーが取り扱おうとしているメソッド実行イベントをもつブロックを指定します。次のいずれかになります。
ブロックの絶対パス名
ブロック ハンドル
ブロック ランタイム オブジェクト (シミュレーション中のブロック データへのアクセスを参照)。
event
リスナーがリッスンするイベントのタイプを指定します。次のいずれかになります。
イベント | いつ発生するか |
---|---|
| ブロックの Derivatives メソッド実行前 |
| ブロックの Derivatives メソッド実行後 |
| ブロックの Outputs メソッドの実行前 |
| ブロックの Outputs メソッド実行後 |
| ブロックの Update メソッド実行前 |
| ブロックの Update メソッド実行後 |
listener
登録されるリスナーを指定します。これは、MATLAB の表現、たとえば 'disp(''here'')'
を指定する文字ベクトル、または、2 つの引数を受け取る MATLAB 関数に対するハンドルのいずれかになります。最初の引数は、イベントをトリガーするブロックの block ランタイム オブジェクトです。2 番目の引数は、ランタイム オブジェクトと発生したイベントの名前を指定する EventData
クラスのインスタンスです。
add_exec_event_listener
は、登録していたリスナーのハンドルを返します。イベントのリスニングを停止するためには、MATLAB の clear
コマンドを使用して、リスナーが登録されたワークスペースからリスナー ハンドルをクリアしてください。