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 チャートのタイプによって異なります。

    • 金宝app®モデル内のチャートは時相論理をシミュレーション時間で定義します。

    • 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への関数呼び出しが 1 つのタイム ステップで実行され、シミュレーション時間に寄与しません。関数fを呼び出した後、チャートはyに値 0 を代入します。

    • スタンドアロン チャートでは、fへの関数呼び出しが完了するまでに時計時間で数秒間かかる可能性があります。関数fを呼び出した後、チャートはステートAがアクティブになってから経過した 0 以外の時間をyに代入します。

バージョン履歴

R2017a で導入