Main Content

elapsed, et

自状态激活以来的时间

描述

示例

elapsed(sec) 返回自关联状态激活以来经过的时间长度。

示例

et 是执行 elapsed(sec) 的另一种方式。

注意

表达式 elapsed(sec)et 等效于 temporalCount(sec)

示例

全部展开

存储自状态激活以来的秒数。

en,du:
   y = elapsed(sec);

Stateflow chart that uses the elapsed operator in a state.

当图处理事件 E 的广播时,发生转出关联状态的转移,并显示自状态激活以来经过的时间。

E{disp(et);}

Stateflow chart that uses the et keyword in a transition.

提示

  • 在状态和转移动作中,可以使用引号将关键字括起来,如 'sec'。例如,elapsed('sec') 等效于 elapsed(sec)

  • 每当关联状态重新激活时,Stateflow® 图都会重置 elapsed 运算符使用的计数器。

  • 绝对时间时序逻辑运算符的计时取决于 Stateflow 图的类型:

    • Simulink® 模型中的图根据仿真时间定义时序逻辑。

    • MATLAB® 中的独立图根据挂钟时间定义时序逻辑。

    计时上的差异会影响图的行为。例如,假设此图正在执行状态 Aentry 动作。

    Stateflow chart with one state. The entry action in state A calls a function f and stores the elapsed time in y.

    • 在 Simulink 模型中,对 f 的函数调用在单个时间步中执行,不会增加仿真时间。调用函数 f 后,图将零值赋给 y

    • 在独立图中,对 f 的函数调用可能需要几秒的挂钟时间才能完成。调用函数 f 后,图将状态 A 变为激活状态后经过的非零时间赋给 y

版本历史记录

在 R2017a 中推出