イベント マップへのプロシージャの追加

イベントの処理時に、1 つまたは複数のプロシージャが実行されるように指定するには、関連イベント マップにプロシージャを追加します。イベント マップは、イベント処置ファイルに含まれます。指定されたモデルでイベントが生成されると、SpectroSERVER はイベントを処理し、プロシージャを実行します。
casp1032jp
イベントの処理時に、1 つまたは複数のプロシージャが実行されるように指定するには、関連イベント マップにプロシージャを追加します。イベント マップは、イベント処置ファイルに含まれます。指定されたモデルでイベントが生成されると、SpectroSERVER はイベントを処理し、プロシージャを実行します。
CA Spectrum プロシージャは、[イベント設定]インターフェースではなく、テキスト エディタを使用してのみ作成できます。CA Spectrum のイベントの設定では、イベントに関連付けられている任意のプロシージャを表示できますが、編集はできません。
イベント処置アクションを作成することによって、イベントにイベント プロシージャを関連付けます。「P」アクション コードでアクションを開始し、二重引用符で囲まれたプロシージャ コードを含めます。
注:
 適切なプロシージャの実行には、現在のイベントと現在のモデルの両方が必要です。SpectroSERVER はこれらの両方のパラメータを自動的に設定します。
以下の手順に従います。
  1. SpectroSERVER に管理者としてログインします。
  2. SS/CsVendor/
    vendor_directory
     ディレクトリで、イベント処置ファイルを見つけます。 
  3. $SPECROOT
    /SS/CsVendor/CA/Procedures ディレクトリで使用するプロシージャ XML ファイルを見つけます。
  4. 以下の構文を使用してイベント マップに、選択したプロシージャを追加します。
    event_code
    E
    event_severity
    processing_parameters
    P
    procedure
event_code
S
イベントのイベント コードを指定します。
E
アーカイブ マネージャによって、分散データ マネージャ(DDM)データベースにイベント データが記録されたことを示すアクション コードを識別します。
event_severity
0 ~ 100 のスケールで、イベントの相対的な重大度を指定します。
processing_parameters
イベントでアラームを生成するかどうか、1 つ以上のアラームをクリアするかどうか、または 1 つ以上のイベント ルールを実行するかどうかなど、追加のイベント処理動作を指定します。
P
プロシージャが続くことを示すアクション コードを指定します。
プロシージャ
実行するプロシージャを指定します。複数のプロシージャを指定するには、P
プロシージャ
の複数のインスタンスを使用します。
サーバは、現在のモデルとイベントを事前設定して、このプロシージャの評価に適した環境を設定します。
イベント処置手順はサーバの起動時に 1 回解析され、実行可能なプロシージャ オブジェクトが生成されます。プロシージャのイベントを受信すると、サーバはプロシージャ オブジェクトを評価し、指定された操作を実行します。
以下のイベント マップは、Device_Mdl_Handle 属性(0x10069)を読み取って取得されるポートのデバイス モデルで、イベント 0xabcd0002 を作成するプロシージャを実行します。イベント 0xabcd0002 では、元のイベントのすべてのイベント変数のコピーがあります。
0xabcd0000 E 50 \  P "CreateEventWithVariables( \ ReadAttribute( { C CURRENT_MODEL }, { H 0x10069 } ), \ { H 0xabcd0002 }, \ GetEventVariableList() \ )"
例で、CURRENT_MODEL は、現在のモデルを参照する事前定義済み定数です。イベントの処理時に、SpectroSERVER によってモデルが自動的に環境に設定されます。
例のように二重引用符でプロシージャを完全に囲む必要があります。プロシージャには、プロシージャ名が必要であり、パラメータをとることができます。パラメータは、プロシージャ名の後に続けます。値と定数(直接の値)の両方を中かっこで囲み、カンマで区切る必要があります。たとえば、以下の構文は有効です。 
{ U 101 } (unsigned integer with value of 101)
{ C CURRENT_MODEL } (a constant that is defaulting to the current model handle)
プロシージャ呼び出しを挿入するには、そのパラメータを含むプロシージャ名を使用します。中かっこで囲んた引数を追加します。以下に例を示します。 
ReadAttribute( { C CURRENT_MODEL }, { H 0x1006e } )
プロシージャが複数の行にまたがる場合は、各行が 1 つのイベント マップに続くことを示すために、行継続文字を使用します。
イベント マップには、任意の数のプロシージャを使用できます。イベント処置ファイルから使用できるプロシージャに適用される制限はありません。 
注:
 カスタム(ユーザ定義)イベント プロシージャは、イベント設定エディタでは読み取り専用です。