一言いうと…
今回はSafetyについて少し話ししたいです。SafetyのPLCを使ったことある方も多いだと思いますが、Safety CPU、Fail-Safe CPUなどいろんな名前があります。
もし黄色なものがついてるのであれば、あ、そのデバイスがSafetyとなにか関係ある!と思ってもいいだと思います(少なくともSiemensでは)。SafetyのE-STOP、Safety Doorなども黄色でしょう?笑
では、本題に入ります。こちらは普通のPLC USERプログラムだとしましょう。(例えばOB1)中にいろんなFunctions/Functions Blocksがあり最初はINPUT読み、プログラム実行、OUTPUT書き込みのようなことをやっています。その流れが終わるまで時間がかかりますよね?では10msしましょう。なのであなたのプログラムのCycle Timeは10msになります。
じゃSafetyはどうになる?以下はざっくりの図のなりますが、SafetyのプログラムはあなたのUser Programを上にある、つまりこのSafety ProgramはあなたのUser ProgramのCycleの中に何回も実行することになります。並行を実行するのイメージのほうがわかりやすいかもしれません。
>Safety ProgramがUser Programを一旦中止します。
>Safetyに関連するIOs、Programを実行します。
>User Programに反映します。
それは基本の考え方です。
まぁ…百歩譲ってNON Safety PLCでも似てるような動作が作れますが、SafetyのPLCがIECの…番号忘れたの標準に満たすことができます、先がいったのInterruptもうまく動作すると、保証しれくれます。
TIA
TIAではSafetyPLCを使用するには別パッケージをインストールとライセンスが必要になります。Download LinkはGoogleしてください。そしてTIAの中にでは”F”がついてるものか、黄色なものかが見えたら、Safetyだと思ってください。
もしSafetyのパッケージがインストールされてなかったら、SafetyPLCを追加することができますが、Safety機能を有効できません。
Safety PLC追加したらこのような黄色なBlocksたちがみえます。
それはSafetyアプリケーション用のプログラムブロックです。
PLCのプロパティーをみたら黄色なものも追加されます。それらはすべてSafety関連用のものです。例えばFull access のパスワードより強いのFPasswordとか。
構成する
、モジュール追加するときは普通のDIとはまったくわかりません。
F-モジュールを選び、ひっばればOKです。
それじゃFDIとFDOを一つずつを追加します。
FDI
Safetyではたくさんのパラメータを設定できますが、ここで一部よく使うものを紹介します。
F-Parameters
プロパティー>General>Inputs0-15>F-parametersを見てみましょう。
ほぼ触る必要がありません。もし触りたいときはManual assigment of F-monitoring timeのCheckboxを入れてください。
F-destination address
これはSafety内部通信用のアドレスで触ること必要です。(例えばS120でProfisafeを構成するときに、Driveで設定したF-addressはこちらのF-Addressが一致する必要があります。)
Behavior after channel fault
つまり、Inputチャンネルはがエラーが出たらどうするか。該当するチャネルだけ無効になるか、それどもモジュール自体も無効になるか。
Reintegration after channel fault
ChannelがFaultになったらどうリセットするか。
自動リセット・手動リセット・各自設定するが選びます。
基本は手動リセットを選択するのが無難でしょう。
F-I/O DB manual Number assignment
Safetyのモジュール追加しコンパイルすれば自動的にSafety DBが作成されます。1つのモジュールは、1つのSafety DBになるんです。そのF-DBの番号はと名前の設定になりますね。
Inputs
このTabは各Channelの設定になります。
Sensor Supply
Inputの電源供給設定になります。
Supplied channels
Sensor Supply0はChannels0-3までの電源供給になります!のイメージです。
Short Circuit Test
短絡テストの設定時間などですね。短絡になるとエラーが出ます。
Channel Parasmeters
ここでさらに細かい設定になりますね。
Channel x,x
これはSensorの種類によってわかります。
1:1 evaluationはこのような配線です:
Sensorの信号Feedbackが一つだけで、FDIのモジュール1点に繋がります。
この選択肢になると、Discrepancy behaviorの選択などが灰色になります。信号が一つの1か0しかないですがら。
1:2 evaluation,equivalent
Sensorの信号Feedbackが2つがあり、Channel0,8につながっています。同時1か0かの信号が入ります。
Discrepancy behaviorなどが選択できるようになります。先も書いてた通り、Sensorが同時に同じな信号入るようになるのは正常です。
もし片方が死んだときにその信号をどう処理するか。0になるか、それども最後のStatusに残すか。(例えば死んだ前はONの状態なら、このInputはOnのままにKeepになります。)
次はDiscrepancy のDelay時間です。5msの信号不一致であればエラーになります。
1:2 evaluation,Non equivalent
Sensorの信号Feedbackが2つがあり、Channel0,8につながっています。信号は反転するように入ります。1つが0、もう1つが1のようなイメージです。
設定できる項目は1:2 evaluation,equivalentと一緒にです。
Channel x
該当するChannelを使用するかどうか。
Input Delayはまぁ、InputのDelayですね。
チャンネルが1:1 evaluationをえらんだらChatter monitoringをゆ有効することができます。
簡単にいいますと、Montioring window=2 sec,Number of signal changes=5なら、
2秒内に5回以上のON/OFFがあれば、エラーが出ます、と。
FDO
OUTPUTモジュール設定できるパラメータはInputより少ないです。
F-Parameters
ここはF-DIと一緒になので、説明しません。
Outputs
モジュール自体・各チャンネル設定です。
Operation Mode
簡単に言いますと、以下の設定なら1000秒度にPLCからチャンネルにテストをする、のイメージです。そのテストはPLCからすごく早いのON/OFF 出力を出して、Readbackをずっとみています。普通なら当然結果がOFFだからOUTPUTからReadbackがないです。でももしReatあれば、つまりハードウエア上でなにか問題が出てきます。
Chanel x
最後はWire breakのモニタリングするか、先のテストの細かい設定になります。
IO Tags 設定
IO TagsのTabで各Tagの変数名を定義することができます。
注意したいのは1:2 evaluation,equivalentを設定したF-DIチャンネルです。
先も1:2 evaluation,equivalentを設定すると実際2つのChannelを使用することになります。割付の上では、別物になりますが、以下の例だとI0.0を使ってください。I1.0を使うと、コンパイルエラーになります。
F-Signature
最後は話したいのはF-Signatureです。
まずSafety Administrationをクリックします。
この中にOffline signatureが見えますか?
TIAがコンパイルすると、この値が出てきます。メモしてください。なぜかというと、もしなにか変更し、またコンパイルかけたらその値が絶対別物になります。
こうやって自分もってるSafety プログラムが最新かどうか、誰か変更されたことがあるかどうかを簡単に確認できます。
はーい、お疲れ様です。