Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

temporalCount

ステートがアクティブになってからのイベント数、チャートの実行回数、または時間

説明

temporalCount(E) は、関連付けられたステートがアクティブになってからのイベント E の発生回数を返します。

temporalCount(tick) は、関連付けられたステートがアクティブになってからチャートが起動した回数を返します。

Simulink® モデル内の Stateflow® チャートに入力イベントがある場合、暗黙的イベント tick はサポートされません。

temporalCount(time_unit) は、関連付けられたステートがアクティブになってから経過した時間を返します。time_unit は、秒 (sec)、ミリ秒 (msec) またはマイクロ秒 (usec) として指定します。

メモ

MATLAB® のスタンドアロン Stateflow チャートでは、temporalCount は絶対時間時相論理演算子としてのみ使用できます。

すべて展開する

イベント E のブロードキャストをチャートが処理するたびに、配列 M の連続する要素にアクセスします。

Simulink モデルのチャートで、次のように入力します。

on E:
   y = M(temporalCount(E));

Stateflow chart that uses the temporalCount operator in a state.

temporalCount をイベントベースの時相論理演算子として使用することは、MATLAB のスタンドアロン チャートではサポートされていません。

配列 M の連続する要素における入力データ u の値を格納します。

Simulink モデルのチャートで、次のように入力します。

en,du:
   M(temporalCount(tick)+1) = u;

Stateflow chart that uses the temporalCount operator in a state.

temporalCount をイベントベースの時相論理演算子として使用することは、MATLAB のスタンドアロン チャートではサポートされていません。

ステートがアクティブになってからの経過時間をミリ秒単位で格納します。

en,du:
   y = temporalCount(msec);

Stateflow chart that uses the temporalCount operator in a state.

ヒント

  • 引用符を使用してキーワード 'tick''sec''msec' および 'usec' を囲むことができます。たとえば、temporalCount('tick')temporalCount(tick) と同じです。

  • Stateflow チャートは、関連付けられたステートが再びアクティブになるたびに、temporalCount 演算子で使用されるカウンターをリセットします。

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

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

R2008a で導入