2009年11月20日

[雑記]産業用PCとPLCの比較(1)

InTimeという、WindowsOSをリアルタイムOS化するためのローレベルカーネルがあります。
日本では[株式会社マイクロネット]が取り扱っており、
その会社のWebサイトに掲載されている[社長の一言]で、
PLCに対して「どうよ?」というスタンスをとっています。
私もそれにほぼ同意ですが、私なりの見解をここに記しておきます。
結果的にはコピーのようなものに見えるかもしれませんが。

----------------------------------------------------

PLCの講習にも2回ほど行きましたが、
ラダープログラム+PLCってのは、
時空間的に大規模なシステムを扱うのには向いていないなあ、と。

生産ラインのポイントポイントでは、使い易く、堅牢で安価なため、
費用対効果がとても高い製品群だとは思います。

しかし、数時間のデータを元に多数のポイントをモデルベースで制御するようなことになると、
PLCでは追いつかないか、できても費用と工数と周辺リソースが
かさみすぎることになると思います。
これが1点目。

次の1点は高度なラダープログラムのノウハウは、
システマチックに教えることが難しい、ということ。
どうしても、職人芸のように、経験とトライ&エラーで積み上げていく形になる。

もとがリレーシーケンスを電子的に再現したものだけに、
そのスタイルから来る限界があるように感じます。
UMLなどを駆使しても、その落とし込みに無理がある。

そうなると、大規模なものは経験のある親方しか対応できない。
経験のある親方なんて、そんなにいるもんでもないので、
忙しくて仕事がうけてもらえないかもしれないし、
うけてもらえても工費がやたらと高いかもしれない。

さらに、PLC職人はPLCでできないとなると手の打ち様がなくなる。
人間はもっと高度なシステムを考えられるのに、
PLC側の限界が限界を決めてしまう。

もう1点は、独自アーキテクチャ、ですかね。
三菱電機、富士電機、オムロン、キーエンス、ぐらいが大手ですが、
それぞれ独自のアーキテクチャでやっている。
そうなると、X86プロセッサのように、コンシューマ技術の
スピン・インの影響を直接、受けられない。
(キーエンスが最近、RAMまわりをがんばっていますが)

もし、Intel Atom-N260にPLC並のリアルタイム性を持たせられる
リアルタイムLinuxディストリビューションでも出たら、
私はそっちを使いたいなあ、と思いますよ。
X86が動くのなら、常に新しいプロセッサを使えますし、
Linuxならほぼなんでもできますから。

あと1点は2chで誰かが書いていたような気がするけど、
「巨大なmainループにグローバル変数のみ」という、
COBOL並みのプログラム構造の問題。
もちろん、全ての変数(?)がスキャンタイムごとに評価されるのは、
小規模なプログラムである場合、利点になります。

でもPerlとPythonとHaskellを見たあと、ラダーを見ると。。。
がっくりきますよ。Cならまだしも。。。
プログラムの表現力や可読性という点ではアセンブラ以前の
電気配線ということで、まだVHDLのほうがマシかと。
ラダーで100Kゲート級のAND+ORは組みたくない。
考えただけで寒気がします。

----------------------------------------------------

そんなような理由ともいえないような理由で、
PLCにかわる何かを探しています。
その候補として、産業用PCを持ってきて、比較してみようと。
ま、FPGAとCPLD、それにマイコンもいずれマナイタに乗せますが。

続きますので、まあ、ざっと読んでみてください。
posted by kirikuzudo at 23:00| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/36821916

この記事へのトラックバック