after
Execute chart after event broadcast or specified time
Description
after( returns
n,E)true if the event E has occurred at least
n times since the associated state became active. Otherwise,
the operator returns false.
after(
returns n,tick)true if the chart has woken up at least
n times since the associated state became active. Otherwise,
the operator returns false.
The implicit event tick is not supported when a Stateflow® chart in a Simulink® model has input events.
after(
returns n,time_unit)true if at least n units of time have
elapsed since the associated state became active. Otherwise, the operator returns
false.
In charts in a Simulink model, specify time_unit as seconds
(sec), milliseconds (msec), or
microseconds (usec). If you specify n as an
expression, the chart adjusts the temporal delay as the expression changes value
during the simulation.
In standalone charts in MATLAB®, specify n with a value greater than or equal to
0.001 and time_unit as seconds
(sec). The operator creates a MATLAB
timer object that generates an
implicit event to wake up the chart. MATLAB
timer objects are limited to 1 millisecond precision. For more
information, see Events in Standalone Charts.
The
timerobject is created when the chart finishes executing theentryactions of the associated state and its substates. If you specifynas an expression whose value changes during chart execution, the chart does not adjust the temporal delay of thetimerobject.The
timerobject starts running at the end of the chart step when the associated state becomes active. This step can include the execution of other parallel states in the chart.If the chart is processing another operation when it receives the implicit event from the
timerobject, the chart queues the event. When the current step is completed, the chart processes the event.If the state associated with the temporal logic operator becomes inactive before the chart processes the implicit event, the event does not wake up the chart.
Examples
Tips
You can use quotation marks to enclose the keywords
'tick','sec','msec', and'usec'. For example,after(5,'tick')is equivalent toafter(5,tick).The Stateflow chart resets the counter used by the
afteroperator each time the associated state reactivates.The timing for absolute-time temporal logic operators depends on the type of Stateflow chart:
Charts in a Simulink model define absolute-time temporal logic in terms of simulation time.
Standalone charts in MATLAB define absolute-time temporal logic in terms of wall-clock time, which is limited to 1 millisecond precision.
The difference in timing can affect the behavior of a chart. For example, suppose that this chart is executing the
duringaction of stateA.
In a Simulink model, the function call to
fexecutes in a single time step and does not contribute to the simulation time. The transition from stateAto stateBoccurs the first time the chart wakes up and stateAhas been active for at least 2 seconds. The value displayed by theentryaction in stateBdepends only on the step size used by the Simulink solver.In a standalone chart, the function call to
fcan take several seconds of wall-clock time to complete. If the call lasts more than two seconds, the chart queues the implicit event associated with theafteroperator. The transition from stateAto stateBoccurs when the functionffinishes executing. The value displayed by theentryaction in stateBdepends on the time the function call toftakes to complete.
Version History
Introduced in R2014b




