(57)【特許請求の範囲】
【請求項１】
ＮＣデータに基づいて複数の駆動軸を動作させる工作機械の数値制御装置において、
前記複数の駆動軸の可動領域を格子状に分割した複数の単位格子を記憶する単位格子記憶手段と、
前記単位格子の頂点である格子点に前記駆動軸を位置決めした時の位置決め誤差の補正データを、それぞれの前記格子点に関連付けて記憶する補正データ記憶手段と、
前記可動領域を構成する前記単位格子の中から、前記複数の駆動軸が移動する移動領域を構成する前記単位格子を、前記ＮＣデータに基づいて抽出する移動領域取得手段と、
前記移動領域に含まれる前記単位格子から前記ＮＣデータの指令位置を含む単位格子を検索する単位格子検索手段と、
当該単位格子検索手段により検索された一の単位格子と当該一の単位格子の格子点に関連付けられた前記補正データとに基づいて、前記ＮＣデータの指令位置に対する補正値を算出する補正値算出手段と、
前記ＮＣデータと前記補正値とに基づいて前記駆動軸を制御する制御手段と、を備え、
前記移動領域取得手段は、前記移動領域に含まれる前記単位格子の数量または前記ＮＣデータに含まれる指令位置の数量が一定数以下となるように設定されている工作機械の数値制御装置。
【請求項２】
請求項１において、
前記補正値算出手段が補正値算出処理により算出した前記補正値を一時的に格納する一次格納手段と、
前記一次格納手段から移動された前記補正値を一時的に格納し、前記制御手段が前記駆動軸を制御する際に前記制御手段により前記補正値が取り出されると共に、前記制御手段により取り出された前記補正値が削除される二次格納手段と、
前記一次格納手段に格納された前記補正値の格納容量が設定値に達した後に、前記一次格納手段から前記二次格納手段へ前記補正値を移動する補正値移動処理手段と、
を備え、
前記補正値算出手段は、前記一次格納手段に格納される前記補正値の格納容量が前記設定値に達するまで、前記補正値算出処理を繰り返し行う工作機械の数値制御装置。
【請求項３】
請求項１又は２において、
前記工作機械の数値制御装置は、前記工作機械の温度を計測する温度計測手段を備え、
前記補正データ記憶手段は、前記工作機械の温度に応じた前記工作機械の熱変位補正データと前記位置決め誤差の補正データとを合算した総補正データを、それぞれの前記格子点に関連付けて記憶し、
前記補正値算出手段は、前記移動領域に含まれる前記格子点と前記補正データ記憶手段に記憶される前記総補正データと前記温度計測手段により計測される前記工作機械の温度とに基づいて、前記補正値を算出する工作機械の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の駆動軸を動作させる工作機械の数値制御装置に関する。
【背景技術】
【０００２】
工作機械は、入力されたＮＣデータに基づいて数値制御装置が複数の駆動軸を動作させることにより、工作物の加工を行う。このような工作機械の駆動軸は、ＮＣデータの指令位置に対して実際に位置決めされた位置との差分である位置決め誤差が生じることがある。駆動軸の位置決め誤差は、機械構成または加工中における熱変位などに起因するものである。また、駆動軸の位置決め誤差は、工作物の加工精度に影響することから、その誤差量に応じて補正することが望まれる。
【０００３】
そこで、位置決め誤差を補正する方法として、例えば特許文献１には、実際に加工された工作物について、指令位置とのずれ量を実測し、このずれ量に基づいてＮＣデータを補正するものが開示されている。また、例えば特許文献２には、格子状に分割した空間において、格子点に応じた補正データ（補正ベクトル）とＮＣデータによる移動指令とに基づいて、駆動軸の動作を補正する空間補正が開示されている。
【０００４】
このような位置決め誤差の空間補正では、先ず、各駆動軸の軸方向に一定間隔の格子状領域に分割し、この格子状領域の格子点に対して補正ベクトルを関連付けて記憶している。次に、ＮＣデータの指令位置に対応する単位格子（指令位置が含まれる最小の格子）を検索する。続いて、この単位格子を構成する格子点に関連付けられた各補正ベクトルと、ＮＣデータの指令位置とに基づいて、当該指令位置における補正値を算出している。これにより、ＮＣデータの指令位置に応じた補正値を算出し、位置決め誤差を補正できるものとされる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−７２９１６号公報
【特許文献２】特開平８−１５２９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、空間補正における３次元の単位格子は、例えば８箇所の格子点により構成される立方形状となる。そして、この単位格子の内部では単一のベクトル空間として扱われることになる。そのため、各格子点に基づいて算出された位置決め誤差の補正値は、単位格子の内部において一次的に変化するものとして近似されたものとなる。従って、例えば、ＮＣデータが格子点から離間している位置を指令している場合には、格子点近傍の位置を指令した場合と比較して近似による誤差が大きくなるおそれがある。
【０００７】
そこで、格子状領域における分割数を増加し単位格子を小さくすることにより、近似による誤差を低減することが考えられる。しかしながら、格子状領域における分割数を増加すると、工作機械の可動領域における格子点数が膨大となり、これに伴い補正値の算出に要する演算処理量が増大してしまう。そのため、工作機械の数値制御装置は、大量の補正データを記憶するとともに、増大した演算処理量を許容する処理能力を有する必要がある。よって、必要な分だけ格子状領域の分割数を増加できない場合や、数値制御装置のコストが増大してしまうことがあった。
【０００８】
本発明は、上記課題を鑑みてなされたものであり、効率的な空間補正を可能にすることにより、従来と比較して高精度に位置決め誤差を補正する工作機械の数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、請求項１に係る発明によると、ＮＣデータに基づいて複数の駆動軸を動作させる工作機械の数値制御装置において、前記複数の駆動軸の可動領域を格子状に分割した複数の単位格子を記憶する単位格子記憶手段と、前記単位格子の頂点である格子点に前記駆動軸を位置決めした時の位置決め誤差の補正データを、それぞれの前記格子点に関連付けて記憶する補正データ記憶手段と、前記可動領域を構成する前記単位格子の中から、前記複数の駆動軸が移動する移動領域を構成する前記単位格子を、前記ＮＣデータに基づいて抽出する移動領域取得手段と、前記移動領域に含まれる前記単位格子から前記ＮＣデータの指令位置を含む単位格子を検索する単位格子検索手段と、当該単位格子検索手段により検索された一の単位格子と当該一の単位格子の格子点に関連付けられた前記補正データとに基づいて、前記ＮＣデータの指令位置に対する補正値を算出する補正値算出手段と、前記ＮＣデータと前記補正値とに基づいて前記駆動軸を制御する制御手段と、を備え、前記移動領域取得手段は、前記移動領域に含まれる前記単位格子の数量または前記ＮＣデータに含まれる指令位置の数量が一定数以下となるように設定されている。
【００１１】
請求項２に係る発明によると、請求項１において、前記補正値算出手段が補正値算出処理により算出した前記補正値を一時的に格納する一次格納手段と、前記一次格納手段から移動された前記補正値を一時的に格納し、前記制御手段が前記駆動軸を制御する際に前記制御手段により前記補正値が取り出されると共に、前記制御手段により取り出された前記補正値が削除される二次格納手段と、前記一次格納手段に格納された前記補正値の格納容量が設定値に達した後に、前記一次格納手段から前記二次格納手段へ前記補正値を移動する補正値移動処理手段と、を備え、前記補正値算出手段は、前記一次格納手段に格納される前記補正値の格納容量が前記設定値に達するまで、前記補正値算出処理を繰り返し行う
【００１３】
請求項３に係る発明によると、請求項１又は２において、前記工作機械の数値制御装置は、前記工作機械の温度を計測する温度計測手段を備え、
前記補正データ記憶手段は、前記工作機械の温度に応じた前記工作機械の熱変位補正データと前記位置決め誤差の補正データとを合算した総補正データを、それぞれの前記格子点に関連付けて記憶し、前記補正値算出手段は、前記移動領域に含まれる前記格子点と前記補正データ記憶手段に記憶される前記総補正データと前記温度計測手段により計測される前記工作機械の温度とに基づいて、前記補正値を算出する。
【発明の効果】
【００１４】
請求項１に係る発明によれば、数値制御装置は、移動領域を取得した後に、当該移動領域に含まれる単位格子の格子点に関連付けられた補正データを用いて、ＮＣデータの補正値を算出する構成としている。ここで、従来の空間補正では、駆動軸の可動領域全体に含まれる格子点に関連付けられた補正データを用いてＮＣデータの補正値を算出していた。これに対して、本発明の数値制御装置は、上記の構成にすることによって、格段に演算処理量を低減できる。従って、補正データを記憶させる格子点の数を多くすることが可能となる。つまり、単位格子の大きさを非常に細かくすることができるので、その結果として、高精度な補正が可能となる。
【００１６】
請求項２に係る発明によれば、数値制御装置は、一次格納手段と二次格納手段に補正値を適宜移動させながら、補正値算出手段において補正値算出処理を行うようにしている。このような構成は、補正値算出手段による１回の補正値算出処理にて適用する移動領域の大きさをより小さくすることに寄与することになる。その結果、補正値算出に際しての演算処理量を確実に低減できる。さらに、補正値移動処理手段により補正値を移動する回数を低減することができる。これにより、補正値算出処理を行う時間を多く確保することができる。その結果、補正値算出手段は、短時間で高精度な補正値を算出することができる。
【００１８】
請求項３に係る発明によれば、補正データ記憶手段が熱変位補正を考慮した総補正データを記憶し、補正値算出手段が当該総補正データと工作機械の温度とに基づいて補正値を算出する構成としている。これにより、算出された補正値は、熱変位補正を考慮した値となる。よって、位置決め誤差および工作機械の熱変位を補正することができるため、工作機械の各駆動軸の高精度な位置決めが可能となる。
【図面の簡単な説明】
【００１９】
【図１】工作機械の数値制御装置を示すブロック図である。
【図２】工作機械の可動領域における格子点および移動領域を示す図である。（ａ）は可動領域Ｔａの一部を示す図であり、（ｂ）は移動領域Ｔｍを示す図であり、（ｃ）は単位格子Ｓと指令位置Ｐｉを示す図である。
【図３】温度Ｔｎにおける補正データを示す図である。
【図４】ＮＣデータの空間補正および駆動軸の制御の関係を示すフロー図である。
【図５】移動領域算出処理を示すフロー図である。
【図６】補正値算出処理を示すフロー図である。
【図７】駆動軸制御処理を示すフロー図である。
【発明を実施するための形態】
【００２０】
以下、本発明の工作機械の数値制御装置を具体化した実施形態について図面を参照して説明する。また、当該工作機械は、直交する３つの直進駆動軸（Ｘ，Ｙ，Ｚ軸）を有するものとして説明する。この工作機械は、これら複数の駆動軸を動作させることにより工作物の加工を行う。
【００２１】
＜実施形態＞
（数値制御装置１の構成）
工作機械の数値制御装置１の構成について、図１〜図３を参照して説明する。数値制御装置１は、入力されたＮＣデータに基づいて各駆動軸を制御する装置である。この数値制御装置１は、図１に示すように、補正値算出ユニット１０と駆動軸制御ユニット２０を備える。補正値算出ユニット１０は、入力されたＮＣデータの補正値を算出するユニットである。駆動軸制御ユニット２０は、入力されたＮＣデータと補正値算出ユニット１０により算出された補正値とに基づいて各駆動軸の制御を行うユニットである。
【００２２】
本実施形態の数値制御装置１は、補正値算出ユニット１０および駆動軸制御ユニット２０により、ＮＣデータの指令位置に対する空間補正処理を行い、各駆動軸の位置決め誤差を補正している。これにより、各駆動軸における位置決めの高精度化を図っている。ここで、空間補正とは、本実施形態の工作機械が直交する３つの直進駆動軸を有することから、３次元空間におけるＮＣデータの指令位置と実際に位置決めされた位置との誤差の補正をいう。詳細については後述する。
【００２３】
数値制御装置１の補正値算出ユニット１０は、図１に示すように、単位格子記憶部１１、補正データ記憶部１２、移動領域取得部１３、補正値算出部１４、補正値一次格納部１５、補正値移動処理部１６、および温度計測器１７を有する。単位格子記憶部１１は、複数の駆動軸の可動領域Ｔａを格子状に分割した複数の単位格子Ｓを記憶する補正データ記憶手段である。複数の駆動軸の可動領域Ｔａは、その駆動軸が動作し得る最大最小の領域であり、図２（ａ）の点線でその一部を示している。
【００２４】
また、単位格子Ｓは、図２（ｂ）（ｃ）に示すように、駆動軸の可動領域Ｔａを駆動軸の軸方向に一定間隔で格子状に分割した最小単位の３次元空間の格子である。本実施形態では、各駆動軸を等しい間隔で分割しているため、単位格子Ｓは、立方形状となっている。これに対して、駆動軸の可動領域Ｔａの形状や駆動軸の作動頻度などに応じて、駆動軸毎に分割する間隔を変動させ、単位格子Ｓが長方形状ないし多面形状となるようにしてもよい。上述したように、駆動軸の可動領域Ｔａは、複数の単位格子Ｓが集合することにより形成されている。
【００２５】
補正データ記憶部１２は、図２（ｃ）に示すように、単位格子Ｓの頂点であるそれぞれの格子点Ｐｇ１〜Ｐｇ８に補正データを関連付けて記憶する補正データ記憶手段である。本実施形態では、３次元空間である可動領域Ｔａにおいて単位格子Ｓを立方形状としていることから、格子点は、一つの単位格子Ｓに対して８個の格子点Ｐｇ１〜Ｐｇ８がある。また、補正データとは、複数の駆動軸をある格子点Ｐｇｍに対して位置決めした時の位置決め誤差を補正するためのデータである。つまり、格子点Ｐｇｍを目標位置として各駆動軸を位置決めした時に、実際に位置決めされた位置と格子点Ｐｇｍまでの距離および方向が位置決め誤差である。よって、補正データ記憶部１２は、格子点Ｐｇｍを始点、実際に位置決めされた位置を終点とする空間ベクトルとして、格子点Ｐｇｍに当該空間ベクトルをそれぞれ関連付けて記憶している。ここで、ｍは（１≦ｍ≦ｎ）を満たす整数であり、ｎは可動領域Ｔａに含まれる単位格子Ｓの数である。そして、補正データ記憶部１２は、図３に示すように、全ての格子点Ｐｇ１〜Ｐｇｎに補正データを関連づけて記憶している。
【００２６】
また、補正データ記憶部１２は、図１に示すように、工作機械の温度毎に上記の補正データを複数記憶している（図３では、温度Ｔｎにおける補正データを示している）。つまり、本実施形態における補正データは、工作機械の温度に応じた工作機械の熱変位補正データと、各格子点Ｐｇ１〜Ｐｇｎに関連付けられた位置決め誤差の補正データとを合算したデータであり、本発明の「総補正データ」に相当する。また、本実施形態においては、単位格子記憶部１１と補正データ記憶部１２は、図１に示すように、同一のメモリに存在する記憶領域の一部としている。
【００２７】
移動領域取得部１３は、ＮＣデータの指令位置を含む１または複数の単位格子Ｓにより形成される移動領域Ｔｍを取得する移動領域取得手段である。移動領域Ｔｍは、図２（ａ）（ｂ）に示すように、工作機械の可動領域Ｔａのうち、ＮＣデータの指令位置が包含されるように抽出された複数の単位格子Ｓの集合により構成されている。例えば、一定数の位置指令において移動する範囲が大きければ移動領域Ｔｍも大きくなり、これを構成する単位格子Ｓの数も多くなる。一方で、一定数の位置指令において移動する範囲が小さければ移動領域Ｔｍも小さくなり、これを構成する単位格子Ｓの数も少なくなる。そして、一定数の位置指令が一つの単位格子Ｓの内部に含まれる場合も想定される。
【００２８】
また、移動領域取得部１３は、本実施形態において、ＮＣデータに含まれる指令位置のうち、一部の指令位置を対象として移動領域Ｔｍを取得する。これは、数値制御装置１による位置決め誤差の補正を一度にＮＣデータ全体について行うのではなく、ＮＣデータの一部について先読みし補正値の算出を複数回に亘って行うようにしている。さらに、移動領域取得部１３は、移動領域Ｔｍの大きさが設定範囲に含まれるようなＮＣデータの指令位置を取得し、この指令位置を含む移動領域Ｔｍを取得するものとしている。この「設定範囲」とは、補正値を算出する処理負荷が過大にならないように、可動領域Ｔａから抽出する複数の単位格子Ｓの数量を制限するために設定された範囲である。そのため、移動領域取得部１３は、ＮＣデータの一部の指令位置による移動領域Ｔｍの大きさ（抽出する単位格子Ｓの数量）を監視し、移動領域Ｔｍが設定範囲に収まるように、先読みするＮＣデータの量を制限している。
【００２９】
補正値算出部１４は、移動領域Ｔｍに含まれる格子点Ｐｇ１〜Ｐｇｎと補正データ記憶部１２に記憶される補正データとに基づいて、ＮＣデータの指令位置に対する補正値を算出する補正値算出手段である。移動領域Ｔｍは、図２（ｂ）に示すように、複数の単位格子Ｓにより形成され、それに伴い複数の格子点を含んでいる。そして、補正値算出部１４は、移動領域Ｔｍを形成する複数の単位格子Ｓのうち、一の指令位置Ｐｉが含まれる単位格子Ｓを検索する。この時、既に一の指令位置Ｐｉが移動領域Ｔｍの内部に含まれているので、可動領域Ｔａを形成する全ての単位格子Ｓから該当する単位格子Ｓを検索する処理と比較して、格段に演算処理量を低減することができる。
【００３０】
補正値算出部１４は、移動領域Ｔｍから一の指令位置Ｐｉが含まれる単位格子Ｓを検索すると、図２（ｃ）に示すように、その単位格子Ｓの格子点Ｐｇ１〜Ｐｇ８に関連付けられた補正データを補正データ記憶部１２より取得する。この時、補正値算出部１４は、後述する温度計測器１７より入力した工作機械の温度に応じた補正データを補正データ記憶部１２より取得している。そして、補正値算出部１４は、単位格子Ｓの内部を単一のベクトル空間として、既知の方法により指令位置Ｐｉにおける補正値を算出する。
【００３１】
補正値一次格納部１５は、補正値算出部１４が補正値算出処理により算出した補正値を一次的に格納する一次格納手段である。この補正値一次格納部１５は、ＮＣデータの指令位置に対する補正値が算出される度に、その値を追加記憶している。補正値移動処理部１６は、補正値一次格納部１５に格納された補正値の格納容量が設定値に達した後に、補正値一次格納部１５から後述する補正値二次格納部２２へ補正値を移動する処理を行う補正値移動処理手段である。ここで、補正値の格納容量に対する上記の「設定値」は、本実施形態において、補正値二次格納部２２において補正値を一時的に格納し得るメモリの許容量に応じて設定される。これにより、補正値移動処理部１６が補正値を適宜移動させながら、補正値算出部１４において補正値算出処理を行うことになる。
【００３２】
温度計測器１７は、工作機械の温度を計測する温度計測手段である。ここで、「工作機械の温度」とは、各駆動軸を直接的に計測したものでも、工作機内の温度および外気温などを計測したものでもよい。即ち、補正データ記憶部１２に工作機械の温度毎に記憶された補正データに対応するものであり、補正値算出部１４が工作機械の温度に基づいてどの補正データを取得するかを判定できればよい。
【００３３】
数値制御装置１の駆動軸制御ユニット２０は、図１に示すように、制御部２１、および補正値二次格納部２２を有する。制御部２１は、ＮＣデータと算出された補正値とに基づいて工作機械の駆動軸を制御する制御手段である。制御部２１は、例えば各駆動軸のサーボモータに所定の電力を供給することにより制御を行っている。供給される電力は、ＮＣデータの指令位置と、当該指令位置に対する位置決め誤差の補正値とに基づいて決定される。
【００３４】
補正値二次格納部２２は、補正値一次格納部１５から移動された補正値を一時的に格納する二次格納手段である。この補正値二次格納部２２は、制御部２１が駆動軸を制御する際に制御部２１により補正値が取り出されると共に、制御部２１により取り出された補正値が削除される。つまり、使用された補正値については順次削除を行い、補正値移動処理部１６により補正値一次格納部１５から新たな補正値が移動され得る状態となるようにしている。
【００３５】
（位置決め誤差の補正処理）
数値制御装置１による位置決め誤差の補正処理について、図４〜図７を参照して説明する。位置決め誤差の補正処理（空間補正処理）は、先ず、当該空間補正の演算処理量を軽減するために、図４に示すように、補正値算出ユニット１０が移動領域取得処理（Ｓ１１０）を実行する。移動領域取得処理は、図５に示すように、先ず、移動領域取得部１３が所定量のＮＣデータの読み込みを行う（Ｓ１１１）。ここで、移動領域取得部１３が先読みするＮＣデータの所定量は、後に取得される移動領域が過大にならないように予め設定されている。
【００３６】
続いて、移動領域取得部１３は、読み込んだＮＣデータに含まれる複数の指令位置から各駆動軸が動作する範囲を算出し、可動領域Ｔａから移動領域Ｔｍを取得する（Ｓ１１２）。そして、読み込んだＮＣデータおよび取得した移動領域Ｔｍを内部メモリに一時記憶する（Ｓ１１３）。この時、既にメモリに移動領域Ｔｍが記憶されている場合には、新たに取得した移動領域Ｔｍを加算するように更新する。続いて、更新された移動領域Ｔｍの大きさＭｐを算出する（Ｓ１１４）。さらに、移動領域Ｔｍの大きさＭｐと設定範囲Ｍｌとを比較する（Ｓ１１５）。
【００３７】
この「設定範囲Ｍｌ」は、上述したように、後に補正値を算出する際の処理負荷が過大とならないように設定されているものである。本実施形態においては、移動領域Ｔｍは、全体形状として立方形状または長方形状となり、設定範囲Ｍｌとの比較においては、単に移動領域Ｔｍを形成する複数の単位格子Ｓの数量が制限されている。そして、移動領域Ｔｍが設定範囲Ｍｌ以下である場合（Ｓ１１５：Ｙｅｓ）には、移動領域取得部１３は、ＮＣデータの一部をさらに追加で読み込む（Ｓ１１１）。以下、（Ｓ１１２）〜（Ｓ１１４）の処理を行う。一方で、移動領域Ｔｍが設定範囲Ｍｌを超えている場合（Ｓ１１５：Ｎｏ）には、移動領域取得処理を終了する。
【００３８】
次に、取得された移動領域Ｔｍに基づいてＮＣデータの指令位置に対する補正値を算出する補正値算出処理（Ｓ１２０）を実行する。補正値算出処理は、図６に示すように、先ず、補正値算出部１４が移動領域取得部１３から移動領域Ｔｍの取得に用いたＮＣデータの一部を取得する（Ｓ１２１）。次に、補正値算出部１４は、ＮＣデータの一部に含まれる一の指令位置Ｐｉについて、移動領域Ｔｍを形成する複数の単位格子のうち指令位置Ｐｉを含む単位格子Ｓを検索する（Ｓ１２２）。
【００３９】
そして、補正値算出部１４は、検索された単位格子Ｓの格子点Ｐｇ１〜Ｐｇ８に関連付けられた補正データを補正データ記憶部１２より取得する（Ｓ１２３）。この時、補正値算出部１４は、格子点Ｐｇ１〜Ｐｇ８および温度計測器１７より取得した工作機械の温度を補正データ記憶部１２に出力して、該当する補正データを要求する。これにより、取得する補正データは、熱変位補正を含むものとされる。また、補正値算出部１４は、単位格子Ｓの内部を単一のベクトル空間として、既知の方法により指令位置Ｐｉにおける補正値を算出し（Ｓ１２４）、補正値一次格納部１５に算出した補正値を順次格納する。
【００４０】
さらに、（Ｓ１２１）で取得したＮＣデータの一部に含まれる全ての指令位置について補正値が算出されたか判定（Ｓ１２５）し、残っている場合（Ｓ１２５：Ｎｏ）には、（Ｓ１２２）〜（Ｓ１２４）を繰り返す。一方で、ＮＣデータの一部に含まれる全ての指令位置について補正値が算出された場合（Ｓ１２５：Ｙｅｓ）には、補正値算出処理を終了する。
【００４１】
続いて、図４に戻り、空間補正処理の対象とするＮＣデータについて補正値の算出が終了しているか判定する（Ｓ１３０）。ＮＣデータの末尾まで空間補正を行った場合（Ｓ１３０：Ｙｅｓ）には、空間補正処理を終了する。一方で、ＮＣデータの末尾まで空間補正を行っていない場合（Ｓ１３０：Ｎｏ）には、処理を続行するために（Ｓ１１０）に戻り、上記処理を繰り返す。
【００４２】
さらに、補正値算出処理（Ｓ１２０）において、補正値算出ユニット１０がＮＣデータの指令位置に対する補正値を算出され（Ｓ１２４）、補正値一次格納部１５に補正値が格納されると、補正値算出ユニット１０による補正値移動処理（Ｓ１４０）、および駆動軸制御ユニット２０による駆動軸制御処理（Ｓ２１０）が並行して実行される。補正値移動処理部１６は、補正値一次格納部１５に格納される補正値の格納容量を監視し、格納容量が設定値に達した場合に、補正値二次格納部２２へ補正値を移動する処理を行う。
【００４３】
駆動軸制御ユニット２０は、補正値二次格納部２２に補正値が移動されると、駆動軸制御処理（Ｓ２１０）を実行する。駆動軸制御処理は、図７に示すように、先ず、ＮＣデータの指令位置に対する補正値を補正値二次格納部２２から取得する（Ｓ２１１）。次に、ＮＣデータの指令位置と取得した補正値とに基づいて、駆動軸の制御信号を出力する（Ｓ２１２）。これにより、ＮＣデータの指令位置が補正された状態で各駆動軸の動作が制御されることになる。
【００４４】
その後に、（Ｓ２１１）において取り出された補正値を補正値二次格納部２２から削除する（Ｓ２１３）。そして、制御部２１は、補正値二次格納部２２に補正値が残っているか判定し（Ｓ２１４）、残っている場合（Ｓ２１４：Ｙｅｓ）には、（Ｓ２１１）〜（Ｓ２１３）を繰り返す。一方で、補正値二次格納部２２から全ての補正値が削除された場合（Ｓ２１４：Ｎｏ）には、駆動軸制御処理を終了する。
【００４５】
（数値制御装置１による効果）
上述した工作機械の数値制御装置１によれば、補正値算出部１４は、移動領域Ｔｍを取得した後に、当該移動領域Ｔｍに含まれる単位格子Ｓを検索し、当該単位格子Ｓの格子点Ｐｇ１〜Ｐｇ８に関連付けられた補正データを用いて、ＮＣデータの補正値を算出する構成としている。これにより、従来のように駆動軸の可動領域全体に含まれる格子点から補正に使用する格子点を検索する場合と比較して、数値制御装置１は格段に演算処理量を低減できる。従って、補正データを記憶させる格子点の数を多くすることが可能となる。つまり、単位格子Ｓの大きさを非常に細かくすることができるので、その結果として、高精度な補正が可能となる。
【００４６】
また、移動領域取得部１３は、ＮＣデータの一部の指令位置を対象として移動領域Ｔｍを取得するものとした。つまり、一度にＮＣデータ全体について補正値の算出を行うのではなく、ＮＣデータの一部について補正値の算出を行うことを複数回に亘って行うようにした。これにより、補正値算出部１４による１回の補正値算出処理（Ｓ１２０）において適用される移動領域Ｔｍの大きさＭｐを小さくすることができる。その結果、単位格子Ｓの検索が早くなるとともに、ＮＣデータの補正値の算出に際しての演算処理量を確実に低減できる。
【００４７】
数値制御装置１は、補正値一次格納部１５と補正値二次格納部２２に補正値を適宜移動させながら、補正値算出部１４において補正値算出処理（Ｓ１２０）を行うようにしている。このような構成は、補正値算出部１４による１回の補正値算出処理にて適用する移動領域Ｔｍの大きさＭｐをより小さくすることに寄与することになる。その結果、補正値算出に際しての演算処理量を確実に低減できる。さらに、補正値移動処理部１６により補正値を移動する回数を低減することができる。これにより、補正値算出処理を行う時間を多く確保することができる。その結果、補正値算出部１４は、短時間で高精度な補正値を算出することができる。
【００４８】
さらに、移動領域取得部１３は、当該ＮＣデータの指令位置を含む移動領域Ｔｍを取得するものとした。これにより、移動領域取得部１３が取得した移動領域Ｔｍの大きさＭｐが常に設定範囲に含まれるようにできる。よって、補正値算出部１４において、１回の補正値算出処理（Ｓ１２０）における演算処理量を一定の範囲内とすることができる。これにより、補正値算出処理において、メモリを許容負荷内で有効利用することができる。そして、補正値算出部１４が使用するメモリにおける演算処理量の許容範囲内で、高精度な補正値を算出できるように、単位格子Ｓを設定することができる。その結果、数値制御装置１は、高精度なＮＣデータの補正が可能となる。
【００４９】
その他に、補正データ記憶部１２が熱変位補正を考慮した補正データ（総補正データ）を記憶し、補正値算出部１４が当該補正データと工作機械の温度とに基づいて補正値を算出する構成としている。これにより、算出された補正値は、熱変位補正を考慮した値となる。よって、位置決め誤差および工作機械の熱変位を補正することができるため、工作機械の各駆動軸の高精度な位置決めが可能となる。
【００５０】
＜実施形態の変形態様＞
本実施形態において、補正値算出ユニット１０と駆動軸制御ユニット２０を数値制御装置１の内部において、それぞれ独立したものとして説明した。これに対して、両ユニット１０，２０は、一体的な構成としてもよい。この場合には、例えば、補正値一次格納部１５および補正値二次格納部２２を共通する一の格納部とし、補正値移動処理部１６を省略する構成とする。これにより、補正値算出部１４において算出された補正値が格納部においてバッファリングされ、制御部２１が補正値とＮＣデータの指令位置に基づいて逐次各駆動軸の制御を行う。これにより、数値制御装置１の内部メモリを共通化することができる。
【００５１】
一方で、補正値算出ユニット１０と駆動軸制御ユニット２０を互いに通信可能で独立の分離したユニットとする構成としてもよい。これにより、例えば、演算負荷の比較的高い補正値算出処理やメモリ容量を要する補正データの記憶などを、制御部２１と分離し好適な並行処理が可能となるので、制御部２１における演算負荷が過多になることを防止できる。
【００５２】
また、数値制御装置１の補正値算出ユニット１０は、補正データ記憶部１２が工作機械の温度毎に複数の補正データを記憶し、温度計測器１７により測定した温度に基づいて、熱変位補正を含む位置決め誤差の補正を行うものとした。これに対して、熱変位補正については別個独立で行う（例えば、フィードバック制御において熱変位を行う方法など）ものとし、数値制御装置は、位置決め誤差のみを補正するものとしてもよい。このような構成においても、従来と比較して高精度に補正を行うことができる。
【００５３】
本実施形態において、移動領域取得部１３は、ＮＣデータの一部の指令位置による移動領域Ｔｍの大きさＭｐ（抽出する単位格子Ｓの数量）を監視し、移動領域Ｔｍが設定範囲に収まるように、先読みするＮＣデータの量を制限するものとした。これに対して、別の方法により先読みするＮＣデータの量を制限する構成としてもよい。例えば、単純にＮＣデータに含まれる指令位置の数量を監視して制限することが考えられる。ＮＣデータが微小間隔の指令位置による点群データにより構成されている場合には、格子点の間隔よりも指令位置同士の間隔が非常に小さくなることがある。そうすると、移動領域Ｔｍの大きさＭｐを指令位置毎に監視していたのでは処理量が増加するため、指令位置の数量から先読みするＮＣデータの量を適宜設定すると好適である。このような構成においても、本実施形態と同様の効果を奏する。
【００５４】
また、数値制御装置１は、上述したように、移動領域取得処理および補正値算出処理において、移動領域Ｔｍの大きさＭｐまたは指令位置の数量を監視して、ＮＣデータの一部を適宜量だけ先読みするものとした。これに対して、ＮＣデータの全体に対して補正値算出を行うものとしてもよい。このような場合には、補正値算出処理などにおける演算負荷が大きくなるものと考えられるが、数値制御装置１が十分な演算能力を有する場合には、上記構成としても実施形態と同様の効果を奏する。
【００５５】
その他に、本実施形態では、直交する３つの直進駆動軸を有する工作機械を例示して説明した。これに対して、さらに回転軸を有する構成や、直交する２つの直進駆動軸のみを有する構成の工作機械の数値制御装置においても本発明を適用することができ、同様の効果を奏する。
【符号の説明】
【００５６】
１：数値制御装置
１０：補正値算出ユニット、  １１：単位格子記憶部、  １２：補正データ記憶部
１３：移動領域取得部、  １４：補正値算出部、  １５：補正値一次格納部
１６：補正値移動処理部、  １７：温度計測器
２０：駆動軸制御ユニット、  ２１：制御部、  ２２：補正値二次格納部
Ｔａ：可動領域、  Ｔｍ：移動領域、  Ｓ：単位格子、  格子点：Ｐｇ
Ｐｉ：指令位置、  Ｍｐ，Ｍｌ：移動領域の大きさ
【図１】
0005838584.tif 000002
【図２】
0005838584.tif 000003
【図３】
0005838584.tif 000004
【図４】
0005838584.tif 000005
【図５】
0005838584.tif 000006
【図６】
0005838584.tif 000007
【図７】
0005838584.tif 000008