このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

before

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

説明

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

入力イベントが設定されていないチャートでは、before(n,tick) は、関連付けられたステートがアクティブになってからのチャートの起動回数が n 未満である場合に true を返します。

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

関連付けられたステートがアクティブになってから、シミュレーションの経過時間が n 単位未満である場合に、before(n,time_unit)true を返します。それ以外の場合、演算子は false を返します。time_unit は、秒 (sec)、ミリ秒 (msec) またはマイクロ秒 (usec) として指定します。

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

すべて展開する

ステートが MAX リミットに達するまで、temp 変数が CLK サイクルごとに 1 回増分されます。

on before(MAX,CLK): temp++;

ステートがアクティブになってから 10 CLK サイクル前に、ROTATE イベントのブロードキャストでのみ、関連付けられたステートから遷移が発生します。

ROTATE[before(10,CLK)]

変数 temp が 75 を上回り、ステートがアクティブになってからの経過時間が 12.34 秒に達していない場合に、関連付けられたステートからの遷移が発生します。

[temp > 75 && before(12.34,sec)]

ヒント

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

R2014b で導入