every
Execute chart at regular intervals
Description
every(
returns
n
,E
)true
at every n
th
occurrence of the event E
since the associated state became active.
Otherwise, the operator returns false
.
every(
returns
n
,tick
)true
at every n
th time
that the chart wakes up 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.
every(
returns
n
,sec
)true
every n
seconds since the associated state
became active. Otherwise, the operator returns false
.
In standalone charts in MATLAB®, specify n
with a value greater than or equal to
0.001
. 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
timer
object is created when the chart finishes executing theentry
actions of the associated state and its substates. For subsequent iterations, thetimer
object is reset when the chart finishes executing theduring
actions of the associated state and its substates. If you specifyn
as an expression whose value changes during chart execution, the chart adjusts the temporal delay only when thetimer
object is reset.The
timer
object 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
timer
object, the chart queues the event. When the current step is completed, the chart processes the event and resets the timer object for the next iteration.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.
Note
This syntax is supported only in standalone charts in MATLAB. In charts in Simulink models, use an outer self-loop transition with the after
operator instead. For more information, see Do Not Use every for Absolute-Time Temporal Logic in Charts in Simulink Models.
Examples
Tips
You can use quotation marks to enclose the keywords
'tick'
and'sec'
. For example,every(5,'tick')
is equivalent toevery(5,tick)
.The Stateflow chart resets the counter used by the
every
operator each time the associated state reactivates.Standalone charts in MATLAB define absolute-time temporal logic in terms of wall-clock time, which is limited to 1 millisecond precision.
Version History
Introduced in R2014b