Main Content

before

イベント ブロードキャスト前または指定した時間前にチャートを実行

説明

before(n,E) は、関連付けられたステートがアクティブになってからのイベント E の発生回数が n 回より少ない場合に true を返します。それ以外の場合、演算子は false を返します。

before(n,tick) は、関連付けられたステートがアクティブになってからのチャートの起動回数が n 回より少ない場合に true を返します。それ以外の場合、演算子は false を返します。

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

before(n,time_unit) は、関連付けられたステートがアクティブになってから n 単位未満の時間が経過した場合に true を返します。それ以外の場合、演算子は false を返します。

time_unit は、秒 (sec)、ミリ秒 (msec) またはマイクロ秒 (usec) として指定します。n を式として指定する場合、シミュレーション中に式の値が変化すると、チャートは時間遅延を調整します。

メモ

時相論理演算子 before は、Simulink モデル内の Stateflow チャートでのみサポートされています。

すべて展開する

ステートがアクティブになってから 1 番目と 2 番目のイベント E のブロードキャストをチャートが処理すると、ステータス メッセージが表示されます。

on before(3,E): disp("ON");

Stateflow chart that uses the before operator in a state.

チャートがイベント E のブロードキャストを処理すると、このステートから遷移します。ただし、ステートがアクティブだったイベント E のブロードキャストが 5 回未満の場合に限られます。

before(5,E)

Stateflow chart that uses the before operator in a transition.

ステートがアクティブだったイベント E のブロードキャストが 5 回より少ない場合に、関連付けられたステートから遷移します。

[before(5,E)]

Stateflow chart that uses the before operator in a transition.

チャートが起動すると、関連付けられたステートから遷移します。ただし、変数 temp が 98.6 より大きく、ステートがアクティブになってからのチャートの起動回数が 7 回未満の場合に限られます。

before(7,tick)[temp > 98.6]

Stateflow chart that uses the before operator in a transition.

チャートが起動するたびに変数 tempMED に設定します。ただし、関連付けられたステートがアクティブである時間が 12.3 秒未満である場合に限られます。

on before(12.3,sec): temp = MED;

Stateflow chart that uses the before operator in a state.

ヒント

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

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

バージョン履歴

R2014b で導入