アラームマスタのフォーマット

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > アクション編 > アクションリファレンス > アラームサーバ >

アラームマスタのフォーマット

アラームマスタについて

アラームサーバのアラーム条件の定義は、「アラームマスタ」と呼ばれる設定ファイルにする必要があります。

 

アラームマスタはCSV形式のテキストファイルであり、メモ帳などのテキストエディタやExcelなどで自由に編集することができます。アラームサーバーアクションは実行時にアラームマスタを読み込み、アラームの監視を行います。

 

以下に、アラームサーバアクションに対するアラームマスタの参照先の設定と、アラームマスタのフォーマットについて説明します。

 

 

アラームマスタタブの設定

アラームサーバーアクションの設定画面の「アラームマスタ」タブでは、アラームマスタの参照先などの基本条件を設定します。

 

アラームマスタタブの設定項目は以下のとおりです。

 

(アラームマスタタブ)
c_action_0248

 

マスターファイル
アラームマスタのパス名を指定します。

 

タグアクセスパス
タグアクセスパスを指定すると、アラームマスタ内で使われる全てのタグ名の頭の文字列を省略できます。例えば、アクセスパスを「U01.F01.」とした場合、「(U01.F01.M0000 || U01.F01.M0001) && U01.F01.M0002」という発生条件は、頭の「U01.F01.」を省略して「(M0000 || M0001) && M0002」となります。
 

タグダイレクトパスマーク
タグアクセスパスを指定すると、アクセスパス文字列がタグ名の頭に必ず付加されます。ある特定のタグのみアクセスパス文字列を付加したくない場合、タグダイレクトパスマークをタグ名の頭に付加します。
 例)_U01!Alive
また、アクセスパスを「U01.F01.」とした場合、U02~をアラーム条件に含めたい場合などにも利用できます。

 

簡易フォーマットを使用する
マスターファイルのフォーマットは通常フォーマットと簡易フォーマットの2種類あります。簡易フォーマットを使用する場合、「簡易フォーマットを使用する」をチェックします。簡易フォーマットについては下記のヒントを参照してください。

 

 

hint

簡易フォーマットは、旧バージョンとの互換性維持のために残されている旧仕様の機能です。Ver4.0Rev5以前のバージョンでは、簡易フォーマットしか定義することができませんでしたが、Rev6以降、アラームメール、タグコメントフィールドなどの機能が拡張され、通常フォーマット(新フォーマット)と簡易フォーマット(旧フォーマット)の2つのフォーマットが定義できるようになりました。何か特別な理由がない限り、簡易フォーマットを使用する必要はありません。

 

簡易フォーマットのデメリット:

・アラームメールの定義ができない

・タグコメントフィールドを定義できない

 

 

hint

タグアクセスパスとダイレクトパスマークに関する詳細については「タグアクセスパスの利用について」を参照してください。

 

hint

アラームサーバーにタグアクセスパスを設定した場合、そのままではシステムプロパティタグ(U01!Aliveなど)などをアラーム条件に含めることができません。タグアクセスパスを設定した状態でシステムプロパティタグをアラームに含めたい場合には、先頭にダイレクトパスマークを付加することで対応が可能です。ダイレクトパスマークのデフォルトは「_」(アンダーバー)となっています。

例)'_U01!Alive' == FALSE 

「U01!Alive」などのシステムプロパティタグについては、「PLC通信エラーをアラーム監視する」を参照してください。

 

 

アラームマスタのフォーマット(通常フォーマット)

アラームマスタはCSV形式のテキストファイルとして作成する必要があります。

通常フォーマットの仕様は以下のとおりです。

 

1行目

タイトル行です。アラームマスタの列の見出しをカンマ区切りで自由に記述することができます。

 

2行目

アラームマスタに定義する各フィールドのタイプを指定します。どの列に何のフィールドを定義するのかをカンマ区切りで指定します。

 

例えば、以下のように記述します。

 

[ALARMID],[RECOVER],[ACK],[ONCONDITION],[CM0],[CM1],[CM2]

 

ここで、[ALARMID] や [ACK] などの角括弧で囲まれた書式がフィールドを表します。上記の例では、1列目がアラームID、2列目が発生復帰の有無、3列目が確認の有無、4列目が発生条件・・のように解釈されます。

 

3行目以降

各アラームの定義を行います。2行目で指定したフィールドの並び順で、個々のアラームの情報をカンマ区切りで定義します。

 

 

例)

 

アラームID,発生復帰,確認,発生条件,コメント0,コメント1,コメント2

←タイトル行

[ALARMID],[RECOVER],[ACK],[ONCONDITION],[CM0],[CM1],[CM2]

←フィールド名

0,n,n,U01.F01.M0000,M0が異常です。,Line1,1

←アラームの定義

1,n,n,U01.F01.M0001,M1が異常です。,Line1,1

2,n,y,U01.F01.M0002,M2が異常です。,Line1,2

 

 

フィールド名の指定では、あらかじめ定められた文字列を角括弧([])で囲んで指定します。アラームマスタで使用可能なフィールド名は以下のとおりです。

フィールド名

解説

[ALARMID]

アラームIDはアラーム毎に割り振られるインデックス(文字)です。アラームIDは、アラームを識別するための番号(文字)で、様々な場面で利用されます。アラーム毎に一意に付加される番号(文字)のため、エラーコードのようなイメージで利用することができます。尚、アラームIDに数値を割り当てるかわりに、タグ名などの文字を割り当てておくと、後からアラームを挿入、追加したい場合、重複しているかどうかを気にせずアラームマスタに定義できるようになります。

また、本フィールドを省略した場合、内部的に0から始まる連番が自動的にIDとして付与されます。但し、注意点として、アラームサーバーの運用以降にアラームマスタの途中に新たなアラームを挿入してしまうと、挿入したアラーム以降のアラームIDがずれてしまい、過去のアラームデータとの整合性が保てなくなる可能性があります。自動ID付与の状態のままで新しいアラームを追加したい場合は、必ずアラームマスタの末尾に追加するようにしてください。

 

[RECOVER]

発生・復帰の有無を、半角小文字の“y”または“n”で定義します。この設定を“y”(有り)とすると、アラームの発生時と復帰時に別々のアラームイベントを発生させる事ができます。アラーム監視を行う場合は“y”を指定します。本フィールドを省略した場合、すべて「y」となります。

一方、“n”(無し)とすると、発生時のみレコードが生成され、復帰時は無視されます。運転操作履歴などのイベントを登録する際に、“n”を指定します。

 

[ACK]

「確認」の有り/無しを、“y”か“n”で定義します。有りにすると、画面からアラームの確認操作が行えます。本フィールドを省略した場合、すべて「y」になります。無しに設定されたアラームは、確認無しで自動的に復帰します(アラームが復帰するとアラームサマリから自動的に消去します)。

 

[ONCONDITION]

アラームの発生条件です。本フィールドは必須定義です。例えば、TAG01がONしたときアラームを発生させたい場合、「TAG01」と記述します。又、発生条件として式を記述することもできます。

 

例えば「TAG01 * 2 > 10 || TAG02」のように条件を式で記述できます。

 

尚、アラームの発生条件にPLCとの通信エラーを含めることができます。定義の方法については「PLC通信エラーをアラーム監視する」を参照してください。

 

[OFFCONDITION]

アラーム復帰条件を任意に記述します。ここで指定した条件がFALSEになった時にアラームが復帰します。省略すると発生条件のFALSEで復帰とみなします。

 

例えば、発生条件をTAG01 > 10 復帰条件を TAG01 > 5とした場合、値が10以上になったときにアラームが発生し、5以下になるまでアラームは復帰しません。

 

[ONTIMER]

アラーム発生までのタイマです(秒)。指定した時間の間継続してONの時、アラーム発生とします。待ち時間以内に、発生条件が解除されるとアラームは発生しません。特に発生待ちタイマが必要ない場合は、本フィールドは省略してもかまいません。

 

[OFFTIMER]

アラーム復帰までのタイマです(秒)。指定した時間の間継続してOFFの時、アラーム復帰とします。待ち時間以内に、復帰条件が解除されるとアラームは発生しません。特に復帰待ちタイマが必要ない場合は、本フィールドは省略してもかまいません。

 

[OUTPUTTAG0:xxx]

[OUTPUTTAGn:xxx]

アラームの状態をタグにリンクしたい場合に設定します。xxxの部分には出力したいフィールド名を指定します。演算式を記述することもできます。

フィールド名については「フィールド名について」を参照してください、また、演算式構文については「演算式構文」を参照してください。

 

また、OUTPUTTAG0:xxx、OUTPUTTAG1:xxx、OUTPUTTAG2:xxx とすることにより複数のアラームの状態を別々のタグに出力できます。

 

例)[OUTPUTTAG0:[CM0]]

例)[OUTPUTTAG0:[STATE]]

例)[OUTPUTTAG0:[CONDID2]]

例)[OUTPUTTAG0:[ACK]]

例)[OUTPUTTAG0:[RECOVER]]

例)[OUTPUTTAG0:[STATE] + ":" + [CONDID2]]

 

(注意1)

[OUTPUTTAG0:CM0]などとすると、発生したときのコメントをタグに書き込めます。

例えばHIHI/HI/LO/LOLOなど同一AlarmIdにて複数の発生条件が設定されている場合、CM0の列にアラームのレベル値を入れておき、アラームの状態をタグとリンクさせることができます。ただしこのような場合、注意点が1点あります。アラーム復帰時は、コメントとしてとるべき値がないため、前回発生したときの状態の値が保持されます。復帰したときに0にしたい場合は以下のような記述にして下さい。

 

[OUTPUTTAG0:{[RECOVER]}{0},{default}{[CM0]}]

 

※上の例のようにアラームのレベル値をタグに出力したい場合、

 [OUTPUTTAG0:[STATE]]でも代用可能です。

 

(注意2)

出力するタグはPLCのタグにもリンクが可能ですが、アラームが大量発生した時にアラームの処理が遅くなるため、通常はメモリタグを作成し出力タグとして定義して下さい。

 

[MAIL]

アラームメールを送信したい場合、本フィールドを設定します。

 

アラームは発生、復帰、確認、変化と様々なタイミングがあります。どのタイミングでメールを送信したいかを[MAIL]フィールドで設定します。[MAIL]フィールドではアラーム毎に以下のキーワードを組み合わせて設定します。

 

キーワード

メール送信のタイミング

all

すべてのタイミングでメールを送信する。

new

アラームが発生した時メールを送信する。

recover

アラームが復帰した時メールを送信する。

ack

アラームが確認された時メールを送信する。

change

アラームが変化した時(LOLOからLOに変化した等)メールを送信する。

 

複数のタイミングで発生したい場合は、キーワードをスペース文字で区切りながら列挙します。例えばアラームが発生及び復帰したときメールを送信したい場合「new recover」になります。逆にメールを送信したくないアラームの場合は何も記述しません。尚、本フィールドに定義する文字列の先頭に「#」を指定すると、無指定と同様の動作となります。

 

詳しくは「アラームメールを送信する」を参照して下さい。

 

[CM0] ~ [CMn]

文字コメントです。コメントは必要なだけ自由に設定できます。設定可能な個数に上限はありません。主にアラームメッセージなどに使用します。

[CM0]、[CM1]、[CM2]などと定義することで複数のコメントを定義できます。

 

[CM0:TAG] ~

[CMn:TAG]

タグコメントには、アラーム発生時に任意のタグ値をコメントとして含めることができます。タグコメントは必要なだけ自由に設定できます。番号には文字コメントと重複する番号を指定することはできません。尚、タグコメントを使用する場合には、アラームマスタでの定義の他に、アラームサーバーアクション「保存項目」タブからタグコメント列を保存項目に追加してやる必要があります。詳しくは、本書中「アラームメッセージにタグの値を含める」を参照して下さい。

 

 

 

hint

[ONCONDITION]はアラームマスタで必須の設定になります。それ以外のフィールドは、もし必要なければアラームマスタに記述する必要はありません。記述がない場合は、デフォルトの設定が採用されます。例えば、[ALARMID]のフィールドが無い場合、自動でIDが0から割り振られます。

 

hint

フィールドの順番は自由です。例えば、[ALARMID]を必ず左端に記述する必要があるわけではなく、先に[RECOVER]の列を記述してもかまいません。

 

hint

コメントなどの文字中に「,」を使用するときは、ダブルクォーテーションで囲みます(※Excelを使用している場合、「,」を使用すると自動的に保存時にダブルクォーテーションで囲まれます)。

 

例)

0,n,n,U01.F01.M0000,"M0が異常です。, 重要度[高]",Line1,1

 

 

 

以下は通常フォーマットで作成した、アラームマスタファイルの例です。

 

アラームID,

発生条件,

コメント0,

コメント1,

コメント2

[ALARMID],

[ONCONDITION],

[CM0],

[CM1],

[CM2]

1,

M0,

ポンプ異常。,

Group1,

1

2,

D0 > 10,

高温異常。,

Group1,

2

3,

M1,

モータ異常。,

Group2,

1

4,

M2 && M3,

水位異常。,

Group2,

1

5,

D1> 80,

HIHIを超えました。,

Group3,

2

5,

D1 > 60,

HIを超えました。,

Group3,

2

5,

D0 < 20,

LOLOを超えました。,

Group3,

2

5,

D0 < 40,

LOを超えました。,

Group3,

2

 

 

アラームID:1では、発生条件としてM0を設定しています。M0がONになった時、このアラームは発生となります。

 

アラームID:4では、発生条件としてM2 && M3を設定しています。これは、M2とM3が両方ともONの時のみアラーム発生となります。その他、「M2 || M3」や「(M2 || M3)&& M4」などの複雑な条件を記述することもできます。

 

アラームID:5では、1つのアラームに対して、4つの条件を定義しています(このように、複数行で定義することもできます)。4つの条件の内、どの条件を充たしてもアラームが発生します。このようなアラーム設定では、初回のアラーム発生から復帰までの間に他のアラーム条件を検出した場合、アラームタイプが“変化”のアラームレコードが作成されます。例えば、D1が58から62に変化した時に、アラームタイプは“発生”となります。その後、アラームが復帰することなくD1が80を越えた場合、アラームタイプが“変化”のアラームレコードが作成されます。この動作により、サマリ画面の表示では、「HIを超えました」というメッセージ表示が「HIHIを超えました」というメッセージに更新が行われます。アラーム履歴では、"new"(発生)、"recover"(復帰)、"ack"(確認)と同様に"change"(変化)というアラームタイプのレコードが追加されます。

 

 

hint

同じアラームIDで複数行で複数条件を定義した場合、下記の動作となります。

 

先頭行から順に条件を判断します。

下記のフィールド名の項目については各行に定義された値が採用されますが、その他のフィールド名の項目については先頭行の設定が優先的に使用されます。

[ONCONDITION] / [OFFCONDITION] / [CM0] ~ [CMn] / [CM0:TAG] ~ [CMn:TAG]

 

 

hint

使用できるオペレータ及び関数については「演算式構文」に基づきます。

 

hint

「発生復帰無し」、「確認無し」として定義されたアラームは、アラームサマリ画面には表示されません。尚、このようなアラームを「イベント」と呼びます。

 

attention

イベントタイプ(「発生復帰無し」、「確認無し」)のアラームでは、Panel Serverをオフラインからオンラインにした時、デバイスのアラーム条件が既にONになっていた場合、オンラインの直後にアラームが生成されます。同様に、デバイスのアラーム条件がONを保持したまま、再びPanel Serverをオンライン→オフライン→オンラインとすると、再びアラームが発生します。これは、イベントタイプのアラームが復帰情報を持たないからであり、正常な動作です。もし、Panel Serverをオンラインにする度にアラームが生成されてしまうのを防ぎたい場合は、発生復帰を有りとしてアラームを定義してください。この場合は、Panel Server側の設定を発生復帰有りアラームとしておき、Panel Browser側のアラーム画面で復帰を知らせるアラームの情報を非表示にすることで、イベント表示と同等の画面を作成することができます。

 

 

アラームマスタのフォーマット(簡易フォーマット)

アラームマスタの簡易フォーマットを使用する場合、「簡易フォーマットを使用する」をチェックします。

 

 

hint

簡易フォーマットは、旧バージョンとの互換性維持のために残されている旧仕様の機能です。何か特別な理由がない限り、簡易フォーマットを使用する必要はありません。

 

 

c_action_0250

 

各コンボボックス(アラームID、発生・復帰など)でフォーマットを決定します。アラームマスタでは、コンボボックスの選択に従い、以下の順番にカンマで区切って記述します。必要のないフィールドは、記述しません。コメントは必要な数の列を自由にアラームマスタ側に記述します。

 

フィールド

解説

アラームID

「マスターファイルで指定する」を選択した場合、必須。

発生・復帰

「マスターファイルで指定する」を選択した場合、必須。

確認

「マスターファイルで指定する」を選択した場合、必須。

発生待ちタイマ

「マスターファイルで指定する」を選択した場合、必須。

復帰待ちタイマ

「マスターファイルで指定する」を選択した場合、必須。

発生条件

必須。

復帰条件

「マスターファイルで指定する」を選択した場合、必須。

コメント0

自由。

コメント1

自由。

コメント2

自由。

 

例1)

すべて「マスターファイルで指定する」を選択し、コメントが2つ必要な場合、以下がアラームマスタのフォーマットになります。

 

「アラームID, 発生・復帰, 確認, 発生待ちタイマ, 復帰待ちタイマ, 発生条件, 復帰条件, コメント0, コメント1」

 

例2)

「アラームID」のみ「マスターファイルで指定する」を選択した場合で、コメントが1つ必要な場合、以下がアラームマスタのフォーマットになります。

 

「アラームID, 発生条件, コメント0」

 

見出し(1行目)を無視する

アラームマスタには1行目に見出しを含めることができます。マスタに見出しを含める場合には、このチェックを有効にしてください。

 

アラームID
アラームIDはアラーム毎に割り振られるインデックス番号(文字)です。アラームIDは、アラームを識別するための番号(文字)で、様々な場面で利用されます。アラーム毎に一意に付加される番号(文字)のため、エラーコードのようなイメージで利用することができます。
「マスターファイルで指定する」を選択した場合は、アラームIDとして自由な番号(文字)で割り振ることができます。この番号(文字)は、0から割り振る必要はなく、また連続である必要もありません。ただし、重複した番号(文字)は指定できません。アラームサーバーの運用が開始された後、アラームの編集、追加、挿入は可能ですが、IDの変更はできません。アラームIDに数値を割り当てるかわりに、タグ名などの文字を割り当てておくと、後からアラームを挿入、追加したい場合、重複しているかどうかを気にせずアラームマスタに定義できるので便利です。
「自動で割り振る」を選択すると、自動的にIDが割り振られ、マスターファイルにIDを指定する必要がなくなります。但し、アラームサーバーの運用以降にアラームマスタの途中に新たなアラームを挿入してしまうと、挿入したアラーム以降のアラームIDがずれてしまい、過去のアラームデータとの整合性が保てなくなる可能性があります。自動ID付与の状態のままで新しいアラームを追加したい場合は、必ずアラームマスタの末尾に追加してください。

 

発生・復帰
「マスターファイルで指定する」を選択すると、アラーム毎に発生・復帰が必要かどうかをマスターファイルで指定ができます。マスターファイルでは、発生・復帰が必要な場合は「y」、必要がない場合は「n」を指定します。
「発生・復帰が有りのアラームとする」を選択すると、すべてのアラームは発生・復帰有りとみなされ、マスターファイルに指定する必要がなくなります。
「発生・復帰が無しのアラームとする」を選択すると、すべてのアラームは発生・復帰無しとみなされ、マスターファイルに指定する必要がなくなります。

 

確認
「マスターファイルで指定する」を選択すると、アラーム毎に確認が必要かどうかをマスターファイルで指定ができます。マスターファイルでは、確認が必要な場合は「y」、必要がない場合は「n」を指定します。
「確認が有りのアラームとする」を選択すると、すべてのアラームは確認有りとみなされます。マスターファイルに指定する必要はありません。同様に、「確認が無しのアラームとする」を選択すると、すべてのアラームは確認無しとみなされます。この場合もマスターファイルに指定する必要はありません。

 

復帰条件
アラーム復帰条件を任意に指定することができます。ここで指定した条件がFALSEになった時にアラームが復帰します。例えば、発生条件をTAG01 > 10 復帰条件を TAG01 > 5とした場合、値が10以上になったときにアラームが発生し、5以下になるまでアラームは復帰しません。
「マスターファイルで指定する」を選択すると、アラーム毎に復帰条件をマスターファイル側で指定できます。「復帰条件を指定しない」を選択すると、発生条件の逆の条件を復帰とみなされ、この場合はマスターファイルで指定する必要はありません。
 

発生待ちタイマ
発生待ちタイマを指定すると、発生条件が待ち時間だけ保持し続けた場合のみ、アラームが発生します。待ち時間以内に、発生条件が解除されるとアラームは発生しません。
「マスターファイルで指定する」を選択すると、アラーム毎に発生待ちタイマをマスターファイル側で指定できます。時間の単位は秒で指定します。
「発生待ちタイマを指定しない」を選択するとこの設定を省略したものとみなし、この場合はマスターファイルに指定する必要はありません。
 

復帰待ちタイマ
復帰待ちタイマを指定すると、復帰条件が待ち時間だけ保持し続けた場合のみ、アラーム発生が発生します。待ち時間以内に、復帰条件が解除されるとアラームは発生しません。「マスターファイルで指定する」を選択すると、アラーム毎に復帰待ちタイマをマスターファイルで指定できます。時間の単位は秒で指定します。「復帰待ちタイマを指定しない」を選択すると、マスターファイルに指定する必要がなくなります。

 

以下は、簡易フォーマットでのアラームマスタの作成例です。すべてのアラームで、「発生・復帰」、「確認」があり、コメントとして、「メッセージ」「グループ」「重要度」の列を設けています。

 

アラームサーバー側の設定:

簡易フォーマット

チェック

見出し

有り

アラームID

「マスターファイルで指定する」を選択。

発生・復帰

「発生・復帰があるアラームとする」を選択。

確認

「確認があるアラームとする」を選択。

復帰条件

「復帰条件を指定しない」を選択。

発生待ちタイマ

「発生待ちタイマを指定しない」を選択。

復帰待ちタイマ

「復帰待ちタイマを指定しない」を選択。

 

アラームマスタファイルの例:

アラームID,

発生条件,

コメント0,

コメント1,

コメント2

1,

M0,

ポンプ異常。,

Group1,

1

2,

D0 > 10,

高温異常。,

Group1,

2

3,

M1,

モータ異常。,

Group2,

1

4,

M2 && M3,

水位異常。,

Group2,

1

5,

D1> 80,

HIHIを超えました。,

Group3,

2

5,

D1 > 60,

HIを超えました。,

Group3,

2

5,

D0 < 20,

LOLOを超えました。,

Group3,

2

5,

D0 < 40,

LOを超えました。,

Group3,

2

 

アラームID 1では、発生条件としてM0を設定しています。M0がONになった時、このアラームは発生となります。

 

アラームID 4では、発生条件としてM2 && M3を設定しています。これは、M2とM3が両方ともONの時のみアラーム発生となります。その他、「M2 || M3」や「(M2 || M3)&& M4」などの複雑な条件を記述することもできます。使用できるオペレータや関数は「演算式構文」に基づきます。

 

アラームID 5では1つのアラームに対し、4つの条件を定義しています(このように、複数行で定義することもできます)。4つの条件の内、どの条件を充たしてもアラームが発生します。このようなアラーム設定では、初回のアラーム発生から復帰までの間に他のアラーム条件を検出した場合、アラームタイプが“変化”のアラームレコードが作成されます。例えば、D1が58から62に変化した時に、アラームタイプは“発生”となります。その後、アラームが復帰することなくD1が80を越えた場合、アラームタイプが“"変化”のアラームレコードが作成されます。この動作により、サマリ画面の表示では、「HIを超えました」というメッセージ表示が「HIHIを超えました」というメッセージに更新が行われます。アラーム履歴では、"new"(発生)、"recover"(復帰)、"ack"(確認)と同様に"change"(変化)というアラームタイプのレコードが追加されます。