このサイトに来られた方の多くには不要な説明と思いますが念のため。
PLCとは?
Programmable Logic Controllerの略。
工場の機械や装置を制御に使われる産業用の制御コントローラのことで、シーケンサと呼ばれることもあります。(*1)
産業用なので一般家庭で使うことはまずあり得ません。
日本では10を超えるメーカーがPLCを製品化していますが三菱、OMRON、KEYENCEの3社で国内シェアの約9割を占めている、というのが巷の噂です。(*2)
PLCはいくつかのユニットに分けられ、目的に合わせて任意のユニットを組み合わせて使用します。ユニットには種類があり、電源、CPU、デジタル入出力、アナログ入出力、位置決め/モーション、各種通信(SerialとかEthernetとかLinkとか)などに分けられます。(電源とCPUと入出力が一体化したPLCもあります)
必須ユニットは電源とCPUで他は任意となり、CPUにプログラムを転送して目的とする制御を実現させることができます。
※電源とCPUと入出力が一体化したPLCもあります
またプログラムの変更が容易にできるのもPLCの特長で、場合によっては装置を動かしたままプログラムを変更することも可能です。(変更する内容によっては停止させないと不可ですけど。。)
PLCのプログラムとは?
PLCで使われるプログラムには以下の種類があり、いずれかを使って(または組み合わせて)プログラムを作成します。
- ラダー (Ladder)
- ファンクションブロック (Function Block)
- SFC (Sequential Function Chart)
- ST言語 (Structured Text)
一般的にはラダーでプログラムされる場合が多いです。(欧米ではST言語を良く使うらしい。)
ラダー図と呼ばれることもあり、プログラムではあるものの見た目の大半は記号です。視覚的に分かりやすいのが特徴です。
※PLCはリレーシーケンスの電気回路を置き換える目的で開発されたものなので実際の電気回路をそのままプログラム化したもの≒ラダーと言えます。電気技術者が他に特殊な知識・技能を習得することなく直感的に使える必要があった、という側面もあります。
ファンクションブロックは機能や処理をひとまとめにしたプログラムのことです。同じような処理が複数ある場合や複雑な処理をまとめておくことで便利に使いまわし出来る仕組みと言えます。ただファンクションブロックの中身自体はラダーかST言語で記述することになります。
SFCは遷移条件、処理、分岐などをフローチャートに近いかたちで記述することが出来ます。慣れれば便利なものではありますが、組織や人によっては邪道呼ばわりされることもあります。
ST言語はBASICに近いかたちで記述することができます。たまに”C言語のように記述できる”といった説明を見かけますが、どうみてもC言語には見えません。少し複雑な計算をするにはラダーよりもSTのほうがスッキリ記述できて便利だと思います。
※SFCとSTに関しては、私はあまり使ったことがありません。。
※IL(Instruction List)というものもありますがここでは割愛。
プログラムの作成には各メーカーから専用の開発環境が販売・提供されているのでそれらを使います。(すべてではありませんが体験版もあります )
また各メーカーのプログラムには互換性がありません。ラダーやファンクションブロック等で似たような記述は出来ますが中身は別物ですし使える命令も違います。
いわゆる“似て非なるもの”です。
各社PLCで出来ることにそれほど大きな差はないのですが、設計や実装には差があります。”慣れの問題”とも言えますが。
PLCを操作するには
作成したプログラムを転送するにはPLCとパソコンを接続して開発環境上から実行し、そこでモニタしたりデバッグしたり、、までは良いのですがそれは装置を作る・立ち上げるまでの話です。実際に装置を使う際には何かしらのヒューマンインターフェース(パソコンでいうところのモニタ・マウス・キーボード) から操作しますがPLC自体にはヒューマンインターフェースがありません。
※三菱のLシリーズとかKEYENCEのKV-5000/7000についてる液晶表示&ボタンはここでは無視。
通常はパソコンやタッチパネルを使ってPLCと通信し状態表示や操作を行いますのでPLCを使った装置の場合は
PLC+パソコン
PLC+タッチパネル
PLC+パソコン+タッチパネル
のような構成になります。
※小規模なものであればPLCと通信せずに汎用的なハードウェアによるランプやスイッチだけで済むこともありますがここでは無視。
パソコンを使うなら専用ソフトの設計・開発が必要になりますし、タッチパネルならPLCのようにタッチパネルの各メーカーから専用の開発環境が販売・提供されているのでそれを使ってプログラムを作成する必要があります。
(三菱、OMRON、KEYENCEはタッチパネルも製品化してますが他によく見かけるのはPro-faceあたりですかね。もちろん業界や企業によります。)
PLCを扱うには
PLCを扱ううえで必要になるものがいくつかありますが、ソフト目線で挙げれば
- やる気
- ソフトウェアの知識、技術
- 装置に対する知識
- 電気回路の知識
- メカの知識
ざっくりこんな感じでしょうか。(たぶん上から順に重要)
さすがに全部を高いレベルで身につけるのはほぼ無理ですが、”ソフトだけ”では基本的に足りません。(場合によって電気的・メカ的なものが不要なこともありますが、それはレアケース)
ちなみに私はPLCのプログラム作成が主な仕事ですが、、動かなければ怒られ、動いても誰も褒めてはくれないなかなか難儀な商売です。
コメント