(57)【要約】【課題】ＮＣプログラミング言語の工作機械プログラムを変換し、ロボット制御装置に、プログラムを実行させることを可能とするシステムおよび方法を提供する。【解決手段】ロボット制御装置は、変換構成テーブルに従って、ＮＣプログラムをロボット言語に変換し、該変換された言語を、疑似プログラムデータとして、利用する。この疑似プログラムデータは、ロボット制御装置内のデータメモリ内に記録される。ＮＣプログラムにおける雑コード（Ｍｉｓｃｅｌｌａｎｅｏｕｓ  ｃｏｄｅ）は、ロボット言語を用いたサブプログラム要求として実行される。サブプログラムの内容は、ユーザによって自由に定義、プログラムされ、それ故に、特定のアプリケーション用にカスタマイズすることができる。【選択図】図８
2013134786.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するための方法であって、
製造プロセスを実行するために、数値制御工作機械のコンピュータによって実行されるべく構成された数値制御言語プログラムを、中央演算処理装置に接続された大容量記憶装置に記録するステップと、
数値制御言語の位置コマンドの各々を、ロボット言語の位置コマンドに変換するとともに、数値制御言語の雑コードコマンドの各々を、ロボット言語のサブプログラムに変換するための離散的な構成命令を有する、予め定められた変換構成テーブルに基づいて、前記数値制御言語プログラムをロボット言語プログラムに変換すべく、前記中央演算処理装置を操作するステップと、
前記ロボット言語の位置コマンドと、前記ロボット言語のサブプログラムとを、前記ロボット言語プログラムとして、前記大容量記憶装置に記録するステップと、
前記大容量記憶装置と前記ロボットに接続されたロボット制御装置を用いて、前記ロボットの稼働時間において前記ロボット言語プログラムを実行し、前記製造プロセスを実行するステップと、を備える方法。
【請求項２】
前記ロボット制御装置の制御プログラムメモリにおいて、制御プログラムを記録するステップと、
前記制御プログラムを用いて、前記変換に関するステップを実行するステップと、を備える、請求項１に記載の方法。
【請求項３】
前記大容量記憶装置において、変換ルールに係るＸＭＬファイルを準備するステップと、
前記ＸＭＬファイルから前記変換構成テーブルを生成するように、前記中央演算処理装置を操作するステップと、を備え、
前記変換構成テーブルは、前記数値制御言語プログラムを前記ロボット言語プログラムに変換するためのルールを含む、請求項１に記載の方法。
【請求項４】
前記ロボット言語プログラムの命令ラインと、前記数値制御言語プログラムの命令ラインとの間に、１対１の対応関係をもたらすように、前記変換するステップを実行する、請求項１に記載の方法。
【請求項５】
前記操作するステップは、
前記大容量記憶装置に記録された前記数値制御言語プログラムを開くこと、
論理文のために、前記大容量記憶装置の出力領域を割り当てること、
位置のために、前記大容量記憶装置の出力領域を割り当てること、
前記数値制御言語プログラムからコマンドラインを読み込むこと、
前記コマンドラインのために、論理出力領域においてエントリーを生成すること、
前記コマンドラインから、トークンと、該トークンに従う引数文字列とを取得すること、
前記変換構成テーブルにおいて、前記トークンと関連するトークン文字を検索すること、および、
前記変換構成テーブル内のデータに基づいて、前記コマンドラインのタイプを決定することを含む、請求項１に記載の方法。
【請求項６】
前記コマンドラインが予備タイプのコマンドである場合、前記コマンドラインの引数文字列に基づいた動作特性が記録される、請求項５に記載の方法。
【請求項７】
前記コマンドラインが位置タイプのコマンドである場合、前記位置の出力領域にエントリーを割り当てる、請求項５に記載の方法。
【請求項８】
前記コマンドラインが、予備タイプのコマンドまたは位置タイプのコマンド以外の、有効である他のタイプのコマンドである場合、前記他のタイプのコマンドを、前記論理出力領域にエントリーとして記録する、請求項５に記載の方法。
【請求項９】
前記操作するステップは、
前記大容量記憶装置に記録された前記数値制御言語プログラムを開くこと、
前記数値制御言語プログラムにおけるコマンドラインの各々のタイプを決定すること、
前記コマンドラインのタイプに基づいて、論理出力領域または位置出力領域に、エントリーを割り当てること、および、
前記数値制御言語プログラムを閉じることを含む、請求項１に記載の方法。
【請求項１０】
ロボットプログラムファイルを生成するステップと、
論理エントリー用のヘッダー指令を、前記ロボットプログラムファイルに書き込むステップと、
前記論理出力領域からの論理エントリーの全てを、前記ロボットプログラムファイルに書き込むステップと、
位置エントリー用のヘッダー指令を、前記ロボットプログラムファイルに書き込むステップと、
前記位置出力領域からの位置エントリーの全てを、前記ロボットプログラムファイルに書き込むステップと、
前記ロボットプログラムファイルを閉じるステップと、
全ての前記論理エントリーおよび前記位置エントリーの割り当てを解除するステップと、を備える、請求項９に記載の方法。
【請求項１１】
前記数値制御言語プログラムに書き込まれたＸＹＺＷＰＲ位置表示に、固有の位置値を追加し、対応するロボット言語の位置コマンドを生成するステップを備える、請求項１に記載の方法。
【請求項１２】
前記位置表示における固有の構成値は、コメント文字列として提供される、請求項１１に記載の方法。
【請求項１３】
前記ロボットが目的地点に到達したことに対する、雑コードの１つと関連付けられたタイミングオフセットを備える、請求項１に記載の方法。
【請求項１４】
前記ロボット言語の位置コマンドの１つに先立って、特殊な雑コードを挿入し、ユーザフレームおよびユーザ工具フレームの１つを選択するステップを備える、請求項１に記載の方法。
【請求項１５】
前記ロボット言語の位置コマンドの１つに先立って、特殊な雑コードを挿入し、ロボットの動作タイプを選択するステップを備える、請求項１に記載の方法。
【請求項１６】
数値制御言語プログラムに基づいて、ロボットを制御するためのシステムであって、
ロボットと、
前記ロボットに接続され、ロボット言語プログラムに従って前記ロボットを制御するロボット制御装置と、
前記ロボット制御装置に接続され、前記数値制御言語プログラムを記録する大容量記憶装置と、
前記ロボット制御装置によって実行されるコントロールプログラムと、を備え、
前記コントロールプログラムは、予め定められた変換構成テーブルに基づいて、前記数値制御言語プログラムを前記ロボット言語プログラムに変換し、
前記変換構成テーブルは、数値制御言語の位置コマンドの各々を、ロボット言語の位置コマンドに変換するとともに、数値制御言語の雑コードコマンドの各々を、ロボット言語のサブプログラムに変換するための離散的な構成命令を有する、システム。
【請求項１７】
前記大容量記憶装置は、前記ロボット言語プログラムを、ロボットプログラムファイルに記録するとともに、前記ロボット言語のサブプログラムを、前記ロボット言語プログラムから分離して記録する、請求項１６に記載のシステム。
【請求項１８】
前記大容量記憶装置は、変換構成テーブルを生成するために、変換ルールに係るＸＭＬファイルを記録し、
前記変換構成テーブルは、前記数値制御言語プログラムを前記ロボット言語プログラムに変換するためのルールを含む、請求項１６に記載のシステム。
【請求項１９】
前記ロボット制御装置に接続されたディスプレイ装置を備え、
前記ディスプレイ装置は、前記数値制御言語プログラムおよび前記ロボット言語プログラムの命令ラインを表示する、請求項１６に記載のシステム。
【請求項２０】
前記ロボット制御装置は、プログラマブル論理制御装置と通信するためのＰＬＣインターフェースを有する、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の参照
本願は、２０１１年１２月２２日に出願された米国特許仮出願シリアルＮｏ．６１／５７９，２８８号の利益を主張するものである。
【０００２】
本発明は、数値制御プログラムを実行するロボットによる工作機械の操作に関する。
【背景技術】
【０００３】
数値制御（ＮＣ）法によって、工作機械を自動で操作することが、知られている。この数値制御（ＮＣ）法は、コンピュータ数値制御（ＣＮＣ）工作機械を構成するように工作機械に接続された、プログラム化されたデジタルコンピュータ、またはプログラマブル論理制御装置（ＰＬＣ）を用いる。ＣＮＣ工作機械を操作して製造プロセスを実行するために、ＮＣプログラミング言語（Ｇコードプログラム）において、ユーザプログラム（パートプログラム）が提供されている。典型的には、プログラミングは、例えば、ＦＢＤ（Ｆｕｎｃｔｉｏｎ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍ：機能ブロック図）、ＬＤ（Ｌａｄｄｅｒ  Ｄｉａｇｒａｍ：ラダー図）、ＳＴ（Ｓｔｒｕｃｔｅｄ  Ｔｅｘｔ：構造テキスト、パスカルプログラミング言語に類似）、ＩＬ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｌｉｓｔ：命令リスト、アセンブリ言語に類似）、およびＳＦＣ（Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ：シーケンシャル関数チャート）のような、規格に準拠したプログラミング言語にて行われる。しかしながら、Ｉ／Ｏアドレス指定、メモリ構造、および命令セットにおける相違は、以下を意味している。すなわち、プログラムは、異なる工作機械メーカー間において、完全には相互変換可能となっていない。
【０００４】
また、ロボットによって工作機械を操作することも、知られている。典型的には、ロボットは、ロボット製造者の専用のソフトウェアプログラムを実行するコンピュータによって制御される。ＮＣプログラミング言語とロボットプログラミング言語との相違によって、ロボット制御装置が、ＣＮＣ工作機械用に書き込まれたＮＣ言語プログラムを実行することが妨げられている。
【０００５】
典型的には、ＣＮＣ工作機械は、所望の機能を達成するために、ロボット工作機械よりもコストの高い機械構造を要する。多くの工作機械アプリケーションに関して、従来からＮＣ言語が使用されてきたので、ユーザは、ＮＣプログラミング言語が工作機械をプログラムすることを求める。残念ながら、ロボット制御装置は、このようなＮＣプログラムによる命令を解釈し、実行することができないので、ロボットをこのような市場にて用いることができない。他方、ＮＣ制御装置は、ロボット制御の特殊な性質（例えば、複雑な運動学的計算等）のために、ロボットを容易に制御することができない。
【０００６】
ＮＣプログラムからロボットプログラムを生成可能な、いくつかのオフライン変換システムが存在する。しかしながら、このような変換システムは、一般的に、機械構造の動きを変換するのみであって、機械の特殊なアプリケーション処理を扱うために「Ｍコード（Ｍｉｓｃｅｌｌａｎｅｏｕｓ  ｃｏｄｅ：雑コード）」を変換することはできない。Ｍコードは、ユーザが構築した特定の工作機械のためにユーザによって定義されるので、ロボット制御装置は、該Ｍコードを如何にして処理すべきかに関する情報がなければ、該Ｍコードを実行することができない。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明によれば、ロボットアームの使用とともに、機械を、よりコストの低い機械構造で、製造することが可能となる。以下の方法を用いて、ロボット制御装置は、ＮＣプログラミング言語で書き込まれたパートプログラムを実行することができる。
【０００８】
ステップ１）ロボット制御装置は、ＮＣプログラムをロボット言語に変換し、これを、ロボット制御装置内のデータメモリシステム内に記録された疑似プログラムデータとして用いる。
【０００９】
ステップ２）それぞれのＭコード（雑コード）は、ロボット言語を用いるサブプログラム要求として、実行される。サブプログラムの内容は、ユーザ（システム統括者）によって自由に定義、プログラムされ得るので、特定のアプリケーション用にカスタマイズすることができる。
【００１０】
ステップ３）いくつかのＭコードは、動きに対して付与され、ここでは、Ｍコードは、動きが完了したタイミングで実行される。このような場合、ロボット制御装置は、動きが完了したときに、ロボット言語における、対応するサブプログラムを要求する。
【００１１】
ステップ４）Ｉ／Ｏインターフェースは、プログラムを選択、実行し、且つ、プログラム実行のステータスを監視することができる必要がある。ライン番号は、元のＮＣプログラムと、疑似ロボットプログラムとの間で１対１の対応関係を有しているので、現在実行されているプログラムラインを示すユーザインターフェースを生成するのが、容易となる。
【００１２】
ロボットを制御するための方法は、製造プロセスを実行するために、数値制御工作機械のコンピュータによって実行されるべく構成された数値制御言語プログラムを、中央演算処理装置に接続された大容量記憶装置に記録するステップと、数値制御言語の位置コマンドの各々を、ロボット言語の位置コマンドに変換するとともに、数値制御言語の雑コードコマンドの各々を、ロボット言語のサブプログラムに変換するための離散的な構成命令を有する、予め定められた変換構成テーブルに基づいて、数値制御言語プログラムをロボット言語プログラムに変換すべく、中央演算処理装置を操作するステップと、大容量記憶装置において、ロボット言語の位置コマンドと、ロボット言語のサブプログラムとを、ロボット言語プログラムとして記録するステップと、大容量記憶装置とロボットに接続されたロボット制御装置を用いてロボット言語プログラムを実行し、ロボットの稼働時間において、製造プロセスを実行するステップとを備える。
【００１３】
本発明の上記利点および他の利点は、添付図面を参照した、以下に述べる好ましい実施形態の詳細な説明から、当業者に対して容易に明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】従来技術のＣＮＣ工作機械の斜視図であって、該ＣＮＣ工作機械は、航空機の機体の一領域上に溶接を行うためのＮＣプログラムを用いている。
【図２】図１に示す航空機の機体の領域上に溶接を行うためのロボット制御工作機械の斜視図である。
【図３】図２に示すロボットの制御システムのブロック図である。
【図４】起動時における、ＮＣプログラミング言語からロボットプログラミング言語へのプログラム変換の第１の段階を示す、フローチャートである。
【図５】元のＮＣプログラムから内部ロボットプログラムへ変換するための各プログラム変換におけるプログラム変換の第２の段階を示す、フローチャートである。
【図６】元のＮＣプログラムから内部ロボットプログラムへ変換するための各プログラム変換におけるプログラム変換の第２の段階を示す、フローチャートである。
【図７】元のＮＣプログラムから内部ロボットプログラムへ変換するための各プログラム変換におけるプログラム変換の第２の段階を示す、フローチャートである。
【図８】図１に示すＣＮＣ工作機械用の制御システムのブロック図であって、該ＣＮＣ工作機械は、図２に示すロボット制御工作機械を操作するように修正されている。
【発明を実施するための形態】
【００１５】
以下の詳細な説明と添付の図面は、本発明の種々の例示的実施形態について説明および図示している。この説明および図面は、当業者が本発明を製造し、使用することを可能とするのに有益となるものであって、本発明の範囲を、如何なる方法であれ、限定することを意図したものではない。開示された方法に関して、提示されたステップは、本質的に一例となるものであって、それ故に、ステップの順序は、必須または重要となるものではない。
【００１６】
２０１１年１２月２２日に出願された米国特許仮出願シリアルＮｏ．６１／５７９，２８８号は、本参照により、本稿に含まれるものとする。
【００１７】
ＣＮＣ工作機械は、組み立て作業を含む、広範な種類の製造プロセスを実行するために用いられている。例えば、図１には、航空機の機体部分１２を組み立てるためのＣＮＣ工作機械１０が示されている。機体部分１２は、半円形の断面を有しており、複数のスキンシート（またはスキンパネル）から構成されている。これらスキンシート（またはスキンパネル）は、典型的にはリベット、溶接、または接着剤によって、弧状のフレームのグリッドと、直線状の縦通材とに取り付けられる。工作機械１０は、一対のアーム１４、１６を備え、該アーム１４、１６は、機体部分１２の内部および外部に、それぞれ位置決めされている。工作機械１０は、機体部分１２の長手方向に平行なｘ軸１７に沿って移動可能であり、機体部分１２にて互いに反対となる端部の間で延在する縦通材の１つに沿う、いずれかの選択位置に、スキンパネルを取り付ける。機体部分１２は、フレーム１８によって支持されており、該フレーム１８は、水平軸周りを方向１９に向かって回転可能である。フレーム１８は、一対の支柱２０の間に設置されている。したがって、機体部分１２とフレーム１８は、水平軸周りに回転可能であって、これにより、工作機械１０が、縦通材の間を移動し、フレームのいずれかに沿ってスキンパネルを取り付けることを可能とする。しかしながら、ＣＮＣ工作機械１０は、必要なスキン取り付け作業を実行するために、機体部分１２を支持し、回転させることが可能な、大型且つ高価な構造を要する。
【００１８】
図２においては、図１のＣＮＣ工作機械１０が、スキン取り付け作業を行うためのロボット３０に置換されている。機体部分１２は、ロボット３０と面して、概して垂直方向となるように、固定具３２に取り付けられている。ロボット３０は、固定具に沿って、機体部分１２の長手方向軸に平行である移動方向１７に、移動可能である。さらに、ロボット３０のアーム３４は、関節を有しており、弧状のフレームに沿った弧状経路および縦通材の間を、機体部分１２に沿って移動する。このように、ロボット制御工作機械３０は、ＣＮＣ工作機械１０の代替として、より小型且つ低価な構造として実施することができる。
【００１９】
しかしながら、上述したように、ＣＮＣ工作機械１０のユーザは、ロボット制御工作機械３０に切り替えるのに積極的ではない。何故ならば、ロボット制御装置３６は、ＣＮＣ工作機械１０によって用いられるＮＣプログラミング言語を実行することができないからである。本発明によれば、ＮＣプログラミング言語をロボットプログラミング言語に変換するためのシステム４０が、ブロック図のフォーマットとして、図３に示されている。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）４２は、バスライン４４を介して、システムの各装置と接続している。ＣＰＵ４２は、制御プログラムメモリ（ＲＯＭ）４６に記録された制御プログラムに従って、動作する。なお、制御プログラムメモリ４６は、バス４４に接続された不揮発性メモリである。
【００２０】
ワークメモリ（ＲＡＭ）４８は、処理を実行するためにシステム４０用に作業領域を提供するメモリシステムであって、バス４４に接続されている。ディスプレイおよびキーボード５０は、バス４４に接続され、オペレータがシステム４０とやり取りするのを可能とする。システムは、通信ポート５２およびバス４４を介して、該通信ポート５２に接続されたオフラインプログラミングシステム５４に、接続されている。ユーザまたはオペレータは、オフラインプログラミングシステム５４上で、ＮＣプログラミング言語としての「パートプログラム」を生成する。ＮＣプログラムは、次いで、通信ポート５２を介して、システム４０にダウンロードされ、現存の方法（例えば、ファイル転送プロトコル等）を用いて、大容量記憶装置５６にコピーされる。大容量記憶装置５６は、バス４４に接続され、（ＮＣ言語としての）元のパートプログラム５８、パートプログラムのＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：拡張マークアップ言語）ファイル６０、（ロボット言語としての）変換されたパートプログラム６２、および、Ｍコード用のサブプログラム６４を記録するための場所を提供する。ロボットアーム３４は、バス４４に接続されたサーボ増幅器６６によって、ロボットプログラム６２における動作コマンドに基づいて、駆動される。
【００２１】
ＮＣプログラミング言語からロボットプログラミング言語へのプログラム変換は、ＸＭＬファイル６０から引き出される変換構成データテーブルに基づいて行われる。このテーブルは、ＮＣプログラム５８の言語要素を定義する。このテーブルは、典型的に用いられている言語と異なるように、言語を再定義することもできる。このテーブルのいくつかのコンポーネントは、
・２文字コマンド−２つの文字コマンドが許容されるか否か（デフォルト：Ｙｅｓ）、
・Ｘ接頭辞−Ｘ位置データ用の接頭辞（デフォルト：Ｘ）、
・Ｘ接尾辞−Ｘ位置データ用の接尾辞（デフォルト：なし）、
・コンフィグ接頭辞−コンフィグ文字列用の接頭辞（デフォルト：Ｏ）、
・Ｆ接頭辞−フィード量値用の接頭辞（デフォルト：Ｆ）、
・Ｍｉｓｃ接頭辞−雑コードのリスト、およびこれらの取り扱い（デフォルト：Ｍ）、
・ジョイントｍｏタイプ−ジョイントｍｏタイプを特定するためのＭコード値（デフォルト：なし）、
・Ｕフレーム番号−ユーザフレーム番号を特定するためのＭコード値（デフォルト：なし）等である。
【００２２】
プログラム変換は、以下に示すように、２つの処理段階で行われる。１）起動時にて、システム４０は、ＸＭＬファイル６０を読み込み、ワークメモリＲＡＭ４８において変換構成テーブルをセットアップする。２）そして、それぞれのプログラム変換において、システム４０は、変換構成テーブルに従って、元のＮＣプログラム５８を、内部ロボットプログラム６２に変換する。
【００２３】
ＮＣパートプログラム５８の各要素は、１つのアルファベット文字である。このステップは、ＸＭＬファイル６０に基づいて、ＮＣプログラム５８における各プログラム要素の意味を定義する。この要素の意味は、一般的に用いられている典型的な定義と異なり得るので、この変換テーブルが、必要となる。換言すれば、例えば、Ｃコードは、ＮＣプログラム言語５８において、Ｃコードが典型的に意味する所と異なる意味を有し得る。
【００２４】
このステップにおいて、システム４０は、ＸＭＬファイル６０を読み込み、ファイル内のＸＭＬ特性に従って、変換構成テーブルを生成する。この変換構成テーブルは、変換のためのルールを含む。例えば、位置データの「Ｘ」コンポーネント用に用いられるべき文字は、このテーブルにて定義される。テーブルは、ワークメモリＲＡＭ４８に記録され、システム４０がシャットダウンされるまで、または、新たなＸＭＬファイルがロードされるまで、維持される。
【００２５】
したがって、典型的には、このプロセスは、起動後に一度、実行される。この処理方法のフローチャート７０は、図４に示されており、以下のステップを備える。
・ステップ７１−開始。
・ステップ７２−ＸＭＬデータファイル６０を開く。
・ステップ７３−ＲＡＭ４８において、変換構成テーブル用の領域を割り当てる。
・ステップ７４−１行のＸＭＬデータを読み込む。
・ステップ７５−該行に係るＸＭＬ特性を同定する。
・決定ポイント７６−「有効？」  有効なＸＭＬ特性である場合、「Ｙｅｓ」に分岐し、ステップ７７へ進む。そうでない場合、「Ｎｏ」に分岐し、ステップ７８へ進む。
・ステップ７７−変換構成テーブルにＸＭＬ特性を記録する。
・ステップ７８−エラーを提示し、ステップ８０に進み、ステップ８１にて処理を中断する。
・決定ポイント７９−他の行がある場合、「Ｙｅｓ」に分岐し、ステップ７４に戻る。他の行がない場合、「Ｎｏ」に分岐し、ステップ８０へ進む。
・ステップ８０−ＸＭＬファイルを閉じる。
・ステップ８１−終了。
【００２６】
システム４０は、変換構成テーブルに従って、元のＮＣプログラム５８を、内部ロボットプログラム６２へ変換する。与えらえたＮＣパートプログラム（ユーザプログラム）５８をロボットプログラム６２に変換するための実際の処理は、以下のステップを備えるフローチャート９０として、図５〜図７に示されている。
・ステップ９１−開始。
・ステップ９２−元のＮＣプログラムファイル５８を開く。
・決定ポイント９３−ファイルを開くことが成功でない場合、「Ｎｏ」に分岐し、ステップ９４へ進む。成功である場合、「Ｙｅｓ」に分岐し、ステップ９６へ進む。
・ステップ９４−エラーを提示。
・ステップ９５−終了。
・ステップ９６−論理文のための出力領域を割り当てる。
・決定ポイント９７−割り当てが成功でない場合、「Ｎｏ」に分岐し、ステップ９４にてエラーを提示し、ステップ９５にて終了する。成功である場合、「Ｙｅｓ」に分岐し、ステップ９８へ進む。
・ステップ９８−位置のための出力領域を割り当てる。
・決定ポイント９９−割り当てが成功でない場合、「Ｎｏ」に分岐し、ステップ９４にてエラーを提示し、ステップ９５にて終了する。成功である場合、「Ｙｅｓ」に分岐し、ステップ１００へ進む。
・ステップ１００−ＮＣプログラムファイル５８から、コマンドラインを１行読み込む。
・ステップ１０１−論理出力領域にエントリーを生成する。
・ステップ１０２−コマンドラインから、１つのトークンと、該トークンに従う引数（数値または文字列）とを取得する。
・ステップ１０３−変換構成テーブルにてトークン文字を検索し、テーブルデータに基づいてコマンドタイプを決定する。
・決定ポイント１０４−テーブルにてトークン文字が見つからない場合、「Ｎｏ」に分岐し、ステップ９４にてエラーを提示し、ステップ９５にて終了する。トークン文字が見つかった場合、「Ｙｅｓ」に分岐し、決定ポイント１０５へ進む。
・決定ポイント１０５−コマンドが「予備」タイプのコマンド（典型的には、Ｇコード）である場合、ステップ１０６へ進む。コマンドが「位置」タイプのコマンド（Ｘ、Ｙ、Ｚ、Ｗ、Ｐ、Ｒ、Ｅ、またはＣ）の１つである場合、決定ポイント１０７へ進む。コマンドが、変換構成テーブルに基づいた「他の」有効なコマンドである場合、ステップ１１１へ進む。
・ステップ１０６−コマンド引数に基づいて、動き特性を記録し、決定ポイント１１２へ進む。
・決定ポイント１０７−位置出力領域におけるエントリーが存在しない場合、「Ｎｏ」に分岐し、ステップ１０８へ進む。エントリーが存在する場合、「Ｙｅｓ」に分岐し、ステップ１０９へ進む。
・ステップ１０８−位置出力領域にエントリーを割り当てる。
・ステップ１０９−位置出力領域において、位置エントリーの位置値を記録する。
・ステップ１１０−論理出力領域において、論理エントリーの動きコマンドを記録する。
・ステップ１１１−論理出力領域において、論理エントリーの「他の」コマンドを記録する。
・決定ポイント１１２−コマンドラインにおいて、さらにコマンドトークンがある場合、「Ｙｅｓ」に分岐し、ステップ１０２へ進む。なければ、「Ｎｏ」に分岐し、決定ポイント１１３へ進む。
・決定ポイント１１３−プログラムファイルにおいて、さらにコマンドラインがある場合、「Ｙｅｓ」に分岐し、ステップ１００へ進む。なければ、「Ｎｏ」に分岐し、ステップ１１４へ進む。
・ステップ１１４−元のＮＣプログラムファイル５８を閉じる。
・ステップ１１５−出力ロボットプログラムファイル６２を生成し、該ファイルを開く。
・ステップ１１６−論理文用のヘッダー指令を書き込む。
・ステップ１１７−全ての論理出力エントリーをファイルに書き込む。
・ステップ１１８−位置出力用のヘッダー指令を書き込む。
・ステップ１１９−全ての位置出力エントリーをファイルに書き込む。
・ステップ１２０−出力ファイルを閉じる。
・ステップ１２１−全ての論理出力エントリーおよび位置出力エントリーの割り当てを解除する。
・ステップ１２２−終了。
【００２７】
位置表示に関して、このようなＮＣプログラムは、典型的には、オフラインプログラミングシステム上にて生成される。従来、ＮＣプログラムにおける位置は、それぞれの移動ジョイント／軸において、絶対位置の値として与えられる。典型的な工作機械上では、移動ジョイントは、直交座標系に従って整列され、このようなジョイントの各々の値は、Ｘ、Ｙ、Ｚ等で与えられる。軸構造の複雑性のために、ロボット軸のジョイント角度を計算することは、時には、オフラインプログラミングシステムにとって、直交座標フレームで位置値を計算することよりも、困難となる。
【００２８】
提案された方法は、ジョイント表示に加えて、ＮＣプログラム５８においてＸＹＺＷＰＲ位置表示を用い得る。ＸＹＺＷＰＲ位置表示とともに、位置値に加えて、構成「コンフィグ」値を特定する必要がある。与えられたＸＹＺＷＰＲ位置に対して、固有のジョイント値を同定する必要がある。提案された方法においては、「コンフィグ」値（構成値）は、Ｃ（コンフィグ）コードにより示されるコメント文字列として、提示される。例えば、ＸＹＺＷＰＲ表示における位置値は、以下のフォーマットにて与えられ得る。
【００２９】
Ｘ１２３．００Ｙ−２３４．５６Ｚ３４５．０３Ｗ１７９．３４Ｐ−１７８．３４Ｒ０．２３４Ｃ（Ｎ，Ｌ，０，１，−１）。
【００３０】
位置は、ＸＹＺＷＰＲ位置表示で、ロボット３０の工具中心点（ｔｏｏｌ  ｃｅｎｔｅｒ  ｐｏｉｎｔ：ＴＣＰ）の位置として定義されるので、各位置に対して、参照フレームを特定する必要がある。提案された方法においては、これは、ユーザフレームまたはユーザ工具フレームを選択するプログラムにおける、特殊なＭコードによって、実行される。
【００３１】
例：
・Ｍ２３Ｔ０１−ユーザフレームを＃１に設定する。
・Ｍ２４Ｔ０２−ユーザ工具フレームを＃２に設定する。
【００３２】
Ｍコード（雑コード）のいくつかは、特定の工作機械に対して、特定のアプリケーション要求のために、定義される。これには、しばしば、Ｔコードにより特定される引数が付随する。このような特別な処理における柔軟性を実現するために、提案された方法は、特定されたＭコードの各々に関して、サブプログラム６４に対して要求を生成する。例えば、ＮＣプログラム５８は、「Ｍ０８Ｔ０２」コードを有し、変換されたロボットプログラム６２は、例えば「要求Ｍ０８（２）」のような「要求」コマンドを有する。また、引数Ｔ０２は、サブプログラム「Ｍ０８」に、整数パラメータとして通過されることを、理解されたい。
【００３３】
雑コードは、動きと関連付けて特定され得る。このような場合、「要求」コマンドは、変換されたロボットプログラム６２における動きに付与される。ここで、該コマンドは、ロボットが特定された目的地点に到達するタイミングで、所定のオフセットとともに、発生する。該オフセットに関して、タイミングが、（ミリ秒での）タイミングオフセットを特定することによって、より早くまたは遅くなるように、調整され得る。
【００３４】
図８には、図１に示すＣＮＣ工作機械１０のための制御システム１３０のブロック図が示されている。ここで、このＣＮＣ工作機械１０は、図２に示すロボット制御工作機械３０を操作するように、修正されている。ＣＮＣ工作機械１０は、ディスプレイ装置１３２に接続された専用のＰＬＣ（プログラマブル論理制御装置）１３１によって、制御される。ディスプレイ装置１３２は、オペレータに、プログラムおよびステータス情報を表示する。ＰＬＣ１３１は、ＣＮＣ工作機械１０を操作するためのＮＣプログラムを実行可能な、如何なる装置をも表すものである。さらに、ＰＬＣ１３１は、ＣＮＣ工作機械がＮＣプログラムを実行可能である場合は、任意となる。
【００３５】
ロボット制御工作機械３０は、変換されたユーザプログラム６２（図３）に従って制御するために、ロボット制御装置３６に接続される。ＰＬＣ１３１は、プログラム制御およびステータス監視を提供すべく信号をやり取りするために、フィールドバス１３４によって、ロボット制御装置３６内のＰＬＣインターフェース１３３に接続される。ＮＣプログラムは、ＰＬＣ１３１から、ロボット制御装置３６内のＭＤドライブ５６（図３）に、ダウンロードされる。ロボット制御装置３６は、ＮＣプログラムを、変換されたユーザプログラム６２に、ＴＰ言語にて変換し、Ｍコード６４（図３）用にＴＰサブプログラムを生成する。そして、ロボット制御装置３６は、ＮＣプログラムにて具現化されている製造プロセスを実行するように、ロボット制御工作機械３０を操作する準備が整う。教示ペンダント１３５は、ロボット制御装置３６に接続されており、これにより、オペレータが、通常はロボットの制御に関連付けられている機能の全てを実行することが可能となる。
【００３６】
特許法の規定に従って、本発明は、その好ましい実施形態を示すように考慮されるものとして、説明されてきた。しかしながら、本発明は、その概念と範囲を逸脱することなく、特に説明および図示されたもの以外のものとして実施され得ることを、理解すべきである。
【図１】
2013134786.tif 000003
【図２】
2013134786.tif 000004
【図３】
2013134786.tif 000005
【図４】
2013134786.tif 000006
【図５】
2013134786.tif 000007
【図６】
2013134786.tif 000008
【図７】
2013134786.tif 000009
【図８】
2013134786.tif 000010
【外国語明細書】
2013134786000001.pdf