シーメンス#Safety PLC ACK_GLの使い方

今回はGlobal Acknowledgeについて紹介します。それはSafetyのプログラムを作成するときかなり大事なことです。まずいままで作ったSafetyプログラムを見てみましょう。

こちらはESTOPです。

こちらは安全扉です。

どれもACKがありますね。そのACK=Trueにしないと、Qが出力されない状態になります。つまり正常状態じゃないってことですね。このACKの動作はLocal Acknowledgeだと思ってください。そこでみんなさんがもしGlobal Acknowledgeあれば一気にそれらのESTOPや安全扉をAcknowledgeすることできるじゃない?!と思うかもしれませんが…

違います。

確かに、S7-1500はそのGlobal AcknowledgeというSafety Functionがあります。

ですが、それはESTOPや安全扉のSafety FunctionBlockのAcknowledge用ではありません。

みんなさん、Safetyの入力・出力モジュールには自己診断機能がついてます。

例えば先の構成だとSafety InputモジュールとSafety Outputモジュール1つずつありますね。そしてSystem blocks>STEP7 Safety>F-I/O data blocksには2つのSafety Data Blockが追加あります。それはコンパイルするときに自動作成するものです。

F0000_F-DI16x24VDC..は一つ目のSafety Inputモジュールです。

DBを開いたらいろんな変数がありますね。全部説明切れないので、いくつ使えそうなものを簡単に紹介します。

ACK_REI:安全モジュールをAcknowledgeします。

PASS_OUT:いまモジュールがPassivation状態です、と。例えば短絡、配線ミスなどの問題で発生したら、モジュール自体が赤く点灯(点滅?忘れました。)します。そのときPASS_OUTが1になります。

QBAD:モジュールが問題あります。

ACK_REQ:モジュールがAcknowledge必要な状態です。

もしQBADやPASS_OUTがONになったら、Acknowledgeが必要になります。そうしないと、モジュールがいくらたっても元に戻れません。

Ackのボタンが押したら、各モジュールのACK_REIをTrueすればモジュールのAcknowledgeができます。

が、もし機械に20個のSafetyモジュールがあったら、一つ一つのSafety DBのACK_REIをTrueしないといけません。

めんとくさい。

そこであるのはそのACK_GLです。つまりGlobal Acknowledgeです。

やってることはすこく簡単です。ACK_GLOBにAcknowledgementの条件をONすれば、機械にSafetyのモジュールがいくつあっても一気にAcknowledgeすることになります。

はーいお疲れ様です。

Footer_Basic

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

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

フォローする