(58)【調査した分野】(Int.Cl.,DB名)
前記第二位置は、前記工作物の前記所定軸方向の加工範囲において、前記第一熱変位量の最大値と最小値の間に位置する、請求項1−3の何れか一項に記載の熱変位補正装置。
【発明を実施するための形態】
【0011】
(1.工作機械の機械構成)
工作機械10の一例としての横型マシニングセンタについて
図1を参照して説明する。工作機械10は移動軸部材として、相互に直交する3つの直進軸部材(X,Y,Z軸)および鉛直方向の回転軸部材(B軸)を有する工作機械である。なお、本発明が適用される工作機械10は、以下に説明する工作機械10に限られるものではない。
【0012】
図1に示すように、工作機械10の機械本体は、構造体としての、ベッド11、コラム12、サドル13、主軸14、スライドテーブル15及びターンテーブル16を備える。ベッド11は、ほぼ矩形状からなり、床上に配置される。ベッド11上には、コラム12が、X軸方向(
図1の紙面前後方向)に移動可能に設けられる。コラム12の側面には、サドル13が、Y軸方向(
図1の紙面上下方向)に移動可能に設けられる。サドル13には、主軸14が、Z軸方向に平行な軸線回りに回転可能に設けられる。主軸14の先端には、回転工具19が取り付けられる。また、ベッド11上には、スライドテーブル15がZ軸方向に移動可能に設けられる。スライドテーブル15上には、ターンテーブル16がY軸回り(B軸)に回転可能に設けられる。ターンテーブル16には、工作物Wが治具を介して固定している。
【0013】
(2.工作機械の熱変位状態の説明)
次に、工作機械10の熱変位状態について
図2及び
図3を参照して説明する。ただし、
図2は、熱変位を誇張して表現している。ただし、
図2に示す熱変位状態は、一例であり、変形形状は、工作機械10の構造によって異なる。ここで、本実施形態においては、Z軸位置の熱変位補正について説明するが、X軸位置又はY軸位置の熱変位補正、さらには他の軸方向位置の熱変位補正についても同様に適用できる。
【0014】
図2には、熱変位補正を行うための基準である第一位置O1を示す。第一位置O1は、機械制御の初期設定時や機械設計時に選ばれた基準位置等である。
図2に示すように、ベッド11の上面が左側に伸びるように変形する。つまり、工作物Wの位置は、スライドテーブル15のZ軸位置が大きくなるほど、Z軸プラス方向に変位する。また、コラム12のサドル13の摺動面は、先端側ほど左側に傾くように変形する。つまり、回転工具19の位置は、サドル13のY1位置が大きくなるほど、Z軸プラス方向に変位する。
【0015】
上記の熱変位状態において、加工領域全範囲について各加工点に応じたZ軸方向の第一熱変位量Z1は、
図3に示すとおりである。ここで、第一熱変位量Z1は、第一位置O1を基準としたときの各加工点の熱変位量である。同様に、X軸方向及びY軸方向の熱変位量についても同様に表すことができる。ただし、Z軸方向の第一熱変位量Z1が、加工精度に最も影響を及ぼすため、Z軸方向のみについて説明する。
【0016】
図3には、スライドテーブル15のZ軸位置がZ=0,100,200,300,400のそれぞれの場合について、サドル13のY軸位置に応じた第一熱変位量Z1が示される。
【0017】
スライドテーブル15のZ軸座標値に関わりなく、サドル13のY軸座標値が大きいほど、第一熱変位量Z1は大きくなる。また、サドル13のY軸位置に関わりなく、スライドテーブル15のZ軸座標値が大きくなるほど、第一熱変位量Z1が大きくなる。従って、サドル13のY軸座標値が小さいときには、第一熱変位量Z1の最小値と最大値の差が小さい。一方、サドル13のY軸座標値が大きいときには、第一熱変位量Z1の最小値と最大値の差が大きい。
【0018】
(3.工作機械の熱変位補正装置に関する機能ブロック構成)
次に、工作機械10の熱変位補正装置20に関する機能ブロック構成について
図4〜
図9を参照して説明する。熱変位補正装置20は、工作機械10の構造体の熱変位による位置ずれを解消するために、NCデータによる指令値に対する補正を行う。
【0019】
熱変位補正装置20は、
図4に示す各部21〜29を備える。温度センサ21は、工作機械10の構造体のうち、解析部22による構造解析の対象物に設けられる。例えば、温度センサ21は、ベッド11及びコラム12に設けられる。温度センサ21は、加工中にリアルタイムに計測している。温度センサ21は、例えば、数秒毎に温度を取得する。
【0020】
解析部22は、温度センサ21の温度情報に基づいて、有限要素法等による構造解析を行うことにより、構造体の熱変位量を算出する。解析部22は、例えば、ベッド11のうちスライドテーブル15の摺動面の熱変位量、及び、コラム12のうちサドル13の摺動面の熱変位量を算出することができる。
【0021】
解析部22は、例えば、国際公開第2012/157687号に記載されている方法を適用する。解析部22は、当該方法を適用することにより、加工中にリアルタイムに実行することができる。解析部22は、温度センサ21による温度情報の取得タイミングと同様に、例えば、数秒毎に実行する。
【0022】
解析部22は、対象物である構造体モデルを構造解析における複数の要素により形成する。各要素は、四面体一次要素、四面体二次要素、六面体一次要素、六面体二次要素等である。そして、解析部22は、構造体モデルの各節点(要素の頂点)の境界条件を設定する。境界条件は、位置に関する拘束条件、温度条件等である。解析部22は、各節点の温度条件として、構造体モデルを複数のブロックに分割して、複数のブロックに含まれる複数の節点の温度を均一値とする。なお、1つのブロックは、複数の要素を含む大きさである。このように、各ブロック内の節点の温度を均一値とすることにより、解析部22による構造解析の演算量が大幅に低減し、リアルタイムな高速演算が可能となる。
【0023】
第一熱変位量設定部23は、解析部22により得られる構造体の熱変位量に基づいて、第一位置O1を基準として、加工領域全範囲について各加工点に応じたZ軸方向の第一熱変位量Z1を設定する。第一熱変位量設定部23による処理は、加工中にリアルタイムに実行される。
【0024】
第一熱変位量Z1について、
図5を参照して説明する。
図5に示すように、工作機械10の加工領域全範囲を格子状に分割して、第一熱変位量Z1が各格子点Pに関連付けられる。つまり、各格子点Pに、異なる第一熱変位量Z1が設定されている。第一熱変位量Z1は、第一位置O1を基準(原点)とした値である。各格子点Pにおける第一熱変位量Z1は、
図2に示すように、Y軸座標値が大きいほど大きな値となり、Z軸座標値が大きいほど大きな値となる。なお、
図2には図示しないが、第一熱変位量Z1は、X軸座標値に応じて変化する。
【0025】
第二熱変位量設定部24は、第一熱変位量設定部23により設定された第一熱変位量Z1に基づいて、加工領域全範囲について各格子点Pに応じたZ軸方向の第二熱変位量Z2を設定する。第二熱変位量設定部24による処理は、加工中にリアルタイムに実行される。
【0026】
第二熱変位量Z2は、第一位置O1とは異なる第二位置O2を基準(原点)とする値である。本実施形態においては、第二位置O2は、第一位置O1に対してZ軸方向にずれた位置とする。第二位置O2は、第一熱変位量Z1の最大値と最小値の間に位置する。ここで、第二位置O2は、後述する熱変位の補正値のデータ型のビット数を小さくさせることを目的として、演算の際に用いる補正値の原点として第一位置O1からシフトさせた位置である。第二位置O2は、例えば、以下に示す4例のうち何れかを採用する。
【0027】
(第一例)第一例の第二位置O2aについて、
図6を参照して説明する。第一例の第二位置O2aは、第一熱変位量Z1の最大値と最小値との中間値である。従って、各格子点Pの第二熱変位量Z2のデータ型は、正負両方の整数を表せる符号あり整数型である。この場合、Y軸が、Y2aとなる。また、第一位置O1から第二位置O2aへの原点シフト量は、ΔZaとなる。
【0028】
(第二例)第二例の第二位置O2bについて、
図7を参照して説明する。第二例の第二位置O2bは、第一熱変位量Z1の最大値と最小値の間のうち所定の代表位置Pbである。本例では、代表位置Pbは、サドル13が最も下方に位置し、スライドテーブル15が最もコラム12側に位置する状態の加工点に相当する。つまり、代表位置Pbは、第一熱変位量Z1が最も小さな位置である。ただし、代表位置Pbは、第一熱変位量Z1が小ささの観点に限定されず、他の観点から選ばれた点としてもよい。例えば、代表位置Pbは、加工精度に影響しやすい部位である工作物W付近の点等としてもよい。
【0029】
この場合、各格子点Pの第二熱変位量Z2のデータ型は、符号なし整数型(正値のみの整数型)である。この場合、Y軸が、Y2bとなる。また、第一位置O1から第二位置O2bへの原点シフト量は、ΔZbとなる。
【0030】
(第三例)第三例の第二位置O2cについて、
図8を参照して説明する。第三例の第二位置O2cは、工作物WのZ軸方向の加工範囲において、第一熱変位量Z1の最大値と最小値の間に位置する。
図8には、例えば、工作物WのZ軸方向の加工範囲は、Z=100からZ=300の範囲である場合を示す。
【0031】
第一例の第二位置O2aは、Z軸方向の全範囲を対象としているため、Z=0からZ=400の範囲を対象とした。一方、第三例の第二位置O2cは、Z軸方向の一部範囲(Z=100〜Z=300)を対象としている。特に、第二位置O2cは、工作物WのZ軸方向の加工範囲において、第一熱変位量Z1の最大値と最小値との中間値である。従って、各格子点Pの第二熱変位量Z2のデータ型は、正負両方の整数を表せる符号あり整数型である。この場合、Y軸が、Y2cとなる。また、第一位置O1から第二位置O2cへの原点シフト量は、ΔZcとなる。
【0032】
(第四例)第四例の第二位置O2dは、
図9を参照して説明する。第四例の第二位置O2dは、工作物WのZ軸方向の加工範囲において、第一熱変位量Z1の最大値と最小値の間に位置する。さらに、第四例の第二位置O2dは、第一熱変位量Z1の最大値と最小値の間のうち所定の代表位置Pdである。本例では、代表位置Pdは、工作物座標系の原点Pdに相当する位置である。
【0033】
この場合、各格子点Pの第二熱変位量Z2のデータ型は、符号なし整数型(正値のみの整数型)である。この場合、Y軸が、Y2dとなる。また、第一位置O1から第二位置O2dへの原点シフト量は、ΔZdとなる。
【0034】
ここで、データ型(整数型)について説明する。符号なし整数型は、ビットの並びをそのまま数値として解釈する。符号あり整数型は、負値の表現方法に応じて異なる。符号あり整数型は、例えば、符号−仮数部、1の補数、2の補数、エクセスN等がある。上記の第一例及び第三例における第二熱変位量Z2は、符号あり整数型の4種のうち何れかを採用する。
【0035】
「符号−仮数部」表現は、符号ビットを追加して正負を表す方法である。例えば、「符号−仮数部」表現での「−127」は、8ビットのビットパターン「11111111」で表される。
「1の補数」表現は、負の数の表現に絶対値のビット単位のNOTを適用する。例えば、「1の補数」表現での「−127」は、8ビットのビットパターン「10000000」で表される。
【0036】
「2の補数」表現は、「1の補数」表現より1だけ大きいビットパターンで表される。例えば、「2の補数」表現での「−127」は、8ビットのビットパターン「10000001」で表される。
「エクセスN」表現は、オフセット・バイナリとも呼ばれ、事前に決めたNという数をバイアス値として使う。0はNで表され、−Nはゼロが並んだビットパターンで表される。例えば、「エクセス127」表現での「−127」は、8ビットのビットパターン「00000000」で表される。
【0037】
例えば、8ビットの場合に、符号なし整数型、符号あり整数型の上記各表現では、以下の表に示す数値範囲を表すことができる。
【0039】
従って、上記の第一例の第二位置O2aを基準とした第二熱変位量Z2、及び、第二例の第二位置O2bを基準とした第二熱変位量Z2は、同じビット数で表すことができる。また、第三例の第二位置O2cを基準とした第二熱変位量Z2、及び、第四例の第二位置O2dを基準とした第二熱変位量Z2は、工作物WのZ軸方向の加工範囲を対象とする。そこで、第二熱変位量Z2が、当該加工範囲のみを表すビット数に制限することもできる。この場合、第一例、第二例の場合に比べて、少ないビット数で表すことができる。また、第三例、第四例については、同じビット数で表すことができる。
【0040】
なお、第二位置O2は、上述した第一例〜第四例の場合以外に、第一熱変位量Z1の最大値と最小値の間にシフトさせ、後述する補正値のデータ型のビット数を小さくさせることができる効果が得られる位置であれば、他の位置であってもよい。
【0041】
図4に戻り説明する。原点シフト量記憶部25は、第一位置O1から第二位置(O2a〜O2dの何れか)への原点シフト量(ΔZa〜ΔZdの何れか)を記憶する。
指令加工点取得部26は、工作機械10による工作物Wの加工中に、NCデータによるZ軸方向における指令加工点を取得する。
【0042】
補正値取得部27は、指令加工点、及び、第二熱変位量設定部24に設定された第二熱変位量Z2に基づいて、指令加工点に対応する第二熱変位量Z2を補正値として取得する。この補正値の算出方法について、
図5を参照して説明する。
【0043】
図5の実線にて示す単位格子の中に、指令加工点が位置するとする。この場合、指令加工点が含まれる単位格子の8つの格子点Pの第二熱変位量Z2を取得する。補正値取得部27は、当該単位格子の中における指令加工点の位置に応じて、8つの格子点Pの第二熱変位量Z2に基づいて、指令加工点に対応する補正値を算出する。
【0044】
このとき、各格子点Pの第二熱変位量Z2は、所定のビット数で表現されている。従って、補正値の算出において、8つの格子点Pの第二熱変位量Z2を用いるため、補正値の算出処理は、格子点Pの第二熱変位量Z2のビット数に応じた時間を要する。ただし、第二熱変位量Z2は、第一熱変位量Z1に比べて少ないビット数で表現できるため、補正値の算出処理は、第一熱変位量Z1を用いるのではなく、第二熱変位量Z2を用いるため、短時間で処理できる。
【0045】
補正部28は、補正値取得部27が取得した補正値、及び、原点シフト量記憶部25に記憶された原点シフト量(ΔZa〜ΔZdの何れか)に基づいて、Z軸方向の指令値を補正する。ここで、補正値取得部27が取得した補正値は、第二位置(O2a〜O2dの何れか)を基準としている。そこで、補正値に原点シフト量(ΔZa〜ΔZdの何れか)を加えることにより、第一位置O1を基準とした補正値を算出でき、当該補正値を指令値に加えた値に基づいてスライドテーブル15を駆動する。
【0046】
表示部29は、加工中に、指令加工点に対応する熱変位量を逐次表示する。ただし、表示部29が表示する熱変位量は、第二熱変位量Z2ではなく、第一熱変位量Z1に相当する値である。第二熱変位量Z2の基準となる第二位置(O2a〜O2dの何れか)は、解析部22の処理が行われる都度変化する。しかし、第一熱変位量Z1の基準となる第一位置O1は、不変である。そこで、表示部29は、不変の特定位置である第一位置O1を基準とした場合に、指令加工点に対応する熱変位量を表示する。
【0047】
(4.実施形態の効果)
熱変位補正装置20は、工作機械10のZ軸方向における第一位置O1を基準として、加工領域全範囲について各加工点に応じたZ軸方向の第一熱変位量Z1を設定する第一熱変位量設定部23と、設定された第一熱変位量Z1の最大値と最小値の間に位置する第二位置O2a〜O2dを基準として、加工領域全範囲について各加工点に応じたZ軸に対する第二熱変位量Z2を設定する第二熱変位量設定部24と、第一位置O1から第二位置O2a〜O2dへの原点シフト量ΔZa〜ΔZdを記憶する原点シフト量記憶部25と、工作機械10による工作物Wの加工中に、Z軸方向における指令加工点を取得する指令加工点取得部26と、指令加工点、及び、第二熱変位量設定部24により設定された第二熱変位量Z2に基づいて、指令加工点に対応する第二熱変位量Z2を補正値として取得する補正値取得部27と、取得した補正値及び原点シフト量ΔZa〜ΔZdに基づいて、Z軸方向の指令値を補正する補正部28とを備える。
【0048】
加工中において、指令値に対する補正値は、第二熱変位量Z2のうちの指令加工点に対応するものである。第二熱変位量Z2は、第一熱変位量Z1の最大値と最小値の間に位置する第二位置O2a〜O2dを基準とされている。つまり、第二熱変位量Z2の最大値は、第一熱変位量Z1の最大値と最小値との差以下となる。従って、補正値のデータ型(整数型)のビット数は、第二熱変位量Z2の最大値に応じた数で足りる。このように、補正値のデータ型のビット数を小さくすることができ、補正値の取得に要する時間を短くできる。従って、熱変位補正を全範囲について確実に行うことができる。つまり、熱変位補正の効果を確実に得ることができる。
【0049】
また、熱変位補正装置20は、工作機械10の構造体の所定部位に配置された温度センサ21と、温度センサ21の温度情報に基づいて構造解析を行うことにより構造体の熱変位量を算出する解析部22とを備える。そして、第一熱変位量設定部23は、解析部22により得られる構造体の熱変位量に基づいて、第一熱変位量Z1を設定する。
【0050】
つまり、解析部22により構造解析が行われる度に、第一熱変位量Z1が算出される。従って、第一熱変位量Z1の最大値と最小値は変化する。ここで、第二熱変位量設定部24が、第一熱変位量Z1に基づいて第二熱変位量Z2を算出する。そのため、第一熱変位量Z1の最大値と最小値の変化に応じて、第二熱変位量Z2及び原点シフト量ΔZa〜ΔZdが変化する。つまり、解析結果に応じて第二位置O2a〜O2dを適宜変更することで、補正値のデータ型のビット数が小さくなるようにできる。
【0051】
また、解析部22、第一熱変位量設定部23及び第二熱変位量設定部24は、工作機械10による加工中に実行している。得られた第一熱変位量Z1に応じて第二位置O2a〜O2dを加工中に逐次変更することで、補正値のデータ型のビット数を常に小さな状態とできる。従って、補正値の算出処理を短時間で行うことができる。
【0052】
また、第一例で示したように、第二位置O2aは、第一熱変位量Z1の最大値と最小値との中間値である。この場合、確実に、補正値のデータ型のビット数を小さくできる。第二例で示したように、第二位置O2bは、第一熱変位量Z1の最大値と最小値の間のうち、所定の代表位置Pbである。この場合も、確実に、補正値のデータ型のビット数を小さくできる。
【0053】
また、第三例で示したように、第二位置O2cは、工作物WのZ軸方向の加工範囲において、第一熱変位量Z1の最大値と最小値の間に位置する。第一例、第二例に比べて、実際に使用する補正値のデータ型のビット数を小さくできる。また、第四例で示したように、第二位置O2dは、工作物WのZ軸方向の加工範囲において、第一熱変位量Z1の最大値と最小値との中間値である。この場合も、第三例と同様に、実際に使用する補正値のデータ型のビット数を小さくできる。
【0054】
また、熱変位補正装置20は、不変の特定位置(例えば第一位置O1)を基準とした場合に、指令加工点に対応する熱変位量を表示する。ここで、補正値の算出処理においては、変化する第二位置O2a〜O2dを基準とする第二熱変位量Z2を用いる。これに対して、表示部29に表示する熱変位量は、不変の特定位置を基準とした値とする。表示部29に表示する熱変位量が不変の特定位置を基準とする値とすることで、オペレータは、加工中に熱変位量がどのように変化しているかを確実に把握することができる。