every
一定間隔でチャートを実行
説明
every(
は、関連付けられたステートがアクティブになってから、イベント n
,E
)E
が n
回発生するごとに true
を返します。それ以外の場合、演算子は false
を返します。
every(
は、関連付けられたステートがアクティブになってからチャートが n
,tick
)n
回起動するたびに true
を返します。それ以外の場合、演算子は false
を返します。
Simulink® モデル内の Stateflow® チャートに入力イベントがある場合、暗黙的イベント tick
はサポートされません。
every(
は、関連付けられたステートがアクティブになってから n
,sec
)n
秒ごとに true
を返します。それ以外の場合、演算子は false
を返します。
MATLAB® のスタンドアロン チャートで、n
に 0.001
以上の値を指定します。演算子は、チャートを起動するための暗黙的イベントを生成する MATLAB timer
オブジェクトを作成します。MATLAB timer
オブジェクトの精度は 1 ミリ秒に制限されます。詳細については、スタンドアロン チャートのイベントを参照してください。
timer
オブジェクトは、関連付けられたステートとそのサブステートのentry
アクションをチャートが実行すると作成されます。それ以降の反復では、関連付けられたステートとそのサブステートのduring
アクションの実行をチャートが完了すると、timer
オブジェクトがリセットされます。n
としてチャートの実行中に値が変化する式を指定すると、チャートはtimer
オブジェクトのリセット時のみ時間遅延を調整します。timer
オブジェクトは、関連付けられたステートがアクティブになっている場合、チャート ステップの最後に実行を開始します。このステップには、チャート内にある他のパラレル ステートの実行が含まれることがあります。チャートが
timer
オブジェクトからの暗黙的イベントを受け取ったときに他の演算を処理している場合、チャートはこのイベントをキューに入れます。現在のステップが完了すると、チャートはイベントを処理し、次の反復のために timer オブジェクトをリセットします。時相論理演算子に関連付けられたステートが、チャートによる暗黙的イベントの処理より前に非アクティブになった場合、このイベントはチャートを起動しません。
メモ
この構文は、MATLAB のスタンドアロン チャートでのみサポートされます。Simulink モデルのチャートでは、after
演算子を含む外部自己ループ遷移を代わりに使用してください。詳細については、Simulink モデルのチャートで絶対時間の時相論理に every を使用しないを参照してください。
例
ヒント
引用符を使用してキーワード
'tick'
および'sec'
を囲むことができます。たとえば、every(5,'tick')
はevery(5,tick)
と同じです。Stateflow チャートは、関連付けられたステートが再びアクティブになるたびに、
every
演算子で使用されるカウンターをリセットします。MATLAB のスタンドアロン チャートは、絶対時間時相論理を時計時間で定義します。この時間の精度は 1 ミリ秒に制限されています。
バージョン履歴
R2014b で導入