<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > イベント編 > イベントの応用 > イベントを設定回数だけ実行する |
概要
イベントをある回数だけ発生させたい場合の設定方法について解説します。
例として、10回イベントが発生したらイベントを無効にします。
「U01.F01.T01」がONになると「E02」を有効にし、「A02」アクションを10回実行した後に「E02」を無効にします。
サンプルのダウンロード
このページで紹介されている作成例には、サンプルが用意されています。
サンプルは以下からダウンロードすることができます。
設定ファイル: event_sample04.txt
設定内容
タグの設定
イベントを有効にするトリガとなるビットタグ「U01.F01.T01」を設定します。
また、カウンタ用の数値タグ「U01.F01.T02」を設定します。
アクションの設定
スクリプトアクション「A01」を追加し、スクリプトを以下のように設定する。
U01.F01.T02 = 10 //Event/E02!Enable = 1 |
ここでU01.F01.T02に設定した値が実行回数になります。
イベントの設定
タグイベント「E01」及び定周期イベント「E02」を追加します。
E01:
•タグ「U01.F01.T01」
•比較条件「タグ値が=比較値」
•比較値「TRUE」
•実行アクション「A01」
E02:
•周期を1秒に設定
•初期状態を無効にするため、「無効にする」をチェック
解説
このサンプルを実行すると以下のような動作となります。
▪ビットON時
1.U01.F01.T01がTRUEになるとタグイベント「E01」が発生し、スクリプトVer1アクション「A01」が実行される
2.「A01」では「U01.F01.T02 = 10」の式が実行され、10が設定される
3.同時に「//Event/E02!Enable = 1」の式が実行され、イベント「E02」が有効になる
▪定周期イベント「E02」が有効中
1.「E02」により、ターゲットアクション「A02」が1秒ごとに実行される
2.処理が終了後、「U01.F01.T02 = U01.F01.T02 – 1」の式が実行され、タグ値は毎回1ずつ減算される
3.同時に「//Event/E02!Enable = U01.F01.T02 > 0」の式が実行される。「U01.F01.T02」が0より大きい時は特に変化無し。「U01.F01.T02」が0の時は、「E02」が無効になる