産業機器の制御と、PC、PLC、マイコンとかについてまとめ
大きな装置の制御を行うとき、PLCを使う事も多い。
けど、制御のプログラミングを行うとき、パソコン使いたい!と思う事も多々ある。
それに、マイコンボードで十分じゃないかと思う事も。
いくつか候補はあると思うので、(自分の備忘録っぽいけど)まとめてみる。
まず大前提として、産業用機器に求められる性能ってなんだろ?と考えると、
- 自分が壊れない(機械的、電気的に強い)
- 人と物を壊さない(暴走しない)
- 保守が容易
- 最近は複雑な処理も必要な物が増えている
- 納期が早い
- 設計が楽!これ大事。超大事。
PLC
昔から使われている、リレーシーケンス制御機器を先祖に持つ制御機器。
今でもよく使われている。
元々はリレーでモーターとかを制御するための原始的な物だったが、複雑な制御を行う機能とか、ネットワーク機能が充実しつつある。
- 一般的なものなら周辺機器とのインターフェース(ドライバ、センサ類)を用意しやすい。
- タイミング管理がしやすい。(PCみたいに、よく分からんラグは無い)
- プログラミング言語が独特(ラダーとか)で、大規模な事をやろうとするとつらい。一般的なプログラミングよりは時系列に寄った使い心地。
- 機械的に強い(強そう?)
- 今まで使われていた装置の流れで、マイナーチェンジなら同じ物を使いたくなる。
パソコン
最近では性能も頭打ちで、一般用途向けは高性能の物も安く手に入るようになった。
産業機器にも組み込まれているけど、全てをパソコンで管理している例はそれほど多くないと思う。
モデルベースプログラミング等と親和性が高く、ライブラリも充実してて、大規模なプログラミングの手間を大幅に省くことができる(はず)。
GUIを作ったり、画像処理をしたり、ネットワーク越しに管理を行いたいときとかは必須。
- 高性能(処理速度、メモリ等)
- 安い
- タイミング管理に不安(いつ処理が実行されるか保証されない)
- クロックの割当が保証されるリアルタイムPCも売られているけど、ちょっと高いし、それに応じたプログラミングスキルが必要になることもある。
- 拡張ボードをさせばインターフェースは合わせられるんだけど、民生品だとハードに不安がある。
- PC本体のコネクタも機械的に弱いので、結局つなぎ変えなきゃならんし。
PCだけを使う時は、危ない物、大きい物を制御しないとか、すごく複雑な制御で、PCじゃ無いと歯が立たない時、センサでデータを吸い出すだけとか、そう言う場合が多い気がする。
GUIを作るときは、PLCとI/Fをとって、モード設定やパラメータ設定、動作開始の指示とかを行うために使う事になる。
あと、コネクタつなぎ変えるときは図面を出さなきゃならんからめんどくさい。
個人的にはPCで十分な用途ってたくさんあると思うんだけど、実績とか信頼性とかイロイロ面倒。
ARMを筆頭に、最近は枠に収まらない高性能な物が多い。
慣れればプログラミングも容易。
RaspberryPiとかは、小型PCボードと言った方が良いのかも知れないけど。
- PCには劣るが高性能
- Linuxが動くと、PCのライブラリを使えるけど、リアルタイムではなくなる。
- タイミング管理がしやすいのはリアルタイムOS。マルチコアなら、OSを2本走らせることもできるけど、私はやったことがない。
- 筐体とか、インターフェースとかは、ある程度自分で面倒見ないといけない。
- 安い!
マイコンは、何台かで終わるような物をつくるには手間がかかりすぎるけど、単価が安いのである程度たくさん作るなら素晴らしい。
ただ、筐体とかインターフェースとか、場合によっては基板をを自分で起こさないと行けないのがちょっとネック。
結局
個人的にはなかなかPLCから抜け出せていない。
1週間後にはコンセプトを固めないといけない時に、箱に収まっていて、ハードに合わせて拡張キットをつければすぐに箱が出来上がる安心感が大きい。
結局楽に確実に装置を立ち上げるとなると、PLCは多少値段が高くても重宝するんですよね。