Main Content

duration

Stateflow 图中条件有效期间的时间长度

描述

示例

time = duration(condition) 返回 condition 保持 true 且关联状态激活以来经过的时间长度,以秒为单位。

示例

time = duration(condition,time_unit)time_unit 指定的单位返回时间长度。

注意

MATLAB® 中的独立图不支持时序逻辑运算符 duration

示例

全部展开

当变量 x 大于或等于 0 的时间超过 0.1 秒时,发生转出状态的转移。

[duration(x>=0) > 0.1]

Stateflow chart that uses the duration operator in a transition.

存储自变量 x 大于 5 且状态激活以来经过的毫秒数。

en,du:
   y = duration(x>5,msec);

Stateflow chart that uses the duration operator in a state.

输入参数

全部展开

逻辑条件,指定为 truefalse。通过使用计算结果为 truefalse 的表达式,可以指定 condition 的值。运算符在每个时间步计算 condition

condition 不支持依赖于局部或输出数据的表达式。

示例: duration(u)

示例: duration(u>=0)

duration 返回的时间单位,以秒 (sec)、毫秒 (msec) 或微秒 (usec) 指定。

提示

  • 您可以使用引号将关键字括起来,如 'sec''msec''usec'。例如,duration(x > 0,'sec') 等效于 duration(x > 0,sec)

  • 如果条件表达式 C 变为 false 或关联状态变为非激活,Stateflow® 图会重置 duration 运算符的值。

  • duration 运算符不支持依赖于局部或输出结构体的条件。有关详细信息,请参阅Access Bus Signals Through Stateflow Structures

版本历史记录

在 R2017a 中推出