(57)【特許請求の範囲】
【請求項１】
テーブルに取付けられた加工物に対して加工を行う直線軸３軸と回転軸２軸とによって構成される５軸加工機を制御する数値制御装置において、
該直線軸の移動経路指令、該加工物と工具との相対移動速度指令および該テーブルに対する工具方向として工具方向指令を読み取る指令読み取り手段と、
前記工具方向の変化量と前記移動経路指令における前記直線軸の変化量とが比例するように該工具方向指令を補正する工具方向指令補正手段と、
該工具方向指令補正手段によって補正された前記工具方向指令、前記移動経路指令および前記相対移動速度指令に基づいて工具先端点が指令された移動経路上を指令された相対移動速度で移動するよう補間周期ごとに各軸位置を求める補間手段と、
該補間手段により求められた各軸位置へ移動するように各軸モータを駆動する手段を有する数値制御装置。
【請求項２】
前記工具方向指令は回転軸２軸の位置によって指令され、前記工具方向指令補正手段は指令された回転軸２軸の位置を補正することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記工具方向指令は工具方向ベクトルとして指令され、前記工具方向指令補正手段は指令された工具方向ベクトルを補正することを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記工具方向指令補正手段は指令された工具方向ベクトルを回転軸２軸の位置に変換し、変換した回転軸２軸の位置を補正し、補正した回転軸２軸の位置を工具方向ベクトルに逆変換することを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記指令読み取り手段は工具方向指令補正モードが指令されると、工具方向指令補正モード解除が指令されるまで予め設定された数のブロックを補正対象プログラム指令として先読みし、該工具方向指令補正手段は該補正対象プログラム指令における工具方向指令を補正することを特徴とする請求項１〜４のいずれか一つに記載の数値制御装置。
【請求項６】
前記工具方向指令補正モードはＧコードで指令され前記工具方向指令補正モード解除は該Ｇコードとは異なるＧコードで指令されることを特徴とする請求項５に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルに取付けられた加工物に対して直線軸３軸と回転軸２軸によって加工する５軸加工機を制御する数値制御装置に関する。
【背景技術】
【０００２】
５軸加工機を用いて加工物を加工する場合、工具先端点の移動経路と工具方向の移動指令に対して、指令された加工物と工具との相対移動速度に基づいて工具先端点の移動経路を補間しながら工具方向も補間し、工具方向が変化しながら工具先端点が指令された移動経路上を指令された速度で移動する加工技術の利用が一般的になってきている（下記、特許文献１〜３参照）。このような指令と加工技術は工具先端点制御といわれ、プログラム指令はＣＡＭによって作成されている。
【０００３】
特許文献１には、工具先端点の移動経路と工具方向の移動指令に対して、加工物と工具との相対移動速度に基づいてそれぞれ補間しながら移動経路の補間点を補正して、工具先端点が指令された移動経路上を指令された速度で移動するようにサーボモータを駆動する技術が開示されている。
【０００４】
特許文献２には、２つの回転軸のそれぞれの指令からＮＵＲＢＳ曲線を作成する技術が開示されている。  
特許文献３には、工具先端点の移動経路を指令する点列と工具方向を指令するベクトル列から、加工点が指令点列から生成される曲線上を、工具方向を示すベクトル先端点が指令ベクトル列から生成される曲線上を変化するように補間する技術が開示されている。
【０００５】
【特許文献１】特開２００３−１９５９１７号公報
【特許文献２】特開２００５−１７４０１０号公報
【特許文献３】特開２００５−１８２４３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
背景技術において記載したように、数値制御装置を用いて５軸加工機を工具先端点制御する際のプログラム指令は、ＣＡＭによって作成される。
【０００７】
ここで、ＣＡＭにおいてプログラム指令を作成する一般的な方法を説明する。図１に示される加工曲面を図２に示される三角パッチと呼ばれる区画で分割し、図３に示すように三角パッチ上で工具軌跡を計算して図４のように各三角パッチの辺との交点ごとがブロックとなるプログラム指令を作成する。
【０００８】
三角パッチは加工曲面に対して許容トレランス内になるように作成される。工具先端点の経路は図４のように三角パッチ上にあるので、加工曲面が滑らかであれば工具先端点の経路も許容トレランスの範囲内で滑らかとなる。一方、工具方向は作成された三角パッチに垂直な方向に作成される。三角パッチ同士の境界では２つの三角パッチにおける垂直方向の平均値とするのが一般的である。
【０００９】
そのため、工具進路に沿った断面を図５のように表すと工具先端点の短い経路のブロックに対して工具方向は大きく変化することがある。つまり、図５のように工具先端点の移動経路である直線軸指令の長さに対して工具方向の変化が比例せずに大きく変化する場合がある。
【００１０】
そのようなプログラム指令が指令されると、回転軸の速度変化に応じて減速および加速をくり返すことになり、加工形状が粗くなったり加工時間がかかるなどの問題が発生する。そして、この問題は加工形状やＣＡＭ種類によって発生する。
【００１１】
そこで、本発明は、工具方向指令そのものを補正することによって、加工形状を滑らかにし加工時間を短くすることが可能な５軸加工機を制御する数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の請求項１に係る発明は、テーブルに取付けられた加工物に対して加工を行う直線軸３軸と回転軸２軸とによって構成される５軸加工機を制御する数値制御装置において、
該直線軸の移動経路指令、該加工物と工具との相対移動速度指令および該テーブルに対する工具方向として工具方向指令を読み取る指令読み取り手段と、前記工具方向の変化量と前記移動経路指令における前記直線軸の変化量とが比例するように該工具方向指令を補正する工具方向指令補正手段と、該工具方向指令補正手段によって補正された前記工具方向指令、前記移動経路指令および前記相対移動速度指令に基づいて工具先端点が指令された移動経路上を指令された相対移動速度で移動するよう補間周期ごとに各軸位置を求める補間手段と、該補間手段により求められた各軸位置へ移動するように各軸モータを駆動する手段を有する数値制御装置である。
【００１３】
請求項２に係る発明は、前記工具方向指令は回転軸２軸の位置によって指令され、前記工具方向指令補正手段は指令された回転軸２軸の位置を補正することを特徴とする請求項１に記載の数値制御装置である。
【００１４】
請求項３に係る発明は、前記工具方向指令は工具方向ベクトルとして指令され、前記工具方向指令補正手段は指令された工具方向ベクトルを補正することを特徴とする請求項１に記載の数値制御装置である。  
請求項４に係る発明は、前記工具方向指令補正手段は指令された工具方向ベクトルを回転軸２軸の位置に変換し、変換した回転軸２軸の位置を補正し、補正した回転軸２軸の位置を工具方向ベクトルに逆変換することを特徴とする請求項３に記載の数値制御装置である。
【００１５】
請求項５に係る発明は、前記指令読み取り手段は工具方向指令補正モードが指令されると、工具方向指令補正モード解除が指令されるまで予め設定された数のブロックを補正対象プログラム指令として先読みし、該工具方向指令補正手段は該補正対象プログラム指令における工具方向指令を補正することを特徴とする請求項１〜４のいずれか一つに記載の数値制御装置である。  
請求項６に係る発明は、前記工具方向指令補正モードはＧコードで指令され前記工具方向指令補正モード解除は該Ｇコードとは異なるＧコードで指令されることを特徴とする請求項５に記載の数値制御装置である。
【発明の効果】
【００１６】
本発明により、５軸加工機を用いて加工物を加工する際に、加工物の加工形状を滑らかにしつつ加工時間の短縮を図ることが可能である。
【発明を実施するための最良の形態】
【００１７】
本発明は、ブロック終点で指令される工具方向指令そのものを補正することにより、加工物の加工形状を滑らかにしつつ加工時間を短縮するものである。一般に、５軸加工機を用いた加工物を加工することにおいて、加工物を加工する工具先端点の移動は重要であるが、その工具方向は多少の誤差を持っていても加工には大きな影響を与えない。一方、加工形状が滑らかではないことや加工時間が長くかかることは５軸加工機において解決すべき問題である。そこで、本発明では、工具方向の誤差を許容することにより、加工物の加工形状を滑らかにし加工時間を短縮できるように工具方向指令を補正する。以下、本発明の工具方向指令を補正する第１の実施形態および第２の実施形態について説明する。
【００１８】
本発明の第１の実施形態について、表１に示されるプログラム指令例１を用いて説明する。このプログラム指令は、前記発明が解決しようとする課題の欄において説明したＣＡＭにより生成される。プログラム指令を生成する技術そのものは公知の技術である。
【００１９】
工具方向指令補正モードになると工具方向指令補正モードが解除されるまで、最大先読みブロック数だけのブロックを補正対象プログラム指令として先読みし、先読みされた補正対象プログラム指令における各ブロックに対して、回転軸移動量と直線軸移動量の比が一定となるように工具方向指令を補正する。なお、最大先読みブロック数は別途パラメータとして設定されている。
【００２０】
ここでは、Ｇａａが工具方向指令補正モードを指令するＧコードであり、Ｇｂｂが工具方向指令補正モード解除を指令するＧコードである。Ｘ、Ｙ、Ｚで指令される工具先端点の移動経路における加工物と工具との相対移動速度ｆは、Ｇａａが指令されるまでにモーダル指令Ｆｆとしてすでに指令されている。
【００２１】
各ブロックのＸ、Ｙ、Ｚ軸の位置指令とＢ、Ｃの軸位置指令が図６に示されるようなものであったとする。図６では、Ｘ、Ｙ、Ｚ軸への位置指令Ｐ１（Ｐｘ１、Ｐｙ１、Ｐｚ１）〜Ｐ１０（Ｐｘ１０、Ｐｙ１０、Ｐｚ１０）をＸ、Ｙ、Ｚ座標で、Ｂ軸への位置指令Ｐｂ１〜Ｐｂ１０およびＣ軸への位置指令Ｐｃ１〜Ｐｃ１０をそれぞれ１次元座標で表し、それらの対比を表している。Ｐ０（Ｐｘ０、Ｐｙ０、Ｐｚ０）、Ｐｂ０、Ｐｃ０はＧａａ指令時の各軸の位置を表している。
【００２２】
従って、Ｘ、Ｙ、Ｚ軸がＰ０（Ｐｘ０、Ｐｙ１、Ｐｚ１）〜Ｐ１０（Ｐｘ１０、Ｐｙ１０、Ｐｚ１０）間を速度ｆで移動する間に、Ｂ軸はＰｂ０〜Ｐｂ１０を、Ｃ軸はＰｃ０〜Ｐｃ１０間を移動する。各ブロックでは、Ｘ、Ｙ、Ｚ軸がＰ０（Ｐｘ０、Ｐｙ０、Ｐｚ０）〜Ｐ１（Ｐｘ１、Ｐｙ１、Ｐｚ１）間を速度ｆで移動する間に、Ｂ軸はＰｂ０〜Ｐｂ１を、Ｃ軸はＰｃ０〜Ｐｃ１０間を、Ｘ、Ｙ、Ｚ軸がＰ１（Ｐｘ１、Ｐｙ１、Ｐｚ１）〜Ｐ２（Ｐｘ２、Ｐｙ２、Ｐｚ２）間を速度ｆで移動する間に、Ｂ軸はＰｂ１〜Ｐｂ２、Ｃ軸はＰｃ１〜Ｐｃ２間を移動するというように、各ブロックごとにＸ、Ｙ、Ｚ軸とＢ、Ｃ軸は同期して移動する。
【００２３】
表１に示されるＧａａからＧｂｂの間は１０ブロックの指令の例としているが、ブロック数に制限はない。各軸位置指令はアブソリュート指令としている。また、回転軸２軸をＢ、Ｃ軸で表しているが他の軸の名称、例えば、Ａ、Ｂ軸やＡ、Ｃ軸であっても同様である。
【００２４】
【表１】
0004351281.tif 000002
【００２５】
ここで、各ブロックにおける各回転軸移動量と直線軸移動量の比は一定ではない。換言すると、数１式と数２式とで各回転軸移動量と直線軸移動量との比をｎが０〜９で計算すると、各ブロックにおけるその各回転軸移動量と直線軸移動の比は一定ではない。
【００２６】
図７はこのときの各軸の速度波形の一例を示している。図７の横軸は時間、縦軸は各軸の速度を表している。図中の３５０００はミリセカンドを表す。各軸の速度の単位（例えば、ｍｍ／ｍｉｎ、度／ｍｉｎ）は軸ごとに相違するが、図７では５軸分の速度を重ね合わせて示している。図７では各軸の速度が振動していることが示されている。この振動の１波ごとが各ブロック指令に対応している。なお、図７は指令ブロック数が１０ではなく５００程度の場合の各軸の速度波形の例である。
【００２７】
【数１】
0004351281.tif 000003
【００２８】
【数２】
0004351281.tif 000004
【００２９】
そこで、数１式や数２式で算出される各ブロックにおける各回転軸移動量と直線軸移動量との比が一定となるように、次のようにＰｂ１〜Ｐｂ１０、および、Ｐｃ１〜Ｐｃ１０を補正する。数値制御装置はＧａａを読み込むと、先読みと補正処理を開始する。先読みブロック数は最大５とする。  
ここで、下記の数式について説明する。数３式および数４式は開始から数５式に至る過渡的な式であり、数６式および数７式は数５式から終了に至る過渡的な式であるので、数５式が重要である。  
そこで、数５式について詳細に説明する。数５式では、右辺分母で先読みブロック（第ｎ−２ブロックから第ｎ＋２ブロック）における直線軸移動量を計算する。また、右辺分子では補正対象ブロック（第ｎブロック）の直線軸移動量を計算する。したがって、右辺分数の項は、先読みブロックにおける直線軸移動量と補正対象ブロックの直線軸移動量との比である。  
そして、その比に先読みブロック（第ｎ−２ブロックから第ｎ＋ｎブロック）の回転軸（Ｂ軸またはＣ軸）移動量（Ｐαn+2―Ｐαn―3’）を掛けることによって、先読みブロックの範囲で補正対象ブロックの回転軸移動量と直線軸移動量との比が一定になるように補正される。  
補正された回転軸移動量を補正対象ブロックの直前のブロック（第ｎ−１ブロック）の、つまり、既に補正された回転軸位置指令（Ｐαn―1’）に加算することによって、補正対象ブロックにおける回転軸位置指令を得る。これが補正された回転軸移動量による補正された回転軸位置指令である。
（Ａ）第１ブロックを読み込み、第１ブロックは数３式に示されるように補正しない。
【００３０】
【数３】
0004351281.tif 000005
【００３１】
（Ｂ）第２、第３ブロックを読み込み、数４式に示されるように第２ブロックのＢ軸、Ｃ軸の位置指令を補正する。
【００３２】
【数４】
0004351281.tif 000006
【００３３】
（Ｃ）第ｎ＋１、第ｎ＋２ブロックを読み込み、数５式に示されるように第ｎブロックのＢ軸、Ｃ軸の位置指令を補正する（ｎ＝３〜８）。ただし、ｎ＝４〜８では第ｎ＋１ブロックは既に読み込まれている。
【００３４】
【数５】
0004351281.tif 000007
【００３５】
（Ｄ）Ｇｂｂを読み込み、新規のブロック読み込みは停止する。数６式に示されるように第９ブロックのＢ軸、Ｃ軸の位置指令を補正する。
【００３６】
【数６】
0004351281.tif 000008
【００３７】
（Ｅ）第１０ブロックは補正しない。
【００３８】
【数７】
0004351281.tif 000009
【００３９】
上記（Ａ）〜（Ｅ）に記載したように、ブロックを逐次先読みしながら、回転軸位置指令の補正を行なう。図６で表されたＢ軸、Ｃ軸の位置指令は、数３式〜数７式を用いた回転軸位置指令の補正により図８に表されるようになる。なお、全てのブロックの読み込みを行ってから補正するのではなく、各ブロックのＢ軸、Ｃ軸移動量は対応する直線軸移動量にほぼ比例するように補正することができる。
【００４０】
上記（Ａ）〜（Ｅ）に記載した回転軸位置指令の補正を行なうと、図７で示された各ブロックにおける各回転軸移動量と直線軸移動量の比が一定でない場合の各軸の速度波形は、図９に示されるようになる。この図９に示されるように、回転軸位置指令の補正により各ブロックにおける各軸の速度の振動が抑制されている。速度の振動が抑制されることにより、加工物の加工形状は滑らかになる。また、減速する部分が少なくなることにより、加工時間も短縮される。図９に示される例では加工時間は、回転軸位置指令の補正を行なわない場合に比べて７０％程度に短縮される。また、加工作業のための消費電力も減らすことができる。
【００４１】
なお、工具方向指令補正手段によって補正された工具方向指令、移動経路指令、および、相対移動速度指令に基づいて工具先端点が指令された移動経路上を指令された速度で移動するように補間周期ごとに各軸位置を求める補間手段、および、補間手段により求められた各軸位置へ各軸モータを駆動する手段については図１３に示される数値制御装置のように公知技術を使用することができる。図１３の数値制御装置については後述する。
【００４２】
本発明の第２の実施形態について表２に示されるプログラム指令例２を用いて説明する。先読み方法などは第１の実施形態と同様である。  
【００４３】
【表２】
0004351281.tif 000010
【００４４】
この第２の実施形態では、工具方向が正規化されたＩ、Ｊ、Ｋによる工具方向ベクトルとして指令されている。このように、工具方向を工具方向ベクトルとして指令する技術は、背景技術で説明した特許文献１などにおいて公知技術である。工具方向ベクトルは工具の傾斜を制御する軸の位置情報から計算される。例えば、工具の傾斜がＢ軸及びＣ軸によって制御されているときには、Ｂ軸及びＣ軸の現在位置から工具方向ベクトルを計算する。
【００４５】
図１０に示されるように機械構成が回転ヘッド型５軸加工機であるとすると、Ｉ、Ｊ、Ｋ指令からＢ、Ｃ軸位置は下記数８式と数９式を用いて計算することができる。ここでは、Ｐｃｎは０度〜３６０度、Ｐｂｎは０度〜９０度としている。なお、ｎ＝１〜１０とする。
【００４６】
【数８】
0004351281.tif 000011
【００４７】
このことにより、各ブロックのＩ、Ｊ、Ｋによる工具方向ベクトル指令（Ｐｉｎ、Ｐｊｎ、Ｐｋｎ）はＢ、Ｃ軸位置（Ｐｂｎ、Ｐｃｎ）に変換される。そして、実施形態１と同様に逐次先読みを行いながら、回転軸位置の補正を行い補正されたＢ、Ｃ軸位置（Ｐｂｎ’、Ｐｃｎ’）を得ることができる。
【００４８】
その結果、各ブロックのＢ、Ｃ軸移動量は対応する直線軸移動量にほぼ比例するように補正される。補正されたＢ、Ｃ軸位置（Ｐｂｎ’、Ｐｃｎ’）は数９式の連立方程式を解くことにより再度Ｉ、Ｊ、Ｋによる工具方向ベクトル指令（Ｐｉｎ’、Ｐｊｎ’、Ｐｋｎ’）に逆変換することができる。そのことにより、元のＸ、Ｙ、Ｚ、Ｉ、Ｊ、Ｋによるプログラム指令として実行することが可能である。
なお、ここでは、図１０に示されるように工具回転ヘッド型の５軸加工機で説明したが、５軸加工機には回転軸２軸でテーブルを回転するテーブル回転型５軸加工機や回転軸１軸で工具ヘッドを他の回転軸１軸でテーブルを回転する混合型５軸加工機もある。それらの５軸加工機においておも指令Ｉ、Ｊ、Ｋによる工具方向を回転軸２軸の位置に変換し、変換した回転軸２軸の位置を補正し、補正した回転軸２軸の位置を再度Ｉ、Ｊ、Ｋ指令に逆変換することが可能である。変換および逆変換の方法は、数８式、数９式の関数形が相違するだけであり公知技術であるので説明は省略する。
図１１は本発明の５軸加工機を制御する数値制御装置の概略機能ブロック図である。指令読み取り手段１により各ブロックのプログラム指令を読み取る。読み取られたプログラム指令は工具方向指令補正手段２により各ブロックにおける回転軸移動量と直線軸移動量の比が一定となるように工具方向指令を補正する。補間手段３は、工具方向指令補正手段２によって補正された工具方向指令、移動経路指令および相対移動速度指令に基づいて工具先端点が指令された移動経路上を指令された速度で移動するように補間周期ごとに各軸位置を求める補間演算を実行する。各軸サーボ４Ｘ、４Ｙ、４Ｚ、４Ｂ（Ａ）、４Ｃ軸サーボは、補間手段３で演算された各軸位置へ各軸モータ（各軸モータは記載を省略）を駆動する。
【００４９】
【数９】
0004351281.tif 000012
【００５０】
図１２は本発明の第１の実施形態に示される工具方向指令補正を実行するアルゴリズムを示すフローチャートの例である。このフローチャートでは表１のＧａａを読み込んだ後の処理を示している。なお、ＧａａとＧｂｂの間には少なくとも５ブロックは指令されているとする。以下、各ステップに従って説明する。  
［ステップＳ１］ｎを１にセットする。［ステップＳ２］ｎが１であるか否かを判断する。ｎが１である場合ステップＳ９に進み、ｎが１でない場合ステップＳ３に進む。［ステップＳ３］ｎが２であるか否か判断する。ｎが２である場合ステップＳ１１に進み、ｎが２でない場合ステップＳ４へ進む。［ステップＳ４］前回読み込んだブロックはＧｂｂであるか否か判断する。Ｇｂｂの場合ステップＳ１６へ進み、Ｇｂｂでない場合ステップＳ５へ進む。
【００５１】
［ステップＳ５］ｎが３であるか否か判断する。ｎが３である場合ステップＳ１３へ進み、ｎが３でない場合ステップＳ６へ進む。［ステップＳ６］１ブロック読み込む。［ステップＳ７］読み込んだブロックがＧｂｂであるか否か判断する。Ｇｂｂの場合ステップＳ１４に進み、Ｇｂｂでない場合ステップＳ８へ進む。［ステップＳ８］数５式による工具方向指令の補正を行い、ステップＳ１５へ移行する。［ステップＳ９］ステップＳ２でｎが１である場合、１ブロック読み込み、ステップＳ１０へ進む。
【００５２】
［ステップＳ１０］数３式による工具方向指令の補正を行い、ステップＳ１５へ移行する。［ステップＳ１１］２ブロック読み込み、ステップＳ１２へ進む。［ステップＳ１２］数４式により工具方向指令の補正を行い、ステップＳ１５へ移行する。［ステップＳ１３］２ブロック読み込み、ステップＳ７へ移行する。［ステップＳ１４］数６式による工具方向指令の補正を行い、ステップＳ１５へ進む。［ステップＳ１５］ｎに１を加算し、ステップＳ２へ戻る。［ステップＳ１６］数７式による工具方向指令の補正を行い、終了する。
【００５３】
図１３は本発明の実施形態を実行する数値制御装置（ＣＮＣ）１００の要部ブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。
【００５４】
ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラムなどが記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
【００５５】
ＣＡＤ／ＣＡＭ装置や倣い装置などを使って作成した指令点列データおよびベクトル列データを含む加工プログラムがインターフェイス１５を介して入力され、ＣＭＯＳメモリ１４に格納されている。本発明の実施形態の工具方向指令補正モードを有する加工プログラムもＣＭＯＳメモリ１４に格納されている。
【００５６】
また、数値制御装置１００内で編集した加工プログラムは、インターフェイス１５を介して外部記憶装置に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドのようなアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００５７】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１５は表示器／ＭＤＩユニット７０のキーボードからの指令、データを受けてＣＰＵ１１に渡す。インターフェイス１９は手動パルス発生器などを備えた操作盤７１に接続されている。
【００５８】
各軸の軸制御回路３０〜３４はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。サーボアンプ４０〜４４はこの指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は位置・速度制御検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行なう。
【００５９】
サーボモータ５０〜５４は、５軸加工機のＸ、Ｙ、Ｚ、Ｂ（Ａ）、Ｃ軸を駆動するものである。また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸モータ６２の回転に同期して帰還パルスをスピンドル制御回路６０にフィードバックし、速度制御を行う。
【００６０】
以上のような数値制御装置１００の構成は従来の数値制御装置の構成と変わりなく、この数値制御装置１００によって、図１０に示される５軸加工機を駆動制御するものである。
【図面の簡単な説明】
【００６１】
【図１】加工曲面を示す図である。
【図２】加工曲面を三角パッチと呼ばれる区画で分割することを示す図である。
【図３】三角パッチ上で工具軌跡を計算することを示す図である。
【図４】三角パッチと工具進路と工具先端点位置との関係を示す図である。
【図５】三角パッチの工具進路に沿った断面図を示す図である。
【図６】Ｘ、Ｙ、Ｚ軸への位置指令Ｐ１〜Ｐ１０をＸ、Ｙ、Ｚ軸で、Ｂ軸への位置指令Ｐｂ１〜Ｐb１０およびＣ軸への位置指令Ｐc１〜Ｐc１０をそれぞれ１次元座標で表し、それらの対比を表す図である。
【図７】各ブロックにおける各回転軸移動量と直線軸移動量の比が一定でない場合の各軸の速度波形の一例を示す図である。
【図８】図６に示されるＢ軸およびＣ軸の位置指令に回転軸位置指令の補正を行なった時の図である。
【図９】回転軸位置指令の補正を行なった場合の各軸の速度波形の一例を示す図である。
【図１０】工具ヘッド回転型の５軸加工機の説明図である。
【図１１】本発明の５軸加工機を制御する数値制御装置の概略機能ブロック図である。
【図１２】本発明の工具方向指令補正を実行するアルゴリズムを示すフローチャートの例である。
【図１３】本発明の実施形態を実行する数値制御装置の要部ブロック図である。
【符号の説明】
【００６２】
１  指令読み取り手段
２  工具方向指令補正手段
３  補間手段
４Ｘ、４Ｙ、４Ｚ、４Ｂ（Ａ）、４Ｃ  各軸サーボ
【図１】
0004351281.tif 000013
【図２】
0004351281.tif 000014
【図３】
0004351281.tif 000015
【図４】
0004351281.tif 000016
【図５】
0004351281.tif 000017
【図６】
0004351281.tif 000018
【図７】
0004351281.tif 000019
【図８】
0004351281.tif 000020
【図９】
0004351281.tif 000021
【図１０】
0004351281.tif 000022
【図１１】
0004351281.tif 000023
【図１２】
0004351281.tif 000024
【図１３】
0004351281.tif 000025