(57)【要約】【課題】連続する移動ブロック間での移動方向の変化が加工精度に影響を及ぼさないような移動軸について、その移動軸が加減速制御に影響を及ぼさないような数値制御装置を提供する。【解決手段】位置指令部２では、ＮＣ指令部１から複数の移動軸に対する同時直線補間指令の連続した移動ブロックが入力され、かつ、この連続した移動ブロック中に複数の移動軸の中から指定された軸としての基準軸が存在した場合には、基準軸以外の移動軸のベクトル成分を０としたのち連続した移動ブロック間のなす角度を算出し、この角度に基づいて連続した移動ブロック間の加減速制御を行うようにした。そのため、加工精度に影響を及ぼす移動軸を基準軸として指定することにより、加工精度に影響を及ぼさない移動軸の動作が移動ブロック間の加減速制御に影響を与えることはなくなる。【選択図】　図３
2004046558.tif 000002
【特許請求の範囲】
【請求項１】
ＮＣプログラムの解析を行うことにより移動ブロックのデータを作成するＮＣ指令部と、
前記移動ブロックのデータに含まれる目標位置及び目標速度に基づいて所定のサンプル時間毎に移動軸の指令位置を算出するようにされた位置指令部と、
を有する数値制御装置において、
前記位置指令部では、前記ＮＣ指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第１の移動ブロックおよび第２の移動ブロックが入力され、かつ、該連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、前記基準軸以外の移動軸のベクトル成分を０としたのち前記第１の移動ブロックによるベクトルと前記第２の移動ブロックによるベクトルとのなす角度を算出し、該算出された角度に基づいて前記第１の移動ブロックと前記第２の移動ブロック間の加減速制御を行うようにしたことを特徴とする数値制御装置。
【請求項２】
前記算出された角度が予め設定された臨界角度以上であった場合は、前記連続した移動ブロック間では減速を行わないようにしたことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＮＣ指令部より移動データを取得した位置指令部がサンプル時間毎の指令位置を位置制御部に指令するようにされた数値制御装置に関し、特に、連続した移動ブロックの多軸同時補間を行う場合における加減速制御に関する。
【０００２】
【従来の技術】
従来の工作機械に用いられる数値制御装置において、例えば図１に示すようなＸＹＺ軸の３軸同時直線補間指令を有する移動ブロックの実行を連続して行った場合、移動ブロック１の補間開始点をＰ１ｓ（ｘ１ｓ，ｙ１ｓ，ｚ１ｓ）、目標位置をＰ１ｅ（ｘ１ｅ，ｙ１ｅ，ｚ１ｅ）、移動ブロック２の目標位置をＰ２ｅ（ｘ２ｅ，ｙ２ｅ，ｚ２ｅ）とすると、これら２つの移動ブロック間のなす角度θは式（１）により算出することができる。なお、移動ブロック間のなす角度とは、図１に示すように、移動ブロック１の移動ベクトルと移動ブロック２の移動ベクトルとのなす角度をいう。ここで、移動ブロック１の移動ベクトルは（ｘ１ｓ−ｘ１ｅ，ｙ１ｓ−ｙ１ｅ，ｚ１ｓ−ｚ１ｅ）、移動ブロック２の移動ベクトルは（ｘ２ｅ−ｘ１ｅ，ｙ２ｅ−ｙ１ｅ，ｚ２ｅ−ｚ１ｅ）でそれぞれ定義することができる。
【０００３】
【数１】
2004046558.tif 000003
【０００４】
また、Ｎ軸の同時直線補間についての移動ブロック間のなす角度の算出は、式（１）を拡張した式（２）により行うことができる。
【０００５】
【数２】
2004046558.tif 000004
【０００６】
従来の数値制御装置では、切削送り等の補間指令を有する移動ブロックが連続して指令された場合、サイクルタイムの短縮時や、移動ブロック間で加減速を行うことによる速度変動などにより、ワーク加工面が影響を受けないようにするため、移動ブロック間では減速を行わないようにすることが通常である。しかし、図２に示すように移動ブロック１と移動ブロック２の移動方向が直角に変化するような動作形態において移動ブロック間で減速を行わないようにすると、各移動軸の速度変動が大きくなってワーク加工面に悪影響を及ぼすことがあるので、この場合は移動ブロック間で減速させることが必要となる。そのため、前述した式（２）を使用して移動ブロック間のなす角度を算出し、これに基づいて加減速制御を行うことになる。具体的には、算出された移動ブロック間のなす角度が予め設定した臨界角度以下の場合は、移動ブロック間で減速を行うような加減速制御を行うことになる。
【０００７】
【発明が解決しようとする課題】
従来の移動ブロック間のなす角度の算出においては、式（１）、（２）で示されるように、移動ブロック内で指令された全ての移動軸で構成される空間について行うようにしていた。ここで、複数の移動軸の多軸同時補間を行う移動ブロックにおいて、特定の移動軸（これを「基準軸」と呼ぶ）で構成される移動ベクトルについてそのなす角度を規定し、これを基準ベクトルと呼ぶことにし、この基準ベクトル空間での移動ブロック間での加減速制御について考えることにする。複数軸の同時補間において基準ベクトル空間での移動方向のみを考慮したい場合、前述した従来の算出方法では、基準軸以外の移動軸の移動ブロック間での移動方向の変化の影響を受けてしまい、基準軸として指定した移動軸のみについての移動ブロック間のなす角度を算出することはできなかった。そのため、連続する移動ブロック間での移動方向の変化が加工精度に影響を及ぼさないような移動軸について、その移動軸の移動ブロック間での移動方向の変化が大きい場合にも、それに起因して移動ブロック間で加減速制御が行われてしまい、ワーク加工面の加工精度が悪くなってしまうという問題があった。
【０００８】
本発明は、係る従来技術の問題点を解決するためになされたものであり、連続する移動ブロック間での移動方向の変化が加工精度に影響を及ぼさないような移動軸について、その移動軸が加減速制御に影響を及ぼさないような数値制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
前述した目的を達成するために、請求項１に係る発明では、ＮＣプログラムの解析を行うことにより移動ブロックのデータを作成するＮＣ指令部と、移動ブロックのデータに含まれる目標位置及び目標速度に基づいて所定のサンプル時間毎に移動軸の指令位置を算出するようにされた位置指令部と、を有する数値制御装置において、前記位置指令部では、前記ＮＣ指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第１の移動ブロックおよび第２の移動ブロックが入力され、かつ、この連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、この基準軸以外の移動軸のベクトル成分を０としたのち第１の移動ブロックによるベクトルと第２の移動ブロックによるベクトルとのなす角度を算出し、この算出された角度に基づいて第１の移動ブロックと第２の移動ブロック間の加減速制御を行うようにしたことを特徴とする数値制御装置を提供した。
【００１０】
係る構成によれば、基準軸以外の移動軸のベクトル成分を０としたことにより、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになる。そのため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、複数の移動軸の同時移動指令を行っても基準軸以外の移動が移動ブロック間の加減速制御に影響を与えることはなくなる。これにより、実際のワーク加工においては、移動ブロック間の加減速制御が加工精度に影響を与える移動軸を基準軸に指定し、その一方、移動ブロック間の加減速制御が加工精度に影響をほとんど与えない移動軸については基準軸に指定しないようにすれば、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、この算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、移動ブロック間で基準軸以外の移動軸についてその移動方向の変化が大きい場合でも、安定した移動速度で基準軸として指定した移動軸の移動を行うことができ、その結果ワークの加工精度が向上することになる。
【００１１】
請求項２に係る発明では、請求項１に係る発明において、算出された第１の移動ブロックによるベクトルと第２の移動ブロックによるベクトルとのなす角度が、予め設定された臨界角度以上であった場合は、連続した移動ブロック間では減速を行わないようにした。なお、予め設定する臨界角度は、算出された前述の角度が臨界角度となった場合は移動ブロック間で減速をしなくてもワーク加工面に悪影響を及ぼさないような大きさに設定するものである。これにより、連続した移動ブロック間で減速を行わなくてもよい場合、例えば、第１の移動ブロックのベクトルと第２の移動ブロックのベクトルがほぼ同一であった場合などは、算出された前述のなす角度が予め設定された臨界角度以上となり、この場合は第１の移動ブロックと第２の移動ブロックとの間では減速は行われないことになる。
【００１２】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照して説明する。図３は、本発明の一実施形態に係る数値制御装置の基本的な構成を示すブロック図である。ＮＣ指令部１では、ＮＣプログラムの解析を行い、目標位置や目標速度等の移動ブロック指令データを作成する。位置指令部２では、実行中の現在の移動ブロックが完了した時点で次の移動ブロック指令データをＮＣ指令部１より受け取り、この移動ブロック指令データを位置指令部２内のデータ取得部３に格納する。データ取得部３では、移動ブロック間のなす角度の算出および指令のと切れを発生することなく補間処理を行うために、バッファが一杯になるまで次の移動ブロック指令データの先読みを行うことができる。位置指令部２内の加減速処理部４では、移動ブロック指令データに基づいて指令速度を考慮したサンプル時間毎の指令位置を算出する。位置指令部２内の補間部５では、加減速処理部４で算出されたサンプル時間毎の指令位置に基づいて、実際の各移動軸の指令位置の展開を行う。位置制御部６では、位置指令部２から指令されるサンプル時間毎の各移動軸の指令位置に基づいて、駆動系７に対してサーボ制御を行う。なお、本発明に係る数値制御装置の特徴である直線補間指令の加減速制御処理は、補間部５にて実施される。
【００１３】
ここで、補間部５において実施される移動ブロック間における加減速制御について、計算式を交えて説明する。ここでは実例として、図４に示すようなＸＺＢ軸の同時直線補間を行う場合を想定して、ある特定の移動軸を基準軸とした際の連続した移動ブロック間すなわち図４に示したブロック１（第１の移動ブロック）とブロック２（第２の移動ブロック）との間の加減速制御について説明する。
【００１４】
なお、基準軸の設定については、これは複数の移動軸の中から任意に設定すればよい。具体的には、基準軸の数については、２軸に限定されず、１軸や３軸以上であってもよく、また、基準軸の属性については、直線軸に限定されず、回転軸であってもよい。実際の数値制御装置における基準軸の設定方法としては、基準軸設定用のＮＣパラメータを新たに設ける方法が最も一般的であるが、基準軸を規定するＧコード等のコマンドをＮＣプログラムにおいて新たに設けるようにしてもよい。
【００１５】
なお、図４に示した本例においては、Ｘ軸とＺ軸は互いに直交関係にあり、Ｂ軸はＸ軸とＺ軸の双方に対して直交する軸回りに回転する回転軸となっている。図４に示すように、ブロック１については、その補間開始点の座標は（ｘ１ｓ，ｚ１ｓ，ｂ１ｓ）、その目標位置の座標は（ｘ１ｅ，ｚ１ｅ，ｂ１ｅ）であり、ブロック２については、その目標位置の座標は（ｘ２ｅ，ｚ２ｅ，ｂ２ｅ）である。このとき、従来の方法における全移動軸で構成される移動ベクトルでの移動ブロック間すなわちブロック１とブロック２との間のなす角度θは、式（３）により算出される。なお、ブロック１とブロック２との間のなす角度θは、図４に示すブロック１のベクトルとブロック２のベクトルとのなす角度であり、図１に示したθに準拠するものであるが、本例では移動軸の一つであるＢ軸が回転軸となっているため、なす角度θの表記が難しいので、図４には記載していない。
【００１６】
【数３】
2004046558.tif 000005
【００１７】
次に、本実施形態における加減速制御においては、例えば、Ｘ軸およびＺ軸を基準軸とし、それ以外の移動軸すなわちＢ軸を基準軸でないとすると、基準軸での移動方向は、式（３）においてＢ軸のベクトル成分（ｐ１３，ｐ２３）をそれぞれ０とすることにより、式（４）で表わされる。
【００１８】
【数４】
2004046558.tif 000006
【００１９】
同様に、Ｂ軸を基準軸とし、それ以外の移動軸すなわちＸ軸およびＺ軸を基準軸でないとすると、基準軸での移動方向は、式（３）においてＸＺ軸のベクトル成分（ｐ１１，ｐ２１）、（ｐ１２，ｐ２２）をそれぞれ０とすることにより、式（５）で表わされる。
【００２０】
【数５】
2004046558.tif 000007
【００２１】
このように、式（３）における全ての移動軸により構成されるベクトルのなす角度を算出する式において、基準軸以外のベクトル成分を０とすることにより、任意の基準軸の組み合わせに対して移動ブロック間での移動方向を算出することができる。
【００２２】
次に、本発明の一実施形態に係る数値制御装置内で行われる移動ブロック間の加減速制御における処理の流れについて、図７に示したフローチャートを参照して説明する。なお、以下の説明において、「ステップ＊＊」の表記中の「＊＊」（数字）は、図７に示したフローチャート中の各処理ステップを意味するものである。なお、基準軸は、ＮＣパラメータにおける設定や、ＮＣプログラムにおけるＧコード等の指令などにおいて、予め設定されているものとする。また、移動ブロック１および移動ブロック２の移動ブロック指令データは、図３に示したデータ取得部３において予め取得されているものとする。第ｉ軸目について、その移動ブロック１の補間開始点をＰｓｉ、目標位置をＰ１ｅｉ、その移動ブロック２の目標位置をＰ２ｅｉとする。
【００２３】
まず、ＮＣ指令部１から位置指令部２へ複数の移動軸に対する同時直線補間指令の移動ブロックが連続して入力された場合には、移動ブロック１の補間開始点Ｐｓｉと目標位置Ｐ１ｅｉとから、移動ブロック１の移動ベクトル成分ａを算出する（ステップ３０Ｙ）。基準軸に設定されている移動軸については、その移動ブロック１の補間開始点Ｐｓｉと目標位置Ｐ１ｅｉよりベクトル成分を算出する（ステップ３６）。一方、基本軸に設定されていない移動軸については、そのベクトル成分を０とする（ステップ３５）。そして、これらの処理を全移動軸について行う（ステップ３１、３２、３７、３８）。
【００２４】
同様に、移動ブロック２の目標位置Ｐ２ｅｉと移動ブロック１の目標位置Ｐ１ｅｉとから、移動ブロック２の移動ベクトル成分ｂを算出する（ステップ４１Ｙ）。基本軸に設定されている移動軸については、その移動ブロック２の目標位置Ｐ２ｅｉと移動ブロック１の目標位置Ｐ１ｅｉよりベクトル成分を算出する（ステップ４４）。一方、基本軸に設定されていない移動軸については、そのベクトル成分を０とする（ステップ４３）。そして、これらの処理を全移動軸について行う（ステップ３９、４０、４５、４６）。
【００２５】
次に、移動ブロック間のなす角度を求めるために算出した前述の移動ブロック１および移動ブロック２の移動ベクトルの各成分より、それぞれの移動ベクトルの長さＬ１およびＬ２を算出し（ステップ４７、４８、４９、５０、５４、５５）、各ベクトル成分の積和算Ｓａｂを算出し（ステップ５１）、移動ブロック間のなす角度ａｎｇｌｅ（単位°）を求める（ステップ５７）。ａｎｇｌｅが移動ブロック間で減速を行わせるために予め設定した臨界角度以上の場合は（ステップ５８Ｙ）、その移動ブロックでは減速を行わないことを示すフラグをセットする（ステップ５９）。これは、ａｎｇｌｅが臨界角度以上の場合、例えば、移動ブロック１のベクトルと移動ブロック２のベクトルがほぼ同一であった場合などは、移動ブロック間で減速をしなくてもワーク加工面に悪影響を及ぼさないことによるものである。以上の処理により、移動ブロック１と移動ブロック２のなす角度を算出し、移動ブロック間での減速の要否の判定を行う。
【００２６】
最後に、本発明の一実施形態に係る数値制御装置が適用される加工システムを例にあげて、本実施形態の効果について説明する。図５は本実施形態に係る数値制御装置が適用される加工システムの機構を示した概念図であり、図６はワーク加工の様子を示した概念図である。本加工システムにおいては、工具送り用Ｘ軸テーブル１０と切り込み用のＺ軸テーブル１２が互いに水平面（ＸＺ平面）内に直交動作するよう配置されており、さらにＸＺ平面に直交する回転軸を有する工具角度制御用のＢ軸テーブル１４がＸ軸テーブル１０上に載置されている。なお、１１はＸ軸テーブル１０の駆動モータ、１３はＺ軸テーブル１２の駆動モータ、１５はＢ軸テーブル１４の駆動モータである。
【００２７】
図６は図５で示した本加工システムを用いたワーク加工の様子をＹ方向から示したものであり、Ｚ軸テーブル１２に設けられたチャック部２３に把持されたワーク２１に対して、Ｂ軸テーブル１４に設けられた図示しない把持部材に取り付けられたバイト等の工具２０により、切削加工が行われるというものである。具体的には、主軸に把持された工具２０が回転し、その工具２０がワーク２１に接触することにより、ワーク２１が加工される。加工プログラムにおいて微小移動ピッチを行わせる移動ブロックの連続指令を設定することにより、工具２０がワーク２１と一定角度で接触するようＸ軸テーブル１０、Ｚ軸テーブル１２及びＢ軸テーブル１４との間で同時直線補間を行い、Ｘ軸及びＺ軸の移動に対してＢ軸の回転角度を制御しながら加工を行わせている。
【００２８】
本例の加工では、Ｂ軸テーブル１４は主にワーク２１と工具２０の接触角度を制御するためのものであり、加工精度に大きく関与する要素はＸ軸とＺ軸の移動である。実際のところ、Ｘ軸とＺ軸の合成移動速度の変動が大きい場合はワークの加工精度に悪影響を及ぼしてしまう。ここで、Ｘ軸とＺ軸の合成移動速度が常にプログラム指令速度ｆになるよう速度指令を行うような移動を実施する場合を想定し、従来の移動ブロック間の加減速制御方法と本実施形態の数値制御装置に係る移動ブロック間の加減速制御方法とを比較することにする。
【００２９】
まず、従来の移動ブロック間の加減速制御方法では、例えば図６において加工点２２で示される箇所、すなわち工具２０とワーク加工面の接触角度の変化が大きい箇所、いわゆる変極点での加工の場合、ＸＺ軸での移動方向の変化量に対してＢ軸の移動方向が反転して移動ブロック間のなす角度が臨界角度以下になり、減速処理を行う必要があると判断され、その結果Ｘ軸とＺ軸の合成移動速度の変動が大きくなり、ワークの加工精度や面粗さに悪影響を及ぼしてしまうという問題が生じる。一方、本実施形態の数値制御装置に係る移動ブロック間の加減速制御方法では、Ｘ軸とＺ軸を基準軸として設定することにより、Ｘ軸とＺ軸で構成される空間でのみ移動方向が判定されるため、ＸＺ軸以外の軸移動方向の変化が大きい個所においても安定した移動速度でＸ軸及びＺ軸の移動を行うことができ、その結果、ワークの加工精度を向上させることができる。
【００３０】
なお、本例はＺ軸テーブル１２にワーク２１を取り付け、Ｂ軸テーブル１４に工具２０を取り付けるような構成であったが、例えば、これとは逆に、Ｚ軸テーブル１２に工具２０を取り付け、Ｂ軸テーブル１４にワーク２１を取り付けるような構成であっても、本発明は適用可能である。
【００３１】
【発明の効果】
本発明における数値制御装置においては、位置指令部では、ＮＣ指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第１の移動ブロックおよび第２の移動ブロックが入力され、かつ、この連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、この基準軸以外の移動軸のベクトル成分を０としたのち第１の移動ブロックによるベクトルと第２の移動ブロックによるベクトルとのなす角度を算出し、この算出された角度に基づいて第１の移動ブロックと第２の移動ブロック間の加減速制御を行うようにしたので、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、複数の移動軸の同時移動指令を行っても基準軸以外の移動が移動ブロック間の加減速制御に影響を与えることはなくなった。
【００３２】
これにより、実際のワーク加工においては、移動ブロック間の加減速制御が加工精度に影響を与える移動軸を基準軸に指定し、その一方、移動ブロック間の加減速制御が加工精度に影響をほとんど与えない移動軸については基準軸に指定しないようにすれば、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、移動ブロック間で基準軸以外の移動軸についてその移動方向の変化が大きい場合でも、安定した移動速度で基準軸として指定した移動軸の移動を行うことができ、その結果ワークの加工精度が向上することになった。
【図面の簡単な説明】
【図１】ＸＹＺ軸の３軸同時直線補間指令を行う場合における、各移動軸を示す模式図である。
【図２】移動ブロック間での加減速を行わない場合における各移動軸の速度変動の様子を示す模式図である。
【図３】本発明の一実施形態に係る移動ブロック間の加減速制御方法が適用される数値制御装置の基本的な構成を示すブロック図である。
【図４】ＸＺＢ軸の３軸同時直線補間指令を行う場合における、各移動軸を示す模式図である。
【図５】本発明の一実施形態に係る数値制御装置が適用される加工システムの一例を示した概念図である。
【図６】図５に示した加工システムにおけるワーク加工の様子を示した概念図である。
【図７】本発明の一実施形態に係る数値制御装置において行われる、移動ブロック間の移動方向を求める処理を示したフローチャートである。
【符号の説明】
１　　ＮＣ指令部
２　　位置指令部
３　　データ取得部
４　　加減速処理部
５　　補間部
６　　位置制御部
７　　駆動系
１０　　Ｘ軸テーブル
１１　　Ｘ軸駆動モータ
１２　　Ｚ軸テーブル
１３　　Ｚ軸駆動モータ
１４　　Ｂ軸テーブル
１５　　Ｂ軸駆動モータ
２０　　工具
２１　　ワーク
２２　　ワーク加工面変極点
２３　　チャック部
【図１】
2004046558.tif 000008
【図２】
2004046558.tif 000009
【図３】
2004046558.tif 000010
【図４】
2004046558.tif 000011
【図５】
2004046558.tif 000012
【図６】
2004046558.tif 000013
【図７】
2004046558.tif 000014