(57)【要約】【課題】回転テーブルを１８０度回転させて深いボーリング穴加工の両側から加工する反転穴加工において、穴加工精度の向上を図ることを目的とする。【解決手段】主軸ヘッドの主軸に装着した工具により回転テーブルに固定したワークの加工を行う工作機械におけるワーク加工制御装置であって、前記主軸が傾くことによって生じる角度誤差を、前記主軸と平行なＺ軸に対する垂直面であるＸＹ座標の少なくともいずれか１つの座標に対応させて、記憶するデータメモリと、前記工具の長さを表す工具長補正値と前記角度誤差とに基づいて、前記工具の先端が前記ワークの加工を行うときの加工位置のＸＹ座標を補正する補正部と、前記ＮＣ装置の主メモリに記憶された加工プログラムで設定されたＸ，Ｙ，Ｚ軸の機械座標位置を前記補正部が算出する補正値によって補正し、補正後の機械座標位置に基づいて前記ワークの加工点の位置を制御する位置制御回路と、を備える。【選択図】図１
2018140470.tif 000002
【特許請求の範囲】
【請求項１】
互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸方向のうち、架台上に前記Ｙ軸が対応しており、当該Ｙ軸に平行なＢ軸回りに旋回割出し可能に設けられた回転テーブルと、支持部材に支持した主軸ヘッドとを備え、ＮＣ装置によって制御軸駆動部を作動させて、前記回転テーブルをＢ軸回りに旋回して位置決めし、前記回転テーブルと主軸ヘッドとをＸ、Ｙ、Ｚ軸方向に相対的に移動させて、前記主軸ヘッドの主軸に装着した工具により前記回転テーブルに固定したワークの加工を行う工作機械におけるワーク加工制御装置であって、
前記主軸が傾くことによって生じる角度誤差を、前記主軸と平行なＺ軸に対する垂直面であるＸＹ座標の少なくともいずれか１つの座標に対応させて、記憶するデータメモリと、
前記工具の長さを表す工具長補正値と前記角度誤差とに基づいて、前記工具の先端が前記ワークの加工を行うときの加工位置のＸＹ座標を補正する補正部と、
前記ＮＣ装置の主メモリに記憶された加工プログラムで設定されたＸ，Ｙ，Ｚ軸の機械座標位置を前記補正部が算出する補正値によって補正し、補正後の機械座標位置に基づいて前記ワークの加工点の位置を制御する位置制御回路と、
を備えることを特徴とするワーク加工制御装置。
【請求項２】
前記工作機械は、
互いに同心となる基準穴が前記主軸に対向して設けられるワーク位置決め板が配置されるとともに、前記回転テーブルに前記ワークを固定する、パレットを有し、
前記位置制御回路は、
前記基準穴に対応する基準穴座標の測定結果から前記パレットの心ズレ補正量を計算し、前記心ズレ補正量の計算結果に基づき、前記角度誤差を変更することを特徴とする請求項１に記載のワーク加工制御装置。
【請求項３】
前記位置制御回路は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、前記加工誤差が予め設定された許容値内にある前記マスターデータを選択して、前記加工誤差のうち現在時刻に対応する加工誤差を前記角度誤差に加算することを特徴とする請求項１に記載のワーク加工制御装置。
【請求項４】
前記位置制御回路は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、前記加工誤差が予め設定された許容値内にある前記マスターデータを選択して、前記加工誤差のうち現在時刻に対応する加工誤差から次の加工における加工誤差を予測し、予測した加工誤差を前記角度誤差に加算することを特徴とする請求項１に記載のワーク加工制御装置。
【請求項５】
前記位置制御回路は、前記複数のマスターデータを選択する際の優先順位を設定し、
選択したマスターデータにおいて前記加工誤差が前記許容値を超えたら、次に優先順位の高いマスターデータに移行することを特徴とする請求項４に記載のワーク加工制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワーク加工制御装置に関する。
【背景技術】
【０００２】
従来、工作機械において、ワークを設置したＸ−ＹテーブルをＸ軸方向またはＹ軸方向に所定距離移動させてワークの加工を行う際、ワークの位置決め精度を保証する位置決め制御装置が知られている。
【０００３】
例えば、特許文献１に記載の位置決め制御装置は、ワークＷのＢ軸からの偏心位置までの偏心量と、当該偏心位置のＺ軸からの誤差角度と、ワークＢのＢ軸に対する傾き角度と、当該傾き方向のＺ軸からの変位角度とを含む誤差係数Ｒ、α、ω、θ、β、γを記憶する誤差係数用データメモリ（誤差係数メモリ）を備えている。また、特許文献１に記載の位置決め制御装置は、ＮＣ（Numerical Control；数値制御）装置からのＸ、Ｙ、Ｚ、Ｂ軸位置制御回路に作動指令が出力されたとき、当該出力におけるＹ、Ｂ軸座標値と誤差係数とに基づいて、Ｘ、Ｚ軸座標値に対する補正量を求める演算手段と、当該補正量に基づいて当該出力におけるＸ、Ｚ軸座標値の基づく作動指令値を修正するシフト量をＸ、Ｙ、Ｚ、Ｂ軸位置制御回路に出力する補正手段と、を備えている。
【０００４】
特許文献１に記載の位置決め制御装置は、上述した構成を有することにより、回転テーブル上に取り付けたワークを各制御軸方向に高精度に位置決めすることを特徴としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４９１６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の位置決め制御装置は、直交するＸＹＺとＢ軸の回転の振れについて補正しているが、Ｘ軸とＹ軸を移動したときに、ＸＹ平面上の位置の違いで主軸のヒーリングに角度変化（ヒーリング誤差）がある場合を想定していない。
工作機械の重い移動体がＸ軸、Ｙ軸方向に移動したときに、工作機械を支持する地面の変形（レべリング誤差）や、軸方向走行時の製造上や重量移動による真直度の誤差により、主軸のヒーリングがＸＹ軸で異なってしまう。また、工具が長ければ、ヒーリングによる工具先端の位置ズレは大きくなり、反転穴加工したときの同軸度誤差に繋がってしまう。
【０００７】
本発明は、上記事情に鑑みてなされたものであって、回転テーブルを１８０度回転させて深いボーリング穴加工の両側から加工する反転穴加工において、穴加工精度の向上を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明のワーク加工制御装置は、互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸方向のうち、架台上に前記Ｙ軸が対応しており、当該Ｙ軸に平行なＢ軸回りに旋回割出し可能に設けられた回転テーブルと、支持部材に支持した主軸ヘッドとを備え、ＮＣ装置によって制御軸駆動部を作動させて、前記回転テーブルをＢ軸回りに旋回して位置決めし、前記回転テーブルと主軸ヘッドとをＸ、Ｙ、Ｚ軸方向に相対的に移動させて、前記主軸ヘッドの主軸に装着した工具により前記回転テーブルに固定したワークの加工を行う工作機械におけるワーク加工制御装置であって、前記主軸が傾くことによって生じる角度誤差を、前記主軸と平行なＺ軸に対する垂直面であるＸＹ座標の少なくともいずれか１つの座標に対応させて、記憶するデータメモリと、前記工具の長さを表す工具長補正値と前記角度誤差とに基づいて、前記工具の先端が前記ワークの加工を行うときの加工位置のＸＹ座標を補正する補正部と、前記ＮＣ装置の主メモリに記憶された加工プログラムで設定されたＸ，Ｙ，Ｚ軸の機械座標位置を前記補正部が算出する補正値によって補正し、補正後の機械座標位置に基づいて前記ワークの加工点の位置を制御する位置制御回路と、を備えることを特徴とする。
【０００９】
また、本発明のワーク加工制御装置において、前記工作機械は、互いに同心となる基準穴が前記主軸に対向して設けられるワーク位置決め板が配置されるとともに、前記回転テーブルに前記ワークを固定する、パレットを有し、前記位置制御回路は、前記基準穴に対応する基準穴座標の測定結果から前記パレットの心ズレ補正量を計算し、前記心ズレ補正量の計算結果に基づき、前記角度誤差を変更することを特徴とする。
【００１０】
また、本発明のワーク加工制御装置において、前記位置制御回路は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、前記加工誤差が予め設定された許容値内にある前記マスターデータを選択して、前記加工誤差のうち現在時刻に対応する加工誤差を前記角度誤差に加算することを特徴とする。
【００１１】
また、本発明のワーク加工制御装置において、前記位置制御回路は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、前記加工誤差が予め設定された許容値内にある前記マスターデータを選択して、前記加工誤差のうち現在時刻に対応する加工誤差から次の加工における加工誤差を予測し、予測した加工誤差を前記角度誤差に加算することを特徴とする。
【００１２】
また、本発明のワーク加工制御装置において、前記位置制御回路は、前記複数のマスターデータを選択する際の優先順位を設定し、選択したマスターデータにおいて前記加工誤差が前記許容値を超えたら、次に優先順位の高いマスターデータに移行することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、加工位置の主軸のヒーリング誤差を補正するので、反転穴加工を行う工作機械において、穴加工精度の向上を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る工作機械におけるワーク加工制御装置を示す図である。
【図２】主軸１３のヒーリングについて説明するための図である。
【図３】主軸ヒーリング誤差を説明するための図である。
【図４】工具長補正値を説明するための図である。
【図５】本発明の第１の実施形態におけるヒーリング補正の処理を説明するためのフローチャートである。
【図６】本実施形態で使用する５つの固定サイクルを示す図である。
【図７】パレットの交換誤差について説明するための図である。
【図８】本発明の第２の実施形態における心ズレ補正量を求める処理を説明するためのフローチャートである。
【図９】本発明の第３の実施の形態に係る工作機械におけるワーク加工制御装置を示す図である。
【図１０】本発明の第３の実施の形態における複数の穴を示す図である。
【図１１】本発明の第３の実施の形態における複数のマスターデータを示す図である。
【図１２】本発明の第３の実施の形態における複数のマスターデータを示す図である。
【図１３】本発明の第３の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【図１４】本発明の第４の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【図１５】本発明の第５の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
［第１の実施形態］
図１は本発明の第１の実施形態に係る工作機械におけるワーク加工制御装置を示す図である。ワーク加工制御装置２０は、横形マシニングセンタ等の工作機械１を制御するＮＣ装置の機能の一部として構成されている。
工作機械１はマシニングセンタであり、ベース２と、コラム３と、レベリング４と、テーブル５と、主軸ヘッド９と、回転テーブル１１と、を含んで構成されている。
ベース２の上部の一端部にコラム３が設けられ、ベース２の下部にはレベリング４が複数設けられている。これらレベリング４が地面（工場などの床面）に設置されることにより、工作機械１が所定場所に設置される。また、ベース２上のコラム３に対向する位置にはテーブル（架台）５が設けられている。
ここで、工作機械１において垂直軸をＹ軸とし、Ｙ軸に直交する水平面内において横方向をＺ軸（図１で左右方向）、Ｘ軸に直交する縦方向（図１で紙面の垂直な方向）をＸ軸とする。
ベース２には、Ｙ軸方向に直交する方向に１対のＸ軸ガイドレール６ａ、６ｂが平行に配設され、Ｘ軸モータ１６によってＸ軸ガイドレール６ａ，６ｂに沿って前後方向（Ｘ軸方向）に移動可能にコラム３が設けられている。
コラム３には、Ｙ軸方向に1対のＹ軸ガイドレール７ａ、７ｂが配設され、Ｙ軸モータ１７によってＹ軸ガイドレール７ａ、７ｂに沿って上下方向（Ｙ軸方向）に昇降可能な主軸ヘッド９が設けられている。
ベース２には、Ｚ軸方向にＺ軸ガイドレール８ａ、８ｂが平行に配設され、Ｚ軸モータ１８によってＺ軸ガイドレール８ａ、８ｂに沿って左右方向（Ｚ軸方向）に移動可能にテーブル（架台）５が設けられている。
また、工作機械１は、テーブル５上に支持されてＢ軸モータ（図１において不図示）によって、テーブル５の上面における中心に位置し、該上面に垂直なＢ軸回りに旋回、割出可能な回転テーブル１１を備えている。ここで、Ｂ軸は、Ｙ軸と平行である。
【００１６】
回転テーブル１１に対して、自動パレット交換装置等（図１において不図示）により、パレット１２に載せた加工対象物であるワーク（図１において不図示）が搬入されて固定され、また、該固定を解除されて搬出される。なお、工作機械１では、主軸ヘッド９に軸回りに回転自在に支持された主軸１３が支持され、主軸１３に装着した工具（図１において不図示）によって、回転テーブル１１上のワークの切削加工（ボーリング）が行われる。
上記Ｘ軸モータ１６、Ｙ軸モータ１７、Ｚ軸モータ１８、Ｂ軸モータには、これらを駆動する、例えばサーボアンプを有する位置制御回路２３（位置制御回路）が接続されている。位置制御回路２３が、各軸モータ（Ｘ軸モータ１６、Ｙ軸モータ１７、Ｚ軸モータ１８、Ｂ軸モータ）に設けたエンコーダ等の位置検出器によって検出された移動位置信号に基づいて、前記各軸モータをフィードバック制御する。
このように、各軸モータと位置制御回路２３とによって、回転テーブル１１と主軸ヘッド９とを相対的にＸ，Ｙ，Ｚ軸方向に移動させ、回転テーブル１１をＢ軸回りに回転させる制御軸駆動部を構成している。
【００１７】
ワーク加工制御装置２０は、データメモリ２１と、補正部２２と、位置制御回路２３と、を含んで構成される。
データメモリ２１は、格子に分けられ、当該格子の節点それぞれは主軸１３のＸＹ座標を表し、主軸１３が傾くことによって生じる角度誤差（以下、ヒーリングと言うこともある）を主軸１３のＸＹ座標に対応して記憶する。
ここで、主軸１３のヒーリングについて、図２および図３を参照して説明する。
図２は、主軸１３のヒーリングについて説明するための図であり、図２（ａ）はＸＺ平面での主軸ヒーリングΘを表し、図２（ｂ）はＹＺ平面での主軸ヒーリングΦを表している。また、図３は、主軸ヒーリング誤差を説明するための図であり、図３（ａ）、（ｂ）は、主軸１３のゲージングライン（ＧＬ）位置におけるＸＹ座標を表し、図３（ｃ）は、データメモリ２１が有するテーブルの一例を示している。
図２（ａ）に示すように、ヒーリングΘは、ＸＺ平面上でＺ軸と主軸中心の角度誤差である。本来ならＺ軸と主軸は平行であるが、工作機械の重い移動体がＸ軸、Ｙ軸方向に移動したときに、工作機械を支持する地面の変形（レべリング誤差）や、軸方向走行時の製造上や重量移動による真直度の誤差により、主軸のヒーリングがＸＹ軸で異なってしまうという理由により、ＸＹ座標の位置で異なるヒーリングΘを持つ。また、図２（ｂ）に示すように、ヒーリングΦは、ＹＺ平面上でＹ軸と主軸中心の角度誤差である。本来ならＺ軸と主軸は平行であるが、工作機械の重い移動体がＸ軸、Ｙ軸方向に移動したときに、工作機械を支持する地面の変形（レべリング誤差）や、軸方向走行時の製造上や重量移動による真直度の誤差により、主軸のヒーリングがＸＹ軸で異なってしまうという理由により、ＸＹ座標の位置で異なるヒーリングΦを持つ。
【００１８】
図３（ａ）は、ＸＹ平面の主軸ゲージライン（主軸ＧＬ）上の格子の各節点に対して主軸１３の先端部分が位置したときを表わしている。Ｘ軸ガイドレール６ａ、６ｂの真直度、コラム３が移動する際の質量によるレベリング４の変位、ベース２の反り等で、Ｘ軸の位置におけるコラム３の傾きが変化し、主軸１３のヒーリングが、Ｘ軸とＹ軸の位置で異なってしまう。すなわち、図３（ｂ）に示すように、主軸１３の長手方向とＺ軸との方向との間の角度Θ、主軸１３の長手方向とＹ軸との方向との間の角度Φにより工具長分、（Ｘ、Ｙ）の位置座標が異なったものとなる。そこで、データメモリ２１は、主軸１３が傾くことによって生じる角度誤差を主軸１３のＸＹ座標に対応して記憶する。ここで、図３（ｃ）は、主軸１３のＧＬ位置において、ＸＹ座標を表す格子の各節点における角度誤差（ＸＺ平面における角度誤差Θ、ＹＺ平面における角度誤差Φ）を格子毎に記憶するデータメモリ２１が備えるテーブルを一例として示している。
【００１９】
補正部２２は、工具の長さを表す工具長補正値と角度誤差とに基づいて、工具の先端がワークの加工を行うときの加工位置のＸＹ座標を補正する。
図４は、工具長補正値を説明するための図である。図４に示すように、工具の長さを表す工具長補正値は、主軸１３のゲージラインから工具刃先までの長さで示される。上述のように、ヒーリングはＺ軸に対して主軸１３の中心が角度を持ってしまうため、工具長にＸ軸方向とＹ軸方向の位置誤差が異なってしまう。そのため、補正部２２は、例えば、工具交換後の工具長補正値を読み込み、穴加工位置での主軸１３のヒーリング（角度誤差Θ、Φ）を読み込んで、刃先のＸ軸方向とＹ軸方向の位置誤差を計算する。
なお、節点間のヒーリング量は、位置に比例した値を算出する。節点は所定の間隔を持って作られるため、節点の座標が、データメモリ２１が備えるテーブルにないときは、その節点の座標に近いところにある２つの節点のヒーリング量を比例配分するなどの方法によって、節点間のヒーリング量を算出すればよい。
【００２０】
位置制御回路２３は、ＮＣ装置の主メモリに記憶された加工プログラムで設定されたＢ，Ｘ，Ｙ，Ｚ軸の機械座標位置（制御軸位置指令値）ｅを、補正部２２が算出する補正値によって補正し、補正後の機械座標位置に基づいてワークの加工点の位置を制御し、この補正した位置指令値にもとづいて各軸モータ（Ｘ軸モータ１６、Ｙ軸モータ１７、Ｚ軸モータ１８、Ｂ軸モータ）を駆動させる。
【００２１】
従来、Ｘ軸ガイドレール６ａ、６ｂの真直度、コラム３が移動する際の質量によるレベリング４の変位、ベース２の反り等で、Ｘ軸の位置におけるコラム３の傾きが変化し、主軸１３のヒーリングが、Ｘ軸とＹ軸の位置で異なってしまう。また、ヒーリングはＺ軸に対して主軸１３の中心が角度を持ってしまうため、工具長によりＸ軸方向とＹ軸方向の位置誤差が違ってしまう。ワーク加工制御装置２０は、以上のような構成を備えることにより、機械のヒーリング誤差を補正し、反転穴加工精度の向上を図ることができる。
【００２２】
続いて、本実施形態におけるワーク加工制御装置２０の動作を実行させるプログラムについて説明し、ワーク加工制御装置２０の動作についてフローチャートを参照しつつ説明する。図５は、本発明の第１の実施形態におけるヒーリング補正の処理を説明するためのフローチャートである。
まず、プログラムの例について説明する。ヒーリングを補正しながら穴加工を行う際、工具の送り軸と主軸の動作指令を個々に加工プログラムから発生させてもよいし、１行の加工プログラムで一連の動作を行う固定サイクルを使ってもよい。また、工具長の特定については、工具長補正値を読み込んでもよいし、プログラムで指定してもよい。
下記プログラムの例は、固定サイクルを使った例である。ヒーリングがＸＹ平面の位置によって異なることに着目し、工具長補正値から工具先端のＸＹ座標の誤差を補正する。なお、下記の例は、反転加工でなくても有効な例である。また、固定サイクルとは、１行のプログラムでボーリング穴加工の行きと穴底の動作と戻りの一連の動きを行う指令を言う。
【００２３】
まず、プログラムの例について説明する。
（１行目）Ｔ１
「Ｔ１」の指令により、工具Ｎｏ１を呼び出す。
（２行目）Ｍ６
「Ｍ６」の指令により、主軸１３に工具Ｎｏ１を入れるための工具交換を行う。
（３行目）Ｇ９０  Ｇ５４  Ｇ４３  Ｇ０  Ｂ９０．０  Ｈ１
「Ｇ９０」はアブソリュート指令を意味し、この指令により、機械原点を０として加工位置を指令する。
「Ｇ５４」の指令により、ワーク座標系を指令する。
「Ｇ４３」が工具長補正値を使うという指令を意味する。
「Ｇ０」が早送りで、「Ｂ９０．０」が回転テーブル１１を９０度回転させるという指令を意味する。
「Ｇ４３」と「Ｈ１」が対になっていて、工具長補正値のＨ１を読み込む。例えばＨ１に２００が入っていると、工具長補正値が２００であると認識する。
（４行目）Ｆ５００
毎分５００ｍｍの速度で、切削送りの速度を指令する。
【００２４】
（５行目）Ｇ３０１  Ｍ１．０  Ａ０  Ｅ９．０  Ｉ−１００．２  Ｊ−２００．５  Ｋ−８０．３  Ｒ５．０  Ｑ１．０  Ｐ０．５
「Ｇ３０１」は主軸ヒーリング補正の指令である。「Ｇ３０１」はプログラム実行時の仮のコードであり、Ｇ３０１の次に記載の「Ｍ１．０」以降がパラメータ（引数）を表す。「Ｍ１．０」は、固定サイクルのＧ７６（ファインボーリング）で穴加工をするとの指令を表す（図５のステップＳＴ１１３参照）。ここで、図６は、本実施形態で使用する５つの固定サイクルを示す図である。固定サイクルには、図６に示す固定サイクルが一例としてあり、ここでは、「Ｍ１．０」が「Ｇ７６」であることを指令している。図６に示すように、１行の指令で穴加工を行ってしまう。「Ｇ７６」は、Ｇ７３  Ｘ＿Ｙ＿Ｚ＿Ｒ＿Ｑ＿Ｐ＿Ｆの指令で穴加工を行う。その際、Ｘ，Ｙ，Ｚの値を入れることにより位置決めを行う。また、イニシャル点とＲ点があって、穴を加工したとき戻る位置（復帰する位置）を、Ｒ点で指定して復帰して次の加工に行くことを指令できる。穴を加工していって、帰りそのまま戻すと傷がつくので、止めて刃先を逃がすのがファインボーリングであって、図６においては、破線が早送りを、実線が切削送りを表している。
「Ｇ３０１」の説明に戻って、「Ｇ３０１」に後続する「Ｍ１．０」は、固定サイクルのＧ７６（ファインボーリング）で穴加工を行うことを宣言する。「Ａ０」は、工具長補正を自動で読み込んで補正を行うことを指令する。ここで、「Ａ０」と自動読み込みではなく、「Ａ２００．０」と指定することにより、自動で読みこまないで工具長２００ｍｍとして計算することもできる。「Ｅ」については、上述の工具の復帰点を指令し、ここが「Ｅ９」であればＲ点復帰、「Ｅ８」であればイニシャル点復帰を指令する。「Ｉ−１００．２」は、補正を加える前の元々のプログラムにおけるＸ軸の位置決め位置＝−１００．２を指令する。「Ｊ−２００．５」は、補正を加える前の元々のプログラムにおけるＹ軸の位置決め位置＝−２００．５を指令する。「Ｋ−８０．３」は、補正を加える前の元々のプログラムにおけるＺ軸の位置決め位置＝−８０．３を指令する。「Ｒ５．０」は、穴加工のＲ点の位置指令をＲ＝５．０と指令する。「Ｑ１．０」は、刃先逃げのシフト量を指令する。「Ｐ０．５」は、ドウェル（待ち時間）を０．５ｓと指令する。
上述の５行目の「Ｇ３０１」が、本願の特徴のある指令であり、この「Ｇ３０１」にヒーリングの位置ずれ量を混ぜ込めば、正しい位置に位置決めが可能となる。すなわち、格子の座標に応じた角度から工具長を使って求められる値（Ｘ，Ｙ値）を考慮したうえで、加工したい座標を補正した上で、「Ｇ３０１」に入れれば、工具の先端が正しい加工位置に来るように主軸１３の位置を変更できる。
【００２５】
（６行目）Ｇ３０１  Ｍ９
「Ｇ３０１」、「Ｍ９」は、５行目のＧ３０１の指令により１つの穴の穴加工が終了したため、補正モードを終了（キャンセル）する指令である。
（７行目）Ｇ０  Ｚ−５００
「Ｇ０」、「Ｚ−５００」は、穴加工位置からＺ軸を逃がして、別の穴加工に進む指令である。
（８行目）Ｂ２７０．０
３行目の「Ｂ９０．０」で回転テーブル１１を９０度回転させるという指令を行っているので、ここでは「Ｂ２７０．０」で、回転テーブル１１を現状から１８０度回して、ワークを反転して、主軸１３の加工対象をワークの反転面にする指令を行う。
（９行目）Ｇ３０１  Ｍ１．０  Ａ０  Ｅ８．０  Ｉ１００．２  Ｋ−９０．４  Ｒ５．０  Ｑ１．０  Ｐ０．５
「Ｇ３０１」は、５行目と同じく、主軸ヒーリング補正の指令である。ここでは、５行目で加工したワークの反転面の加工を行う。
（１０行目）Ｇ３０１  Ｍ９
「Ｇ３０１」、「Ｍ９」は、６行目の「Ｇ３０１」、「Ｍ９」と同じく、９行目のＧ３０１の指令により１つの穴の穴加工が終了したため、補正モードを終了（キャンセル）する指令である。なお、データメモリ２１のテーブルで参照するＸ、Ｙ座標は、反転面（Ｂ軸＝２７０度）では正転面（Ｂ軸＝９０度）からは異なる値となるので、Θ、Φの値も異なり、Ｘ、Ｙ座標も異なる値となる。
（１１行目）Ｇ４９
工具長補正のキャンセルを指令する。
（１２行目）Ｍ３０
プログラムの終了を指令する。
【００２６】
続いて、図５に示すフローチャートを用いて、ヒーリング補正の処理を説明する。
ヒーリング補正がスタートすると、位置制御回路２３は、Ｇ３０１のパラメータ読込みを実行する（ステップＳＴ１０１）。パラメータとしては、Ｍ（固定サイクルの種類）、Ａ（工具長補正）、Ｅ（工具復帰点指令）、Ｉ，Ｊ，Ｋ（ＸＹＺ軸移動指令）、Ｒ（穴加工のＲ点指令）、Ｑ（刃先逃げシフト量）、Ｐ（ドウェル）を読み込む。
位置制御回路２３は、パラメータの良否判定を実行する（ステップＳＴ１０２）。パラメータの良否判定とは、ステップＳＴ１０１で読込んだパラメータ全てが、所定の範囲内にある場合（パラメータの値が間違った、有り得ない値ではない場合）、良と判定し、パラメータの少なくとも１つの値が、所定の範囲内にない場合（範囲外である場合）パラメータの値が間違った、有り得ない値ではない場合）、範囲外と判定する。
位置制御回路２３は、ステップＳＴ１０２で「範囲外」と判定した場合、ステップＳＴ１０３に進む。位置制御回路２３は、アラーム表示を実行し（ステップＳＴ１０３）、ヒーリング補正を終了する。
一方、位置制御回路２３は、ステップＳＴ１０２で「良」と判定した場合、ステップＳＴ１０４に進む。位置制御回路２３は、穴加工の計算を実行する（ステップＳＴ１０４）。位置制御回路２３は、パラメータＩ，Ｊから、穴加工位置を表すＸＹ座標を読込んで補正のための計算に備える。
【００２７】
補正部２２は、ヒーリングデータ読込みを実行する（ステップＳＴ１０５）。補正部２２は、データメモリ２１のテーブルが表す格子データのうち、ステップＳＴ１０４で読み込んだ穴位置座標の周囲の格子（２つの格子）が表すヒーリングデータを読み込む。
補正部２２は、ヒーリングの計算を実行する（ステップＳＴ１０６）。補正部２２は、ステップＳＴ１０４で読み込んだ穴加工位置のＸＹ座標に対応する傾き誤差ΘとΦとを、周囲の格子（２つの格子）が表すヒーリングデータを比例計算することにより算出する。
位置制御回路２３は、パラメータＡの値がＡ＝０であるか否かを判定する（ステップＳＴ１０７）。位置制御回路２３は、パラメータＡの値がＡ＝０である場合、工具長補正値の読み込みを実行する（ステップＳＴ１０８）。すなわち、補正に使用するために、工具長補正を自動で読み込む。位置制御回路２３は、補正に用いる工具長補正値Ｌの値を、ステップＳＴ１０８で読み込んだ工具長補正値とする（ステップＳＴ１０９）。
一方、位置制御回路２３は、パラメータＡの値がゼロ以外の値である場合、当該Ａの値を工具長補正値Ｌの値とする（ステップＳＴ１１０）。
位置制御回路２３は、補正値加算の計算（Ｘ軸とＹ軸の移動の計算）を実行する（ステップＳＴ１１１）。具体的には、工具の先端のＸ、Ｙ座標を、Ｘ＝Ｉ＋Ｌ×ｔａｎΘ、Ｙ＝Ｊ＋Ｌ×ｔａｎΦと計算する。
【００２８】
続いて、位置制御回路２３は、パラメータＭの判定を実行する（ステップＳＴ１１２）。
位置制御回路２３は、パラメータＭ＝１の場合、図６のＧ７６（ファインボーリング）が示す固定サイクルを実行することに備える（ステップＳＴ１１３）。位置制御回路２３は、パラメータＭ＝２の場合、図６のＧ８５（ボーリングサイクル）が示す固定サイクルを実行することに備える（ステップＳＴ１１４）。位置制御回路２３は、パラメータＭ＝３の場合、図６のＧ８６（ボーリングサイクル）が示す固定サイクルを実行することに備える（ステップＳＴ１１５）。位置制御回路２３は、パラメータＭ＝４の場合、図６のＧ８７（バックボーリングサイクル）が示す固定サイクルを実行することに備える（ステップＳＴ１１６）。位置制御回路２３は、パラメータＭ＝５の場合、図６のＧ８９（ボーリングサイクル）が示す固定サイクルを実行することに備える（ステップＳＴ１１７）。位置制御回路２３は、パラメータＭ＝１〜５の場合、固定サイクルでワークの加工を実行する（ステップＳＴ１１８）。
位置制御回路２３は、パラメータＭ＝９の場合、補正モードのキャンセルを実行することに備え（ステップＳＴ１１９）、固定サイクルのキャンセルを実行する（ステップＳＴ１２０）。位置制御回路２３は、ステップＳＴ１１８、ステップＳＴ１２０の終了後、次のプログラムの実行（例えばワークの反転位置の固定サイクルによるボーリングの実行）を行う。
【００２９】
以上説明したように、第１の実施形態におけるワーク加工制御装置２０は、互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸方向のうち、テーブル５上（架台上）にＹ軸が対応しており、当該Ｙ軸に平行なＢ軸回りに旋回割出し可能に設けられた回転テーブル１１と、コラム３（支持部材）に支持した主軸ヘッド９とを備え、ＮＣ装置によって制御軸駆動部を作動させて、回転テーブル１１をＢ軸回りに旋回して位置決めし、回転テーブル１１と主軸ヘッド９とをＸ、Ｙ、Ｚ軸方向に相対的に移動させて、主軸ヘッド９の主軸１３に装着した工具により回転テーブル１１に固定したワークの加工を行う工作機械におけるワーク加工制御装置２０である。ワーク加工制御装置２０は、データメモリ２１と、補正部２２と、位置制御回路２３と、を備える。
データメモリ２１は、主軸１３が傾くことによって生じる角度誤差を、主軸１３と平行なＺ軸に対する垂直面であるＸＹ座標の少なくともいずれか１つの座標に対応させて、記憶する。すなわち、データメモリ２１は、格子に分けられ、前記格子の節点それぞれは主軸１３のＸＹ座標を表し、主軸１３が傾くことによって生じる角度誤差（ヒーリング誤差）を主軸１３のＸＹ座標に対応して記憶する。
補正部２２は、工具の長さを表す工具長補正値と角度誤差とに基づいて、工具の先端がワークの加工を行うときの加工位置のＸＹ座標を補正する。
ＮＣ装置の主メモリに記憶された加工プログラムで設定されたＸ，Ｙ，Ｚ軸の機械座標位置を補正部２２が算出する補正値によって補正し、補正後の機械座標位置に基づいてワークの加工点の位置を制御する。
【００３０】
これにより、ワーク加工制御装置２０は、機械のヒーリング誤差を補正し、反転穴加工精度の向上を図ることができる。
【００３１】
［第２の実施形態］
図７は、パレットの交換誤差について説明するための図である。
工作機械１において、回転テーブル１１は、中心位置として決められた値を持っているが、パレット１２を交換して回転テーブル１１に固定した際に、回転テーブル１１に対するワークの位置に位置誤差があると、回転して反転する際にＸ軸等の方向に２倍の位置ズレを生じてしまう。そのため、位置ズレを検出してこの位置ズレを補正する必要がある。
この必要性から、図７（ａ）に示すように、工作機械１において、パレット１２の対向面（主軸１３に対向する面）に対して設置するワーク位置決め板１２ａに、互いに同心となる基準穴を設ける。そして、工具交換で主軸１３に把握したプローブ（穴心を測定する装置）で２つの基準位置の座標を、Ｂ軸を１８０度反転させて測定し、パレットの心ズレ量を算出し、穴加工位置（第１の実施形態におけるヒーリング補正後の穴加工位置）を補正することにより、反転穴加工の精度を高める。
例えば、図７（ｂ）に示すように、パレット１２に取り付けたワーク位置決め板の基準穴１のＢ＝０度位置で基準穴座標（ＸＹＺ）をプローブで測定し、Ｂ＝１８０度で再び基準穴座標（ＸＹＺ）をプローブで測定する。これにより、パレット１２の心ズレ量を計算し、パレット番号を指定してメモリに保存する。このメモリは、ワーク加工制御装置２０におけるデータメモリ２１であってよい。そして、反転加工時に、データメモリ２１に保存されたパレット１２の心ズレ補正量を呼び出して、上記ヒーリング補正に加算（付加）することで、パレット１２の心ズレに対応できる。なお、例えば、図７（ｃ）に示すように、４個の基準穴のＸ軸とＹ軸のみ測定し、Ｚ軸方向の測定は不要となる。
【００３２】
続いて、本実施形態におけるワーク加工制御装置２０の動作を実行させるプログラムについて説明し、パレット１２の心ズレ補正量を求める動作についてフローチャートを参照しつつ説明する。図８は、本発明の第２の実施形態における心ズレ補正量を求める処理を説明するためのフローチャートである。
【００３３】
まず、プログラムの例について説明する。
（１行目）Ｔ２
「Ｔ２」の指令により、工具Ｎｏ２（プローブ）を呼び出す。
（２行目）Ｍ６
「Ｍ６」の指令により、工具Ｎｏ２への工具交換を行う。
（３行目）Ｇ９０  Ｇ５５  Ｇ０  Ｂ０
本指令により、ワーク座標系でＢ軸＝０度の位置決めを指令する。
（４行目）Ｇ９０  Ｇ５５  Ｇ４３  Ｇ０  Ｘ０  Ｙ０  Ｚ−３００  Ｈ２
本指令により、「Ｇ４３」で工具長補正を使用し、「Ｘ＝０」、「Ｙ＝０」、「Ｚ＝−３００」の所へ位置決めを指令する。「Ｈ２」は、工具Ｎｏ２の工具長補正値を読み込む指令をしている。
（５行目）Ｇ３０２  Ｍ９．０  Ａ１．０
本指令により、パレットＮｏ．１に対応するメモリ（「Ａ１．０」）の心ズレ補正量をクリア（「Ｍ９」）することを指令する。
（６行目）Ｚ−２０．０
本指令により、基準穴の位置を２０ｍｍ手前までの位置決めを指令する。
（７行目）Ｇ３０２  Ｍ３．０  Ｂ０  Ｃ１．０  Ｒ１５  Ｐ１．０  Ｑ５．０
「Ｍ３．０」は、ＸＹＺ軸方向のプローブによる測定の指令である。「Ｂ０」はＢ軸＝０度として座標を保存することの指令である。「Ｃ１．０」は、測定対象が１つ目の穴（１穴目）であることの指令である。「Ｒ１５．０」は、基準穴の半径が１５ｍｍであることの指令である。「Ｐ１．０」は、Ｚ軸はＸ軸方向にシフトして端面を測定することの指令である。「Ｑ５．０」は、Ｚ軸測定は、基準穴から５ｍｍ外側の端面を測定することの指令である。
以上より、「Ｇ３０２」指令により、基準穴＝０度の位置のＸＹＺの測定を指令する。
【００３４】
（８行目）Ｚ−３００．０
本指令により、計測器であるプローブを逃がすことを指令する。
（９行目）Ｂ１８０．０
本指令により、Ｂ軸を１８０度に回転することを指令する。
（１０行目）Ｚ−２０．０
本指令により、基準穴の位置を２０ｍｍ手前までの位置決めを指令する。
（１１行目）Ｇ３０２  Ｍ３．０  Ｂ１８０．０  Ｃ２．０  Ｒ１５．０  Ｐ１．０  Ｑ５．０
本指令により、次の基準穴（「Ｃ２．０」）に関する基準穴＝１８０度の位置のＸＹＺの測定を指令する。
（１２行目）Ｇ３０２  Ｍ７．０  Ａ１．０
本指令により、パレット交換の心ズレ量を計算し、パレットＮｏ．１に対応するメモリ（「Ａ１．０」）に保存する。
（１３行目）Ｇ３０２  Ｍ８．０  Ａ１．０
本指令により、パレットＮｏ．１に対応するメモリ（「Ａ１．０」）に保存されたパレット交換の心ズレ量を有効にする（実行エリアに保存する）。
（１４行目）Ｇ３０１  Ｍ１．０  Ａ０  Ｂ２．０  Ｅ９．０  Ｉ−１００．２  Ｊ−２００．５  Ｋ−８０．３  Ｒ５．０  Ｑ１．０  Ｐ０．５
本指令により、「Ｂ２．０」によりＸ軸Ｙ軸の位置決め計算にパレット１２の心ズレ補正値を加算して、反転穴加工を実行することを指令する。
これにより、パレット交換の精度が補正量として確定するので、穴加工を行う際のヒーリングに当該確定値を加えて穴加工を実行する。
なお、（１３行目）と（１４行目）の間には、［第１の実施形態］のプログラムの例で示した加工用工具の交換と加工位置へのアプローチの指令が入る。
【００３５】
続いて、図８に示すフローチャートを用いて、パレット交換の際の心ズレ補正量の測定に関する処理を説明する。
心ズレ補正量の測定がスタートすると、位置制御回路２３は、Ｇ３０２のパラメータ読込みを実行する（ステップＳＴ２０１）。パラメータとしては、Ｍ（モードの種類）、Ａ（パレット番号）、Ｃ（測定回数）、Ｒ（穴半径）、Ｐ（Ｚ座標測定方向）、Ｑ（Ｚ座標測定のシフト量）を読み込む。
位置制御回路２３は、パラメータの良否判定を実行する（ステップＳＴ２０２）。パラメータの良否判定とは、ステップＳＴ２０１で読込んだパラメータ全てが、所定の範囲内にある場合（パラメータの値が間違った、有り得ない値ではない場合）、良と判定し、パラメータの少なくとも１つの値が、所定の範囲内にない場合（範囲外である場合）パラメータの値が間違った、有り得ない値ではない場合）、範囲外と判定する。
位置制御回路２３は、ステップＳＴ２０２で「範囲外」と判定した場合、ステップＳＴ２０３に進む。位置制御回路２３は、アラーム表示を実行し（ステップＳＴ２０３）、心ズレ補正量の測定を終了する。
【００３６】
一方、位置制御回路２３は、ステップＳＴ２０２で「良」と判定した場合、ステップＳＴ２０４に進む。位置制御回路２３は、パラメータＭの判定を実行する（ステップＳＴ２０４）。
位置制御回路２３は、パラメータＭ＝１の場合、ステップＳＴ２０５に進む。位置制御回路２３は、Ｘ方向測定を実行することに備える（ステップＳＴ２０５）。位置制御回路２３は、プローブでＸ方向のみ測定し、座標を保存する（ステップＳＴ２０６）。位置制御回路２３は、パラメータＭ＝２の場合、ステップＳＴ２０７に進む。位置制御回路２３は、ＸＹ方向測定を実行することに備える（ステップＳＴ２０７）。位置制御回路２３は、プローブでＸＹ方向２軸を測定し、座標を保存する（ステップＳＴ２０８）。位置制御回路２３は、パラメータＭ＝３の場合、ステップＳＴ２０９に進む。位置制御回路２３は、ＸＹＺ方向測定を実行することに備える（ステップＳＴ２０９）。位置制御回路２３は、プローブでＸＹＺ方向３軸を測定し、座標を保存する（ステップＳＴ２１０）。
続いて、位置制御回路２３は、パラメータＣの判定を実行する（ステップＳＴ２１１）。位置制御回路２３は、パラメータＣ＝１の場合、ステップＳＴ２１２に進む。位置制御回路２３は、穴の測定座標をメモリ１に保存する（ステップＳＴ２１２）。位置制御回路２３は、パラメータＣ＝２の場合、ステップＳＴ２１３に進む。位置制御回路２３は、穴の測定座標をメモリ２に保存する（ステップＳＴ２１３）。ここで、メモリ１、メモリ２はデータメモリ２１であってよい。
【００３７】
位置制御回路２３は、パラメータＭ＝７の場合、ステップＳＴ２１４に進む。位置制御回路２３は、補正値の計算と保存を実行することに備える（ステップＳＴ２１４）。続いて、位置制御回路２３は、パラメータＢとＣの「良」及び「否」の判定を実行する（ステップＳＴ２１５）。具体的には、図７（ｂ）に示すように、一回目のＣ＝１の場合（Ｂ軸＝０度の場合）における基準穴の座標（Ｘ、Ｙ、Ｚ）とＢ軸の回転中心座標（Ｘ、Ｙ、Ｚ）との差分が所定の第１の閾値に入っているか否かを判定し、二回目のＣ＝２の場合（Ｂ軸＝１８０度の場合）における基準穴の座標（Ｘ、Ｙ、Ｚ）とＢ軸の回転中心座標（Ｘ、Ｙ、Ｚ）との差分が所定の第２の閾値に入っているか否かを判定する。位置制御回路２３は、Ｃ＝１の場合の差分が第１の閾値に入っており、かつ、Ｃ＝２の場合の差分が第２の閾値に入っている場合、「良」と判定する。一方、Ｃ＝１の場合の差分が第１の閾値に入らないか、または、Ｃ＝２の場合の差分が第２の閾値に入らない場合、「否」と判定する。
【００３８】
位置制御回路２３は、ステップＳＴ２１５で「否」と判定した場合、ステップＳＴ２１６に進む。位置制御回路２３は、アラーム表示を実行し（ステップＳＴ２１６）、心ズレ補正量の測定を終了する。一方、位置制御回路２３は、ステップＳＴ２１５で「良」と判定した場合、ステップＳＴ２１７に進む。位置制御回路２３は、心ズレの補正量を計算する（ステップＳＴ２１７）。具体的には、一回目のＣ＝１の場合（Ｂ軸＝０度の場合）における基準穴の座標（Ｘ、Ｙ、Ｚ）とＢ軸の回転中心座標（Ｘ、Ｙ、Ｚ）との差分と、二回目のＣ＝２の場合（Ｂ軸＝１８０度の場合）における基準穴の座標（Ｘ、Ｙ、Ｚ）との差分と、の差の半分をパレットの中心座標（Ｘ、Ｙ、Ｚ）をパレットの心ズレの補正量として計算する（図７（ｂ）参照）。
続いて、位置制御回路２３は、Ａ番号のメモリに心ズレの補正量を保存する（ステップＳＴ２１８）。なお、Ａ番号のメモリとは、図１に示すデータメモリ２１であってもよい。
【００３９】
位置制御回路２３は、パラメータＭ＝８の場合、ステップＳＴ２１９に進む。位置制御回路２３は、実行エリアに補正値を格納することを実行することに備える（ステップＳＴ２１９）。ここで、実行エリアとは、図１に示す補正部２２がヒーリング補正の処理を実行する際のエリアをいい、補正部２２は、保存用の領域を所有することが望ましい。
続いて、位置制御回路２３は、Ａ番号のメモリから心ズレの補正量を読み込むことを実行する（ステップＳＴ２２０）。位置制御回路２３は、実行エリアに補正量を保存する（ステップＳＴ２２１）。
また、位置制御回路２３は、パラメータＭ＝９の場合、ステップＳＴ２２１に進む。位置制御回路２３は、メモリのクリアを実行することに備える（ステップＳＴ２２２）。続いて、位置制御回路２３は、Ａ番号のメモリをクリアし、Ｂ、Ｃパラメータをクリアする（ステップＳＴ２２３）。
【００４０】
以上説明したように、工作機械１は、互いに同心となる基準穴が主軸１３に対向して設けられるワーク位置決め板１２ａが配置されるとともに、回転テーブル１１にワークを固定する、パレット１２を有している。また、位置制御回路２３は、基準穴に対応する基準穴座標の測定結果からパレット１２の心ズレ補正量を計算し、心ズレ補正量の計算結果に基づき、ヒーリング（角度誤差）によるＸ軸Ｙ軸の位置決め補正に、パレット１２の心ズレ補正を加える。
【００４１】
これにより、ワーク加工制御装置２０は、パレット１２の交換によって生じる心ズレの補正量をヒーリング補正に付加することにより、反転穴加工精度の向上を図ることができる。
【００４２】
［第３の実施形態］
工作機械１において、外気温度（機外の温度）、機体温度（コラム、スケール、ベースなど）、ワーク温度、切削液温度などの変化に応じて、例えば、一日において、加工穴の位置座標がずれてしまうため、加工位置に対応する熱変位による加工誤差を補正する必要がある。そのため、工作機械におけるワーク加工制御装置では、例えば、時刻（運転時間）と加工位位置補正量との関連付けされたマスターデータを含む複数のマスターデータを準備し、この複数のマスターデータから熱変位による加工誤差を選択し、選択された加工誤差を第１の実施形態におけるヒーリング誤差（角度誤差）に加算して、反転穴加工精度の向上を図るようにする必要がある。
【００４３】
図９は本発明の第３の実施の形態に係る工作機械におけるワーク加工制御装置を示す図である。ワーク加工制御装置２０ａは、横形マシニングセンタ等の工作機械１を制御するＮＣ装置の機能の一部として構成されている。なお、図1と同じ部分には同じ符号を付し、その説明については省略する。図1と相違する点として、ワーク加工制御装置２０ａは、ＰＣ接続Ｉ／Ｆ３１と、温度センサＩ／Ｆ３２とを備える。
【００４４】
また、工作機械１とワーク加工制御装置２０ａとの外部には、温度測定手段４１と、関連付け解析ＰＣ５０が設けられている。
関連付け解析ＰＣ５０は、データ入力部５１、データメモリ５２、演算手段５３を備えている。
温度測定手段４１は、図９に示すように、工作機械１の各部分の温度を測定する温度センサに接続され、温度センサが測定した温度を温度データに変換して、温度センサＩ／Ｆ３２に出力する。
ＰＣ接続Ｉ／Ｆ３１は、関連付け解析ＰＣ５０のデータ入力部５１と接続され、温度センサＩ／Ｆ３２に入力された温度データを、関連付け解析ＰＣ５０のデータ入力部５１に対して出力する。
関連付け解析ＰＣ５０の演算手段５３は、上述の複数のマスターデータを作成する。マスターデータ作成の際、演算手段５３は、生産スケジュールコントローラからユーザが入力する許容値を各マスターデータに取り込む。
【００４５】
第３の実施形態では、位置制御回路２３は、使用する関連付けのグラフを指定する。
位置制御回路２３は、過去の補正量と誤差測定履歴が関連付けマスターデータの許容値内であれば、現在と同じ補正値を使用し、誤差データが新たに入力されたら、補正値を再計算して使用する。また、許容値から外れたらオプションを選択する。
なお、第３の実施形態では、後述する第４の実施形態と異なり、未来の補正値を予測しない。また、後述する第３の実施形態のフローチャートでは、マスターデータの管理を外部ＰＣが実行するものとしているが、ＮＣ装置を構成するワーク加工制御装置２０ａの内部で実行してもよい。
【００４６】
図１０は、本発明の第３の実施の形態における複数の穴を示す図である。図１０は、１つのワーク１５にある複数の穴１〜穴５を示している。本実施形態においては、１つのワークに複数ある穴に対する反転穴加工に番号をＰ１、Ｐ２のように付け、反転穴加工の位置の誤差量と共に、変数（加工数、時刻、温度変化率等）を測定して、データ化する。これらを基に相関関係図を作成し、平均化したマスターデータに許容幅を設定する。
【００４７】
図１１は、本発明の第３の実施の形態における複数のマスターデータを示す図である。図１１は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータを示している。図１１（ａ）、（ｂ）は、時刻（運転時間）と加工位置補正量とが関連付けされたマスターデータを示している。また、図１１（ｃ）、（ｄ）は、室温変化率と加工位置補正量とが関連付けされたマスターデータを示している。図１１（ｂ）、（ｄ）に示すように、穴１（Ｐ１）、穴２（Ｐ２）の位置誤差を時刻（または温度）と一緒に関連付け解析ＰＣ５０の演算手段５３へ入力することで、演算手段５３は、図１１（ａ）、（ｃ）に示すように、各関連付けにおける過去の履歴から相関係数（平均化したマスターデータ）を表示する。時刻（または温度）と加工位置補正量との間の相関関係が強く、バラつきが許容値（予めユーザによって入力される）範囲内であれば、位置制御回路２３は、指定した関連付けに基づいて加工位置を補正できる。
【００４８】
また、図１２は、本発明の第３の実施の形態における複数のマスターデータを示す図である。図１２は、複数の穴Ｐ１，Ｐ２のそれぞれの加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータを示している。図１２（ａ）は、加工数（開始からの個数）と加工位置補正量とが関連付けされたマスターデータを示している。図１２（ｂ）は、時刻と加工位置補正量とが関連付けされたマスターデータを示している。図１２（ｃ）は、ワークとスケールの温度の差と、加工位置補正量とが関連付けされたマスターデータを示している。図１２（ｄ）は、室温変化率と加工位置補正量とが関連付けされたマスターデータを示している。図１２（ｅ）は、機械温度変化と加工位置補正量とが関連付けされたマスターデータを示している。
【００４９】
続いて、本実施形態におけるワーク加工制御装置２０ａの動作を実行させるプログラムについて説明し、複数の関連付けマスターデータを選択し、複数の穴のうち１つの穴の補正値を算出する動作についてフローチャートを参照しつつ説明する。図１３は、本発明の第３の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【００５０】
まず、プログラムの例について説明する。
（１行目）
Ｇ３０３  Ｍ１．０  Ａ０  Ｂ０．０１  Ｐ１
「Ｍ１．０」は、関連付けの種類を指定する指令である。また、「Ａ０」は過去の履歴判定が無効であることを示す指令である。なお、「Ａ１」の場合、過去の履歴判定が有効であることを示す指令となる。また、「Ｂ０．０１」は、片側の許容値Ｂが０．０１ｍｍであることを示す指令である。なお、「Ｂ０」の場合、マスターデータに設定された許容値であることを示す指令である。また、「Ｐ１」は穴番号がＮｏ．１であることを示す指令である。
（２行目）
Ｇ３０１  Ｍ１．０  Ａ０  Ｂ３．０  Ｅ９．０  Ｉ−１００．２  Ｊ−２００．５  Ｋ−８０．３  Ｒ５．０  Ｑ１．０  Ｐ０．５
「Ｂ３．０」は、Ｘ軸Ｙ軸の位置決め計算に関連付けの補正値を加算することを指示する指令である。
「Ｇ３０３」、「Ｇ３０１」を指令することにより、熱変形による誤差（熱変位の誤差）を、「Ｇ３０３」の指令により補正量を設定し、「Ｇ３０１」の指令により、ヒーリング補正（第１の実施形態における補正）に「Ｇ３０３」の指令による補正を追加して加工することができる。
【００５１】
続いて、図１３に示すフローチャートを用いて、熱変位の誤差による補正値を算出する処理を説明する。
補正値の算出がスタートすると、位置制御回路２３は、Ｇ３０３のパラメータ読込みを実行する（ステップＳＴ３０１）。パラメータとしては、Ｍ（関連付けの種類）、Ａ（過去の履歴判定の有効無効）、Ｂ（許容値）、Ｐ（穴番号）を読み込む。
位置制御回路２３は、パラメータの良否判定を実行する（ステップＳＴ３０２）。パラメータの良否判定とは、ステップＳＴ３０１で読込んだパラメータ全てが、所定の範囲内にある場合（パラメータの値が間違った、有り得ない値ではない場合）、良と判定し、パラメータの少なくとも１つの値が、所定の範囲内にない場合（範囲外である場合）パラメータの値が間違った、有り得ない値ではない場合）、範囲外と判定する。
位置制御回路２３は、ステップＳＴ３０２で「範囲外」と判定した場合、ステップＳＴ３０３に進む。位置制御回路２３は、アラーム表示を実行し（ステップＳＴ３０３）、補正値の算出を終了する。
【００５２】
一方、位置制御回路２３は、ステップＳＴ３０２で「良」と判定した場合、ステップＳＴ３０４に進む。位置制御回路２３は、位置制御回路２３は、パラメータＭの値の判定を実行する（ステップＳＴ３０４）。
位置制御回路２３は、パラメータＭ＝１の場合、ステップＳＴ３０５に進む。位置制御回路２３は、時刻と加工位置の関連付けマスターデータを選択することに備える（ステップＳＴ３０５）。位置制御回路２３は、パラメータＭ＝２の場合、ステップＳＴ３０６に進む。位置制御回路２３は、室温変化率と加工位置の関連付けマスターデータを選択することに備える（ステップＳＴ３０６）。位置制御回路２３は、パラメータＭ＝３の場合、ステップＳＴ３０７に進む。位置制御回路２３は、機械温度変化と加工位置の関連付けマスターデータを選択することに備える（ステップＳＴ３０７）。位置制御回路２３は、パラメータＭ＝４の場合、ステップＳＴ３０８に進む。位置制御回路２３は、加工開始個数と加工位置の関連付けマスターデータを選択することに備える（ステップＳＴ３０８）。位置制御回路２３は、パラメータＭ＝５の場合、ステップＳＴ３０９に進む。位置制御回路２３は、ワークとスケールの温度差と加工位置の関連付けマスターデータを選択することに備える（ステップＳＴ３０９）。位置制御回路２３は、パラメータＭ＝１〜５の場合、反転加工誤差の読込みを実行する（ステップＳＴ３１０）。位置制御回路２３は、外部ＰＣ（パーソナルコンピュータ）から指定の穴番号のデータを読み込む。ここで、外部ＰＣは、本実施形態では、マスターデータの管理を行う関連付け解析ＰＣ５０であり、関連付け解析ＰＣ５０が、ワーク加工制御装置２０ａへの反転誤差の入力、マスターデータの更新を実行している。
【００５３】
続いて、位置制御回路２３は、パラメータＡの値の判定を実行する（ステップＳＴ３１３）。位置制御回路２３は、パラメータＡ＝０の場合、履歴判定を無効と判定し、ステップＳＴ３１４に進む。位置制御回路２３は、補正値を現状維持する（ステップＳＴ３１４）。
一方、位置制御回路２３は、パラメータＡがＡ＝０以外の場合、履歴判定を有効と判定し、ステップＳＴ３１５に進む。位置制御回路２３は、関連付け解析ＰＣ５０からのパラメータＢ（許容値）の値が転送される（ステップＳＴ３１５）。位置制御回路２３は、Ｂ＝０の場合、関連付け解析ＰＣ５０からのマスターデータを利用する。位置制御回路２３は、Ｂ＝０以外の場合、関連付け解析ＰＣ５０へ許容値を入れ替えることを指令する。過去の履歴計算を実行しているマスターデータ管理ＰＣ（関連付け解析ＰＣ５０）は、加工後の誤差と補正量の和がマスターデータの許容値内に入っているかを計算し、各関連付けの相関係数を表示する。
位置制御回路２３へは、関連付け解析ＰＣ５０から過去の履歴の良否判定がパラメータＡに入力される。位置制御回路２３は、過去の履歴の良否判定を判定することに備える（ステップＳＴ３１６）。
【００５４】
続いて、位置制御回路２３は、過去の履歴判定を実行する（ステップＳＴ３１７）。位置制御回路２３は、パラメータＡの値の判定を実行する。位置制御回路２３は、パラメータＡの値が１の場合（ＯＫの場合）、ステップＳＴ３１８に進む。位置制御回路２３は、補正値を設定する（ステップＳＴ３１８）。具体的には、位置制御回路２３は、加工誤差が予め設定された許容値内にある加工誤差を補正値として設定する。
【００５５】
一方、位置制御回路２３は、パラメータＡの値が１でない場合（ＮＧの場合）、ステップＳＴ３１９に進む。位置制御回路２３は、パラメータＡの値の判定を実行する（ステップＳＴ３１９）。位置制御回路２３は、パラメータＡ＝２の場合、ステップＳＴ３２０に進む。位置制御回路２３は、パラメータＡ＝２の場合、補正値をゼロにする（ステップＳＴ３２０）。位置制御回路２３は、パラメータＡ＝３の場合、ステップＳＴ３２１に進む。位置制御回路２３は、パラメータＡ＝３の場合、新しい補正値を使わず、現状の補正値を使用する（ステップＳＴ３２１）。位置制御回路２３は、パラメータＡ＝９の場合、ステップＳＴ３２２に進む。位置制御回路２３は、パラメータＡ＝９は最新の測定結果が許容を外れた場合であり、アラーム表示を実行し（ステップＳＴ３２２）、補正値の算出を終了する。位置制御回路２３は、パラメータＡ＝０〜３の場合、ＸＹ軸の補正量をメモリーに保存する（ステップＳＴ３２３）。具体的には、位置制御回路２３は、パラメータＡ＝０〜３の場合の各場合において、ステップＳＴ３１４、ステップＳＴ３１８、ステップＳＴ３２０、ステップＳＴ３２１で算出した補正値を、データメモリ２１に保存する。位置制御回路２３は、外部ＰＣへ補正値を転送する（ステップＳＴ３２４）。具体的には、位置制御回路２３は、ワーク加工制御装置２０ａにおけるＰＣ接続Ｉ／Ｆ３１を介して関連付け解析ＰＣ５０へ補正値を転送する。そして、補正値の転送後、位置制御回路２３は、上述の「Ｇ３０１」指令を行うプログラムへ進み、「Ｇ３０１」の指令により、ヒーリング補正（第１の実施形態における補正）に「Ｇ３０３」の指令による補正を追加して反転穴の加工を実行する。
【００５６】
以上述べたように、本実施形態のワーク加工制御装置２０ａにおける位置制御回路２３は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、加工誤差が予め設定された許容値内にあるマスターデータを選択して、加工誤差のうち現在時刻に対応する加工誤差を角度誤差に加算する。
すなわち、本実施形態のワーク加工制御装置２０ａは、加工穴に番号を設けて、誤差を補正するマスターデータを設定し、加工誤差を入力することでマスターデータを更新しながら熱変位を補正する。
【００５７】
これにより、ワーク加工制御装置２０ａは、機械のヒーリング誤差を、さらに加工誤差により補正することで、反転穴加工精度の向上を図ることができる。
【００５８】
［第４の実施形態］
第４の実施形態では、上述した第３の実施形態における指定した関連付けに対して、未来の誤差を予測して、次の加工位置を補正できるワーク加工制御装置２０ａについて説明する。第４の実施形態では、図１２に示すように、各穴（穴Ｐ１、穴Ｐ２）について、実際に加工し、現在時刻までの推移の中で、測定できて入力された過去の誤差量から作成された複数のマスターデータから、許容範囲内に入っている変数のマスターデータを表示し、指定した関連付けに対して、未来の誤差を予測して、次の加工位置を補正できることについて説明する。
まず、本実施形態におけるワーク加工制御装置２０ａの動作を実行させるプログラムについて説明し、複数の関連付けマスターデータを選択し、複数の穴のうち１つの穴の補正値を算出する動作についてフローチャートを参照しつつ説明する。図１４は、本発明の第４の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【００５９】
まず、プログラムの例について説明する。
（１行目）
Ｇ３０４  Ｍ１．０  Ａ０  Ｂ０．０１  Ｐ１
「Ｍ１．０」は、関連付けの種類を指定する指令である。また、「Ａ０」は過去の履歴判定が無効であることを示す指令である。なお、「Ａ１」の場合、過去の履歴判定が有効であることを示す指令となる。また、「Ｂ０．０１」は、片側の許容値Ｂが０．０１ｍｍであることを示す指令である。なお、「Ｂ０」の場合、マスターデータに設定された許容値であることを示す指令である。また、「Ｐ１」は穴番号がＮｏ．１であることを示す指令である。
（２行目）
Ｇ３０１  Ｍ１．０  Ａ０  Ｂ３．０  Ｅ９．０  Ｉ−１００．２  Ｊ−２００．５  Ｋ−８０．３  Ｒ５．０  Ｑ１．０  Ｐ０．５
「Ｂ３．０」は、Ｘ軸Ｙ軸の位置決め計算に関連付けの補正値を加算することを指示する指令である。
「Ｇ３０４」、「Ｇ３０１」を指令することにより、熱変形による誤差（熱変位の誤差）を、「Ｇ３０４」の指令により補正量を設定し、「Ｇ３０１」の指令により、ヒーリング補正（第１の実施形態における補正）に「Ｇ３０３」の指令による補正を追加して加工することができる。
【００６０】
続いて、図１４に示すフローチャートを用いて、熱変位の誤差による補正値を算出する処理を説明する。なお、図１４に示すフローチャートにおいて、図１３に示すフローチャートと同じ処理を行うステップについては同一の符号を付し、その説明については省略する。
図１４に示すフローチャートにおいては、図１３に示すフローチャートにおけるステップＳＴ３０１がステップＳＴ３０１Ａとなっている。補正値の算出がスタートすると、位置制御回路２３は、Ｇ３０４のパラメータ読込みを実行する（ステップＳＴ３０１Ａ）。パラメータとして、Ｍ（関連付けの種類）、Ａ（過去の履歴判定の有効無効）、Ｂ（許容値）、Ｐ（穴番号）を読み込むパラメータは、図１３に示すフローチャートにおけるステップＳＴ３０１と同じである。
また、図１４に示すフローチャートにおいては、図１３に示すフローチャートにおけるステップＳＴ３１８がステップＳＴ３１８Ａとなっている。位置制御回路２３は、次（未来）の補正値をマスクデータから読み込む（ステップＳＴ３１８Ａ）。具体的には、位置制御回路２３は、加工誤差が予め設定された許容値内にある加工誤差を、現在値から良くなるか否かを判定し、良くなる場合の加工誤差を補正値として設定する。
【００６１】
以上述べたように、本実施形態のワーク加工制御装置２０ａにおける位置制御回路２３は、加工位置に対応する熱変位による加工誤差の履歴データが示す所定の関連付けされた複数のマスターデータのうち、加工誤差が予め設定された許容値内にあるマスターデータを選択して、加工誤差のうち現在時刻に対応する加工誤差から次の加工における加工誤差を予測し、予測した加工誤差をヒーリング（角度誤差）に加算する。
すなわち、本実施形態のワーク加工制御装置２０ａは、加工穴に番号を設けて、誤差を補正するマスターデータを設定し、加工誤差を入力することでマスターデータを更新しながら熱変位を補正する。
【００６２】
これにより、ワーク加工制御装置２０ａは、機械のヒーリング誤差を、さらに加工誤差により補正することで、反転穴加工精度の向上をはかることができる。
【００６３】
［第５の実施形態］
第５の実施形態では、上述した第４の実施形態における指定した関連付けに対して、関連付けの種類に優先順位を設定し、かつ、未来の誤差を予測して、次の加工位置を補正できるワーク加工制御装置２０ａについて説明する。第５の実施形態では、図１２に示すように、各穴（穴Ｐ１、穴Ｐ２）について、実際に加工し、現在時刻までの推移の中で、測定できて入力された過去の誤差量から作成された複数のマスターデータから、許容範囲内に入っている変数のマスターデータを表示し、設定された優先順位に対応する指定した関連付けに対して、未来の誤差を予測して、次の加工位置を補正できることについて説明する。
まず、本実施形態におけるワーク加工制御装置２０ａの動作を実行させるプログラムについて説明し、複数の関連付けマスターデータを優先順位により選択し、複数の穴のうち１つの穴の補正値を算出する動作についてフローチャートを参照しつつ説明する。図１５は、本発明の第５の実施形態における補正値を算出する処理を説明するためのフローチャートである。
【００６４】
まず、プログラムの例について説明する。
（１行目）
Ｇ３０５  Ｍ１２３４５  Ａ０  Ｂ０．０１  Ｐ１
「Ｍ１２３４５」は、関連付けの種類の優先順序が１→２→３→４→５の順序であることを指定する指令である。また、「Ａ０」は過去の履歴判定が無効であることを示す指令である。なお、「Ａ１」の場合、過去の履歴判定が有効であることを示す指令となる。また、「Ｂ０．０１」は、片側の許容値Ｂが０．０１ｍｍであることを示す指令である。なお、「Ｂ０」の場合、マスターデータに設定された許容値であることを示す指令である。また、「Ｐ１」は穴番号がＮｏ．１であることを示す指令である。
（２行目）
Ｇ３０１  Ｍ１．０  Ａ０  Ｂ３．０  Ｅ９．０  Ｉ−１００．２  Ｊ−２００．５  Ｋ−８０．３  Ｒ５．０  Ｑ１．０  Ｐ０．５
「Ｂ３．０」は、Ｘ軸Ｙ軸の位置決め計算に関連付けの補正値を加算することを指示する指令である。
「Ｇ３０５」、「Ｇ３０１」を指令することにより、熱変形による誤差（熱変位の誤差）を、「Ｇ３０５」の指令により補正量を設定し、「Ｇ３０１」の指令により、ヒーリング補正（第１の実施形態における補正）に「Ｇ３０３」の指令による補正を追加して加工することができる。
【００６５】
続いて、図１５に示すフローチャートを用いて、熱変位の誤差による補正値を算出する処理を説明する。なお、図１５に示すフローチャートにおいて、図１４に示すフローチャートと同じ処理を行うステップについては同一の符号を付し、その説明については省略する。
図１５に示すフローチャートにおいては、図１４に示すフローチャートにおけるステップＳＴ３０１ＡがステップＳＴ３０１Ｂとなっている。補正値の算出がスタートすると、位置制御回路２３は、Ｇ３０５のパラメータ読込みを実行する（ステップＳＴ３０１Ｂ）。パラメータとして、図１４に示すフローチャートにおいては、Ｍ（関連付けの種類）、Ａ（過去の履歴判定の有効無効）、Ｂ（許容値）、Ｐ（穴番号）を読み込むのに対し、図１５に示すフローチャートにおいては、Ｍ（関連付けの優先順序）、Ａ（過去の履歴判定の有効無効）、Ｂ（許容値）、Ｐ（穴番号）を読み込む。
また、図１５に示すフローチャートにおいては、図１４に示すフローチャートにおけるステップＳＴ３１９が判定する際のＡ（過去の履歴判定の有効無効）＝１であるときにステップＳＴ３０４に進む点が相違している。
【００６６】
以上述べたように、本実施形態のワーク加工制御装置２０ａにおける位置制御回路２３は、複数のマスターデータを選択する際の優先順位を設定し、選択したマスターデータにおいて加工誤差が許容値を超えたら、次に優先順位の高いマスターデータに移行する。
すなわち、本実施形態のワーク加工制御装置２０ａは、加工穴に番号を設けて、誤差を補正するマスターデータを設定し、加工誤差を入力することでマスターデータを更新しながら熱変位を補正する。
【００６７】
これにより、ワーク加工制御装置２０ａは、機械のヒーリング誤差を、さらに加工誤差により補正することで、反転穴加工精度の向上を図ることができる。
【００６８】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００６９】
１…工作機械１、２…ベース、３…コラム、４…レベリング、５…テーブル、６ａ，６ｂ…Ｘ軸ガイドレール、７ａ，７ｂ…Ｙ軸ガイドレール、８ａ，８ｂ…Ｚ軸ガイドレール、９…主軸ヘッド、１１…回転テーブル、１２…パレット、１３…主軸、１５…ワーク、１６…Ｘ軸モータ、１７…Ｙ軸モータ、１８…Ｚ軸モータ、２０，２０ａ…ワーク加工制御装置、２１…データメモリ、２２…補正部、２３…位置制御回路、３１…ＰＣ接続Ｉ／Ｆ、３２…温度センサＩ／Ｆ、４１…温度測定手段、５０…関連付け解析ＰＣ、５１…データ入力部、５２…データメモリ、５３…演算手段
【図１】
2018140470.tif 000003
【図２】
2018140470.tif 000004
【図３】
2018140470.tif 000005
【図４】
2018140470.tif 000006
【図５】
2018140470.tif 000007
【図６】
2018140470.tif 000008
【図７】
2018140470.tif 000009
【図８】
2018140470.tif 000010
【図９】
2018140470.tif 000011
【図１０】
2018140470.tif 000012
【図１１】
2018140470.tif 000013
【図１２】
2018140470.tif 000014
【図１３】
2018140470.tif 000015
【図１４】
2018140470.tif 000016
【図１５】
2018140470.tif 000017