Register listener for block method execution event


h = add_exec_event_listener(blk,event,listener);


h = add_exec_event_listener(blk,event,listener) registers a listener for a block method execution event where the listener is a MATLAB® program that performs some task, such as logging runtime data for a block, when the event occurs (see Listen for Method Execution Events). Simulink® software invokes the registered listener whenever the specified event occurs during simulation of the model. You cannot register a listener for virtual blocks.


Simulink software can register a listener only while a simulation is running. Invoking this function when no simulation is running results in an error message. To ensure that a listener catches all relevant events triggered by a model's simulation, you should register the listener in the model's StartFcn callback function (see Callbacks for Customized Model Behavior).

Input Arguments


Specifies the block whose method execution event the listener is intended to handle. May be one of the following:


Specifies the type of event for which the listener listens. It may be any of the following:




Before a block's Derivatives method executes


After a block's Derivatives method executes


Before a block's Outputs method executes.


After a block's Outputs method executes


Before a block's Update method executes


After a block's Update method executes


Specifies the listener to be registered. It may be either a character vector specifying a MATLAB expression, e.g., 'disp(''here'')' or a handle to a MATLAB function that accepts two arguments. The first argument is the block runtime object of the block that triggered the event. The second argument is an instance of EventData class that specifies the runtime object and the name of the event that just occurred.

Output Arguments

add_exec_event_listener returns a handle to the listener that it registered. To stop listening for an event, use the MATLAB clear command to clear the listener handle from the workspace in which the listener was registered.

Introduced before R2006a

Was this topic helpful?