(57)【特許請求の範囲】
【請求項１】
複数の軸を駆動して、前記複数の軸のそれぞれの方向に、工具の位置をワークに対して相対的に移動させることにより前記ワークを加工する機械をプログラム指令に基づいて制御する数値制御装置において、
前記プログラム指令を解析して移動指令データを生成する指令解析部と、
前記プログラム指令による指令が位置決め指令である場合、前記工具の現在位置から前記移動指令データにより指令される指令位置への直線経路に対して前記ワークから離れる方向へ湾曲する補正経路を生成する経路補正部と、
を備え、
前記経路補正部は、前記複数の軸のそれぞれの方向への前記移動指令データに基づいて、移動する前記工具の前記複数の軸のそれぞれの方向への移動時間を算出し、移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が、前記工具を前記ワークへと近づける方向へと移動する場合に、前記移動時間が最長の軸の方向以外の軸の方向への前記工具の前記移動時間が、最長の前記移動時間と同時に終了するように前記移動時間が最長の軸の方向以外の軸の方向への前記工具の移動開始のタイミングを遅らせることにより前記補正経路を生成し、
前記補正経路に基づいて前記複数の軸の駆動を制御する、
ことを特徴とする数値制御装置。
【請求項２】
前記経路補正部は、あらかじめ前記軸毎に設定された前記軸の方向への前記工具の移動と前記ワークとの関係に係る情報に基づいて、前記工具の移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が前記ワークへと近づける方向へと移動するかを判定する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
複数の軸を駆動して、前記複数の軸のそれぞれの方向に、工具の位置をワークに対して相対的に移動させることにより前記ワークを加工する機械をプログラム指令に基づいて制御する数値制御装置において、
前記プログラム指令を解析して移動指令データを生成する指令解析部と、
前記プログラム指令による指令が、工具の経路をワークから離れる方向へと湾曲させる方向を指定可能な迂回指令を含む位置決め指令である場合、前記工具の現在位置から前記移動指令データにより指令される指令位置への直線経路に対して前記迂回指令により指定された方向へ湾曲する補正経路を生成する経路補正部と、
を備え、
前記経路補正部は、前記複数の軸のそれぞれの方向への前記移動指令データに基づいて、移動する前記工具の前記複数の軸のそれぞれの方向への移動時間を算出し、移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が、前記工具を前記ワークへと近づける方向へと移動する場合に、前記移動時間が最長の軸の方向以外の軸の方向への前記工具の前記移動時間が、最長の前記移動時間と同時に終了するように前記移動時間が最長の軸の方向以外の軸の方向への前記工具の移動開始のタイミングを遅らせることにより前記補正経路を生成し、
前記補正経路に基づいて前記複数の軸の駆動を制御する、
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に複数の軸を同時に移動させる位置決め指令において工具とワークとの干渉を防止する機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
複数の軸を同時に移動させる位置決め指令において、切削指令のように各軸が同期して移動しないと、移動経路が直線にならず、工具がワークと干渉する場合がある。図９は、工具とワークが干渉する例を示す図である。図９において、工具がＡ点にある時にＢ点へと位置決めする指令がされた場合、工具が直線で移動するように制御すれば図中の実線矢印の経路で工具が移動するため工具とワークとは干渉することはないが、実際には位置決め指令においてはＸ軸とＺ軸との同期は保証されず、Ｘ軸とＺ軸とがそれぞれの速度で同時に駆動するため、工具は図中点線矢印の移動経路を辿るため、工具とワークとが干渉する。このような問題が発生しないように、従来は特許文献１などに開示される技術を用いて始点と終点を直線で結んだ経路で位置決めする、直線補間形位置決めを使用している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−０７６８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１などに開示される技術を用いて複数の軸を直線で結んだ経路に沿って移動させるためには、直線補間形の位置決めを使用し、かつ補間する全軸が同じ加速時間（時定数）の時間一定形の加減速を使用する必要がある。
【０００５】
図１０は、非直線補間形位置決めにより工具の位置決め制御をする場合と、直線補間形位置決めにより工具の位置決め制御をする場合とにおける各軸の速度変化を比較する図である。図に示すように、非直線補間形位置決めにより位置決め制御を行う場合には、Ｘ軸とＺ軸とがそれぞれの軸に設定された時定数（Ｘ軸においてはＴｘ、Ｚ軸においてはＴｚ）に基づいて加減速を行い、それぞれの軸ごとに駆動する。これに対して、時間一定形の直線補間形位置決めにより工具の位置決め制御を行う場合、加減速を行う際にはＺ軸の時定数ＴｚをＸ軸の時定数Ｔｘに合わせ、指令速度（最高速度）を超えないようにしながらＸ軸とＺ軸を同期させて駆動する。
このように、直線補間形位置決めでは補間する軸の中で一番大きな時定数を補間する全軸に設定しなければならず、また各軸の速度は指令速度を超えないようにする必要があるため、非直線補間形の位置決めを使用する場合と比べて、サイクルタイムが伸びる傾向になるという問題がある。
【０００６】
そこで本発明の目的は、複数の軸を同時に移動させる位置決め指令においてサイクルタイムを短く保ちながら工具とワークとの干渉を防止する機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明では、複数の軸を同時に移動させる位置決め指令において、始点と終点を直線で結んだ経路がワークと干渉しない場合、直線の経路を選択しなくてもワークとの干渉を避けることができ、サイクルタイムを短縮させる位置決めを行うことができる数値制御装置を提供する。
【０００８】
そして、本願の請求項１に係る発明は、複数の軸を駆動して、前記複数の軸のそれぞれの方向に、工具の位置をワークに対して相対的に移動させることにより前記ワークを加工する機械をプログラム指令に基づいて制御する数値制御装置において、前記プログラム指令を解析して移動指令データを生成する指令解析部と、前記プログラム指令による指令が位置決め指令である場合、前記工具の現在位置から前記移動指令データにより指令される指令位置への直線経路に対して前記ワークから離れる方向へ湾曲する補正経路を生成する経路補正部と、を備え、前記経路補正部は、前記複数の軸のそれぞれの方向への前記移動指令データに基づいて、移動する前記工具の前記複数の軸のそれぞれの方向への移動時間を算出し、移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が、前記工具を前記ワークへと近づける方向へと移動する場合に、前記移動時間が最長の軸の方向以外の軸の方向への前記工具の前記移動時間が、最長の前記移動時間と同時に終了するように前記移動時間が最長の軸の方向以外の軸の方向への前記工具の移動開始のタイミングを遅らせることにより前記補正経路を生成し、前記補正経路に基づいて前記複数の軸の駆動を制御する、ことを特徴とする数値制御装置である。
【００１０】
本願の請求項２に係る発明は、前記経路補正部は、あらかじめ前記軸毎に設定された前記軸の方向への前記工具の移動と前記ワークとの関係に係る情報に基づいて、前記工具の移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が前記ワークへと近づける方向へと移動するかを判定する、ことを特徴とする請求項１に記載の数値制御装置である。
【００１１】
本願の請求項３に係る発明は、複数の軸を駆動して、前記複数の軸のそれぞれの方向に、工具の位置をワークに対して相対的に移動させることにより前記ワークを加工する機械をプログラム指令に基づいて制御する数値制御装置において、前記プログラム指令を解析して移動指令データを生成する指令解析部と、前記プログラム指令による指令が、工具の経路をワークから離れる方向へと湾曲させる方向を指定可能な迂回指令を含む位置決め指令である場合、前記工具の現在位置から前記移動指令データにより指令される指令位置への直線経路に対して前記迂回指令により指定された方向へ湾曲する補正経路を生成する経路補正部と、を備え、前記経路補正部は、前記複数の軸のそれぞれの方向への前記移動指令データに基づいて、移動する前記工具の前記複数の軸のそれぞれの方向への移動時間を算出し、移動時間が最長の軸の方向以外の軸の方向への前記工具の移動が、前記工具を前記ワークへと近づける方向へと移動する場合に、前記移動時間が最長の軸の方向以外の軸の方向への前記工具の前記移動時間が、最長の前記移動時間と同時に終了するように前記移動時間が最長の軸の方向以外の軸の方向への前記工具の移動開始のタイミングを遅らせることにより前記補正経路を生成し、前記補正経路に基づいて前記複数の軸の駆動を制御する、ことを特徴とする数値制御装置である。
【発明の効果】
【００１２】
本発明により、非直線補間形位置決めを使用して、ワークとの干渉を避けることができる。その結果、軸毎に最短の時定数を設定できるため、サイクルタイムを短縮できる。
【図面の簡単な説明】
【００１３】
【図１】本発明における工具とワークの干渉を回避するための経路変更について説明する図である。
【図２】旋削加工における非直線補間形位置決めの経路を示す図である。
【図３】本発明の第１の実施形態における旋削加工での非直線補間形位置決めの経路について説明する図である。
【図４】本発明の第１の実施形態における数値制御装置の機能ブロック図である。
【図５】本発明の第１の実施形態における数値制御装置上で実行される処理のフローチャートである。
【図６】マシニングセンタを用いた加工における非直線補間形位置決めの経路を示す図である。
【図７】本発明の第２の実施形態における迂回指令を用いた非直線補間形位置決めの補正経路について説明する図である。
【図８】本発明の第２の実施形態における数値制御装置上で実行される処理のフローチャートである。
【図９】工具の位置決めにおいて工具とワークが干渉する例を示す図である。
【図１０】非直線補間形位置決めと直線補間形位置決めとにおける各軸の速度変化を比較する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
本発明では、非直線補間形位置決めを使用して各軸を独立に移動させ、指令した軸の中で移動時間の短い軸がワークに近付く方向に移動する場合、移動時間の短い軸の移動を始めるタイミングを遅らせることにより、ワークと反対方向にふくらむようなワークと干渉しない経路で位置決めを行うことを特徴とする。図１は、本発明における工具とワークの干渉を回避するための経路変更について説明する図である。図１の例では、移動時間の短い軸（Ｘ軸）が移動時間の長い軸（Ｚ軸）と同時に移動完了するようにＸ軸の移動開始を遅らせることによって、工具の移動経路をワークと干渉しない経路（図１右における実線矢印）へと変更している。
【００１５】
本発明では、工具の刃先方向や旋盤のワークの回転中心軸方向、もしくは数値制御装置に取り込んだワークのＣＡＤデータなどからワークの方向を自動的に特定できる場合は、通常の位置決め指令において経路の変更を行うかどうかを自動判別する。また、ワークの方向が自動的に特定できない場合は、経路の変更をプログラムで指令する。例として直線で結んだ経路の進行方向の右側、または左側のどちらに移動させたいかを指定し、非直線補間形位置決めを行った場合にどちらの方向に移動するかを判断して、プログラムで指定した方向と反対側の場合は、経路の変更を適用する。
【００１６】
＜第１の実施形態＞
第１の実施形態では、旋盤において経路の変更を自動判別で行い、干渉を回避する例を示す。図２は、旋削加工における非直線補間形位置決めの経路を示している。図２において、Ａ点とＢ点を結んだ直線がワークと接触しない場合であっても、非直線形位置決めによりＡ点からＢ点への位置決め指令（Ｇ００  ＸＢx  ＺＢz）を実行すると、Ｘ，Ｚ両軸が同時に動き出すため、工具の経路は湾曲した経路となる。
この時、Ａ点とＢ点を結んだ直線よりＸ＝０の方向（図２ではＡ点とＢ点を結んだ直線より下の領域）に経路が湾曲すると、工具とワークと接触する可能性がある。そのため、ワークと接触しないようにワークと反対方向（図２ではＡ点とＢ点を結んだ直線より上の領域）に湾曲するように経路を変更する。
【００１７】
図３は、本実施形態の旋削加工における非直線補間形位置決めの経路について説明する図である。旋削加工において、Ｘ，Ｚ両軸のそれぞれの時定数をＴx，Ｔz、早送り速度をＶx，Ｖzとし、図３（ａ）に示すようにＸ，Ｚ両軸のそれぞれの移動量をＤx，Ｄzとすると、図３（ｂ）に示すようにＸ軸の移動時間はＴx＋Ｄx／Ｖx、Ｚ軸の移動時間はＴz＋Ｄz／Ｖzとなる。ここで、移動時間の短い方の軸がワークに近付く方向に移動する場合、Ｘ軸とＺ軸が同時に移動開始するとワークに接触する可能性がある。そのため移動時間の短い軸の移動開始を各軸の移動時間の差分だけ遅らせると、Ｘ軸とＺ軸が丁度同時に移動完了するようになるため、図３（ｃ）に示すように工具の経路はワークから離れる方向に湾曲した経路となる。
上記の計算式と図は直線形加減速を使用した場合の例だが、ベル形加減速など他の加減速方式の場合においても同様な考え方で計算を行えばよい。
なお、ワークに近付く方向とは、図３（ｃ）に示すような座標系の場合、Ｘ軸ではＸ＝０に向かう方向、Ｚ軸ではＺのマイナスの方向になる。ワークに近づく方向については、制御対象とする機械に合わせてあらかじめ数値制御装置のメモリに設けられた設定領域に設定することができるようにしておけばよい。
【００１８】
図４は、上記した動作を行う本実施形態における数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、指令解析部１０、経路補正部１１、補間部１２、加減速制御部１３、サーボ制御部１４を備える。
指令解析部１０は、図示しないメモリに記憶されるプログラム等からＣＮＣ指令２０を逐次読み出して解析し、解析結果に基づいて各軸の移動を指令する移動指令データを作成し、作成した該移動指令データを経路補正部１１へと出力する。
【００１９】
経路補正部１１は、指令解析部１０から受けた移動指令データによる指令が工具の非直線補間形位置決めを指令するものである場合、上記したように、移動指令データに基づいて各軸の移動時間を計算して移動時間の短い軸の移動方向がワークに近づく方向であるか否かを判定し、移動時間の短い軸の移動方向がワークに近づく方向であると判定されたときに移動時間の短い軸の移動開始のタイミングを他の軸と同時に移動完了するように遅らせるように移動指令データの補正を行い、該移動指令データを補間部１２へと出力する。また、移動指令データによる指令が工具の非直線補間形位置決めを指令するものではない場合や、非直線補間形位置決めを指令するものであっても移動時間の短い軸の移動方向がワークに近づく方向ではない場合には、指令解析部１０から受けた移動指令データをそのまま補間部１２へと出力する。移動時間の短い軸の移動方向がワークに近づく方向であるか否かを判定する際には設定領域２１に軸毎に設定されているワークに近づく方向に係る情報を参照する。
【００２０】
補間部１２は、経路補正部１１が出力した移動指令データにより指令される移動指令に基づいて指令経路上の点を補間周期で補間計算したデータを生成する。
加減速制御部１３は、補間部１２が出力した補間データに基づいて、加減速処理を行い補間周期毎の各駆動軸の速度を算出し、結果データをサーボ制御部１４へ出力する。
そして、サーボ制御部１４は、加減速制御部１３の出力に基づいて制御対象となる機械の各軸の駆動部を制御する。
【００２１】
図５は、本実施形態の数値制御装置上で実行される非直線補間形位置決めの経路補正処理のフローチャートである。なお、図中において網掛けされた枠は従来技術と同様の処理を、また、その他の枠は本発明で導入された処理を示している。
●［ステップＳＡ０１］加工プログラムの運転を開始すると、指令解析部１０が複数のブロックから成る加工プログラムから逐次指令ブロックを数値制御装置１の計算用メモリに読み出し、移動指令データを作成する。
●［ステップＳＡ０２］経路補正部１１は、ステップＳＡ０１で読み出された指令ブロックが、複数軸を駆動する非直線補間形位置決めを指令するブロックであるか否かを判定する。複数軸を駆動する非直線補間形位置決めを指令するブロックである場合にはステップＳＡ０３へ進み、そうでない場合にはステップＳＡ０６へ進む。
【００２２】
●［ステップＳＡ０３］経路補正部１１は、複数軸を駆動する非直線補間形位置決めを指令により駆動する各軸の移動時間を計算する。
●［ステップＳＡ０４］経路補正部１１は、ステップＳＡ０３で計算された移動時間に基づいて、非直線補間形位置決めを指令により駆動される軸の内で移動時間が最長の軸以外の軸を特定し、該軸がワークに近付く方向に移動するか否かを判定する。ワークに近づく方向に移動する場合にはステップＳＡ０５へ進み、そうでない場合にはステップＳＡ０６へ進む。
●［ステップＳＡ０５］経路補正部１１は、移動時間が最長の軸以外の軸の移動が、移動時間が最長の軸と同時に移動完了するように、移動時間が最長の軸以外の軸の移動開始のタイミングを遅らせるように移動指令データを補正する。
●［ステップＳＡ０６］経路補正部１１から出力された移動指令データに基づいて、指令ブロックを実行する。
【００２３】
以上で説明したように、本実施形態の数値制御装置１において非直線補間形位置決めが指令された際に、工具の移動経路がワークから離れる方向へと湾曲させるように補正されるため、工具とワークとの干渉を避けることができる。また、その際に軸毎に最短の時定数が設定されたままで補正を行うため、サイクルタイムを短縮することができる。
【００２４】
＜第２の実施形態＞
第２の実施形態では、マシニングセンタにおいて経路の変更をプログラム指令で行い、干渉を回避する例を示す。図６は、マシニングセンタでの加工における非直線補間形位置決めの経路を示している。図６において、工具がＡ点にあるときに該工具をＢ点へと位置決めする指令（Ｇ００  ＹＢy  ＺＢz）を実行すると、非直線補間形位置決めによる位置決め制御を行う選択をしていた場合、Ｙ，Ｚ両軸が同時に動き出すため、工具の経路はワークに近付くように湾曲した経路になる。
【００２５】
このような場合も第１の実施形態と同様に経路の変更を行って干渉の回避を行う。また、３軸以上同時に移動する場合についても、同様に移動時間が一番長い軸より短い移動時間でかつワークに近付く方向に移動する軸は、移動開始を遅らせて移動時間が一番長い軸と同時に移動完了させることによってワークとの干渉を回避することができる。
【００２６】
なお、壁に囲まれた内壁のようにワークに近付く方向が単純に判定できない場合もある。このような状況に対して対応できるようにするために、本実施形態では工具の移動経路を湾曲させる方向を指定する迂回指令を導入し、該プログラム指令により湾曲させる方向を指定することができるようにする。
一例として、ＹＺ平面上で終点と直線で結んだ経路の進行方向に対して、左側を指定する場合の迂回指令のＧコードをＧ１０１、右側を指令する場合の迂回指令をＧ１０２とする。図６に示した例では非直線補間形位置決めをする際には工具がワークと干渉しないようにするために図正面から見て工具が左側を通る経路に湾曲させる必要がある。そこで、図７に示すように、位置決め指令のブロックにＧ１０１を合わせて指令する。非直線補間形位置決めの場合の方向（右側）と逆方向となるため、経路の変更を適用し、両軸の移動時間が計算され、移動時間の短いＹ軸の移動開始を遅らせる。したがって、工具の経路はワークから離れるように湾曲した経路になる。このように自動で判定できないような箇所については、プログラムにより干渉を回避する方向を指定する。
【００２７】
本実施形態における数値制御装置の機能ブロックの構成は第１の実施形態のものと同様である。本実施形態の数値制御装置１では、経路補正部１１が迂回指令に基づいて上記した経路補正を行う点で第１の実施形態と異なる。
【００２８】
図８は、本実施形態の数値制御装置上で実行される非直線補間形位置決めの経路補正処理のフローチャートである。なお、図中において網掛けされた枠は従来技術と同様の処理を、また、その他の枠は本発明で導入された処理を示している。
●［ステップＳＢ０１］加工プログラムの運転を開始すると、指令解析部１０が複数のブロックから成る加工プログラムから逐次指令ブロックを数値制御装置１の計算用メモリに読み出し、移動指令データを作成する。
●［ステップＳＢ０２］経路補正部１１は、ステップＳＢ０１で読み出された指令ブロックが、複数軸を駆動する非直線補間形位置決めを指令するブロックであるか否かを判定する。複数軸を駆動する非直線補間形位置決めを指令するブロックである場合にはステップＳＢ０３へ進み、そうでない場合にはステップＳＢ０８へ進む。
【００２９】
●［ステップＳＢ０３］経路補正部１１は、複数軸を駆動する非直線補間形位置決めを指令により駆動する各軸の移動時間を計算する。
●［ステップＳＢ０４］経路補正部１１は、ステップＳＢ０１で読み出された指令ブロックが、経路変更を指令する迂回指令を含んでいるか否かを判定する。迂回指令を含んでいる場合にはステップＳＢ０５へ進み、含まない場合にはステップＳＢ０６へ進む。
●［ステップＳＢ０５］経路補正部１１は、迂回指令により指令される湾曲方向が非直線補間位置決めの方向と逆方向になるか否か、すなわち経路の補正が必要か否かを判定する。経路の補正が必要である場合にはステップＳＢ０７へ進み、必要ない場合はステップＳＢ０８へ進む。
●［ステップＳＢ０６］経路補正部１１は、ステップＳＢ０３で計算された移動時間に基づいて、非直線補間形位置決めを指令により駆動される軸の内で移動時間が最長の軸以外の軸を特定し、該軸がワークに近付く方向に移動するか否かを判定する。ワークに近づく方向に移動する場合にはステップＳＢ０７へ進み、そうでない場合にはステップＳＢ０８へ進む。
●［ステップＳＢ０７］経路補正部１１は、移動時間が最長の軸以外の軸の移動が、移動時間が最長の軸と同時に移動完了するように、移動時間が最長の軸以外の軸の移動開始のタイミングを遅らせるように移動指令データを補正する。
●［ステップＳＢ０８］経路補正部１１から出力された移動指令データに基づいて、指令ブロックを実行する。
【００３０】
以上で説明したように、本実施形態の数値制御装置１において非直線補間形位置決めが指令された際に、工具の移動経路がワークから離れる方向へと湾曲させるように補正されるため、工具とワークとの干渉を避けることができる。また、ユーザが加工プログラムで迂回指令により工具経路の湾曲方向を指定できるので、ワークから離れる方向を判定しにくい位置においても、工具とワークとの干渉を避けることができるようになる。結果として、その際に軸毎に最短の時定数が設定されたままで補正を行うため、サイクルタイムを短縮することができる。
【００３１】
なお、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００３２】
１  数値制御装置
１０  指令解析部
１１  経路補正部
１２  補間部
１３  加減速制御部
１４  サーボ制御部
２０  ＣＮＣ指令
２１  設定領域
【図１】
0006396273.tif 000002
【図２】
0006396273.tif 000003
【図３】
0006396273.tif 000004
【図４】
0006396273.tif 000005
【図５】
0006396273.tif 000006
【図６】
0006396273.tif 000007
【図７】
0006396273.tif 000008
【図８】
0006396273.tif 000009
【図９】
0006396273.tif 000010
【図１０】
0006396273.tif 000011