Control chart execution with the elapsed operator



elapsed(sec) returns the time in seconds (sec) that has elapsed since the activation of the associated state.

The elapsed operator resets the counter for sec to 0 each time the associated state reactivates.


expand all

At the entry and during actions of the state, y is assigned the length of time that the state has been active.

en, du: y = elapsed(sec);


  • In state and transition actions, you can use quotation marks to enclose the keyword 'sec'. For example:

    y = elapsed('sec');

  • The timing for absolute-time temporal logic operators depends on the type of Stateflow® chart:

    • Charts in a Simulink® model define temporal logic in terms of simulation time.

    • Standalone charts in MATLAB® define temporal logic in terms of wall-clock time.

    The difference in timing can affect the behavior of a chart. For example, suppose that this chart is executing the entry action of state A.

    • In a Simulink model, the function call to f executes in a single time step and does not contribute to the simulation time. After calling the function f, the chart assigns a value of zero to y.

    • In a standalone chart, the function call to f can take several seconds of wall-clock time to complete. After calling the function f, the chart assigns the nonzero time that has elapsed since state A became active to y.

Introduced in R2017a