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、それにマイコンもいずれマナイタに乗せますが。
続きますので、まあ、ざっと読んでみてください。
2009年11月20日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/36821916
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/36821916
この記事へのトラックバック