(57)【要約】      （修正有）【課題】回転軸のインポジション幅を回転半径に応じて変更することにより、工具先端点におけるインポジションチェックを、所望の精度で行うことができる数値制御装置を提供すること。【解決手段】回転軸を有する工作機械の軸構成や工具長等の機械条件を設定する機械条件設定部２０と、各軸の指令座標値または実座標値を取得する座標値取得部２１と、機械条件設定部２０から得られる機械条件と、回転軸の回転中心軸から制御対象とする点までの距離（回転半径）を算出する回転半径算出部２２と、各軸のインポジション幅を設定するインポジション幅設定部２３と、回転半径算出部２２から出力される回転半径と、インポジション幅設定部２３から得られる回転軸のインポジション幅とを用いて第二のインポジション幅を算出する第二のインポジション幅を算出し、第二のインポジション幅算出部２４より出力される第二のインポジション幅でインポジションチェックを行う。【選択図】図４
2012164200.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの回転軸を有する工作機械を制御する数値制御装置において、
前記工作機械の軸構成や工具長等の機械条件を設定する機械条件設定部と、
ある時刻における各軸の指令座標値または実座標値を取得する座標値取得部と、
前記機械条件設定部から得られる機械条件と、前記座標値取得部から出力される各軸の指令座標値または実座標値とを用いて、回転軸の回転中心軸から制御対象とする点までの距離（回転半径）を算出する回転半径算出部と、
各軸のインポジション幅を設定するインポジション幅設定部と、
前記回転半径算出部から出力される回転半径と、前記インポジション幅設定部から得られる回転軸のインポジション幅とを用いて第二のインポジション幅を算出する第二のインポジション幅算出部とを具備し、
回転軸のインポジションチェックにおいて、前記第二のインポジション幅算出部より出力される第二のインポジション幅を用いることを特徴とする数値制御装置。
【請求項２】
前記第二のインポジション幅算出部において、第二のインポジション幅を回転半径に反比例するように算出することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記インポジション幅設定部において、回転軸のインポジション幅を制御対象点における周長（弧の長さ）で設定することを特徴とする請求項１または２のいずれか一つに記載の数値制御装置。
【請求項４】
前記第二のインポジション幅算出部において、第二のインポジション幅の上限値または下限値を設定することを特徴とする請求項１〜３のいずれか一つに記載の数値制御装置。
【請求項５】
前記第二のインポジション幅算出部において、計算に使用する回転半径の上限値または下限値を設定することを特徴とする請求項１〜３のいずれか一つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の制御を行う数値制御装置に関し、特に、回転軸のインポジションチェック（位置決め完了確認）を行う数値制御装置に関する。
【背景技術】
【０００２】
工作機械等の各軸を駆動するサーボモータは数値制御装置等の制御装置で駆動され、位置及び速度が制御されるようになっている。また、サーボモータを急激に駆動もしくは停止することが困難なことから、一般に移動指令に対して加減速制御を行って、加速時には移動指令を徐々に増大させ、また、減速時には除々に移動指令を減少させるようにしている。
【０００３】
このような加減速制御を行いサーボモータを駆動制御する方法において、サーボモータが指令位置まで達したことを確認する方法として、従来から行われている方法は、移動指令Ｘが零となり、かつ加減速制御を終了し該加減速制御部からの移動指令Ｙが零になった後、サーボ回路のエラーレジスタに記憶する位置偏差を読み取り、この位置偏差が設定されたインポジション幅内に入っているか否かを判断し（インポジションチェック）、インポジション幅に入っているときに位置決め完了としている。
【０００４】
工作機械では一般的に早送り動作から切削送り動作へ切り替える際に、工具位置が指令位置に到達したことのチェック（インポジションチェック）を行う。インポジションチェックでは、各サーボ軸の位置偏差があらかじめ設定したレベル以下に収束したことにより到達をチェックしている。
【０００５】
特許文献１には、インポジション幅を加工ブロック毎に任意に設定する技術が開示されている。  
特許文献２には、各軸の移動方向に応じて合成した位置偏差にて、インポジションチェックを行う技術が開示されている。  
特許文献３には、複数のインポジション幅を指令の種類に応じて選択的に使用する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３０４５６０３号公報
【特許文献２】特開２０００−２３１４１２号公報
【特許文献３】特開平５−８８７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
回転軸を含む工作機械では、直線軸と回転軸を合成し動作を行っている。回転軸の回転角に対する工具位置の移動量は、回転の中心軸から工具位置までの距離（回転半径）に比例する。したがって、回転軸のインポジション幅を一定の角度とした場合、工具位置における移動量換算のチェック幅は、回転の中心軸から工具位置までの距離（回転半径）に応じて変化する（図１参照）。
【０００８】
背景技術で説明したように早送りから切削送りへの切り換え時などに行われるインポジションのチェックは、加工開始時および終了時の加工精度を保証するための機能である。この精度は、本来ワーク上での精度を保証するためのものであるが、回転軸の場合には回転半径を考慮しないとワーク上の直線移動距離換算にはならない。このため、回転軸のインポジションチェックを一定の角度で行うと、工具先端点におけるチェック幅は回転半径に依存して変化する。回転半径が大きい場合にはチェック幅も大きくなり、指令位置に到達したことを精度よく判定することができなくなる。
【０００９】
そこで本発明の目的は、回転軸のインポジション幅を回転半径に応じて変更することにより、工具先端点におけるインポジションチェックをワーク上の所望の精度で行うことができる数値制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本願の請求項１に係る発明は、少なくとも１つの回転軸を有する工作機械において、前記工作機械の軸構成や工具長等の機械条件を設定する機械条件設定部と、ある時刻における各軸の指令座標値または実座標値を取得する座標値取得部と、前記機械条件設定部から得られる機械条件と、前記座標値取得部から出力される各軸の指令座標値または実座標値とを用いて、回転軸の回転中心軸から制御対象とする点までの距離（回転半径）を算出する回転半径算出部と、各軸のインポジション幅を設定するインポジション幅設定部と、前記回転半径算出部から出力される回転半径と、前記インポジション幅設定部から得られる回転軸のインポジション幅とを用いて第二のインポジション幅を算出する第二のインポジション幅算出部とを具備し、回転軸のインポジションチェックにおいて、前記第二のインポジション幅算出部より出力される第二のインポジション幅を用いることを特徴とする数値制御装置である。  
請求項２に係る発明は、前記第二のインポジション幅算出部において、第二のインポジション幅を回転半径に反比例するように算出することを特徴とする請求項１に記載の数値制御装置である。  
請求項３に係る発明は、前記インポジション幅設定部において、回転軸のインポジション幅を制御対象点における周長（弧の長さ）で設定することを特徴とする請求項１または２のいずれか一つに記載の数値制御装置である。  
請求項４に係る発明は、前記第二のインポジション幅算出部において、第二のインポジション幅の上限値または下限値を設定することを特徴とする請求項１〜３のいずれか一つに記載の数値制御装置である。  
請求項５に係る発明は、前記第二のインポジション幅算出部において、計算に使用する回転半径の上限値または下限値を設定することを特徴とする請求項１〜３のいずれか一つに記載の数値制御装置である。
【発明の効果】
【００１１】
本発明により、回転軸のインポジション幅を回転半径に応じて変更することで、工具先端点におけるインポジションチェックをワーク上の所望の精度で行うことができ、この結果、回転軸のインポジション幅を最大半径に合わせて小さく設定する必要がなくなり、ワーク上での精度を保証した上でインポジションチェックのための時間を最短にすることができ、サイクルタイムを短縮可能な数値制御装置を提供できる。
【図面の簡単な説明】
【００１２】
【図１】回転軸のインポジション幅の算出方法を説明する図である。
【図２】本発明が適用される工具ヘッド回転型の５軸加工機の一例の外観斜視図である。
【図３】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図４】本発明の実施形態を説明するブロック図である。
【図５】本発明に係るインポジションチェックを説明する図である。
【図６】本発明によるインポジションチェック処理のアルゴリズムを説明する図である。
【図７】本発明が適用されるテーブル回転型の５軸加工機の一例の外観斜視図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。  
図１を用いて、本発明に係る回転軸のインポジション幅の算出方法を説明する。回転軸のインポジション幅を一定の角度とした場合、工具先端点３２が指令位置に到達（インポジション）と判断する位置から指令位置までの距離（弧の長さ）は回転半径ｒの大きさによって変化する。ここで、回転半径ｒは回転軸の回転中心から工具先端点の位置までの距離である。
【００１４】
工具先端点３２におけるインポジション幅（弧の長さ）Ｌａが回転半径ｒによらず一定値となるようにするには、回転軸のインポジションチェックで使用する角度を回転半径ｒに反比例するように変化させる必要がある。  
回転半径をｒ［ｍｍ］、工具先端点における弧の長さをＬａ［ｍｍ］とすると、回転軸のインポジションチェックで使用する角度θ［ｒａｄ］は、数１式がなりたつ。  
θ＝Ｌａ／ｒ      （数１）
実際に適用する場合には、インポジション幅Ｌａの計算結果を上限値及び下限値でクランプしたり、計算で使用する回転半径を上限値及び下限値でクランプすることによって、インポジション幅Ｌａを実用的な範囲内に制限することができる。ここで、θが第二のインポジション幅である。
【００１５】
次に、図２に示される工具ヘッド回転型の５軸加工機を例として本発明に係るインポジションチェック方法を説明する。５軸加工機を制御する数値制御装置ではＸ，Ｙ，Ｚ，Ａ，Ｂ軸の各軸毎にインポジションチェックを行う機能を備えている。本発明は、回転軸に関するインポジションチェックの方法に関する。図２に示される５軸加工機において、Ｘ，Ｙ，Ｚ軸が直線軸、Ａ，Ｂ軸が回転軸である。時刻ｔにおけるこれら５軸の座標をそれぞれ、ｘ（ｔ），ｙ（ｔ），ｚ（ｔ），ａ（ｔ），ｂ（ｔ）とする。テーブル上に加工されるワークが載置される。工具の先端点は、Ｘ，Ｙ，Ｚの直線軸、および、Ａ軸，Ｂ軸の回転軸によってワークに対して相対的に移動する。
【００１６】
図２に示す機械構成が工具ヘッド回転型である５軸加工機において、２つの軸の回転軸（Ａ軸，Ｂ軸）は直交するものとし、その交点をＭとする。Ａ軸の回転半径をＲａとし、交点Ｍから工具先端点までの距離をＬとすると、数２式がなりたつ。  
Ｒａ＝Ｌ          （数２）  
次に、Ｂ軸の回転半径をＲｂとすると、Ｒｂは、Ａ軸の座標値ａ（ｔ）によって変化し、数３式がなりたつ。  
Ｒｂ＝Ｌ＊ｃｏｓ（ａ（ｔ））          
＝Ｒａ＊ｃｏｓ（ａ（ｔ））（数３）  
ただし、Ａ軸の座標値は図２のように工具が鉛直方向の下向きを向いた状態のとき０となるとする。  
上述したように、各駆動軸の位置関係や工具３１の長さ情報と、各軸の座標値の情報から、各回転軸に対する工具先端点の回転半径を計算することができる。工具ヘッド回転型以外の機械構成の回転軸を備えた加工機においても各回転軸の回転半径を算出することができる。
【００１７】
図３は、本発明の一実施形態の数値制御装置の要部ブロック図である。数値制御装置１０は、プロセッサ１、制御プログラムを記憶するＲＯＭ２、データの一時記憶等に利用されるＲＡＭ３、各種加工プログラムを記憶する不揮発性のメモリ４、液晶表示装置付き手動入力装置であるＬＣＤ／ＭＤＩ５、工作機械の各駆動軸を駆動するサーボモータＭのサーボ回路６−１〜６−ｎがバス７で接続されている。なお、サーボ回路の詳細は省略して図示している。サーボ回路６−１〜６−ｎ中のＥＲは位置偏差を記憶するエラーレジスタである。符号９は各サーボモータＭに取り付けられ、位置・速度を検出する検出装置である。
【００１８】
工作機械を制御する数値制御装置１０では、ワークに対し工具が進む経路が加工プログラムによって記憶されていて、この加工プログラムに従って工作機械等を制御して加工を行う。その際、数値制御装置１０は、加工プログラムを１ブロックずつ読み取り、このブロックの指令が位置決めや切削等の移動指令であると、この指令に従って各軸のサーボモータ８を駆動し、位置決めあるいは切削等の加工を行わせる。
【００１９】
そして、前記ブロックで指定された位置に達したか否かを、各軸のサーボモータ８を駆動するサーボ回路６−１〜６−ｎ内のエラーレジスタＥＲの偏差の値が所定値幅以内にあるか否か、すなわち、インポジション値内であるか否かで判断して、インポジション値内であると、加工プログラムの次のブロックの処理を開始する。以上のような手順で、加工プログラムで指定したとおりの形状に加工を行う。本発明の一実施形態の、少なくとも１つの回転軸を備えた工作機械を制御する数値制御装置１０は、回転軸のインポジション幅を回転半径に応じて変更することにより、工具先端点におけるインポジションチェックをワーク上の所望の精度で行うことができる。
【００２０】
図４は本発明の実施形態を説明するブロック図である。本発明の実施形態の数値制御装置は、少なくとも１つの回転軸を有する工作機械の軸構成や工具長等の機械条件を設定する機械条件設定部２０と、ある時刻における各軸の指令座標値または実座標値を取得する座標値取得部２１と、機械条件設定部２０から得られる機械条件と、座標値取得部２１から出力される各軸の指令座標値または実座標値とを用いて、回転軸の回転中心軸から制御対象とする点までの距離（回転半径）を算出する回転半径算出部２２と、各軸のインポジション幅を設定するインポジション幅設定部２３と、回転半径算出部２２から出力される回転半径と、インポジション幅設定部２３から得られる回転軸のインポジション幅とを用いて第二のインポジション幅を算出する第二のインポジション幅算出部２４とを具備し、
回転軸のインポジションチェック処理部２５において、第二のインポジション幅算出部２４より出力される第二のインポジション幅を用いてインポジションチェックを行っている。なお、インポジション幅のデータや工作機械の軸構成や工具長等の機械条件のデータは、図３のＬＣＤ／ＭＤＩ５から入力してもよいし、予めメモリ４に格納しておいてもよい。
【００２１】
図５は、図４の本発明の実施形態におけるインポジションチェックの原理を説明する図である。回転軸について説明すると、分配制御部４０において回転軸を含む各軸への移動指令の分配が行われ、移動指令値Ｘが加減速制御部４１に入力され、加減速制御部４１が行われて加減速制御部４１からサーボ回路（図３参照）のエラーレジスタＥＲに移動指令値として出力される。そして、残り移動量算出部４２において分配された移動指令値Ｘから加減速制御部４１に残る残り移動指令値Ａが求められる。また、エラーレジスタＥＲは位置偏差量αを記憶するものであるから、この位置偏差量αをエラーレジスタＥＲから読み取り、加算部４３において加減速制御部４１に残る残り移動指令値Ａに加算し、インポジションチェック部４４において、この加算値（Ａ＋α）の値が第二のインポジション幅内であれば、位置決め完了とする。その結果、加減速制御が終了する前においても位置決め完了を確認することができ、サイクルタイムを短くすることができる。
【００２２】
図６は、本発明によるインポジションチェック処理のアルゴリズムを示すフローチャートを説明する図である。以下、各ステップに従って説明する。プロセッサ１は、各軸に移動指令が分配される分配周期毎に同期して図６に示されるフローチャートの処理を実行する。なお、図６は回転軸の場合のインポジションチェック処理のアルゴリズムを示すフローチャートである。
●［ステップＳＡ０１］分配により出力された移動指令値Ｘが「０」か否か判断し、「０」でなければ当該周期の処理を終了し、「０」であればステップＳＡ０２へ移行する。
●［ステップＳＡ０２］数値制御装置が制御する工作機械の機械構成のデータを該数値制御装置の記憶装置から読む。前記記憶装置に制御対象の機械構成のデータが格納されることは従来から行われていることである。
●［ステップＳＡ０３］数値制御装置の記憶装置に予め設定され記憶されたインポジション幅のデータを読む。
●［ステップＳＡ０４］工作機械の各駆動軸の現在位置のデータを読む。各軸の現在位置のデータが数値制御装置のレジスタに格納されることは従来から行われている。
●［ステップＳＡ０５］インポジションチェックの対象となる回転軸の回転半径を算出する。回転半径の算出は、ステップＳＡ０２、ステップＳＡ０４で読み取ったデータを用いて行う。
●［ステップＳＡ０６］ステップＳＡ０２で読み込んだインポジション幅のデータ，ステップＳＡ０５で算出した回転半径のデータを用いて第二のインポジション幅を算出する。
●［ステップＳＡ０７］エラーレジスタから位置偏差量αを読む。
●［ステップＳＡ０８］移動指令値Ｘから、当該周期に加減速制御によってサーボ回路に出力された移動指令値Ｙを減じた値を残り移動指令値Ａに加算し、積算値を残り移動指令値Ａとしてレジスタに格納する。なお、このレジスタは初期設定で０に設定されている。
●［ステップＳＡ０９］エラーレジスタＥＲから読み込んだ位置偏差量αとステップＳＡ０８で算出しレジスタに格納された残り移動指令値Ａとを加算した値が、ステップＳＡ０６で算出した第２のインポジション幅内に入ったか否か確認し、入ったときには、ステップＳＡ１０へ移行し、入っていない場合にはこの回の処理を終了する。
●［ステップＳＡ１０］ステップＳＡ０９で第二のインポジション幅内と確認されたので、インポジション確認信号を出力する。インポジション確認信号を基に加工プログラムの次のブロックの移動指令値を分配を開始する。
【００２３】
本発明に係るインポジションチェック方法は、図２に示される工具ヘッド回転型の工作機械を制御する数値制御装置に限定されない。例えば、テーブル回転型の５軸加工機を制御する数値制御装置にも適用できる。  
図７は、本発明が適用されるテーブル回転型の５軸加工機の一例の外観斜視図である。Ｘ，Ｙ，Ｚ軸が直線軸、Ｂ，Ｃ軸が回転軸である。主軸ヘッド部はＢ軸の回転により角度が変化し、ワークを載せるテーブルはＣ軸の回転により角度が変化する。
まず、Ｂ軸周りの回転半径について説明する。図７に示す回転テーブル型の機械構成の場合、工具３１の工具先端点３２のＢ軸周りの回転半径Ｒｂは固定値となり、工具先端点３２からＢ軸の回転中心軸へ下ろした垂線の長さをＬとすると、回転半径ＲｂもＬとなる。
次に、Ｃ軸周りの回転半径Ｒｃについて説明する。Ｃ軸の回転中心軸上に原点をとり、機械のＸ，Ｙ，Ｚ軸と平行な座標系を考え、これを「座標系１」とする。座標系１は空間上に固定された座標系でＣ軸のテーブル３０が回転しても動かないものとする。工具先端点３２からＢ軸の回転中心軸に下ろした垂線の足を点Ｐとすると、点Ｐの座標値は機械のＸ，Ｙ，Ｚ軸の座標値に応じて変化する。時刻ｔにおける座標系１から見た点Ｐの座標値を（ｘ（ｔ），ｙ（ｔ），ｚ（ｔ））とし、Ｂ軸の座標値をｂ（ｔ）とすると、座標系１から見た工具先端点の座標値は（ｘ（ｔ）＋Ｌｓｉｎ（ｂ（ｔ）），ｙ（ｔ），ｚ（ｔ）−Ｌｃｏｓ（ｂ（ｔ）））となる。なお、Ｂ軸の座標値ｂ（ｔ）は、工具が真下を向いたときにｂ（ｔ）＝０とする。このとき、Ｃ軸周りの工具先端点の回転半径Ｒは数４式で表すことができる。
Ｒｃ＝√（（ｘ（ｔ）＋Ｌｓｉｎ（ｂ（ｔ））2＋（ｙ（ｔ））2）  （数４）
テーブル回転型の５軸加工機においても、機械条件である各駆動軸の位置関係や工具３１の長さ情報と、各軸の座標値から、各加工点に対する工具先端点の回転半径Ｒを計算することができる。
【符号の説明】
【００２４】
１  プロセッサ
２  ＲＯＭ
３  ＲＡＭ
４  メモリ
５  ＬＣＤ／ＭＤＩ
６−１，・・，６−ｎ  サーボ回路
７  バス
８  サーボモータ
１０  数値制御装置
２０  機械条件設定部
２１  座標値取得部
２２  回転半径算出部
２３  インポジション幅設定部
２４  第二のインポジション幅算出部
２５  回転軸のインポジションチェック処理部
３０  テーブル
３１  工具
３２  工具先端点
３３  工具ヘッド
４０  分配制御部
４１  加減速制御部
４２  残り移動量算出部
４３  加算部
４４  インポジションチェック部
Ｒａ  回転半径
Ｌａ  インポジション幅
【図１】
2012164200.tif 000003
【図２】
2012164200.tif 000004
【図３】
2012164200.tif 000005
【図４】
2012164200.tif 000006
【図５】
2012164200.tif 000007
【図６】
2012164200.tif 000008
【図７】
2012164200.tif 000009