Main Content

duration

条件が有効である時間

説明

time = duration(condition) は、conditiontrue の状態で、関連付けられたステートがアクティブであった時間の長さを秒単位で返します。

time = duration(condition,time_unit) は、時間の長さを time_unit で指定された単位で返します。

メモ

時相論理演算子 duration は、MATLAB® のスタンドアロン チャートではサポートされていません。

すべて展開する

変数 x の値が 0.1 秒より長く 0 以上であった場合に、ステートから遷移します。

[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.

入力引数

すべて展開する

論理条件。true または false として指定します。condition の値は、true または false として評価される式を使用して指定できます。演算子は、各タイム ステップでの condition を評価します。

condition は、ローカル データまたは出力データに依存する式をサポートしません。

例: duration(u)

例: duration(u>=0)

duration が返す時間の単位。秒 (sec)、ミリ秒 (msec) またはマイクロ秒 (usec) として指定します。

ヒント

  • 引用符を使用してキーワード 'sec''msec' および 'usec' を囲むことができます。たとえば、duration(x > 0,'sec')duration(x > 0,sec) と等価です。

  • Stateflow® チャートは、条件式 Cfalse になるか、関連付けられたステートが非アクティブになると、duration 演算子の値をリセットします。

  • duration 演算子はローカル構造体または出力構造体に依存する条件をサポートしません。詳細については、Stateflow 構造体を介したバス信号へのアクセスを参照してください。

バージョン履歴

R2017a で導入