イベントを設定回数だけ実行する

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > イベント編 > イベントの応用 >

イベントを設定回数だけ実行する

概要

イベントをある回数だけ発生させたい場合の設定方法について解説します。

 

例として、10回イベントが発生したらイベントを無効にします。

 

「U01.F01.T01」がONになると「E02」を有効にし、「A02」アクションを10回実行した後に「E02」を無効にします。

 

c_event_0069

 

 

サンプルのダウンロード

このページで紹介されている作成例には、サンプルが用意されています。

 

サンプルは以下からダウンロードすることができます。

 

設定ファイル: event_sample04.txt

 

 

設定内容

 

タグの設定

 

イベントを有効にするトリガとなるビットタグ「U01.F01.T01」を設定します。

また、カウンタ用の数値タグ「U01.F01.T02」を設定します。

 

c_event_0070

 

 


 

アクションの設定

 

スクリプトアクション「A01」を追加し、スクリプトを以下のように設定する。
c_event_0071

 

U01.F01.T02 = 10

//Event/E02!Enable = 1

 

ここでU01.F01.T02に設定した値が実行回数になります。
 

 

 


 

イベントの設定

 

タグイベント「E01」及び定周期イベント「E02」を追加します。

c_event_0072
 

E01:

タグ「U01.F01.T01」

比較条件「タグ値が=比較値」

比較値「TRUE」

実行アクション「A01」

 

E02:

周期を1秒に設定

初期状態を無効にするため、「無効にする」をチェック

 

 

解説

 

c_event_0073

 

このサンプルを実行すると以下のような動作となります。

 

ビット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」が無効になる