
このプロジェクトの目的は、あくまでも現時点の技術によって具体的に実現可能なシステムアーキテクチャを作り上げることである。その意味で、これまでに述べたシステムアーキテクチャとインターフェイスを具体的に実装し、技術の実用性と仕様の抜けを確認することは非常に重要である。またCNCにPCを使用することで必然的に可能になるべき他のシステムとの組み合わせによる柔軟な運用が実際に可能かどうかも、具体的なシステム構築の過程で確かめることができる。このような目的のために、本プロジェクトでは実際に以下に述べるようなOSEC実証システムを設営した。今後この実証システム構築の経験から、より具体的なオープン化への指針が導き出されるはずである。
実証システムは、以下の各ステーションをローカルネットワークで結合し、さらにそれをインターネットによってワイドネットに開放していくことを行った(図 4-1)。
図
4-1 実証システムのネットワーク構成
各コントローラの実装は、基本的に図 4-2のような実装モデルに基づいて行われ、各ステーションの実装上の特徴が明らかになるようにした。
図
4-2 OSEC実装モデルと各ステーションの構成
また、実証システム全体の構成は以下のようになっており、全体としてCADから受け取った部品を加工するためのすべてのプロセスを検討できるようになっている。すなわち、
以下の節で各ステーションの説明をおこなう。
ステーションAのねらいは2つある。一つは、PCベースのコントローラを使用して工作機械を構築し、切削加工を行うことである。二つ目はそのコントローラを実現するにあたってPCの資源を最大限活用することである。これは言い換えればコントローラの機能の多くをPC上のソフトウェアに置き換えていくことを意味する。例えばサーボドライブへの指令においては多くの場合専用のハードウェアを必要とするが、補間処理までをソフトウェアで行うことによってハードウェアに依存する部分はサーボドライブへの物理的変換だけになる。この部分はハードウェアにせざるをえないが極めてシンプルなハードウェアになることは明白であり、オープンで、モジュラーでスケーラブルなコントローラを目指した姿である。
図
4-3 ステーションA全景
コントローラの機能モジュールはOSE研究会の各WGの成果および市販品として市場に出回っている製品を使うことを原則としている。この構成によって機械メーカ、ユーザ、研究者がコントローラにオリジナルな機能を組み込むことが可能になるものであり、オープンNCの原形と見なすことができる。
PCは工作機械に組み込む現実的な姿の例として、IBM製のパネル・コンピュータを使用した。これはFA用途にデザインされたものである。このパネル・コンピュータはPentium、100MHzのプロセッサと容易な入力操作を実現するタッチパネルおよび将来の拡張用途のためのPCMCIAを2スロットを装備している。さらに、3つのISAカードスロットを備えた拡張ユニットを取り付け、MAGICボードを取付けている。
コントローラとしての本質的な機能はPC上のソフトウェアとして実装されている。大きく大別すると機能モジュールの一つ一つがそのソフトウェアであり、それぞれこの研究会で作成されたものである。これは共通のインタフェースをベースにして、異なるメーカが作成した機能モジュールを統合していることと同じ状況である。
パネル型コンピュータを組み込んだ操作盤の外観を図 4-4に示す。
OSELステーションで生成された加工用データ(OSEL)はネットワーク経由でステーションAにファイル転送され、コントローラ内のOSEL−Xエグゼキュータで処理され、マシン制御機能部で補間処理を行い最終的なサーボ指令データが生成され、デバイス制御機能部でサーボ制御処理が行われ、サーボモータの駆動に変換される。
本ステーションで使用しているサーボ系はMELDASサーボである。駆動アンプとモータは市販品である。コントローラ側(PC)にはMELDAS MAGICのボードが使用され、ボードと駆動アンプとの間は高速のシリアル通信で接続されている。
機械を運転するためのもう一つの重要な制御要素であるPLCは、MELDAS MAGICのボードに内蔵されたPLC機能を使用した。既存の機械を実証機に適用していく上でPLCで実現されている機能をOSECの実装モデルに組み込むことは議論が不足しており、今後の課題である。この実証機では既存の機械のPLC処理を極力流用する方針で行っている。
| PC | IBM-7344:Pentium
, 100MHz
HDD:500MB RAM:16MB タッチパネル 拡張ユニット |
| サーボ機器 | ボード : MELDAS MAGIC(三菱電機)
送り軸(X,Y,Z) 駆動アンプ: MDS-A-V type (三菱電機) モータ : HA type (三菱電機) 主軸(SP) 駆動アンプ:MDS-A -SP type (三菱電機) モータ :ビルトインモータ (三菱電機) |
| I/Oユニット | リモートI/O: FCUA-DX (三菱電機) |
この実証機は先に述べた2つのねらいを十分に達成できた。マシニングの切削加工として、 ATC(工具交換)や主軸制御を行ったことに加え、フライス・ミーリング・ドリル・タップの基本加工を実行することができた。またコントローラの機能の多くをソフトウェアで実行できることも確認された。
PCにはPentium 100MHzのCPUを載せたものを使用したが、汎用のOSにいくつかの機能モジュールを実装し、実時間制御を行わせるには処理速度の面でまだ不足の感がある。また汎用のOSで実現できる制御サイクルは数十msecであり、マシニングセンタに適用するにはもう一桁向上させる必要がある。このステーションではサーボへの指令を送る途中にバッファを入れて、その差を吸収させた。
また本ステーションで使用した機械を含めCNC装置を使用した工作機械はコントローラとしてNCとPLCが同時に使われている。そしてこの両者の間は情報伝達が大量にかつ高速に行われている。このような結合を実現する手段として汎用的なものはなく、専用的なものに頼らざるをえない。このステーションではNC機能だけが汎用PC上に実装され、PLCは専用のものを使ったのでこの間を結合する通信手段において高速な信号授受を実現することはできなかった。従って、NCとPLCが連動して行われる機能(工具選択、工具交換、インタロック処理)は必然的に性能を落として行うことになった。これらのことはPLCというコントローラのあり方を含めて今後議論されていかなければならない。
ステーションBでは、縦形マシニングセンター(JRV40)にIBM製のパネルコンピュータ(IBM7344、OS/2)を取り付け、パソコンNCを実現している(図 4-5)。
図
4-5 ステーションB全景
パネルコンピュータには拡張ラックのISAバスを介して、東芝機械製のNCボードが接続されている。EIAコードのインタプリタ以降の基本的な処理はNCボードの方で行い、パソコンの方では主としてマンマシンインターフェース関係の処理、ファイル管理、ネットワーク処理などを行っている。
今回のOSECの実証デモで、ステーションBでは主として以下のような項目をオープン化の狙いとしている。
以上に述べたような内容を検証することを目的としてステーションBではサンプルワークの実加工を含めた展示を行っている。
なお、システムの概略の構成は表 4-2のようになる。
| パソコン本体 | Pentium 100MHz
HDD 500MB, RAM24MB タッチパネル (800×600) |
| サーボドライブシステム | IEC1491規格(SERCOS)準拠
通信:光ファイバリング 2Mbps サーボアンプ・モータ:インドラマット製 |
| NCボード | 東芝機械製ボード(仮称TOSNUC−P)
ISAバス接続、PLCコントローラ内臓 |
本システムは、工作機械以外への応用事例として、ソニーマグネスケール製非接触測定機をOSEC-IIアーキテクチャに基づくオープンコントローラで制御している。
OSEC-IIアーキテクチャは、MMI・リソースマネージメント・動作生成・機械制御・デバイス制御の5つの機能群で構成され、各機能群間を接続する標準インタフェースを定義している。
本システムは、5つの機能群を標準インタフェースに準拠したパソコン上のソフトウェアで実現した、全ソウトウェアCNCで制御されている。
センサおよび電機デバイスとのインタフェースに、パソコンに実装した汎用カウンタボード、D/AボードおよびDI/DOボードを使用し、8msecで起動されるOS上のプロセスで位置ループに関する演算処理を行う。 また、PLCはIEC-1131に準拠したソフトウェアPLC (ISaGRAF)を実装している。 図 4-6に本システムの全景を示す。
本システムは、OSにOS/2 Warpを採用し、OSEC-IIアーキテクチャに基づく5つの機能群をソフトウェアで実現した実装モデルとして設計された。図 4-7にハードウェアの接続ブロック図を、 また表 4-3に本システムのハードウェア構成を示す。
| パソコン本体 | ソニー製QL-50GICW3 | Pentium 133MHz |
| モニタ | ソニー製CPD-20SF2 | 20 inch CRT |
| カウンタカード | ハイバーテック製HPC-CTR204 | 4ch A/B相 1MHz max. |
| D/Aカード | コンテック製 DA16-4D | 16、±10V、 13μs |
| Di/Doカード | ハイバーテック製HPC-DIO64 | 絶縁型 入力32点、出力32点 |
| ネットワークカード | スリーコム製 3C−590 | Ethernet |
| サーボドライバ
モータ |
安川電機製 Σシリーズ | 速度制御型 速度-電圧指令 |
| 位置検出器 | ソニーマグネスケール製
BS75A、BD50 |
レーザスケール分解能10nm A/B相 |
| 測定機 | ソニーマグネスケール製
非接触形状測定機 |
以下、実装モデルの概要を紹介する。
以上、OSEC-IIで定義した、5つの機能群と標準インタフェースに基づく実装モデルの設計、試作を通して、コントローラのオープン化による「目的に応じた手段の選択肢を広げる」効果が実証できたといえる。
CNCに求められる、安全性および制御性能(リアルタイム性)に関して、現状ではNCボードなどのハードウェアに頼らざるを得ない部分がある。 しかしながら、汎用ボードおよび汎用サーボドライバを用いてOS/2 Warp上に8msecサンプリングのフルクローズド位置ループサーボを構築できたことは、オープン化の実証デモとして可能性を十分証明できたといえよう。
OSELステーションにおける実証デモの目的は、
を示すことである。
デモにおける全体の流れを図 4-8に、ワークの図面を図 4-9に示す。OSEL加工プログラムに含まれる重要な情報として、カッターパス・加工条件・工具・シーケンス情報がある。ユーザにわかりやすくこれらを提示するため、GUIとプロセスシートを用意した。GUIとしてCAD(CADKEY)、プロセスシートとして表計算プログラム(EXCEL)を用いた。CADKEYにはワーク形状、カッターパスを表示し、表には加工条件、工具、シーケンスを表示する。また最適化のツールとしてもEXCELを用いる。これらはあくまでも実証デモのためのツールである。またこのデモはあくまでも情報の流れを示しており、必ずしもすべてが実装されているわけではない。
まずCADKEYを用いてワークの図面を作成する(図 4-10)。つぎにCADKEY上から加工特徴を順次ユーザが指示していく。このデータをもとに、OSEL-F加工プログラムを生成する(図 4-11)。この段階では、プログラム中には、加工特徴のインスタンス生成と、加工特徴の一般的な加工指示しか記述されていない。このプログラムに関して、加工すべき加工特徴の漏れがないか確認するために、EXCELに加工シートを表示する(表 4-4)。つぎにOSEL処理系が加工特徴クラスライブラリと工具ライブラリを用いて、工具展開を行ない、OSEL-Fによる工程プログラムを生成する。シーケンス部分をEXCELに変換したものを表 4-5に示す。この段階では無駄な工具交換が生じているので、切削を開始するZ座標と工具の情報を用いて、EXCEL上でシーケンスをソートし、工具交換回数を最小にする(表 4-6)。最適化されたシーケンスデータをもとにOSEL-Fの工程プログラムが最適化されたものに変更される(図 4-12)。次に加工特徴クラスライブラリ、工具ライブラリ、機械依存加工クラスライブラリを用いて、OSEL-Xプログラムが生成される。このOSEL-Xを用いてCADKEYでカッターパスの確認を行なう(図 4-13)。
図
4-9 デモで用いたワーク形状
図
4-10 CADKEYによるワーク形状の作成
public class Sample { public static void main(String args[]) { // 加工特徴の定義がここに入る
// m10_4:4-M10タップ,hole20:Φ20貫通穴 m10_4.machining(); hole20.machining(); } |
表
4-5 プロセスシート


次に、OSELによる意義を具体的に示す例として、加工に用いる工具の変更が簡単に行なえることを示す。
加工ノウハウには、カッターパスのパターン生成法、加工条件の設定法、工具選択法が含まれる。これまでは、CAMや自動プロの中にこのようなノウハウが埋め込まれており、ユーザが持っているノウハウを加工に反映させるためには、NCデータを作成するたびにそのNCデータに対し、変更を加えなければならなかった。
これに対し、OSEL は、ユーザが持っているノウハウをプログラムの形で記述し再利用することを可能にしている。たとえば、工具を選択する際には、種々の条件を勘案するが、一度、工具とその使用条件をプログラムしておけば、以後適切な工具が自動的に選択されることになる。また選択した工具に応じ、加工条件やカッターパスが自動的に変更される。実証デモでは、工具の変更をプログラム上で行ない、その工具によってカッターパスが変わることをJAVAアプレットで開発したシミュレータ上で表示した。
このようにOSELを用いることによって、ユーザが持っている加工ノウハウの記述が可能になることを実証し、OSELの実装言語としてJAVAを採用したことから加工ノウハウやツールのネットワーク上での流通に道を開いた。
public class Sample { public static void main(String args[]) { // 加工特徴の定義文がここに入る
// m10_4:4-M10タップ,hole20:Φ20貫通穴 // センタドリリングによる加工 m10_4.centerdrilling();
hole20.centerdrilling(); // ドリル D8.6による加工 Tool drill8 = toolfordrilling(8.6); // 工具クラスライブラリから選択
m10_4.drilling(drill8); // ドリル D15.8による加工 Tool drill15 = toolfordrilling(15.8); // 工具クラスライブラリから選択
hole20.drilling(drill15); // エンドミルD15による加工 Tool endmill15 = toolforendmilling(15); // 工具クラスライブラリから選択
hole20.milling(endmill15); // タッピング m10_4.tapping(); } } |
図
4-13 CADKEYによるカッターパスの確認
今回の実証システムにおけるネットワーク関係のデモでは(1)稼働管理、(2)リモートモニタリング、(3)TV会議応用、の3つのアプリケーションを試作した。これらは、いずれもインターネット技術を応用したもので、インターネットで標準的に用いられているソフトウェアを中心にシステムを構築した。理論的にはインターネットとの接続により世界中から、今回構築された生産ラインネットワークにアクセスすることも可能である。またパソコン用汎用ソフトを利用してシステム構築することで、安価なシステムであることも特徴の一つである。
まず、全体のシステム構成の概要を図 4-14に示し、次節以降でこれら3つのデモの内容を簡単に紹介する。
これは、ある時刻に於ける各ステーションの状態や、通電時間、稼働率などのトレンドを監視する目的のアプリケーションである。
各ステーションのOSECコントローラから、稼働状況をネットワークに送出し、送出されたデータは、ネットワークを経由してライン監視 DBに貯えらる。しかるのち、使用者がラインDBから情報検索するクライアント・サーバの形態により、所望する情報を得る。
サーバ側にはインターネットで標準的に用いられているWWW(World Wide Web)技術を利用した。WWWサーバーソフトとして今回はFree BSD 2.1上のNCSA httpdを用いた。これはCGI(Common Gat eway Interface)と呼ばれる外部プログラムの呼び出し機構の利用の容易性による。今後はWindows系のOS上のWWWサーバ・ソフトウェアへの移行を検討している。
一方クライアントは2種類用意している。1つめは、検索結果からHTML文書を作成し、NetscapeなどのJava対応 WWWブラウザをクライアントとする方式で、これは時々刻々と変化する各ステーションの現在時刻における状態を監視するものである。数秒〜数分程度の時定数で変化する事象のモニタリングを行っている。図 4-15にこの応用例のサンプル画面のハードコピーを示す。
2つめは、ライン監視DBに収集された情報からWWWサーバーにて粗い検索を行なった結果を、クライアント側に転送し、クライアント側のExcelなどの表計算ソフトに読み込んで集計および稼働状態のトレンドを集計しグラフ化する方式で、数時間から数週間以上の事象のモニタリングを行なうものである。図 4-16にExcelにてトレンドグラフを表示しているサンプル画面を示す。
さて、これら稼働監視アプリケーションの試作例の仕組みについて説明する。まず1つめの現在時刻の稼働ステータスの表示である。アプリケーションを構成する機能を分類すると、 (i) 稼働ステータスの読みだしとネットワークへの送出、(ii)ネットワークに送出された稼働ステータスの受信とDB化、(iii)DBの検索とクライアントへの検索結果の送出、( iv)クライアントでの集計と表示、の4つになる。
まず (i)であるが、各ステーションにはマシン・リソース・オブジェクト(MMIの章を参照)の内部にネットワーク・オブジェクトと称するイーサネット(業界標準のコンピュータ・ネットワーク)を通じたステータスの送出モジュールを組み込んだ。送出する内容は後述するOFMP(OSE Floor Management Protocol)に拠っている。
次に(ii)であるが、ライン監視DB側には専用の受信プログラムを用意しており、受信された結果をライン監視DBに送信されたステータスが蓄えられていく。今回CSV形式(表計算ソフトやDBソフトにて用いられるファイルフォーマットの一つ)でハードディスクに追記することとした。
(iii)の部分は受信した各ステーションの状態(今回はステーションAからCまでの3台分)をHTML形式(Hyper Text Management Language形式)に変換して保持することとした。このHTML形式のファイルは新たなステータスを受信するごとに上書き更新されていく。さらにHTML形式ファイルにはクライアント側に対し、一定時間ごとの再読み込みを指示する命令を埋め込むこととした。表示画面作成にはJava(予定)を用いている。
(iv)の部分はNetscape社のNetscape等、汎用的に用いられているWWWブラウザそのものを利用しており、特殊なソフトは用いていない。もちろん表示を制御するプログラムは必要で、これはあらかじめプログラミングしておき、WWWサーバー側からクライアント側へ送出している。
この結果、通信時々刻々と変化していく各ステーションのステータス情報がWWWサーバからネットワーク経由でWWWブラウザに送信され、ユーザの手元のWWWクライアントで状態が描画され、稼働監視が出来る。
さて、2つめの仕組みであるが、(i)〜(ii)の部分は1つめの試作例と同じなので省略する。(iii)の部分であるが、WWWサーバのCGI機能を用いて、たとえば本日一日分などの粗い検索を行なった結果としてライン監視DBの一部が切り出しクライアント側に送出する機能を実装している。
(iv)の部分であるが、手元にある Excelにて情報の集計計算を行ない結果をグラフ化する。この機能はExcelマクロ言語とVBA言語によりExcel上でプログラミングされている。集計計算の結果には、電源ON/OFF時間の累積、加工時間の累積、アラーム時間の累積などがあり、さらにこれらを元にした稼働率、故障率、(生産実績、加工条件の良否)を集計出来る。
なお、集計する情報はバージョンアップを予定しており、その内容として工具使用実績管理(寿命)、加工条件、加工した環境(室温、主軸温度など)、加工結果(精度など)の情報などを検討中である。
本アプリケーションは工作機械のコントローラの画面を、ユーザの手元にあるWWWブラウザで同じ画面を表示するためのものである。サンプル画面例を図 4-17に示す。 WWWサーバから送られた時々刻々と変化するコントローラ画面をJavaで表示しているものである(予定)。
リモートモニタリングアプリケーションの機能は、(i)稼働ステータスの読みだしとネットワークへの送出、(ii) ネットワークに送出された稼働ステータスの受信、(iii) クライアントへのデータとプログラム送出、(iv)クライアントでの表示、に分類できる。
(i)の部分であるが、前述の稼働監視アプリケーションのネットワークモジュールで実現している。送出する内容と周期は前述のそれが、数秒から数時間以上の時定数で変化する事象を送出していたのに対し、こちらは数秒以下の時定数で変化する事象を取り扱う点が異なる。主軸の現在値をはじめとする各種座標値、主軸ロード値、実行中プログラムブロック、などが対象となる。したがって送出周期もそれなりの間隔で行なわれる。
(ii)および(iii)の部分であるが、これらは同一のプログラムとして実装した。各ステーションからの送出データを本プログラムで受信、後述のクライアントから転送要求を受け、クライアントに向け、再送出する動作を行なっている。
(iv)の部分であるが、WWWブラウザの描画機能を利用し、Java(予定)やHTML拡張機能で受信した情報を画面に描画するプログラムを記述することで実現している。
設計と製造でのコミュニケーションなどを行なうTV会議、加工ラインの監視TV、などに応用可能であるが、今回は監視TVに応用した事例を展示する。なかでもステーションBにはテーブル・オンボード・カメラが取りつけられており、加工中のワークの様子を観察することが出来る。図 4-18に実行中の画面例を示す。
実装は米国コーネル大学が開発したCU-SeeMeによる。これは簡易TV会議システムとして広く用いられているフリーソフトである。ただし、ネットワーク・トラフィックに対する負担を避けるため、画像サイズと質および音声の品質はそれなりに抑えられているが、専用のTV会議回線、ビデオ回線を増設せずともコンピュータ・ネットワークを接続することで利用できることの簡便さは魅力的である。
会場内各カメラからの画像と音声はCU-SeeMeの中継サーバーを経由させており、ネットワークに接続されたコンピュータにクライアントを用意することでアクセスすることが可能でクライアントの台数は複数設置することが出来る。中継サーバーをカスケード接続することで理論上は無限に近い台数が可能である。
現在その名称自体仮称ではあるが、今後要求される機能を盛り込み発展を期している。今回の実証システムでは、稼働監視アプリケーションとリモートモニタリングアプリケーションで用いている。ここでは前者の物を紹介する。
以上、本実証システムに於けるネットワーク関連のデモについて述べた。我々OSEC研究会でのネットワーク応用は実際のところ、検討を始めて日が浅い。従って、未完成の部分、検討不足の部分も多々ある。今後さらなる研究を進め、必要な機能の抽出とその適切な規約化を進め、オープン・コントローラに相応しい切り口を見出す予定である。