(57)【特許請求の範囲】
【請求項１】
主軸を支持する主軸ヘッドと、該主軸ヘッドを支持しており、上下に延びたコラムと、該コラムに設けてあり、前記主軸ヘッドが上下に移動する為の移動機構と、前記コラムに設けてあり、前記主軸及び移動機構の駆動を制御する制御装置とを備える工作機械において、
前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算する演算部を備えること
を特徴とする工作機械。
【請求項２】
前記制御装置にて設定した前記主軸における上下位置の目標値に、前記演算部の演算結果を加算して、前記目標値を補正する補正部を備え、
前記制御装置は、前記補正部の補正結果に基づいて、前記移動機構の駆動を制御すること
を特徴とする請求項１に記載の工作機械。
【請求項３】
前記移動機構に対応した上下位置にて、前記制御装置は前記移動機構の反対側に位置し、
前記制御装置から伝導した熱によって、前記移動機構を設けた位置で前記コラムが上下方向に変位した第２熱変位量を演算する第２演算部と、
前記演算部にて演算した熱変位量及び前記第２演算部にて演算した第２熱変位量を加算する加算部と
を備えること
を特徴とする請求項１に記載の工作機械。
【請求項４】
前記コラムの各上下位置に対応付けて、前記第２演算部にて前記第２熱変位量を演算し、前記加算部の加算結果を前記コラムの各上下位置に対応付けて記憶すること
を特徴とする請求項３に記載の工作機械。
【請求項５】
前記制御装置にて設定した前記主軸における上下位置の目標値に、前記加算部の加算結果を加算して、前記目標値を補正する第２補正部を備え、
前記制御装置は、前記第２補正部の補正結果に基づいて、前記移動機構の駆動を制御すること
を特徴とする請求項３又は４に記載の工作機械。
【請求項６】
主軸を支持する主軸ヘッド、該主軸ヘッドが上下に移動する為の移動機構並びに前記主軸及び移動機構の駆動を制御する制御装置を支持するコラムの熱変位量を演算する演算方法であって、
前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算することを特徴とする演算方法。
【請求項７】
制御プログラムに従って、主軸ヘッドが上下に移動する為の移動機構を支持するコラムの熱変位量を演算する制御装置で実行可能なコンピュータプログラムであって、
前記制御装置を前記コラムに設けてあり、
前記制御装置を、前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算する演算部として機能させること
を特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主軸ヘッドを支持するコラムの熱変位量を演算する工作機械、演算方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
工作機械は、主軸を支持する主軸ヘッドと、該主軸ヘッドに連結したナットと、該ナットに転動体を介して螺合した螺子軸とを備える。コラムがナット及び螺子軸を支持しており、モータが螺子軸に連結している。螺子軸及びナットが駆動した場合、両者間で摩擦熱が発生するので、螺子軸は延びる。工作機械は、摩擦熱に基づいて、螺子軸の変位量を演算する。工作機械はモータの駆動制御に螺子軸の変位量を使用し、主軸の位置を制御する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１４２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コラムは、モータ及び主軸の駆動を制御する制御装置を支持する。制御装置は熱を発し、該熱によってコラムは熱変位し、主軸の位置がずれる。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、コラムの熱変位量を演算する工作機械、演算方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明に係る工作機械は、主軸を支持する主軸ヘッドと、該主軸ヘッドを支持しており、上下に延びたコラムと、該コラムに設けてあり、前記主軸ヘッドが上下に移動する為の移動機構と、前記コラムに設けてあり、前記主軸及び移動機構の駆動を制御する制御装置とを備える工作機械において、前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算する演算部を備えることを特徴とする。
【０００７】
本発明に係る工作機械は、前記制御装置にて設定した前記主軸における上下位置の目標値に、前記演算部の演算結果を加算して、前記目標値を補正する補正部を備え、前記制御装置は、前記補正部の補正結果に基づいて、前記移動機構の駆動を制御することを特徴とする。
【０００８】
本発明に係る工作機械は、前記移動機構に対応した上下位置にて、前記制御装置は前記移動機構の反対側に位置し、前記制御装置から伝導した熱によって、前記移動機構を設けた位置で前記コラムが上下方向に変位した第２熱変位量を演算する第２演算部と、前記演算部にて演算した熱変位量及び前記第２演算部にて演算した第２熱変位量を加算する加算部とを備えることを特徴とする。
【０００９】
本発明に係る工作機械は、前記コラムの各上下位置に対応付けて、前記第２演算部にて前記第２熱変位量を演算し、前記加算部の加算結果を前記コラムの各上下位置に対応付けて記憶することを特徴とする。
【００１０】
本発明に係る工作機械は、前記制御装置にて設定した前記主軸における上下位置の目標値に、前記加算部の加算結果を加算して、前記目標値を補正する第２補正部を備え、前記制御装置は、前記第２補正部の補正結果に基づいて、前記移動機構の駆動を制御することを特徴とする。
【００１１】
本発明に係る演算方法は、主軸を支持する主軸ヘッド、該主軸ヘッドが上下に移動する為の移動機構並びに前記主軸及び移動機構の駆動を制御する制御装置を支持するコラムの熱変位量を演算する演算方法であって、前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算することを特徴とする。
【００１２】
本発明に係るコンピュータプログラムは、制御プログラムに従って、主軸ヘッドが上下に移動する為の移動機構を支持するコラムの熱変位量を演算する制御装置で実行可能なコンピュータプログラムであって、前記制御装置を前記コラムに設けてあり、前記制御装置を、前記制御装置から伝導した熱によって、前記移動機構の下側で前記コラムが上下方向に変位した熱変位量を演算する演算部として機能させることを特徴とする。
【００１３】
移動機構の下側において、コラムが熱変位した場合、移動機構が上下方向に変位するので、移動機構における主軸ヘッドの上下位置に拘わらず、主軸ヘッドも変位する。制御装置及び移動機構の上下位置は対応し、制御装置は移動機構の反対側に位置している。コラムにおいて、制御装置を設けた部分は、移動機構を設けた部分よりも高熱になるので、両部分の温度差によってコラムは曲がる。曲がりの開始位置は、移動機構の下側から開始する。曲げによってコラムは上下方向に変位する。従って、本発明においては、移動機構の下側において、コラムの上下方向における熱変位量を演算する。
【００１４】
本発明においては、演算した熱変位量を目標値に加算して、主軸の位置補正を実現する。
【００１５】
制御装置及び移動機構の上下位置は対応し、制御装置は移動機構の反対側に位置している。コラムにおいて、制御装置を設けた部分は、移動機構を設けた部分よりも高熱になるので、両部分の温度差によってコラムは曲がる。曲げによってコラムは上下方向に変位する。曲げの角度はコラムの上下位置によって変化する。すなわち移動機構の上側と下側で曲げの角度が異なり、上下方向の変位量も異なる。従って、本発明においては、曲げによって生じたコラムの上下方向の第２熱変位量を演算し、演算した第２熱変位量を前記熱変位量に加算する。
【００１６】
本発明においては、コラムの各上下位置に対応付けて、加算部の加算結果を記憶し、各上下位置における主軸の位置補正を容易にする。
【００１７】
本発明においては、熱変位量及び第２熱変位量を目標値に加算して、精度の高い主軸の位置補正を実現する。
【発明の効果】
【００１８】
移動機構の下側において、コラムが熱変位した場合、移動機構が上下方向に変位するので、移動機構における主軸ヘッドの上下位置に拘わらず、主軸ヘッドも変位する。本発明にあっては、移動機構の下側において、コラムの上下方向における熱変位量を演算するので、演算結果に基づいて、主軸の位置を補正することができる。
【図面の簡単な説明】
【００１９】
【図１】工作機械を略示する斜視図である。
【図２】工作機械の上部を略示する左側面図である。
【図３】工作機械の制御システムの構成を示すブロック図である。
【図４】経過時間に対するコラムのＺ軸方向の熱変位量を示すグラフである。
【図５】制御部による目標位置の補正処理を説明するフローチャートである。
【図６】制御部によるデータベース作成処理を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下本発明を実施の形態に係る工作機械を示す図面に基づいて説明する。図１は工作機械を略示する斜視図、図２は工作機械の上部を略示する左側面図である。以下の説明では図において矢印で示す上下、左右及び前後を使用する。
【００２１】
工作機械は、ベース５２、機械本体５３、ＸＹステージ機構６０及び工具交換装置８０等を備える。ベース５２は鉄製の略直方体状の土台である。機械本体５３は、ベース５２の上部後方に設けられ、ＸＹステージ機構６０上に保持したワーク（図示略）に対する切削などの加工を行う。ＸＹステージ機構６０は、ベース５２の上部中央に設けられ、Ｘステージ６１をＸ軸方向（左右方向）及びＹ軸方向（前後方向）に駆動する。工具交換装置８０は、機械本体５３の上部に設けられ、機械本体５３の主軸５７に装着された工具Ｔを交換する。
【００２２】
機械本体５３は、コラム５５、主軸ヘッド５６、主軸５７及び制御装置１等を備える。コラム５５は柱状であり、ベース５２の上部後方に立設している。図２に示すように、コラム５５の上部５５ｂの前面にＺ軸方向移動機構４３０が設けてある。Ｚ軸方向移動機構４３０は、Ｚ軸ボール螺子４３１、ナット４３２及びＺ軸モータ４３を備える。Ｚ軸ボール螺子４３１は上下に延びる。Ｚ軸モータ４３はＺ軸ボール螺子４３１の上端部に連結する。ナット４３２はＺ軸ボール螺子４３１に螺合する。主軸ヘッド５６はナット４３２に設ける。Ｚ軸モータ４３は、Ｚ軸ボール螺子４３１を正逆方向へ回転する。故に主軸ヘッド５６は、ナット４３２と共にＺ軸方向（上下方向）へ移動する。
【００２３】
主軸ヘッド５６は主軸５７を回転可能に支持する。主軸５７の下端部は工具Ｔを装着する。主軸ヘッド５６は、上部に主軸モータ４４（図３参照）を備える。主軸モータ４４は主軸５７を回転する。
【００２４】
工具交換装置８０は、円盤状の工具マガジン８１を備える。工具マガジン８１は、マガジンモータ４５（図３参照）の駆動により軸周りに旋回する。工具マガジン８１は、複数個のポット８２備える。複数個のポット８２は、工具マガジン８１の外周上に周方向に並設してある。各ポット８２は、工具Ｔを着脱可能に収容する。工具交換装置８０は、工具マガジン８１を旋回し、次に使用する工具Ｔを装着したポット８２を工具交換位置へ移動する。工具交換装置８０は、主軸５７に装着した工具Ｔを外し、工具交換位置にあるポット８２に装着した工具Ｔを主軸５７に装着する。
【００２５】
ＸＹステージ機構６０は、Ｘステージ６１、Ｙステージ６２、Ｘ軸モータ４１及びＹ軸モータ４２（図３参照）等を備える。Ｘステージ６１は、上面にワークを保持する作業台である。Ｙステージ６２は、上面にＸステージ６１をＸ軸方向へ移動可能に支持し、且つ、ベース５２の上面中央においてＹ軸方向に移動可能である。
【００２６】
ベース５２はＹ軸ボール螺子（図示略）及びＹ軸モータ４２を備える。Ｙステージ６２は下面にナット（図示略）を備える。ナットはＹ軸ボール螺子に螺合する。Ｙ軸モータ４２はＹ軸ボール螺子を正逆方向に回転する。よって、Ｙステージ６２はナットと共にＹ軸方向へ移動する。
【００２７】
Ｙステージ６２はＸ軸ボール螺子（図示略）及びＸ軸モータ４１を備える。Ｘステージ６１は下面にナット（図示略）を備える。ナットはＸ軸ボール螺子に螺合する。Ｘ軸モータ４１はＸ軸ボール螺子を正逆方向へ回転する。よってＸステージ６１はナットと共にＸ軸方向へ移動する。またＸステージ６１はＹステージ６２を介してＹ軸方向へ移動する。従ってＸステージ６１は、Ｘ軸方向及びＹ軸方向の両方向へ移動可能である。
【００２８】
制御装置１はコラム５５の上部５５ｂの後面に設けてあり、Ｘ軸モータ４１、Ｙ軸モータ４２、Ｚ軸モータ４３、主軸モータ４４及びマガジンモータ４５の駆動を制御する。上記各モータはサーボモータである。
【００２９】
図３は、工作機械の制御システムの構成を示すブロック図である。制御装置１は、制御部１０、入力部１７、表示部１８、Ｘ軸駆動制御部２１、Ｙ軸駆動制御部２２、Ｚ軸駆動制御部２３、主軸駆動制御部２４及びマガジン駆動制御部２５等を備える。以下、Ｘ軸駆動制御部２１〜マガジン駆動制御部２５を総称する場合は、駆動制御部２１〜２５と呼ぶ。制御部１０はＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性メモリ、入出力インタフェース及びタイマ等を備え、ＲＯＭ又は不揮発性メモリに格納した制御プログラムを読み込み、加工に係る目標位置及び駆動制御部２１〜２５に関する各種情報に基づいて、駆動制御部２１〜２５を制御する。不揮発性メモリ又はＲＡＭは目標位置及び各種情報を格納する。
【００３０】
工作機械２は、上述したＸ軸モータ４１、Ｙ軸モータ４２、Ｚ軸モータ４３、主軸モータ４４及びマガジンモータ４５等を備える。以下、Ｘ軸モータ４１〜マガジンモータ４５を総称する場合は、モータ４１〜４５と呼ぶ。モータ４１〜４５は、エンコーダ４１Ａ〜４５Ａをそれぞれ備える。エンコーダ４１Ａ〜４５Ａは、モータ４１〜４５の位置を検出し、フィードバック信号を駆動制御部２１〜２５へ出力する。
【００３１】
各駆動制御部２１〜２５は、制御部１０から与えられる制御信号に基づき、各モータ４１〜４５を駆動するパルス信号を出力する。各駆動制御部２１〜２５は、各エンコーダ４１Ａ〜４５Ａからのフィードバック信号を受信し、位置及び速度のフィードバック制御を行う。各駆動制御部２１〜２５は、制御部１０からの要求に応じて、各エンコーダ４１Ａ〜４５Ａからのフィードバック信号に基づく位置情報を制御部１０へ送信する。制御部１０は、各駆動制御部２１〜２５から受信した位置情報を表示部１８に表示する。入力部１７は作業者の操作を受け付ける。
【００３２】
図４は経過時間に対するコラム５５のＺ軸方向の熱変位量を示すグラフである。図４において、横軸は制御装置１の電源をオンにしてからの経過時間（分）を示し、縦軸はコラム５５のＺ軸方向の変位量（μｍ）を示す。またＰはＺ軸方向における主軸ヘッド５６の位置を示し、Ｚ0 は主軸ヘッド５６の最下位置を示し、ＺMAX は主軸ヘッド５６の最上位置を示す。Ｋ１はＰ＝Ｚ0 におけるコラム５５のＺ軸方向の熱変位量を示すグラフであり、Ｋ２はＰ＝ＺMAX におけるコラム５５のＺ軸方向の熱変位量を示すグラフである。
【００３３】
なお主軸ヘッド５６に検出用のプローブを設け、またコラム５５の前側に検出台を設け、主軸ヘッド５６を所定の位置Ｐに配し、プローブを検出台に接触し、図４に示す熱変位量の時間変化を測定した。即ち、制御装置１の電源をオンにした後、位置Ｐにて主軸ヘッド５６のＺ軸方向の変位量を測定し、この測定値をコラム５５のＺ軸方向の熱変位量とした。熱変位量は、熱変形により主軸ヘッド５６が下側に変位する場合を正とした。
【００３４】
制御装置１が発した熱はコラム５５に伝導し、コラム５５はＺ軸方向に延びる。またコラム５５は冷却によってＺ軸方向に縮む。またコラムの前後の温度差により曲がる。コラムが曲がると、主軸ヘッドは５６はＺ軸下側に変位する。コラム５５の熱変位量は、コラム５５の下部５５ａにおける第１熱変位量と、コラム５５の上部５５ｂにおける第２熱変位量とに大別することができる。なお下部５５ａはＺ軸方向移動機構４３０よりも下側に位置する。
【００３５】
下部５５ａの熱変位によって、Ｚ軸方向移動機構４３０がＺ軸方向に変位する。故に、Ｚ軸方向移動機構４３０における主軸ヘッド５６の上下位置に拘わらず、主軸ヘッド５６も同様にＺ軸方向に変位する。この場合の熱変位量が第１熱変位量に相当する（図４参照）。
【００３６】
制御装置１が発熱している場合、コラム５５、特に上部５５ｂにおいて、制御装置１側部分はＺ軸方向移動機構４３０側部分よりも高温になるので、図２の一点鎖線で示すように、コラム５５は前側に傾くように曲がる。このコラム５５の曲がりにより発生する熱変位量が第２熱変位量に相当し、第２熱変位量はＺ軸方向の位置に依存する（図４参照）。
【００３７】
コラム５５の熱変位量は、以下の式（一次遅れモデル）に基づいて演算する。
（ｄＴ／ｄｔ）・ｃ＝−Ｔ（ｔ）ｈ＋ｑ（ｔ）・・・・（１）
【００３８】
【数１】
0006500602.tif 000002
【００３９】
Ｚ（ｔ）＝αＴ（ｔ）・・・（３）
なおＴは基準温度から上昇した温度を示し、ｈは放熱係数を示し、ｃは熱容量を示し、ｑは制御装置１からコラム５５に伝導した熱量を示し、ＺはＺ軸方向における熱変位量を示し、αは熱膨張係数を示す。
【００４０】
制御装置１の電源がオフになっている時（コラム５５が冷却されている時）、式（１）〜（３）に基づいて、第１熱変位量を離散化して表すと、以下のようになる。
ΔＺc （ｔ＋ｄｔｃ）＝ΔＺc （ｔ）・ｅｘｐ（−ｈz ｄｔｃ）・・・（４）
なおｈz は第１熱変位量の時定数を示し、ｄｔｃは経過時間を示し、ΔＺc は第１熱変位量を示す。時定数ｈz は、測定結果に基づき、予め定める。
【００４１】
一方、制御装置１の電源がオフになっている時、第２熱変位量を離散化して表すと、以下のようになる。
ΔＺp （ｔ＋ｄｔｃ）＝ΔＺp （ｔ）・ｅｘｐ（−ｈp ｄｔｃ）・・・（５）
なおｈp は第２熱変位量の時定数を示し、ΔＺp は第１熱変位量を示す。時定数ｈp は、測定結果に基づき、予め定める。
【００４２】
制御装置１の電源がオンになっている時（制御装置１からコラム５５に熱が伝導している時）、式（１）〜（３）に基づいて、第１熱変位量を離散化して表すと、以下のようになる。
ΔＺc （ｔ＋ｄｔ）＝ΔＺc （ｔ）・ｅｘｐ（−ｈz ｄｔ）＋（１−ｅｘｐ（−ｈz ｄｔ））・ｑz ・・・（６）
なおｑz は制御装置１から伝導した熱によって生じる第１熱変位量の最大値を示し、測定によって予め定める。またｄｔは経過時間を示す。
【００４３】
一方、制御装置１の電源がオンになっている時、第２熱変位量を離散化して表すと、以下のようになる。
ΔＺp （ｔ＋ｄｔ）＝ΔＺp （ｔ）・ｅｘｐ（−ｈp ｄｔ）＋（１−ｅｘｐ（−ｈp ｄｔ））・ｑp ・・・（７）
なおｑp は制御装置１から伝導した熱によって生じる第２熱変位量の最大値を示し、測定によって予め定める。
【００４４】
従って、制御装置１の電源がオンになっている時、Ｚ軸方向位置Ｐでのコラム５５の熱変位量ΔＺ（ｔ＋ｄｔ、Ｐ）は、式（６）及び（７）から以下のようになる。
ΔＺ（ｔ＋ｄｔ、Ｐ）＝ΔＺc （ｔ＋ｄｔ）＋ΔＺp （ｔ＋ｄｔ）・（Ｐ−Ｚ0 ）・・・（８）
なお前述したように、Ｚ0 は主軸ヘッド５６の最下位置を示す。
【００４５】
図５は制御部１０による目標位置の補正処理を説明するフローチャートである。なお制制御部１０は電源オフ時に、その時刻を不揮発性メモリに記録し、また電源オフ時の第１変位量ΔＺc 及び第２変位量ΔＺp を不揮発性メモリに記憶するものとする。また電源オン時に計時を開始するものとする。
【００４６】
制御部１０は、電源がオンになった時（ステップＳ１）、オンになった時刻を不揮発性メモリに記憶し（ステップＳ２）、計時を開始する（ステップＳ３）。制御部１０は制御プログラムを読み込み、読み込んだ制御プログラムに主軸５７（主軸ヘッド５６）を目標位置（目標値）に位置決めする位置決め指令が含まれるか否かを判断する（ステップＳ４）。位置決め指令が含まれていない場合（ステップＳ４：ＮＯ）、制御部１０はステップＳ４に処理を戻す。
【００４７】
位置決め指令が含まれている場合（ステップＳ４：ＹＥＳ）、制御部１０は不揮発性メモリを参照し、電源オフ時の時刻と電源オン時の時刻の差分を演算し、電源オフからオンまでの経過時間を取得する（ステップＳ５）。制御部１０は電源オフからオンまでの第１変位量を演算する（ステップＳ６）。即ち、制御部１０は、前記式（４）に基づいて、ステップＳ５で取得した経過時間を式（４）のｄｔｃに適用し、目標位置における第１変位量ΔＺc を演算する。なお電源オフからオンまでの間、コラム５５は冷却される。
【００４８】
次に制御部１０は電源オフからオンまでの第２変位量を演算する（ステップＳ７）。即ち、制御部１０は、前記式（５）に基づいて、ステップＳ５で取得した経過時間を式（５）のｄｔｃに適用し、目標位置における第２変位量ΔＺp を演算する。
【００４９】
次に制御部１０はタイマを参照し、電源オン後からの経過時間を取得し（ステップＳ８）、電源オン後の第１変位量を演算する（ステップＳ９）。即ち、前記式（６）に基づいて、ステップＳ８で取得した経過時間を式（６）のｄｔに適用し、またステップＳ６で演算した第１熱変位量を式（６）のΔＺc （ｔ）に適用し、目標位置における第１変位量ΔＺc （ｔ＋ｄｔ）を演算する。
【００５０】
制御部１０は電源オン後の第２変位量を演算する（ステップＳ１０）。即ち、前記式（７）に基づいて、ステップＳ８で取得した経過時間を式（７）のｄｔに適用し、またステップＳ７で演算した第２熱変位量を式（７）のΔＺp （ｔ）に適用し、目標位置における第２変位量ΔＺp （ｔ＋ｄｔ）を演算する。
【００５１】
次に制御部１０は前記式（８）に基づいて、変位量を演算する（ステップＳ１１）。即ち、ステップＳ７、Ｓ８で演算した第１変位量ΔＺc （ｔ＋ｄｔ）、第２変位量ΔＺp （ｔ＋ｄｔ）を式（８）に適用し、Ｚ軸方向位置Ｐに目標位置を適用して、変位量を演算する。なお目標位置がＺ0 （最下位置）の場合、第２変位量ΔＺp （ｔ＋ｄｔ）は零になり、変位量としては第１変位量のみを考慮すればよい。
【００５２】
制御部１０は目標位置を補正する（ステップＳ１２）。即ち、ステップＳ１１で演算した変位量を目標位置に加算し、目標位置を補正する。
補正は、以下の式に基づいて行う。
Ｚop＝Ｐ−ΔＺ（ｔ、Ｐ）・・・（９）
なおＺopは補正後の目標位置を示し、ΔＺ（ｔ、Ｐ）はステップＳ１１で演算した変位量を示す。
【００５３】
コラム下部５５ａが熱変位した場合、Ｚ軸方向移動機構４３０が上下方向に変位するので、Ｚ軸方向移動機構４３０における主軸ヘッド５６の上下位置に拘わらず、主軸ヘッド５６も変位する。実施の形態に係る工作機械は、コラム下部５５ａの上下方向における熱変位量を演算するので、演算結果に基づいて、主軸５７の位置を補正することができる。
【００５４】
制御装置１を設けた部分とＺ軸方向移動機構４３０を設けた部分の温度差によってコラム５５は曲がる。曲げによってコラム５５は上下方向に変位する。曲げの角度はコラム５５の上下位置によって変化する。実施の形態に係る工作機械は、曲げによって生じた、コラム５５の上下位置によって変化するコラム５５の上下方向の第２熱変位量を演算し、演算した第２熱変位量を第１熱変位量に加算するので、より精度良く主軸５７の位置を補正することができる。
【００５５】
なお制御部１０は、演算部、補正部、第２演算部、第２補正部、加算部を構成する。
【００５６】
（変更例）
制御部１０は、Ｚ軸方向における各位置に対応させて、コラム５５の変位量を記憶し、データベースを作成してもよい。図６は制御部１０によるデータベース作成処理を説明するフローチャートである。なおＺ軸方向の各位置を示すパラメータとしてＺn （ｎ＝０、１、２、・・・、ＭＡＸ）が不揮発性メモリに予め設定してあるものとする。Ｚ0 は、主軸ヘッド５６の最下位置を示し、ｎの値が大きくなるに従って、Ｚn はより上側の位置を示し、ＺMAX は最上位置を示す。
【００５７】
ステップＳ２１〜Ｓ２３は、ステップＳ１〜Ｓ３と同様なので詳細な記載を省略する。ステップＳ２３で計時を開始した制御部１０は、Ｚ軸方向位置ＰにＺn を設定し、ｎに０を設定する（ステップＳ２４）。制御部１０はステップＳ２５〜Ｓ２７を実行する。なおステップＳ２５〜Ｓ２７はステップＳ５〜Ｓ７と同様なので詳細な記載を省略する。
【００５８】
制御部１０は、電源オン後から所定時間が経過するまで待機する（ステップＳ２８：ＮＯ）。所定時間が経過している場合（ステップＳ２８：ＹＥＳ）、所定時間経過後の第１変位量を演算する（ステップＳ２９）。即ち、前記式（６）に基づいて、前記所定時間を式（６）のｄｔに適用し、またステップＳ２６で演算した第１熱変位量を式（６）のΔＺc （ｔ）に適用し、Ｚ軸方向位置Ｐにおける第１変位量ΔＺc （ｔ＋ｄｔ）を演算する。
【００５９】
制御部１０は所定時間経過後の第２変位量を演算する（ステップＳ３０）。即ち、前記式（７）に基づいて、前記所定時間を式（７）のｄｔに適用し、またステップＳ２７で演算した第２熱変位量を式（７）のΔＺp （ｔ）に適用し、Ｚ軸方向位置Ｐにおける第２変位量ΔＺp （ｔ＋ｄｔ）を演算する。
【００６０】
次に制御部１０は前記式（８）に基づいて、変位量を演算し、Ｚ軸方向位置Ｐに対応付けて、不揮発性メモリに記憶する（ステップＳ３１）。即ち、ステップＳ２７、Ｓ２８で演算した第１変位量ΔＺc （ｔ＋ｄｔ）、第２変位量ΔＺp （ｔ＋ｄｔ）を式（８）に適用し、Ｚ軸方向位置Ｐに目標位置を適用して、変位量を演算し、記憶する。そして変位量を演算した時刻を不揮発性メモリに記憶する（ステップＳ３２）。
【００６１】
次に制御部１０はｎをインクリメントし（ステップＳ３３）、ｎがＭＡＸよりも大きいか否かを判定する（ステップＳ３４）。ｎがＭＡＸよりも大きくない場合（ステップＳ３４：ＮＯ）、制御部１０はステップＳ２９に処理を戻す。
【００６２】
ｎがＭＡＸよりも大きい場合（ステップＳ３４：ＹＥＳ）、制御部１０はｎに０を設定し（ステップＳ３５）、ステップＳ２８に処理を戻す。そしてステップＳ３２で記憶した時刻から所定時間が経過するまで待機（ステップＳ２８：ＮＯ）、ステップＳ２９以降の処理を実行する。
【００６３】
制御部１０は、所定時刻において、Ｚ軸方向における各位置（Ｚn 、ｎ＝０、１、２、・・・、ＭＡＸ）に対応させて、コラム５５の変位量を記憶し、データベースを作成する。また制御部１０は所定時間経過する都度、データベースを更新する。
【００６４】
制御部１０は、読み込んだ制御プログラムに位置決め指令が含まれる場合、データベースを参照し、対応するＺ軸方向における変位量を取得し、式（９）に基づいて、目標位置を補正する。熱変位のデータベースを作成することによって、目標位置の補正が容易になり、補正の処理速度が向上する。
【００６５】
なおＺ軸方向における特定位置Ｚn でのコラム５５の変位量を演算・記憶し、ｎ＝０〜ｎ−１、ｎ＋１〜ＭＡＸにおけるコラム５５の変位量は、特定位置Ｚn でのコラム５５の変位量及び特定位置Ｚn からの距離に基づいて、決定してもよい。例えば、特定位置Ｚn からの距離が大きくなるに従って、漸次減少するように、各位置における変位量を決定してもよい。また二つの位置Ｚn-1 及びＺnにおける変位量の平均を演算し、該平均を、区間Ｚn-1 〜Ｚn における変位としてもよい。
【符号の説明】
【００６６】
１  制御装置
１０  制御部（演算部、補正部、第２演算部、第２補正部、加算部）
５５  コラム
５６  主軸ヘッド
５７  主軸
４３０  Ｚ軸方向移動機構（移動機構）
【図１】
0006500602.tif 000003
【図２】
0006500602.tif 000004
【図３】
0006500602.tif 000005
【図４】
0006500602.tif 000006
【図５】
0006500602.tif 000007
【図６】
0006500602.tif 000008