最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

elapsed

elapsed 演算子でチャートの実行を制御する

説明

elapsed(sec) によって、関連付けられたステートがアクティブになってから経過した時間を、秒単位 (sec) で返します。

関連付けられたステートが再びアクティブになるたびに、elapsed 演算子は sec のカウンターを 0 にリセットします。

すべて展開する

ステートの entry アクションおよび during アクションで、ステートがアクティブになっている時間の長さが y に代入されます。

en, du: y = elapsed(sec);

ヒント

  • ステート アクションおよび遷移アクションでは、引用符を使用してキーワード 'sec' を囲むことができます。以下に例を示します。

    y = elapsed('sec');

  • 絶対時間の時相論理演算子のタイミングは Stateflow® チャートのタイプによって異なります。

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

    • MATLAB® のスタンドアロン チャートは時相論理を時計時間で定義します。

    タイミングの差はチャートの動作に影響する場合があります。たとえば、次のチャートはステート Aentry アクションを実行しているとします。

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

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

R2017a で導入