ドキュメンテーション

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

before

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

説明

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

入力イベントが設定されていないチャートでは、before(n,tick) または before(n,wakeup) は、関連付けられたステートがアクティブになってから、チャートの起動回数が 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''wakeup''sec''msec' および 'usec' を囲むことができます。たとえば、before(5,'tick')before(5,tick) と同じです。

R2014b で導入