(57)【特許請求の範囲】
【請求項１】
工具を移動させるモータの駆動を制御する数値制御装置であって、
前記モータへの位置指令を生成する位置指令生成部と、
加工時に選択されている前記工具を前記加工時の位置から退避させる動作のための退避指令を生成する退避指令生成部と、を有し、
前記数値制御装置には、前記工具の中心を基準とする刃先点の方角を表す刃先方向の情報が入力され、
前記退避指令生成部は、前記加工時に選択されている前記工具の前記刃先方向の情報および前記加工時における前記工具の移動方向の情報を取得し、前記刃先方向および前記移動方向に基づいて、前記工具を退避させる方向を判定し、前記退避させる方向に応じた前記退避指令を生成し、
前記位置指令生成部は、前記退避指令に応じた前記位置指令を生成することを特徴とする数値制御装置。
【請求項２】
前記退避指令生成部は、前記移動方向に垂直、かつ前記刃先方向の成分とは逆の方向を、前記退避させる方向と判定することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記退避指令生成部は、前記退避させる動作における前記工具の移動量の設定値を取得し、前記設定値に応じた前記退避指令を生成することを特徴とする請求項１または２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を数値制御（ＮＣ：Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）する数値制御装置に関し、特に、工具退避機能を有する数値制御装置に関する。
【背景技術】
【０００２】
工作機械は、ワークの加工中に異常を検知した場合やワークのチェックを行う場合などに、加工プログラムに応じた動作を一時的に中断し、工具を退避させる必要が生じる。数値制御装置には、この動作を行う手段としての工具退避（工具レトラクト）機能を備えるものがある。数値制御装置の工具退避機能としては、工具を退避させる方向および移動量をあらかじめ加工プログラムにて設定しておくものが知られている。工作機械は、ラダーから退避信号が入力されたときに、加工プログラムで指定された方向および移動量に基づいて、工具を退避させる。【０００３】
従来の工具退避機能によると、数値制御装置は、あらかじめ工具を退避させる経路の設定を要することで、加工プログラムの作成時間が増大することとなる。また、工具の退避動作を開始させる際に、指令が実行される以外には、駆動の対象となる移動軸が所望の退避方向に整合しているか否かの確認がなされないことになる。このため、指令に誤りがあった場合には、工具あるいはワークの破損につながる可能性もある。【０００４】
このような問題に関して、例えば特許文献１には、ワークの仕上がり形状および寸法、工具データ、切削条件等の入力データを基に、工具を退避させる方向を自動で決定する方法が開示されている。工具を退避させる方向の指令は、加工指令に付加される。この技術によると、ユーザが作成するプログラムの誤りによる破損の回避や、加工プログラムを作成する時間の短縮が図られる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−２５７３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術によると、自動プログラミングにおいて得られるデータから、工具を退避させる方向が決定される。このため、工具を退避させる方向を自動で決定可能であるのは、自動プログラミングにより加工プログラムを作成する場合に限られることが問題となる。【０００７】
本発明は、上記に鑑みてなされたものであって、加工プログラムの設定によらず、適切な方向へ工具を退避させる制御を可能とする数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、工具を移動させるモータの駆動を制御する数値制御装置であって、前記モータへの位置指令を生成する位置指令生成部と、加工時に選択されている前記工具を前記加工時の位置から退避させる動作のための退避指令を生成する退避指令生成部と、を有し、前記退避指令生成部は、前記工具の刃先方向と、前記加工時における前記工具の移動方向とに基づいて、前記工具を退避させる方向を判定し、前記退避させる方向に応じた前記退避指令を生成し、前記位置指令生成部は、前記退避指令に応じた前記位置指令を生成することを特徴とする。
【発明の効果】
【０００９】
本発明にかかる数値制御装置は、退避指令生成部において、工具を退避させる方向を自動で判定可能とする。退避指令生成部での判定によって、数値制御装置は、工具を退避させる方向の指令を加工プログラムにあらかじめ設定することが不要となる。退避指令生成部は、工具の刃先方向と移動方向を随時参照することで、工具を退避させる方向として適切な方向を求めることができる。これにより、数値制御装置は、加工プログラムの設定によらず、適切な方向へ工具を退避させる制御が可能となるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態にかかる数値制御装置と、数値制御装置を備える工作機械の一部構成を示すブロック図である。
【図２】図２は、退避指令生成部の動作の手順を示すフローチャートである。
【図３】図３は、刃先方向について説明する図である。
【図４】図４は、刃先方向「１」から「４」の各刃先点を示す図である。
【図５】図５は、刃先方向「５」から「８」の各刃先点を示す図である。
【図６】図６は、刃先方向が「３」である工具を使用して、ワークの外径側面を加工している状態を示す図である。
【図７】図７は、刃先方向が「３」である工具を使用して、ワークの外径端面を加工している状態を示す図である。
【図８】図８は、刃先方向が「２」である工具を使用して、ワークの内径側面を加工している状態を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、本発明の実施の形態にかかる数値制御装置と、数値制御装置を備える工作機械の一部構成を示すブロック図である。数値制御装置１０は、工具を移動させるモータであるサーボモータ１６の駆動を制御する。数値制御装置１０は、加工プログラム１１に応じた動作を工作機械に行わせるように、サーボ制御部１５へ位置指令２７を出力する。
【００１３】
サーボ制御部１５は、数値制御装置１０からの位置指令２７と、位置検出器１７から出力される検出位置情報２９とを基に、サーボモータ１６へ電圧指令２８を出力する。位置検出器１７は、サーボモータ１６の位置を検出し、検出された位置を検出位置情報２９として出力する。サーボ制御部１５は、位置指令２７によって指令される位置に、検出位置情報２９が示す位置が追従するように、サーボモータ１６のフィードバック制御およびフィードフォワード制御を実施する。
【００１４】
サーボモータ１６は、サーボ制御部１５からの電圧指令２８に応じて駆動する。センサ１８は、サーボモータ１６に取り付けられている。センサ１８は、加工の状態を検出し、検出信号１９を出力する。検出信号１９は、工作機械の動作や状態に異常が発生しているか否かを表す。
【００１５】
数値制御装置１０に接続されている操作スイッチ１４は、工作機械を操作するためのスイッチである。操作スイッチ１４は、例えば、サイクルスタートボタン、非常停止スイッチなどの、種々のスイッチを備える。サイクルスタートボタンは、加工プログラム１１に記述されている動作を開始させるためのスイッチである。非常停止スイッチは、工作機械の動作を強制的に停止させるためのスイッチである。
【００１６】
加工プログラム１１は、例えば、ＮＣプログラムやモーションプログラムである。加工プログラム１１は、Ｇコード、Ｍコード、Ｔコードと呼ばれる指令コードを組み合わせて記述されたプログラムである。パラメータ１２は、退避の動作における工具の移動量の設定値を含む。工具データ１３は、例えば、工具の刃先方向の情報を含む。
【００１７】
数値制御装置１０は、プログラム解析部２０、退避判定部２１、退避指令生成部２２および位置指令生成部２３を備える。
【００１８】
プログラム解析部２０は、数値制御装置１０へ入力される加工プログラム１１を解析する。プログラム解析部２０は、加工プログラム１１に記述されている指令を一行ずつ順次読み込み、解析データ２４を出力する。解析データ２４は、例えば、ブロックごとの始点位置、終点位置、送り速度などの移動に関する情報や、使用する工具を表す番号などの情報を含む。
【００１９】
位置指令生成部２３は、プログラム解析部２０からの解析データ２４を基に、位置指令２７を生成する。退避判定部２１は、工具を加工時の位置から退避させる動作の要否を判定する。退避判定部２１は、センサ１８からの検出信号１９と、操作スイッチ１４による操作とに応じて、退避の要否を判定する。
【００２０】
退避判定部２１は、異常の発生を示す検出信号１９が入力された場合や、加工を停止させる操作が操作スイッチ１４にてなされた場合に、退避を要すると判定する。退避を要すると判定した場合、退避判定部２１は、退避信号２５を出力する。
【００２１】
なお、検出信号１９を得るためのセンサ１８は、サーボモータ１６に取り付けられる場合に限られない。センサ１８は、工作機械の動作や状態を検出可能であれば、いずれの構成あるいは位置に取り付けられたものであっても良い。センサ１８は、例えば、サーボ制御部１５や位置検出器１７に取り付けられることとしても良い。
【００２２】
退避指令生成部２２は、退避判定部２１からの退避信号２５が入力されると、退避の動作のための退避指令２６を生成する。退避指令生成部２２は、加工時に選択されている工具の刃先方向の情報を、工具データ１３から取得する。退避指令生成部２２は、退避の動作における工具の移動量の設定値を、パラメータ１２から取得する。退避指令生成部２２は、加工時における工具の移動方向の情報を、プログラム解析部２０からの解析データ２４によって取得する。
【００２３】
退避指令生成部２２は、加工時における工具の移動方向に垂直な方向であり、かつ刃先方向の成分に対し逆の方向を、工具を退避させる方向と判定する。退避指令生成部２２は、工具を退避させる方向および移動量に応じた退避指令２６を生成する。退避指令生成部２２は、生成した退避指令２６を出力する。
【００２４】
位置指令生成部２３は、退避指令生成部２２からの退避指令２６が入力されると、退避指令２６に応じた位置指令２７を生成する。位置指令生成部２３は、生成した位置指令２７を出力する。
【００２５】
数値制御装置１０は、退避の実行を退避判定部２１が判定した場合に、退避指令２６が反映された位置指令２７をサーボ制御部１５へ出力する。退避指令２６が反映された位置指令２７がサーボ制御部１５へ入力されることで、サーボモータ１６は、工具の退避のための駆動を行う。
【００２６】
図２は、退避指令生成部の動作の手順を示すフローチャートである。ステップＳ１において、退避指令生成部２２は、退避判定部２１からの退避信号２５の入力があるか否かを判断する。退避信号２５の入力が無い場合（ステップＳ１、Ｎｏ）、退避指令生成部２２は、動作を終了する。
【００２７】
退避信号２５の入力があった場合、ステップＳ２において、退避指令生成部２２は、退避信号２５の入力をトリガとして、工具の刃先方向の情報を工具データ１３から取得する。
【００２８】
図３から図５は、刃先方向について説明する図である。刃先方向は、図３に示すように、工具の中心を基準とする刃先点の方角を「０」から「９」の番号によって表したものである。刃先方向は、工具データ１３において、工具ごとに設定されている。図４には、ＸＺ平面内における、刃先方向「１」から「４」の各刃先点Ｐを示している。図５には、ＸＺ平面内における、刃先方向「５」から「８」の各刃先点Ｐを示している。なお、刃先方向「０」および「９」は、刃先点がＸＺ平面に垂直なＹ軸方向にあることを示している。
【００２９】
一般に、刃先方向のデータは、刃先Ｒ補正において用いられる。本実施の形態では、この刃先方向のデータを、退避指令２６の生成において使用する。
【００３０】
ステップＳ３において、退避指令生成部２２は、ステップＳ２で取得した情報から、現在選択されている工具の刃先方向を判断する。刃先方向が「０」または「９」であった場合（ステップＳ３、Ｎｏ）、退避指令生成部２２は、動作を終了する。
【００３１】
刃先方向が「０」および「９」以外であった場合（ステップＳ３、Ｙｅｓ）、ステップＳ４において、退避指令生成部２２は、現在の加工における工具の移動ベクトルを算出する。退避指令生成部２２は、プログラム解析部２０からの解析データ２４を基に、移動ベクトルを求める。
【００３２】
ステップＳ５において、退避指令生成部２２は、ステップＳ２において取得された刃先方向の情報と、ステップＳ４にて求めた移動ベクトルとを基に、工具を退避させる方向を判定する。退避指令生成部２２は、刃先方向の成分に対して逆、かつ移動ベクトルに垂直な方向を、工具を退避させる方向と判定する。
【００３３】
ステップＳ６において、退避指令生成部２２は、退避の動作における工具の移動量の設定値を、パラメータ１２から読み出す。次に、ステップＳ７において、退避指令生成部２２は、ステップＳ５において判定された方向、およびステップＳ６において読み出された設定値に応じた退避指令２６を生成する。退避指令生成部２２は、生成した退避指令２６を出力する。これにより、退避指令生成部２２は、動作を終了する。
【００３４】
次に、工具を退避させる方向の判定についての具体例を説明する。図６は、刃先方向が「３」である工具を使用して、ワークの外径側面を加工している状態を示す図である。この例では、工作機械は、ワーク３１の外径側面に対し、工具３２を使用する外径旋削加工を実施している。工具データ１３において、工具３２の刃先方向「３」が登録されている。
【００３５】
例えば、工具３２の刃先が位置３３から位置３４へ移動したときに、退避判定部２１が工具３２の退避を決定したとする。退避指令生成部２２は、退避判定部２１からの退避信号２５に応じて、現在選択されている工具３２について、刃先方向「３」を、工具データ１３から取得する。
【００３６】
退避指令生成部２２は、解析データ２４を基に、位置３３から位置３４への移動ベクトルＶＸＺを求める。この例において、移動ベクトルＶＸＺの方向は、マイナスＺ方向である。この移動ベクトルＶＸＺに対し、プラスＸ方向のベクトルＡ１とマイナスＸ方向のベクトルＡ２とは、いずれも垂直となる。
【００３７】
図３および図４に示すように、刃先方向「３」は、ＸＺ平面の中で、工具の中心からマイナスＸ方向の成分とマイナスＺ方向の成分とを含む。退避指令生成部２２は、移動ベクトルＶＸＺに垂直なベクトルＡ１およびベクトルＡ２のうち、刃先方向「３」の成分であるマイナスＸ方向とは逆方向のベクトルＡ１の方向を、工具を退避させる方向と判定する。これにより、退避指令生成部２２は、工具３２がワーク３１から離れる方向であるプラスＸ方向へ工具３２を退避させる退避指令２６を生成する。
【００３８】
図７は、刃先方向が「３」である工具を使用して、ワークの外径端面を加工している状態を示す図である。この例では、工作機械は、ワーク３５の外径端面に対し、工具３６を使用する外径旋削加工を実施している。工具データ１３において、工具３６の刃先方向「３」が登録されている。
【００３９】
例えば、工具３６の刃先が位置３８から位置３７へ移動したときに、退避判定部２１が工具３６の退避を決定したとする。退避指令生成部２２は、退避判定部２１からの退避信号２５に応じて、現在選択されている工具３６について、刃先方向「３」を、工具データ１３から取得する。
【００４０】
退避指令生成部２２は、解析データ２４を基に、位置３８から位置３７への移動ベクトルＶＸＺ２を求める。この例において、移動ベクトルＶＸＺ２の方向は、マイナスＸ方向である。この移動ベクトルＶＸＺ２に対し、プラスＺ方向のベクトルＡ１２とマイナスＺ方向のベクトルＡ２２とは、いずれも垂直となる。
【００４１】
退避指令生成部２２は、移動ベクトルＶＸＺ２に垂直なベクトルＡ１２およびベクトルＡ２２のうち、刃先方向「３」の成分であるマイナスＺ方向とは逆方向のベクトルＡ１２の方向を、工具を退避させる方向と判定する。これにより、退避指令生成部２２は、工具３６がワーク３５から離れる方向であるプラスＺ方向へ工具３６を退避させる退避指令２６を生成する。
【００４２】
図８は、刃先方向が「２」である工具を使用して、ワークの内径側面を加工している状態を示す図である。この例では、工作機械は、ワーク４０の内径側面に対し、工具４１を使用する内径旋削加工を実施している。工具データ１３において、工具４１の刃先方向「２」が登録されている。
【００４３】
例えば、工具４１の刃先が位置４２から位置４３へ移動したときに、退避判定部２１が工具４１の退避を決定したとする。退避指令生成部２２は、退避判定部２１からの退避信号２５に応じて、現在選択されている工具４１について、刃先方向「２」を、工具データ１３から取得する。
【００４４】
退避指令生成部２２は、解析データ２４を基に、位置４２から位置４３への移動ベクトルＶＸＺ３を求める。この例において、移動ベクトルＶＸＺ３の方向は、マイナスＺ方向である。この移動ベクトルＶＸＺ３に対し、プラスＸ方向のベクトルＡ２３とマイナスＸ方向のベクトルＡ１３とは、いずれも垂直となる。
【００４５】
図３および図４に示すように、刃先方向「２」は、ＸＺ平面の中で、工具の中心からプラスＸ方向の成分とマイナスＺ方向の成分とを含む。退避指令生成部２２は、移動ベクトルＶＸＺ３に垂直なベクトルＡ１３およびベクトルＡ２３のうち、刃先方向「２」の成分であるプラスＸ方向とは逆方向のベクトルＡ１３の方向を、工具を退避させる方向と判定する。これにより、退避指令生成部２２は、工具４１がワーク４０から離れる方向であるマイナスＸ方向へ工具４１を退避させる退避指令２６を生成する。
【００４６】
数値制御装置１０は、刃先方向「３」の工具３２，３８を使用する外径旋削加工、刃先方向「２」の工具４１を使用する内径旋削加工における工具退避の動作を、いずれの刃先方向および切削加工にも適用することができる。基本的に、ワークの加工面は工具から刃先方向の位置にあるため、数値制御装置１０は、いずれの刃先方向の工具についても同様のアルゴリズムによって、工具を退避させる適切な方向を一意に求めることができる。
【００４７】
また、数値制御装置１０は、内径端面の内径旋削加工やテーパ加工などのいずれの切削加工についても、同様のアルゴリズムによって、工具を退避させる適切な方向を一意に求めることができる。
【００４８】
数値制御装置１０は、加工プログラム１１による指令によらずに、工具を退避させる方向を自動で判定可能とする。数値制御装置１０は、工具の退避を要するときに工具の刃先方向と移動方向を参照することで、工具を退避させる方向として適切な方向を求めることができる。また数値制御装置１０は、パラメータ１２によって工具の移動量を指定することができる。
【００４９】
これにより、数値制御装置１０は、加工プログラム１１の設定によらず、適切な方向へ工具を退避させる制御が可能となるという効果を奏する。退避の方向の判定に使用される刃先方向の情報は従来も工具データ１３として登録されている情報であるため、数値制御装置１０は、退避の方向の判定のための新たな情報を付加しなくても、適切な方向へ工具を退避させることができる。
【００５０】
加工プログラム１１による退避指令を不要とすることで、数値制御装置１０は、自動プログラムによる加工プログラム１１によらず、いずれの加工プログラム１１である場合も、適切な退避動作を実施させることができる。
【００５１】
工具を退避させる方向の指令を加工プログラム１１にあらかじめ設定しなくても良いため、ユーザは、加工プログラム１１を作成する時間の短縮や、加工プログラム１１の誤りによる工具やワークの破損を回避することが可能となる。
【符号の説明】
【００５２】
１０  数値制御装置、１１  加工プログラム、１２  パラメータ、１３  工具データ、１４  操作スイッチ、１５  サーボ制御部、１６  サーボモータ、１７  位置検出器、１８  センサ、１９  検出信号、２０  プログラム解析部、２１  退避判定部、２２  退避指令生成部、２３  位置指令生成部、２４  解析データ、２５  退避信号、２６  退避指令、２７  位置指令、２８  電圧指令、２９  検出位置情報、３１，３５，４０  ワーク、３２，３６，４１  工具、３３，３４，３７，３８，４２，４３  位置、Ｐ  刃先点、ＶＸＺ，ＶＸＺ２，ＶＸＺ３  移動ベクトル。
【要約】
工具を移動させるモータの駆動を制御する数値制御装置（１０）であって、モータへの位置指令（２７）を生成する位置指令生成部（２３）と、加工時に選択されている工具を加工時の位置から退避させる動作のための退避指令（２６）を生成する退避指令生成部（２２）と、を有し、退避指令生成部（２２）は、工具の刃先方向と、加工時における工具の移動方向とに基づいて、工具を退避させる方向を判定し、退避させる方向に応じた退避指令を生成し、位置指令生成部は、退避指令に応じた位置指令を生成する。【図１】
0005512050.tif 000002
【図２】
0005512050.tif 000003
【図３】
0005512050.tif 000004
【図４】
0005512050.tif 000005
【図５】
0005512050.tif 000006
【図６】
0005512050.tif 000007
【図７】
0005512050.tif 000008
【図８】
0005512050.tif 000009