シーメンス#Safety PLCのESTOP1プログラム

今回はE-Stopのプログラム作り方ついてに話しします。はぁ?EStopのプログラム教えるほどがあります?と思うかもしれませんが、シーメンスのSafety PLCではESTOP専用のFunction blocksがもうすでに実装されており、それを呼び出しさせすればOKです。

いまは実機ではなくシミュレーターでやっていますので(在宅ワークもん)、普通のHardwareのような機能がしません。この辺はご了承ください。

OB123を開いていくと様々なパラメータ設定ができます。この図みればもわかると思いますが、このOB123は周期プログラムで100000us度にFB0を呼び出します、そしてCycle timeの設定以上超えたらWarning・Error出したりもあります。

基本ここは触らなくでもOKです。とりあえずSafetyPLCのプロジェクトをシミュレーターにダウンロードします。

Safety Administrationのとなりに黄色の!ICONがついてると見えますね。これはWarningです。ではSafety Administrationをクリックします。

Access protectionのところが!が出てきますね。まぁ…簡単にいいますとプロジェクトにはSafety Passwordが設定されてないことのせいでWarningが出てきたのね。

では一回Offlineして、”Setup”を押してPasswordを設定しましょう。

Passwordを設定しましょう。注意するにはこのPasswordは絶対忘れないでください!!リセットできませんから。

設定終わると、いまSafety AdministrationのとなりがLock解除のICONが見えますね。

つまりいまSafety プログラムが編集することが可能です。

今度はLog offしてみてくだい。

Safety AdministrationのとなりがLockされるのICONに変わりますね。いまはSafetyプログラム修正できない状態になります。

例えばこの状態なにかSafety プログラムをやろうとすると、Safety Passwordが聞かれます。これは単なるWarningなので…実際のプログラムになにも影響がございません。

では、実際にESTOPのプログラムを作り始まりましょう。

SafetyのBlockを開いて、右のBasic instructionsをみたら”Safety functions”というFolderが増えたことがわかりますね。

このSafety functionsはSiemensが標準化されたSafety プログラムで、ESTOP・安全扉などのものもすでに実装されています。(お金を出せば、BurnerとかもSafety Libraryも使うことが可能。)それらのFunction BlocksがIECXXXXなどの標準に満たされており、絶対安全な動きが保証します。もちろん自分で実装するすることも可能ですが、勧めません。

Safety functionsの中にあるESTOP1というFunction Blockが今回使うSafety Function blocksになります。

このESTOP1をそのままMain_Safety_RTG1に引っ貼りましょう。

E_STOPというInputのパラメータが見えますが、こっちらはSafety モジュールに設定されたInput Tagを割り付けます。

おっと、その前にまずHardware構成を追加する必要がありますね。

Safety入力と出力一つずつ追加しましょう。

そしてTag名を追加します。I0.0=ESTOP、Q9.0=Motorになります。

ESTOP1という、先設定したTagを割り付けて於けば、OKです。

それだけでSafetyプログラム完成です!

ESTOP1というSafety InputをONさせたいので、PLCSIMに新しいSim Projectを作成します。赤枠のICONをクリックします。

このような画面が開くことになります。

新規のSim Projectを作成します。

そうすると、いまProjectがPLCSimのTag・ハードウェア構成を読み取ります。

SIM tables>SIMtable_1をクリックします。

右のTableにESTOPとMotor1、先設定したInput・OutputTagを割り付けます。

BitsのところにTrigger Checkbox入れると、E_STOPがONになりますが、関心な出力QがONになれません。なんで?なんで?

ではその前にまずQがなんなのか説明します。このQはみんなのプログラム中に使うデバイスになります。このQはいまのESTOPがどんな状態なのか示してくれます。じゃE_STOP信号がONになってるのに出力QががONになれないのはなぜ?

ここで想像してみてください。Operatorさんが機械を操作してるとき手が挟みそうだった。ですがそのとき反応よくてESTOPを押して緊急停止状態になり、動力がカットされ怪我がありませんでした。もしそのとき、OperatorさんがそのままESTOPを戻したらどうになります?最悪いきなり装置また動き出し怪我になるかもしれません。

こうにならないように、どうすればよいですか?

リセット動作です。Operatorさんがちゃんと確認しリセットする、ことです。

ではDIモジュール追加し、AckのInputを設定しましょう。

先のESTOP1のFunctions BlockにACKというパラメータにINPUTを割り付けます。

そしてESTOPをONさせます。

そのときDIAGが16#40が出力され、つまりACK必要ですよ。っと。

次はACKをONさせて、いまの状態が安全ですよ!っと。

そうするとQとQ_DELAYがTrueになってるのかわかります。

もしの場合ですが、ESTOPのボタンにはもうすでにリセットボタンがついてて、あのリセットボタンが押さないとESTOPの信号がTrueに戻らないなら、ACK_NECというパラメータをTrueすればよいです。そうすると、QがE_STOP=1になったらすぐONになります。ですが、それはあまりすすみません。

最後はそのESTOPのQが安全出力に繋がりれば、OKです。

最後は、BlockにあるTIME_DELとQ_DELAYについて話ししたいです。Q_DELAYはDelay OFFのイメージだと思ってください。つまりE_STOPの信号が落ちたあとにまだTIME_DELとの時間分だけQ_DELAYがON続ける、の感じです。
実はこれはSafetyのカタログに絡んでしまいますね。
CAT0=ESTOP落ちたら動力・電源即切る。
CAT1=ESTOP落ちたら機械が安全な状態戻ってから、動力・電源切る
CAT2=ESTOP落ちたら機械が安全な状態戻る。
…確かに。

はーい、お疲れ様です。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

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

シェアする

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

フォローする