(57)【要約】【課題】      高度な機械装置制御プログラムを容易に短期間に開発できること。【解決手段】  【解決手段】  非リアルタイムオペレーティングシステム上でモータもしくは入出力機器を制御する１つ以上のプロセスのプログラムを実行制御可能なマルチプロセスコントローラとＵＩＦ部の画面を制御する機械装置制御プログラムＧＵＩ部とを備えたことにより、モータ制御、ＩＯ制御を伴い、かつ、複雑な画面を備える高度な機械装置制御プログラムを容易に短期間に開発できるようにしたもの。【選択図】      図１
2005275608.tif 000002
【特許請求の範囲】
【請求項１】
非リアルタイムオペレーティングシステム上で、機械装置制御プログラムを実行するシステムであって、
モータもしくは入出力機器を制御する１つ以上のプロセスのプログラムを実行制御可能なマルチプロセスコントローラを備えることを特徴とする機械装置制御プログラム実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体、液晶、電子部品、機械部品等の製造、検査を目的とする機械装置のコントローラにおいて、モータおよび入出力機器を備えた機械装置プログラム実行システムに関わり、特にパーソナルコンピュータ上でプログラムを開発、実行するシステムに関する。
【背景技術】
【０００２】
従来技術（例えば下記特許文献１参照）を使用した機械装置プログラム実行システムを図４に示す。本図には、機械装置コントローラ３３０と図示されない機械装置に組み付けられるモータ、モータ用アンプ、ソレノイド、ランプ、操作スイッチ、センサ等を制御するためのモータ制御装置２２ａ、２２ｂ、出力機器２４、入力機器２５、機械操作のためのＵＩＦ（ユーザインターフェイス）部３７０、および、機械装置制御プログラム開発環境３２０が示されている。
【０００３】
上述した機械装置コントローラ３３０は、コンピュータを使用したコントローラであって、例えば、ＮＣ（数値制御装置）、ＰＬＣ（プログラマブルロジックコントローラ）、あるいはロボットコントローラである。機械装置コントローラ３３０は、モータ制御装置２２ａ、２２ｂ接続用のパルス入出力部２１０、および、出力機器２４、入力機器２５接続用のＤＩＯ（ディジタルアウトプットインプット）部２３０の回路部を備えている。また、ソフトウェアとして、モーション制御部３１１、ＩＯ制御部３１２、ＵＩＦ制御部３１４、ファイル制御部３１３を含む機械装置制御プログラム３１０がリアルタイムＯＳ２７０上で、マルチタスク処理として動作している。この機械装置制御プログラム３１０のソースコードは、別のコンピュータである機械装置制御プログラム開発環境３２０で開発され、機械装置コントローラ３３０のＣＰＵで実行できるオブジェクトコード、あるいは、中間コードにコンパイルされ、ネットワークを経由して、機械装置コントローラ３３０にロードされ、実行される。
【０００４】
【特許文献１】特開平７−３６５２９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような従来の方法では、機械装置コントローラ３３０と機械装置制御プログラム開発環境３２０が別である。すなわち、プログラム実行環境と開発環境が別であるので、実際の機械装置コントローラ３３０にオブジェクトをロードしてみないと発見できないバグがある。ＵＩＦ（表示部、キーボード等入力部）が機械装置コントローラ３３０のUIF部３７０と機械装置制御プログラム開発環境３２０の図示されていないUIF部で表示器、表示制御プログラム言語が異なるので、機械装置コントローラのＵＩＦ部３７０を注意深く意識してＵＩＦ制御部３７０のプログラムを開発しなければならない。また、機械装置コントローラ３３０のＣＰＵクロック周波数が遅いので、短い処理時間が要求されるモーション制御部３１１、ＩＯ制御部３１２については、注意深いプログラミングが要求されたり、特殊なリアルタイムＯＳを学習して、メモリ保護を配慮しながらプログラムを開発しなければならない。また、機械装置が多機能になって、操作画面、機械装置状態表示画面、装置パラメータ設定画面が複雑になり、画面を利用したＵＩＦ部制御プログラム作成に時間がかかるようになってきている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために請求項１記載の発明では、非リアルタイムオペレーティングシステム上で、モータもしくは入出力機器を制御する１つ以上のプロセスのプログラムを実行制御可能なマルチプロセスコントローラを備え、機械装置制御プログラムＧＵＩ部と、モータもしくは入出力機器を制御するマルチプロセスコントローラの２階層にしたことによって、機械装置プログラム開発を容易にしている。
【発明の効果】
【０００７】
このような発明によれば、複雑な画面内容を持つ機械装置制御プログラムを容易に開発できる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。図１は本発明の機械装置制御プログラム実行システムの一実施形態を示す図である。機械装置コントローラ３３は、IBM社ＰＣ−ＡＴ互換構造のＰＣ（パーソナルコンピュータ）を基本とし、図示されないＸＹステージ等の機械を動作させるためのモータ制御装置２２ａ、２２ｂ接続用のパルス入出力ボード２１、および、出力機器２４、入力機器２５接続用のＤＩＯ（ディジタルインプットアウトプット）ボード２３が、例えば、ＰＣＩスロット２６に挿入されている。また、ソフトウェアとして、非リアルタイムＯＳ（オペレーティングシステム）であるマイクロソフト社のＷｉｎｄｏｗｓ（同社の登録商標）がイントールされ、その上で動作するモーション制御、ＩＯ制御処理を担うマルチプロセスコントローラ２９、その中で動作するプロセスのプログラムを開発するプロセスプログラム開発環境３０、画面等ＧＵＩ（グラフィックユーザインターフェイス）部処理を実行する機械装置制御プログラムＧＵＩ部３１、および、そのプログラムを開発するための機械装置制御プログラムＧＵＩ部開発環境３２が含まれている。
【０００９】
マルチプロセスコントローラ２９は、プロセスプログラム開発環境３０で開発されたプロセスＡ２９１、プロセスＢ２９２、プロセスＣ２９３をＯＳ２７上で、時分割で近似的に同時実行できる仕組みを持っている。プロセス数が３つの例を示したが、１つ以上が可能である。また、マルチプロセスコントローラ２９には、プロセスＡ、プロセスＢ、プロセスＣ、および、機械装置制御プログラムＧＵＩ部３１から、ともにライト、リード可能な共有変数２９４を持っている。加えて、マルチプロセスコントローラ２９内任意プロセスから機械装置制御プログラムGUI部３１へ制御を渡すイベント発行機能２９６、および、パルス入出力ボード２１、ＤＩＯボード２３が無くても、その等価的な動作をソフトウェアで模擬するシミュレータ２９５を備えている。
【００１０】
プロセスプログラム開発環境３０は、図２に示すように、プロセスＡ等のプロセスを例えば、Ｃ言語のような言語でソースコードとして作成、編集できるエディター３０１、１つ以上のソースコードをまとめて文法チェックしながら中間コードに変換するトランスレータ３０２、中間コードをＰＣのメモリエリアにロードし、その中間コードを実行したり、停止したり、実行状況をモニタしたりできるプロセス実行制御部３０３から構成される。このプロセス実行制御部３０３は、共有変数２９４に任意の値をライト、リードすることも可能になっている。
【００１１】
プロセスは、例えば、以下のように割り当てられ、時分割で同時実行される。
プロセスＡ（ＩＯ制御Ａ）：ランプの点滅制御、機械装置構成機器のエラー監視
プロセスＢ（ＩＯ制御Ｂ）：操作スイッチ入力監視
プロセスＣ（モーション制御）：機械装置制御プログラムＧＵＩ部から依頼された処理。とくにモータ制御装置２２ａ、２２ｂに関わる処理。
【００１２】
次に、機械装置制御プログラムＧＵＩ部３１は、ＵＩＦ制御部３５、ファイル制御部３６から構成され、ＯＳ２７上で実行される。ＵＩＦ制御部は、ＵＩＦ部３７の表示部（ディスプレイ）、キーボード、マウスの入出力制御を行う。ディスプレイ上には、例えば、ＵＩＦ制御部３５、および、ファイル制御部３６のプログラムの一部として実現された以下のアイコンが配置され、マウスあるいはキーボードで入力できるようになっている。
・ボタン状アイコン（手動動作開始、自動動作開始、原点復帰開始、各停止等）
・ランプ状アイコン（機械装置構成機器アラーム発生状況モニタ）
・矢印ボタン状アイコン（モータ制御装置２２ａ、２２ｂへＪＯＧ移動位置指令）
・ボックス状数値モニタアイコン（モータ制御装置２２ａ、２２ｂからの位置フィードバックモニタ）
・テキスト状表示アイコン（機械装置状態モニタ、アラーム内容モニタ）
・ファイル選択アイコン（機械装置で検査、あるいは製造する対象部品の形状寸法、検査方法、製造方法（以降、これらをまとめてレシピ−情報と言う）をファイルあるいはパラメータで選択）
また、ファイル制御部は、レシピ−情報の管理のほかに、機械装置で製造、検査された各部品に関わる検査データ、製造データの管理を行う。
【００１３】
機械装置制御プログラムＧＵＩ部３１は、まず、マルチプロセスコントローラ２９のプロセスＡ２９１、プロセスＢ２９２、プロセスＣ２９３等を起動する。次に、ＵＩＦ部３７からアイコンクリック等の機械装置オペレータの指示により、共有変数２９４へ、プロセスＣ２９３への依頼処理内容番号、依頼処理パラメータ等をライトして、プロセスＣ２９３へ処理を依頼する。プロセスＣ２９３は、その処理依頼内容に基づいて、パルス入出力ボード２１、あるいはＤＩＯボード２３にデータをライトして処理、すなわち、機械動作、出力機器動作が行われ、その動作結果のデータをどちらか、あるいは、両方のボードから得て、共有変数２９４へ処理結果番号処理結果パラメータをライトし、機械装置プログラムＧＵＩ部３１に知らせるためにイベント２９５を発行する。このイベント２９５を機械装置プログラムＧＵＩ部３１が受けて、ＵＩＦ部３７に表示し、一連の操作が終了する。
【００１４】
また、プロセスＡ２９１、プロセスＢ２９２は、機械装置制御プログラムＧＵＩ部３１によって起動された後、各プロセスプログラム中で指定された周期で、ランプの点滅、機械装置構成機器のエラー監視、操作スイッチ入力監視を行っている。この２つのプロセスは、独立に時分割で実行されている。そのため、プロセスＣ２９３の処理中でも、機械装置制御プログラムＧＵＩ部３１によるＰＣ内ファイルアクセス中でも、ランプが点滅したり、エラー監視、操作スイッチ入力監視ができるようになっている。図示されない機械装置本体にある操作スイッチが押された場合、プロセスＢ２９３は、入力機器２５からＤＩＯボード２３を経由してその変化を認識して、共有変数２９４へその操作スイッチ番号、オンかオフかの内容をライトし、機械装置プログラムＧＵＩ部３１に知らせるためにイベント２９５を発行する。このイベント２９５を機械装置プログラムＧＵＩ部３１が受けて、ＵＩＦ部３７に表示し、新しい依頼処理内容として共有変数２９４へ、内容番号、パラメータ等をライトして、プロセスＣ２９３へ処理を依頼する。
【００１５】
上述のように機械装置制御プログラムＧＵＩ部３１は、アイコンを主体として、その処理を記述している。そのため、機械装置制御プログラムＧＵＩ部開発環境３２としては、このタイプの画面を簡単に作成できるマイクロソフト社ＶｉｓｕａｌＢａｓｉｃ（同社の登録商標）が主に使用される。
【００１６】
プロセスは、図３のように各プロセスが固有の仮想メモリ空間を確保し、固有の実行コードと固有のスタックを持っている。マルチプロセス処理は、メモリをたくさん消費し、ＣＰＵ処理の時間がかかるが、プロセス間でメモリが保護されているため、バグが少ないソースコードを簡単にかけるので、機械装置制御プログラム開発期間短縮になるメリットがある。
【００１７】
次に、マルチプロセスコントローラ２９内部のシミュレータ２９５は、実際の機器、すなわちモータ制御装置２２ａ、２２ｂ、出力機器２４、入力機器２５、パルス入出力ボード２１、ＤＩＯボード２３がなくてもその動作をソフトウェア的に模擬できるようになっている。各プロセスからモータ制御装置２２ａ、２２ｂに位置指令を出力して、その結果として得られる位置フィードバックデータを仮想的に得たり、あるいは、各プロセスから出力機器２４への出力信号と等価なデータをＵＩＦ部３７の表示部に表示したり、逆にＵＩＦ３７の表示部におけるマウスクリック動作により、各プロセスへ入力機器２５からの入力信号と等価なデータを入力したりすることができる。
【００１８】
シミュレータが有ることによって、実際の機器が入荷していなくても、ＰＣと本システムが有れば、機械装置本体組立に先行して、プログラム作成およびデバッグが行え、トータルとして、機械装置の製作時間が短縮される。
【００１９】
しかも、実際の機器装置コントローラ３３とプログラム開発時の開発装置がまったく同一、あるいは、同一機種（ＰＣ−ＡＴ互換ＰＣ）であるので、ＵＩＦ部３７の表示部画面、キーボード、マウスの入出力操作環境移植の必要がない。かつ、ＣＰＵの処理速度、メモリ容量、ＯＳが実際の装置そのものであるので、処理タイミングに関わるバグをプログラム開発中に取り除くことができる。
【００２０】
なお、図１では、プロセスのプログラムを開発するプロセスプログラム開発環境３０、そのプログラムを開発するための機械装置制御プログラムＧＵＩ部開発環境３２が含まれている。これらは開発環境なので、機械装置制御プログラム開発中は必要であるが、機械装置を出荷する段階で、機械装置コントローラ３３から削除してもよい。
【００２１】
なお、図１では、モータ制御装置２２ａ，２２ｂへの接続信号は、位置指令と位置フィードバックを例として示した。高性能の機械に対しては、この接続信号を速度指令、電流指令、速度フィードバック、電流フィードバックとしてもよい。この場合、パルス入出力ボード２１は、マイクロコンピュータやＤＳＰを搭載した速度制御ボードや電流制御ボードに置き換えられる。
【００２２】
以上、本発明者によってなされた発明の実施形態及び実施例を具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変形可能であるというのはいうまでもない。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態における機械装置制御プログラム実行システムを表したブロック図である。
【図２】図１にかかるプロセスプログラム開発環境の構成図である。
【図３】図１にかかるマルチプロセスコントローラの動作説明図である。
【図４】従来の機械装置制御プログラム実行システムを表したブロック図である。
【符号の説明】
【００２４】
２１  パルス入出力ボード
２２ａ，２２ｂ  モータ制御装置
２３  ＤＩＯボード
２４  出力機器
２５  入力機器
２６  ＰＣＩスロット
２７  ＯＳ
２９  マルチプロセスコントローラ
３０  プロセスプログラム開発環境
３１  機械装置制御プログラムＧＵＩ部
３２  機械装置制御プログラムＧＵＩ部開発環境  
３３  機械装置コントローラ
３７  ＵＩＦ部
【図１】
2005275608.tif 000003
【図２】
2005275608.tif 000004
【図３】
2005275608.tif 000005
【図４】
2005275608.tif 000006