Main Content

add_exec_event_listener

注册模块方法执行事件的侦听程序

语法

h = add_exec_event_listener(blk,event,listener);

说明

h = add_exec_event_listener(blk,event,listener) 注册模块方法执行事件的侦听程序,其中侦听程序是一个在发生事件时执行某些任务(例如记录某个模块的运行时数据)的 MATLAB® 程序(请参阅侦听方法执行事件)。只要在模型仿真期间发生指定事件,Simulink® 软件就会调用注册的侦听程序。不能为虚拟模块注册侦听程序。

注意

仅当仿真运行时,Simulink 软件才会注册侦听程序。没有运行仿真时,调用此函数会产生错误消息。为确保侦听程序捕获模型的仿真所触发的所有相关事件,应该在模型的 StartFcn 回调函数中注册侦听程序(请参阅使用回调自定义模型行为)。

输入参数

blk

指定侦听程序要处理其方法执行事件的模块。可以是以下选项之一:

event

指定侦听程序侦听的事件的类型。可以是以下任意类型:

事件

发生时间

'PreDerivatives'

在模块的 Derivatives 方法执行之前

'PostDerivatives'

在模块的 Derivatives 方法执行之后

'PreOutputs'

在模块的 Outputs 方法执行之前

'PostOutputs'

在模块的 Outputs 方法执行之后

'PreUpdate'

在模块的 Update 方法执行之前

'PostUpdate'

在模块的 Update 方法执行之后

listener

指定要注册的侦听程序。它可以是指定 MATLAB 表达式的字符向量(例如,'disp(''here'')')或接受两个参量的 MATLAB 函数的句柄。第一个参量是触发了事件的模块的模块运行时对象。第二个参量是一个 EventData 类实例,指定运行时对象以及刚发生的事件的名称。

输出参量

add_exec_event_listener 返回它注册的侦听程序的句柄。要停止侦听事件,请使用 MATLAB clear 命令从注册侦听程序的工作区中清除侦听程序句柄。

版本历史记录

在 R2006a 之前推出