Codesys#Visualization Alarm Manager

久しぶりにCodesys Visualizationのこと書くことになります。今回はどのメーカーであろうか欠かせないアラーム管理です。CodesysはそれをAlarm Managerと言います。

使用バージョン:Codesys V3.5 SP16

Alarm Tableの追加

Visualization Toolbox、Alarm Tableを追加します。

このようなTableが出てきます。Tableを選んで右クリックし、Insert elements for acknowledging alarmsをクリックします。

そうするとアラームの承認に関するボタンが作ってくれます。

  • ACK selected:選択したアラームを承認します。
  • ACK all visible:すべてのアラームを承認します。
  • History:アラーム履歴画面に切り替えます。
  • Freeze Scrl Pos:いまが見てるカーソルを固定します。

Alarm Configuration

Alarmを作成するには、まずApplicationの中にAlarm ConfigurationというObjectを追加する必要があります。Application>Add Object>Alarm Configurationします。

https://help.codesys.com/webapp/_cds_obj_alarm_configuration;product=codesys;version=3.5.16.0

OKします。

そうするとAlarm Configurationが追加されたことが分かります。

Alarm Class

次はAlarm Classの設定になります。

https://help.codesys.com/webapp/_cds_obj_alarm_class;product=codesys;version=3.5.16.0

Online Hepによりますと、

An alarm class describes the general properties of an alarm. These include the type of acknowledgement of the alarm and the actions that are to take place automatically if a certain alarm status is attained. In the definition of the alarm class you can also define the font of the message in the visualization elements.

つまりAlarm ClassはAlarmのプロパティを定義します。中にAlarmの承認方法・発生するときの動作・色など細かい設定まででき、もちろん自分で新規のAlarm Classを追加し名前カスタマイズするまでもOKです。

Acknowledgement method

ではAlarm Class ”Error”を設定してみます。Errorをタブルクリックし、以下の画面が出出てきます。まずここAcknowledgement methodをACK_REPにします。

Acknowledgement methodは、Alarmが発生から解除するまではどんなプロセスでやればよいのかを設定します。オペーレーターさんが承認ボタン押す必要ある?それどもアラームが消えたたらもう自動でき承認してもよい?など、ですね。

REP

  1. 正常状態にいます。
  2. アラームの条件が発火されます。
  3. Alarm tableが発生していますよと表示します。
  4. アラームの条件が落ちます。
  5. Alarm tableが該当するAlarmが消えます。

ACK

  1. 正常状態にいます。
  2. アラームの条件が発火されます。
  3. Alarm tableが発生していますよと表示します。
  4. 承認します。
  5. Alarm tableが該当するAlarmが消えます。

REP_ACK

  1. 正常状態にいます。
  2. アラームの条件が発火されます。
  3. Alarm tableが発生していますよと表示します。
  4. アラームの条件が落ちます。
  5. Alarm Tableが承認待ちになります。
  6. もしアラームの条件がまた発火したらAlarm tableが発生の表示に戻ります。
  7. アラームの条件が落ち+承認します。
  8. Alarm tableが該当するAlarmが消えます。

ACK_REP

  1. 正常状態にいます。
  2. アラームの条件が発火されます。
  3. Alarm tableが発生していますよと表示します。
  4. アラームの条件が落ちます。
  5. Alarm Tableが承認待ちになります。
  6. もしアラームの条件がまた発火したらAlarm tableが発生の表示に戻ります。
  7. アラームの条件が落ち+承認したらAlarm tableが該当するAlarmが消えます。
  8. もしくは、アラーム発火してる状態で承認します。
  9. アラームの条件が落ちしたら、Alarm tableが該当するAlarmが消えます。

ACK_REP_ACK

  1. 正常状態にいます。
  2. アラームの条件が発火されます。
  3. Alarm tableが発生していますよと表示します。
  4. アラームの条件が落ちます。
  5. Alarm Tableが承認待ちになります。
  6. もしアラームの条件がまた発火したらAlarm tableが発生の表示に戻ります。
  7. アラームの条件が落ち+承認したらAlarm tableが該当するAlarmが消えます。
  8. もしくは、アラーム発火してる状態で承認します。
  9. このときアラーム条件また発火したらもう一度承認必要になります。
  10. アラームの条件が落ちなおかず承認したらAlarm tableが該当するAlarmが消えます。

ざっくり説明しましたが、アプリケーションに合わせて使ってくださいね。

Notification Actions

つまり該当するAlarm Classのアラームが発生した場合にどんな特別な動作をするのか。

  • Actions
    • Variable:変数の値を与える
    • Execute:POUを実行する
    • Call:Function Blockを呼び出す
  • Activate:Alarmが発火してるとき
  • Deactivate:Alarm条件が消えたとき
  • Confirm:Alarmが承認されたとき
  • Details:動作するデバイス・POUなど。

以下はの設定例です:

Display options

もちろん、Alarm Classのアラームが表示されるときの色なども設定できます。

FontとかBackground色とかICONとか、ですね。

例えばActivateするときの色。

または承認待ちときの色。

Alarm Class追加


Alarm Configuration>Add Object>Alarm Classします。

Alarm Classの名前を入れ、OKします。

新しいAlarm Classが追加されます。

Alarm Group

次はAlarm Groupを説明します、Online Helpによりますと、

Use alarm groups for organizing individual alarms in the alarm management of an application. Each alarm is assigned to one alarm group only.

Alarm groupを使って様々のアラームをグループ単位で管理することが可能になります。1つのアラームは1つのAlarm groupに割付るしかできません。

https://help.codesys.com/webapp/_cds_obj_alarm_group;product=codesys;version=3.5.16.0

Alarm Group追加

Application>Add Object>Alarm Groupします。

ここで追加されたことがわかります。

設定

Observation type

該当するアラームが発火のざっくりの条件設定ですね。

BoolがONになるか?どある値がLimitより超えたか?値が変化になったときとか?

ここで設定することできます。

下記の例は一番簡単なデジタルアラーム(つまりBoolがON)の設定を示します。

Observation typeをDigitalにします。

Details

Alarm発火するデバイスを設定します。

よし、いまはPOU_Alarms.arrxError[0]がTRUE になったら発火すると設定しました。

Class

どんなAlarm Classにするかを設定します。

まぁ、Errorにしましょう。

Message

該当するAlarmの表示テキストですね。

Min. Pend. Time

該当するアラームは実際出るまでのDelay時間です。

ここでT#0.1sにします。

大体はこんな感じになりますね。

Alarm Table 設定

先追加したAlarm Table>Properties>Alram configuration>Alram groupsで、

表示するAlarm Groupを変更します。

AllのCheckBoxを入れるとすべてのAlarm Groupも表示させるようになりますが、ここでCheckBox外して表示させたいGroupだけをします。

表示したいGroupを選び、>>をクリックします。

いまはmyAlarmGrpup1が表示するようになりました。

OKをクリックします。

Property>Columns>[0],[1],[2]のような数字が見えます。

それらも数字がTable上にこういう意味になります。

もし新しいColumns追加したいのであれば、Create new>そして新しい番号が振られて、Typeのところ表示させたい内容を設定すればOkです。

結果

Alarmの発火条件がTrueになるとAlarm Tableが赤文字にアラーム内容表示されています。

そしてAlarmの発火条件がFalseになるとAlarm Tableがオレンジにアラーム内容表示されています。最後Ackすると消えます。

Alarm logging

LoggingしたいAlarm ClassのところにArchivingのCheckboxを入れます。

AlarmStorgeにNo Limitをし、Subdirectoryを空にします。

そしてAlarm GroupのところにArchivingの選択リストあり、AlarmStorageを選択します。

結果

このようになります。

そしてOnline Helpみたら、どうやらアラームはSqliteデータベースとしてPlcLogic/alarmsのところに保存してるらいいですね。

https://help.codesys.com/api-content/2/codesys/3.5.14.0/en/_cds_obj_alarm_storage/

はいーお疲れ様です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする