アクションの実行順序とイベントの並列処理

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > イベント編 > 機能解説 >

アクションの実行順序とイベントの並列処理

アクションの実行順序について

1つのイベントに対して、複数のアクションを定義することができます。

複数のアクションが定義されている場合、イベントが発生する都度、アクションは上から順番に実行されます。

 
c_event_0037
 

 

イベントの並列処理について

各イベントの処理は独立して実行されます。複数のイベントが同時に発生した場合でも、各アクションは他のイベントに影響されることなく並列的に実行されます。

 

例えば、ロガーアクションを使用して2つのデータベースに対して1秒周期でログを取りたい場合、1つの定周期イベントに2つのロガーアクションを定義するよりも、2つの定周期イベントを作成してそれぞれのイベントでロガーアクションを定義した方が高速に処理されます。

 

例1)E01内に2つのアクションを定義

 
c_event_0038

 

イベントが発生すると、「A01」の処理が終了してから「A02」の処理が実行されます。

 

例2)E01/E02にそれぞれ異なるアクションを定義

 

「E01」

「E02」

c_event_0039

c_event_0040

 

イベントはそれぞれ独立して発生し、A01の処理とA02の処理はお互いに影響を及ぼしません(但し、処理の内容が重複する場合、例えば同じPLCに対して通信を行ったりする場合などは影響があります)。

 

例3)E01/E02にそれぞれ同じアクションを定義

 

「E01」

「E02」

c_event_0041

c_event_0042

 

イベントはそれぞれ独立して発生しますが、既に他のイベントでアクションが実行中の場合、後続のイベントは先のイベントの処理が終わるまで待機します。