タグイベント

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > イベント編 > イベントとは >

タグイベント

タグイベント

タグイベントは、タグの値を評価して、条件の成立時に発生するイベントです。

 

タグイベントを利用する事で、タグにアクセスできる様々な機能からタグを介してアクションを実行することができるようになります。

 

c_event_0006

 

 

以下はタグイベントの利用例です。

 

PLCのラダーからアクションを実行
ラダーからイベントのトリガとしたいPLCデバイスの値をON/OFFさせ、そのデバイスとリンクしたタグ値の評価によってイベントを発生させることで、PLCからアクションを実行させることができます。例えば、PLCのラダーロジックからレポート印刷やメール送信などのトリガをかけることができます。また、システムプロパティを用いることで、PLCと通信不能になった時に自動的にメールを送信するなどの応用も可能です。

 

他社SCADA/VisualBasic/Excelなどからアクションを実行
外部アプリケーションから、OPC/DDE/IPLinkなどのインターフェースを経由してタグの値を更新することによって、目的のアクションのトリガを発生させることができます。

 

スクリプトからで実行
計算結果によりアクションを実行させたい場合はスクリプトアクション(SC2など)を用います。

 

Panel Browserの画面操作からアクションを実行
Panel Browserの画面からタグの値を更新し、アクションのトリガをかけることができます。

 

 

尚、タグイベントはの発生条件は、以下のように様々な条件を設定することができます。

 

 

単一条件

タグの値が変化した、ビットがONした、値が100以上になった等、1つの条件でイベントを発生させる場合は、以下の2箇所を設定します。

 

まず、「タグ」の部分に、イベントを判定する元となるタグをタグパスで指定します(「U01.F01.T01」など)。

そして、どのような条件によってイベントを発生させるのかを、「比較条件」に指定します。

 

「タグの値が変化した」を選択した場合、タグが変化する度にイベントが発生するため、比較値を定義する必要はありません。

その他の条件(「タグ値=比較値」など)を選択した場合には、比較値を設定して下さい。

なお、ビットタグの場合、比較値には「TRUE/FALSE」もしくは「1/0」を設定することができます。

 

c_event_0050

 

 

hint

タグ名に「U01!Alive」などのシステムプロパティも設定できます。「Alive」プロパティは、PLCとの通信が出来なくなったときにイベントを発生させたい場合に便利です。

 

 

複数条件

タグの値に対していくつかの条件を追加したいケース、例えば、上限、下限などの「しきい値」によってイベントを発生させたい場合は、以下のように設定します。

 

■HI/LO条件


c_event_0051

 

HI/LO条件でイベントを発生させる場合は、上の3箇所を設定します。

必ず、LO側よりHI側の比較値の方が大きな値となるように設定して下さい。

例)HI「10」LO「5」のとき

変化前の値

変化後の値

イベント

8

11

発生する

11

15

発生しない

15

11

発生しない

11

8

発生しない

8

6

発生しない

6

3

発生する

3

1

発生しない

1

11

発生する

11

1

発生する

 

■HI_HI/HI/LO/LO_LO条件


c_event_0052

HI_HI/HI/LO/LO_LO条件でイベントを発生させる場合は、上の3箇所を設定します。

必ず、LO_LOからHI_HIになるにつれ比較値を大きい値にして下さい。

 

なお、右の例では、4→6及び21→19の変化でイベントが発生しています。

これは、LOLO(またはHIHI)からの復帰という意味のイベント発生ではなく、LOLOの後にLOが発生した(HIHIの後にHIが発生した)ことを表すイベントです。

従って、LOから正常値への復帰(またはHIからの復帰)については、イベントは発生しません。

 

例)HIHI「20」HI「15」LO「10」LOLO「5」のとき

変化前の値

変化後の値

イベント

1

4

発生しない

4

6

発生する

6

9

発生しない

9

11

発生しない

11

14

発生しない

14

16

発生する

16

19

発生しない

19

21

発生する

21

24

発生しない

24

21

発生しない

21

19

発生する

19

16

発生しない

16

14

発生しない

14

11

発生しない

11

9

発生する

9

6

発生しない

6

4

発生する

4

1

発生しない

1

21

発生する

21

1

発生する

1

16

発生する

16

9

発生する

 

■自由定義


c_event_0053

「=」「<>」と「>」「<」「>=」「<=」を混在させる場合は、「=」「<>」を最初の方の行に記述して下さい。

また、「>」「<」「>=」「<=」に関しては、最初の方の行の比較値が一番大きく、最後の方の行が一番小さい値となるように定義して下さい(つまり、「HIHI/HII/LO/LOLO条件」のように「>」「>=」が先になり、「<」「<=」は後になります)。

例)EQ1「タグ値=1」EQ2「タグ値=3」

変化前の値

変化後の値

イベント

0

1

発生する

2

発生しない

2

3

発生する

3

4

発生しない

3

1

発生する

 

 

hint

タグの値がある範囲(例えば50以上100以内)になったときにイベントを発生させたい等、複数の条件を組み合わせてイベントの発生を定義したい場合には、スクリプトVer1アクションと組み合わせてイベントを定義するようにします。

 

 

タグイベントの初期状態を無視する

「初期状態を無視」をチェックすると、オンライン直後の値が条件を満たしていてもイベントを発生させません。この設定では、一度条件からはずれて、再び条件を満たしたときにイベントが発生します。

 

例えば、条件を「タグ値=比較値」で値「1」としたとき、オンライン直後のPLCの値が1になっていたとしてもイベントは発生しません。一度1以外の値になった後、再び1になったときに発生します。

 

c_event_0054

 

 

hint

「初期状態を無視」はイベントのシステムプロパティ「Enable」を「1」にした直後の動作にも適用されます。

 

 

タグイベントを手動で発生させる

「手動発生」にチェックを入れると、値が条件を満たしていてもイベントを発生させません。ただし、イベントが発生した時点の値は保持されます。

 

この設定は、スクリプト「E01!Fire」でイベントの発生のタイミングを手動で制御したい場合などに使用します。

 

c_event_0055

 

 

hint

「手動発生」は、主にロガーアクションのイベント型ログで使用しますが、その他の用途で使用する場面は少ないかもしれません。ロガーアクションでイベント手動発生によるロギングを行う方法は、ロガーアクションの、「イベント型ログフォーマットで定周期にログをとる」の記述を参照下さい。