(57)【特許請求の範囲】
【請求項１】
工作機械の所定軸方向における第一位置を基準として、加工領域全範囲について各加工点に応じた前記所定軸方向の第一熱変位量を設定する第一熱変位量設定部と、
設定された前記第一熱変位量の最大値と最小値の間に位置する第二位置を基準として、前記加工領域全範囲について各加工点に応じた前記所定軸に対する第二熱変位量を設定する第二熱変位量設定部と、
前記第一位置から前記第二位置への原点シフト量を記憶する原点シフト量記憶部と、
前記工作機械による工作物の加工中に、前記所定軸方向における指令加工点を取得する指令加工点取得部と、
前記指令加工点、及び、前記第二熱変位量設定部により設定された前記第二熱変位量に基づいて、前記指令加工点に対応する前記第二熱変位量を補正値として取得する補正値取得部と、
取得した前記補正値及び前記原点シフト量に基づいて、前記所定軸方向の指令値を補正する補正部と、
を備える、熱変位補正装置。
【請求項２】
前記熱変位補正装置は、
前記工作機械の構造体の所定部位に配置された温度センサと、
前記温度センサの温度情報に基づいて構造解析を行うことにより前記構造体の熱変位量を算出する解析部と、
を備え、
前記第一熱変位量設定部は、前記解析部により得られる前記構造体の熱変位量に基づいて、前記第一熱変位量を設定する、請求項１に記載の熱変位補正装置。
【請求項３】
前記解析部、前記第一熱変位量設定部及び前記第二熱変位量設定部は、前記工作機械による加工中に実行する、請求項２に記載の熱変位補正装置。
【請求項４】
前記第二位置は、前記第一熱変位量の最大値と最小値との中間値である、請求項１−３の何れか一項に記載の熱変位補正装置。
【請求項５】
前記第二位置は、前記第一熱変位量の最大値と最小値の間のうち、所定の代表位置である、請求項１−３の何れか一項に記載の熱変位補正装置。
【請求項６】
前記第二位置は、前記工作物の前記所定軸方向の加工範囲において、前記第一熱変位量の最大値と最小値の間に位置する、請求項１−３の何れか一項に記載の熱変位補正装置。
【請求項７】
前記第二位置は、前記工作物の前記所定軸方向の加工範囲において、前記第一熱変位量の最大値と最小値との中間値である、請求項６に記載の熱変位補正装置。
【請求項８】
前記熱変位補正装置は、不変の特定位置を基準とした場合に、前記指令加工点に対応する熱変位量を表示する、請求項３に記載の熱変位補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、熱変位補正装置に関するものである。
【背景技術】
【０００２】
特許文献１には、高精度でリアルタイムに熱変位補正を行う熱変位補正装置が記載されている。この装置は、温度センサにより検出される温度情報に基づいて、有限要素法による構造解析を高速に行う。構造解析は、工作機械の構造体を複数のブロックに分割して、各ブロック内に含まれる各節点の温度を一定値とすることにより、各節点の熱変位量の演算量を大幅に低減している。
【０００３】
また、特許文献２には、ＮＣデータの指令値に対する熱変位の補正値の算出方法が記載されている。加工領域の全範囲を格子状に分割し、熱変位量の補正値を各格子点に関連付けて記憶し、現在加工点が存在する単位格子を構成する各格子点における補正値に基づいて、指令値に対する補正値を算出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１５７６８７号
【特許文献２】特開２０１２−２３４４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２において、各格子点に関連付けられる熱変位量の補正値は、特定の位置を原点とする値とされている。ここで、工作機械が加工中に熱変位補正を行う際には、指令値毎に熱変位量の補正値を演算する。そして、熱変位量の補正値のデータ型（整数型）のビット数は、熱変位量の補正値の最大値に応じた数とされる。そのため、熱変位量の補正値の最大値が大きいほど、データ型のビット数が大きくなり、熱変位補正の演算に多大な時間を要する。その結果、移動体の位置決め精度が低下するおそれがあり、また、加工時間が長くなるおそれがある。
【０００６】
そこで、データ型のビット数を小さくするために、熱変位量の最大値まで含まないようにすることが考えられる。しかし、これでは、熱変位量の最大値付近において、熱変位補正の効果を得ることができない。
【０００７】
本発明は、データ型を小さくしつつ、熱変位補正の効果を確実に得ることができる熱変位補正装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
熱変位補正装置は、工作機械の所定軸方向における第一位置を基準として、加工領域全範囲について各加工点に応じた前記所定軸方向の第一熱変位量を設定する第一熱変位量設定部と、設定された前記第一熱変位量の最大値と最小値の間に位置する第二位置を基準として、前記加工領域全範囲について各加工点に応じた前記所定軸に対する第二熱変位量を設定する第二熱変位量設定部と、前記第一位置から前記第二位置への原点シフト量を記憶する原点シフト量記憶部と、前記工作機械による工作物の加工中に、前記所定軸方向における指令加工点を取得する指令加工点取得部と、前記指令加工点、及び、前記第二熱変位量設定部により設定された前記第二熱変位量に基づいて、前記指令加工点に対応する前記第二熱変位量を補正値として取得する補正値取得部と、取得した前記補正値及び前記原点シフト量に基づいて、前記所定軸方向の指令値を補正する補正部とを備える。
【０００９】
加工中において、指令値に対する補正値は、第二熱変位量のうちの指令加工点に対応するものである。第二熱変位量は、第一熱変位量の最大値と最小値の間に位置する第二位置を基準とされている。つまり、第二熱変位量の最大値は、第一熱変位量の最大値と最小値との差以下となる。従って、補正値のデータ型のビット数は、第二熱変位量の最大値に応じた数で足りる。このように、補正値のデータ型のビット数を小さくすることができ、補正値の取得に要する時間を短くできる。従って、熱変位補正を全範囲について確実に行うことができる。つまり、熱変位補正の効果を確実に得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の工作機械の機械構成を示す図である。
【図２】工作機械の熱変位状態を示す図である。
【図３】工作機械が図２に示す熱変位状態である場合に、加工点に応じた第一熱変位量を示す。
【図４】工作機械の熱変位補正装置に関する機能ブロック図である。
【図５】加工領域の全範囲を格子状に分割した図を破線で示し、さらに指令値の加工点が含まれる１つの単位格子を実線で示す。
【図６】（第一例）原点シフト量をΔＺａとした場合の第二位置Ｏ２ａを基準とした第二熱変位量を示す。
【図７】（第二例）原点シフト量をΔＺｂとした場合の第二位置Ｏ２ｂを基準とした第二熱変位量を示す。
【図８】（第三例）原点シフト量をΔＺｃとした場合の第二位置Ｏ２ｃを基準とした第二熱変位量を示す。
【図９】（第四例）原点シフト量をΔＺｄとした場合の第二位置Ｏ２ｄを基準とした第二熱変位量を示す。
【発明を実施するための形態】
【００１１】
（１．工作機械の機械構成）
工作機械１０の一例としての横型マシニングセンタについて図１を参照して説明する。工作機械１０は移動軸部材として、相互に直交する３つの直進軸部材（Ｘ，Ｙ，Ｚ軸）および鉛直方向の回転軸部材（Ｂ軸）を有する工作機械である。なお、本発明が適用される工作機械１０は、以下に説明する工作機械１０に限られるものではない。
【００１２】
図１に示すように、工作機械１０の機械本体は、構造体としての、ベッド１１、コラム１２、サドル１３、主軸１４、スライドテーブル１５及びターンテーブル１６を備える。ベッド１１は、ほぼ矩形状からなり、床上に配置される。ベッド１１上には、コラム１２が、Ｘ軸方向（図１の紙面前後方向）に移動可能に設けられる。コラム１２の側面には、サドル１３が、Ｙ軸方向（図１の紙面上下方向）に移動可能に設けられる。サドル１３には、主軸１４が、Ｚ軸方向に平行な軸線回りに回転可能に設けられる。主軸１４の先端には、回転工具１９が取り付けられる。また、ベッド１１上には、スライドテーブル１５がＺ軸方向に移動可能に設けられる。スライドテーブル１５上には、ターンテーブル１６がＹ軸回り（Ｂ軸）に回転可能に設けられる。ターンテーブル１６には、工作物Ｗが治具を介して固定している。
【００１３】
（２．工作機械の熱変位状態の説明）
次に、工作機械１０の熱変位状態について図２及び図３を参照して説明する。ただし、図２は、熱変位を誇張して表現している。ただし、図２に示す熱変位状態は、一例であり、変形形状は、工作機械１０の構造によって異なる。ここで、本実施形態においては、Ｚ軸位置の熱変位補正について説明するが、Ｘ軸位置又はＹ軸位置の熱変位補正、さらには他の軸方向位置の熱変位補正についても同様に適用できる。
【００１４】
図２には、熱変位補正を行うための基準である第一位置Ｏ１を示す。第一位置Ｏ１は、機械制御の初期設定時や機械設計時に選ばれた基準位置等である。図２に示すように、ベッド１１の上面が左側に伸びるように変形する。つまり、工作物Ｗの位置は、スライドテーブル１５のＺ軸位置が大きくなるほど、Ｚ軸プラス方向に変位する。また、コラム１２のサドル１３の摺動面は、先端側ほど左側に傾くように変形する。つまり、回転工具１９の位置は、サドル１３のＹ１位置が大きくなるほど、Ｚ軸プラス方向に変位する。
【００１５】
上記の熱変位状態において、加工領域全範囲について各加工点に応じたＺ軸方向の第一熱変位量Ｚ１は、図３に示すとおりである。ここで、第一熱変位量Ｚ１は、第一位置Ｏ１を基準としたときの各加工点の熱変位量である。同様に、Ｘ軸方向及びＹ軸方向の熱変位量についても同様に表すことができる。ただし、Ｚ軸方向の第一熱変位量Ｚ１が、加工精度に最も影響を及ぼすため、Ｚ軸方向のみについて説明する。
【００１６】
図３には、スライドテーブル１５のＺ軸位置がＺ＝０，１００，２００，３００，４００のそれぞれの場合について、サドル１３のＹ軸位置に応じた第一熱変位量Ｚ１が示される。
【００１７】
スライドテーブル１５のＺ軸座標値に関わりなく、サドル１３のＹ軸座標値が大きいほど、第一熱変位量Ｚ１は大きくなる。また、サドル１３のＹ軸位置に関わりなく、スライドテーブル１５のＺ軸座標値が大きくなるほど、第一熱変位量Ｚ１が大きくなる。従って、サドル１３のＹ軸座標値が小さいときには、第一熱変位量Ｚ１の最小値と最大値の差が小さい。一方、サドル１３のＹ軸座標値が大きいときには、第一熱変位量Ｚ１の最小値と最大値の差が大きい。
【００１８】
（３．工作機械の熱変位補正装置に関する機能ブロック構成）
次に、工作機械１０の熱変位補正装置２０に関する機能ブロック構成について図４〜図９を参照して説明する。熱変位補正装置２０は、工作機械１０の構造体の熱変位による位置ずれを解消するために、ＮＣデータによる指令値に対する補正を行う。
【００１９】
熱変位補正装置２０は、図４に示す各部２１〜２９を備える。温度センサ２１は、工作機械１０の構造体のうち、解析部２２による構造解析の対象物に設けられる。例えば、温度センサ２１は、ベッド１１及びコラム１２に設けられる。温度センサ２１は、加工中にリアルタイムに計測している。温度センサ２１は、例えば、数秒毎に温度を取得する。
【００２０】
解析部２２は、温度センサ２１の温度情報に基づいて、有限要素法等による構造解析を行うことにより、構造体の熱変位量を算出する。解析部２２は、例えば、ベッド１１のうちスライドテーブル１５の摺動面の熱変位量、及び、コラム１２のうちサドル１３の摺動面の熱変位量を算出することができる。
【００２１】
解析部２２は、例えば、国際公開第２０１２／１５７６８７号に記載されている方法を適用する。解析部２２は、当該方法を適用することにより、加工中にリアルタイムに実行することができる。解析部２２は、温度センサ２１による温度情報の取得タイミングと同様に、例えば、数秒毎に実行する。
【００２２】
解析部２２は、対象物である構造体モデルを構造解析における複数の要素により形成する。各要素は、四面体一次要素、四面体二次要素、六面体一次要素、六面体二次要素等である。そして、解析部２２は、構造体モデルの各節点（要素の頂点）の境界条件を設定する。境界条件は、位置に関する拘束条件、温度条件等である。解析部２２は、各節点の温度条件として、構造体モデルを複数のブロックに分割して、複数のブロックに含まれる複数の節点の温度を均一値とする。なお、１つのブロックは、複数の要素を含む大きさである。このように、各ブロック内の節点の温度を均一値とすることにより、解析部２２による構造解析の演算量が大幅に低減し、リアルタイムな高速演算が可能となる。
【００２３】
第一熱変位量設定部２３は、解析部２２により得られる構造体の熱変位量に基づいて、第一位置Ｏ１を基準として、加工領域全範囲について各加工点に応じたＺ軸方向の第一熱変位量Ｚ１を設定する。第一熱変位量設定部２３による処理は、加工中にリアルタイムに実行される。
【００２４】
第一熱変位量Ｚ１について、図５を参照して説明する。図５に示すように、工作機械１０の加工領域全範囲を格子状に分割して、第一熱変位量Ｚ１が各格子点Ｐに関連付けられる。つまり、各格子点Ｐに、異なる第一熱変位量Ｚ１が設定されている。第一熱変位量Ｚ１は、第一位置Ｏ１を基準（原点）とした値である。各格子点Ｐにおける第一熱変位量Ｚ１は、図２に示すように、Ｙ軸座標値が大きいほど大きな値となり、Ｚ軸座標値が大きいほど大きな値となる。なお、図２には図示しないが、第一熱変位量Ｚ１は、Ｘ軸座標値に応じて変化する。
【００２５】
第二熱変位量設定部２４は、第一熱変位量設定部２３により設定された第一熱変位量Ｚ１に基づいて、加工領域全範囲について各格子点Ｐに応じたＺ軸方向の第二熱変位量Ｚ２を設定する。第二熱変位量設定部２４による処理は、加工中にリアルタイムに実行される。
【００２６】
第二熱変位量Ｚ２は、第一位置Ｏ１とは異なる第二位置Ｏ２を基準（原点）とする値である。本実施形態においては、第二位置Ｏ２は、第一位置Ｏ１に対してＺ軸方向にずれた位置とする。第二位置Ｏ２は、第一熱変位量Ｚ１の最大値と最小値の間に位置する。ここで、第二位置Ｏ２は、後述する熱変位の補正値のデータ型のビット数を小さくさせることを目的として、演算の際に用いる補正値の原点として第一位置Ｏ１からシフトさせた位置である。第二位置Ｏ２は、例えば、以下に示す４例のうち何れかを採用する。
【００２７】
（第一例）第一例の第二位置Ｏ２ａについて、図６を参照して説明する。第一例の第二位置Ｏ２ａは、第一熱変位量Ｚ１の最大値と最小値との中間値である。従って、各格子点Ｐの第二熱変位量Ｚ２のデータ型は、正負両方の整数を表せる符号あり整数型である。この場合、Ｙ軸が、Ｙ２ａとなる。また、第一位置Ｏ１から第二位置Ｏ２ａへの原点シフト量は、ΔＺａとなる。
【００２８】
（第二例）第二例の第二位置Ｏ２ｂについて、図７を参照して説明する。第二例の第二位置Ｏ２ｂは、第一熱変位量Ｚ１の最大値と最小値の間のうち所定の代表位置Ｐｂである。本例では、代表位置Ｐｂは、サドル１３が最も下方に位置し、スライドテーブル１５が最もコラム１２側に位置する状態の加工点に相当する。つまり、代表位置Ｐｂは、第一熱変位量Ｚ１が最も小さな位置である。ただし、代表位置Ｐｂは、第一熱変位量Ｚ１が小ささの観点に限定されず、他の観点から選ばれた点としてもよい。例えば、代表位置Ｐｂは、加工精度に影響しやすい部位である工作物Ｗ付近の点等としてもよい。
【００２９】
この場合、各格子点Ｐの第二熱変位量Ｚ２のデータ型は、符号なし整数型（正値のみの整数型）である。この場合、Ｙ軸が、Ｙ２ｂとなる。また、第一位置Ｏ１から第二位置Ｏ２ｂへの原点シフト量は、ΔＺｂとなる。
【００３０】
（第三例）第三例の第二位置Ｏ２ｃについて、図８を参照して説明する。第三例の第二位置Ｏ２ｃは、工作物ＷのＺ軸方向の加工範囲において、第一熱変位量Ｚ１の最大値と最小値の間に位置する。図８には、例えば、工作物ＷのＺ軸方向の加工範囲は、Ｚ＝１００からＺ＝３００の範囲である場合を示す。
【００３１】
第一例の第二位置Ｏ２ａは、Ｚ軸方向の全範囲を対象としているため、Ｚ＝０からＺ＝４００の範囲を対象とした。一方、第三例の第二位置Ｏ２ｃは、Ｚ軸方向の一部範囲（Ｚ＝１００〜Ｚ＝３００）を対象としている。特に、第二位置Ｏ２ｃは、工作物ＷのＺ軸方向の加工範囲において、第一熱変位量Ｚ１の最大値と最小値との中間値である。従って、各格子点Ｐの第二熱変位量Ｚ２のデータ型は、正負両方の整数を表せる符号あり整数型である。この場合、Ｙ軸が、Ｙ２ｃとなる。また、第一位置Ｏ１から第二位置Ｏ２ｃへの原点シフト量は、ΔＺｃとなる。
【００３２】
（第四例）第四例の第二位置Ｏ２ｄは、図９を参照して説明する。第四例の第二位置Ｏ２ｄは、工作物ＷのＺ軸方向の加工範囲において、第一熱変位量Ｚ１の最大値と最小値の間に位置する。さらに、第四例の第二位置Ｏ２ｄは、第一熱変位量Ｚ１の最大値と最小値の間のうち所定の代表位置Ｐｄである。本例では、代表位置Ｐｄは、工作物座標系の原点Ｐｄに相当する位置である。
【００３３】
この場合、各格子点Ｐの第二熱変位量Ｚ２のデータ型は、符号なし整数型（正値のみの整数型）である。この場合、Ｙ軸が、Ｙ２ｄとなる。また、第一位置Ｏ１から第二位置Ｏ２ｄへの原点シフト量は、ΔＺｄとなる。
【００３４】
ここで、データ型（整数型）について説明する。符号なし整数型は、ビットの並びをそのまま数値として解釈する。符号あり整数型は、負値の表現方法に応じて異なる。符号あり整数型は、例えば、符号−仮数部、１の補数、２の補数、エクセスＮ等がある。上記の第一例及び第三例における第二熱変位量Ｚ２は、符号あり整数型の４種のうち何れかを採用する。
【００３５】
「符号−仮数部」表現は、符号ビットを追加して正負を表す方法である。例えば、「符号−仮数部」表現での「−１２７」は、８ビットのビットパターン「１１１１１１１１」で表される。
「１の補数」表現は、負の数の表現に絶対値のビット単位のＮＯＴを適用する。例えば、「１の補数」表現での「−１２７」は、８ビットのビットパターン「１０００００００」で表される。
【００３６】
「２の補数」表現は、「１の補数」表現より１だけ大きいビットパターンで表される。例えば、「２の補数」表現での「−１２７」は、８ビットのビットパターン「１００００００１」で表される。
「エクセスＮ」表現は、オフセット・バイナリとも呼ばれ、事前に決めたＮという数をバイアス値として使う。０はＮで表され、−Ｎはゼロが並んだビットパターンで表される。例えば、「エクセス１２７」表現での「−１２７」は、８ビットのビットパターン「００００００００」で表される。
【００３７】
例えば、８ビットの場合に、符号なし整数型、符号あり整数型の上記各表現では、以下の表に示す数値範囲を表すことができる。
【００３８】
【表１】
0006561788.tif 000002
【００３９】
従って、上記の第一例の第二位置Ｏ２ａを基準とした第二熱変位量Ｚ２、及び、第二例の第二位置Ｏ２ｂを基準とした第二熱変位量Ｚ２は、同じビット数で表すことができる。また、第三例の第二位置Ｏ２ｃを基準とした第二熱変位量Ｚ２、及び、第四例の第二位置Ｏ２ｄを基準とした第二熱変位量Ｚ２は、工作物ＷのＺ軸方向の加工範囲を対象とする。そこで、第二熱変位量Ｚ２が、当該加工範囲のみを表すビット数に制限することもできる。この場合、第一例、第二例の場合に比べて、少ないビット数で表すことができる。また、第三例、第四例については、同じビット数で表すことができる。
【００４０】
なお、第二位置Ｏ２は、上述した第一例〜第四例の場合以外に、第一熱変位量Ｚ１の最大値と最小値の間にシフトさせ、後述する補正値のデータ型のビット数を小さくさせることができる効果が得られる位置であれば、他の位置であってもよい。
【００４１】
図４に戻り説明する。原点シフト量記憶部２５は、第一位置Ｏ１から第二位置（Ｏ２ａ〜Ｏ２ｄの何れか）への原点シフト量（ΔＺａ〜ΔＺｄの何れか）を記憶する。
指令加工点取得部２６は、工作機械１０による工作物Ｗの加工中に、ＮＣデータによるＺ軸方向における指令加工点を取得する。
【００４２】
補正値取得部２７は、指令加工点、及び、第二熱変位量設定部２４に設定された第二熱変位量Ｚ２に基づいて、指令加工点に対応する第二熱変位量Ｚ２を補正値として取得する。この補正値の算出方法について、図５を参照して説明する。
【００４３】
図５の実線にて示す単位格子の中に、指令加工点が位置するとする。この場合、指令加工点が含まれる単位格子の８つの格子点Ｐの第二熱変位量Ｚ２を取得する。補正値取得部２７は、当該単位格子の中における指令加工点の位置に応じて、８つの格子点Ｐの第二熱変位量Ｚ２に基づいて、指令加工点に対応する補正値を算出する。
【００４４】
このとき、各格子点Ｐの第二熱変位量Ｚ２は、所定のビット数で表現されている。従って、補正値の算出において、８つの格子点Ｐの第二熱変位量Ｚ２を用いるため、補正値の算出処理は、格子点Ｐの第二熱変位量Ｚ２のビット数に応じた時間を要する。ただし、第二熱変位量Ｚ２は、第一熱変位量Ｚ１に比べて少ないビット数で表現できるため、補正値の算出処理は、第一熱変位量Ｚ１を用いるのではなく、第二熱変位量Ｚ２を用いるため、短時間で処理できる。
【００４５】
補正部２８は、補正値取得部２７が取得した補正値、及び、原点シフト量記憶部２５に記憶された原点シフト量（ΔＺａ〜ΔＺｄの何れか）に基づいて、Ｚ軸方向の指令値を補正する。ここで、補正値取得部２７が取得した補正値は、第二位置（Ｏ２ａ〜Ｏ２ｄの何れか）を基準としている。そこで、補正値に原点シフト量（ΔＺａ〜ΔＺｄの何れか）を加えることにより、第一位置Ｏ１を基準とした補正値を算出でき、当該補正値を指令値に加えた値に基づいてスライドテーブル１５を駆動する。
【００４６】
表示部２９は、加工中に、指令加工点に対応する熱変位量を逐次表示する。ただし、表示部２９が表示する熱変位量は、第二熱変位量Ｚ２ではなく、第一熱変位量Ｚ１に相当する値である。第二熱変位量Ｚ２の基準となる第二位置（Ｏ２ａ〜Ｏ２ｄの何れか）は、解析部２２の処理が行われる都度変化する。しかし、第一熱変位量Ｚ１の基準となる第一位置Ｏ１は、不変である。そこで、表示部２９は、不変の特定位置である第一位置Ｏ１を基準とした場合に、指令加工点に対応する熱変位量を表示する。
【００４７】
（４．実施形態の効果）
熱変位補正装置２０は、工作機械１０のＺ軸方向における第一位置Ｏ１を基準として、加工領域全範囲について各加工点に応じたＺ軸方向の第一熱変位量Ｚ１を設定する第一熱変位量設定部２３と、設定された第一熱変位量Ｚ１の最大値と最小値の間に位置する第二位置Ｏ２ａ〜Ｏ２ｄを基準として、加工領域全範囲について各加工点に応じたＺ軸に対する第二熱変位量Ｚ２を設定する第二熱変位量設定部２４と、第一位置Ｏ１から第二位置Ｏ２ａ〜Ｏ２ｄへの原点シフト量ΔＺａ〜ΔＺｄを記憶する原点シフト量記憶部２５と、工作機械１０による工作物Ｗの加工中に、Ｚ軸方向における指令加工点を取得する指令加工点取得部２６と、指令加工点、及び、第二熱変位量設定部２４により設定された第二熱変位量Ｚ２に基づいて、指令加工点に対応する第二熱変位量Ｚ２を補正値として取得する補正値取得部２７と、取得した補正値及び原点シフト量ΔＺａ〜ΔＺｄに基づいて、Ｚ軸方向の指令値を補正する補正部２８とを備える。
【００４８】
加工中において、指令値に対する補正値は、第二熱変位量Ｚ２のうちの指令加工点に対応するものである。第二熱変位量Ｚ２は、第一熱変位量Ｚ１の最大値と最小値の間に位置する第二位置Ｏ２ａ〜Ｏ２ｄを基準とされている。つまり、第二熱変位量Ｚ２の最大値は、第一熱変位量Ｚ１の最大値と最小値との差以下となる。従って、補正値のデータ型（整数型）のビット数は、第二熱変位量Ｚ２の最大値に応じた数で足りる。このように、補正値のデータ型のビット数を小さくすることができ、補正値の取得に要する時間を短くできる。従って、熱変位補正を全範囲について確実に行うことができる。つまり、熱変位補正の効果を確実に得ることができる。
【００４９】
また、熱変位補正装置２０は、工作機械１０の構造体の所定部位に配置された温度センサ２１と、温度センサ２１の温度情報に基づいて構造解析を行うことにより構造体の熱変位量を算出する解析部２２とを備える。そして、第一熱変位量設定部２３は、解析部２２により得られる構造体の熱変位量に基づいて、第一熱変位量Ｚ１を設定する。
【００５０】
つまり、解析部２２により構造解析が行われる度に、第一熱変位量Ｚ１が算出される。従って、第一熱変位量Ｚ１の最大値と最小値は変化する。ここで、第二熱変位量設定部２４が、第一熱変位量Ｚ１に基づいて第二熱変位量Ｚ２を算出する。そのため、第一熱変位量Ｚ１の最大値と最小値の変化に応じて、第二熱変位量Ｚ２及び原点シフト量ΔＺａ〜ΔＺｄが変化する。つまり、解析結果に応じて第二位置Ｏ２ａ〜Ｏ２ｄを適宜変更することで、補正値のデータ型のビット数が小さくなるようにできる。
【００５１】
また、解析部２２、第一熱変位量設定部２３及び第二熱変位量設定部２４は、工作機械１０による加工中に実行している。得られた第一熱変位量Ｚ１に応じて第二位置Ｏ２ａ〜Ｏ２ｄを加工中に逐次変更することで、補正値のデータ型のビット数を常に小さな状態とできる。従って、補正値の算出処理を短時間で行うことができる。
【００５２】
また、第一例で示したように、第二位置Ｏ２ａは、第一熱変位量Ｚ１の最大値と最小値との中間値である。この場合、確実に、補正値のデータ型のビット数を小さくできる。第二例で示したように、第二位置Ｏ２ｂは、第一熱変位量Ｚ１の最大値と最小値の間のうち、所定の代表位置Ｐｂである。この場合も、確実に、補正値のデータ型のビット数を小さくできる。
【００５３】
また、第三例で示したように、第二位置Ｏ２ｃは、工作物ＷのＺ軸方向の加工範囲において、第一熱変位量Ｚ１の最大値と最小値の間に位置する。第一例、第二例に比べて、実際に使用する補正値のデータ型のビット数を小さくできる。また、第四例で示したように、第二位置Ｏ２ｄは、工作物ＷのＺ軸方向の加工範囲において、第一熱変位量Ｚ１の最大値と最小値との中間値である。この場合も、第三例と同様に、実際に使用する補正値のデータ型のビット数を小さくできる。
【００５４】
また、熱変位補正装置２０は、不変の特定位置（例えば第一位置Ｏ１）を基準とした場合に、指令加工点に対応する熱変位量を表示する。ここで、補正値の算出処理においては、変化する第二位置Ｏ２ａ〜Ｏ２ｄを基準とする第二熱変位量Ｚ２を用いる。これに対して、表示部２９に表示する熱変位量は、不変の特定位置を基準とした値とする。表示部２９に表示する熱変位量が不変の特定位置を基準とする値とすることで、オペレータは、加工中に熱変位量がどのように変化しているかを確実に把握することができる。
【符号の説明】
【００５５】
１０：工作機械、  ２０：熱変位補正装置、  ２１：温度センサ、  ２２：解析部、  ２３：第一熱変位量設定部、  ２４：第二熱変位量設定部、  ２５：原点シフト量記憶部、  ２６：指令加工点取得部、  ２７：補正値取得部、  ２８：補正部、  ２９：表示部、  Ｏ１：第一位置、  Ｏ２，Ｏ２ａ−Ｏ２ｄ：第二位置、  Ｐ：格子点、  Ｐｂ，Ｐｄ：代表位置、  Ｗ：工作物、  Ｚ１：第一熱変位量、  Ｚ２：第二熱変位量、  ΔＺａ-ΔＺｄ：原点シフト量
【図１】
0006561788.tif 000003
【図２】
0006561788.tif 000004
【図３】
0006561788.tif 000005
【図４】
0006561788.tif 000006
【図５】
0006561788.tif 000007
【図６】
0006561788.tif 000008
【図７】
0006561788.tif 000009
【図８】
0006561788.tif 000010
【図９】
0006561788.tif 000011