(57)【要約】【課題】専用の計測装置を設けることなくワークの座標位置を計測することができる数値制御装置、それを備えた工作機械及びワークの座標算出方法を提供する。【解決手段】機械接点式のタッチセンサを使用することなく、Ｃ軸サーボモータ２０のドループ量をセンサ代わりとして活用し、ワークの計測点のＣ軸座標値を計測するようにした。即ち、ＣＰＵ３０の移動指令生成部４０からの主軸の目標位置とエンコーダ２０ａからのＣ軸サーボモータ２０のフィードバック位置との差分に基づいて計測点のＣ軸座標値を計測するようにした。計測には工具のみを使用して、当該工具をワークの計測点に当接させ、停止したときの誤差量から当該計測点の座標を算出する。このため、専用の計測装置が不要となる。【選択図】        図２
2005034934.tif 000002
【特許請求の範囲】
【請求項１】
所定の加工プログラムに基づいてワークを加工する工作機械に搭載される数値制御装置であって、
主軸を所定の制御軸方向に駆動させるためのモータに対して所定の移動指令値を出力する移動指令生成手段と、
前記モータの回転角度を検出する回転角検出手段と、
前記回転角検出手段により検出されたモータの実際の回転角度と前記移動指令生成手段から出力された移動指令値との誤差量を演算する誤差量演算手段とを備え、
前記誤差量演算手段により算出された誤差量に基づいて前記モータを駆動制御するようにした数値制御装置において、
前記移動指令生成手段からの移動指令値と前記誤差量演算手段からの誤差量とに基づいて予め設定されたワークの計測点の座標位置を演算する計測点算出手段を備えた数値制御装置。
【請求項２】
予め計測された工具径データが格納された記憶手段を備え、
前記計測点算出手段は、前記記憶手段に格納された工具径を加味して前記計測点の座標位置を演算するようにした請求項１に記載の数値制御装置。
【請求項３】
所定の加工プログラムに基づいてワークを加工する工作機械において、請求項１又は請求項２に記載の数値制御装置を備えた工作機械。
【請求項４】
工具を所定の制御軸方向に移動させる際の加工プログラム上の基準となるワークの座標算出方法において、
予め設定されたワークの計測点に工具を当接させ、このときの工具の実際の移動量と予め指定された指令移動量との誤差量、及び予め計測された工具径に基づいて前記計測点の座標位置を演算するようにしたワークの座標算出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械に搭載される数値制御装置、それを備えた工作機械及びワークの座標算出方法に関するものである。
【０００２】
【従来の技術】
従来、マシニングセンタやＦＭＳ（Ｆｌｅｘｉｂｌｅ  Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｓｙｓｔｅｍ）等の数値制御装置を備えた複合加工工作機械が知られている。この工作機械にはワークが自動的に供給され、当該工作機械は供給されてきたワークを所定の加工プログラムに従って自動的に加工する。供給されたワークを自動的に加工するためには、ワークの形状及び寸法を計測して加工基準点（加工原点又はプログラム原点ともいう。）等を設定する必要がある。加工基準点は機械座標系における機械原点からの原点オフセット値に基づいて認識される。この加工基準点を基準として作成された加工プラグラムにおいて指定される工具の移動経路は、原点オフセット値に基づいて機械座標系に変換され、この機械座標系において工具の移動が数値制御される。
【０００３】
一般に、ワークは許容された所定の誤差を有しているので、例えばワークの工具当接側の端面に加工基準点を設定するようにした場合、機械座標系におけるワークの端面の座標位置は各ワーク毎に微妙に異なる。しかしながら、加工プラグラムに従って数値制御される工具は、原点オフセット値が変更されない限り、所定の移動経路を経由して移動する。このため、例えばワークの端面における加工基準点から所定の距離の部位に何らかの加工を施そうとする場合、各ワーク毎に加工部位の当該ワーク端面からの寸法が異なることになり、加工精度が低下するおそれがあった。
【０００４】
そこで、この問題を解決するために、従来、複合加工工作機械にはタッチセンサを備え、このタッチセンサによりワークの形状、寸法及びワーク端面の座標位置を計測するようにされている。そして、数値制御装置は、計測されたワーク端面の座標位置に応じて前述した原点オフセット値を、即ちワークの加工原点を補正する。
【０００５】
このような、数値制御装置を備えた工作機械として、例えばＣ軸制御機能を有する旋盤が知られている。この旋盤においては、ワークが非軸対称の特殊形状であるとき、例えば加工基準点からのＣ軸方向の角度が指定された突起及び窪みがワークの内外周部や端面にあるとき、Ｃ軸制御の基準となるＣ軸原点（機械原点）に対して加工基準点を正確に設定する必要がある。加工基準点は加工原点又はプログラム原点ともいい、加工プログラムにおいて指示された値の基準（原点）となる。このように、加工基準点に対するＣ軸値が角度により指定されたＣ軸値指定形状（例えば扇形形状）を有する特殊形状のワークを旋盤により加工する際、数値制御装置は、次のような処理を行う。
【０００６】
即ち、数値制御装置は所定のサーチプログラムに基づいてワークをＣ軸制御により回転させることにより、Ｃ軸値指定形状のＣ軸方向の両側にそれぞれ設定された計測点について、Ｃ軸原点からの角度を測定する。続いて、この測定された角度及びＣ軸値指定形状の加工基準点に対する指定角度に基づいて、数値制御装置は加工基準点のＣ軸原点からの角度を求める。そして、前記加工基準点を基準にして加工プログラムの中で指示された角度に対して、当該加工基準点のＣ軸原点からの角度を考慮して、Ｃ軸をＣ軸原点を基準に位置決めする。この位置決めにより、Ｃ軸値指定形状に対して正確な位置関係を保ちながらミーリング等の加工をワークに対して行う（例えば、特許文献１参照。）。
【０００７】
また、研削ユニットを備えた複合加工機械において、ワークの寸法及び位置を検出して加工基準点の設定の自動化を図るようにしたものも知られている。この複合加工機械は旋削ミルユニット及び研削ユニットを備えている。旋削ミルユニットはタレット式の刃物台を有しており、当該刃物台にはタッチセンサツールが装備されている。刃物台に対向するように主軸が配設されており、当該主軸にはワークが把持されている。そして、ワークと刃物台とを相互に近づけ、タッチセンサツールのプローブがワークに触れると、タッチセンサツールは信号を発する。この信号は計測処理部へ送られ、ワークの寸法及び位置がそれぞれ検出される。これらのワークのデータに基いて数値制御装置は研削加工基準点を決定するようになっている（例えば、特許文献２参照。）。
【０００８】
【特許文献１】
特開平５−４１４９号公報
【特許文献２】
特開平１１−１２３６３７号公報
【０００９】
【発明が解決しようとする課題】
ところが、前記従来の数値制御装置には次のような問題があった。即ち、ワークの加工基準点の計測には機械接点式のタッチセンサを使用していた。具体的には、ワークの計測点にタッチセンサのプローブを接触させ、機械接点のオン／オフにより当該計測点とタッチセンサとの接触を検出し、この接触部位の座標から計測座標を算出していた。そして、算出されたワークの計測座標に基づいて加工基準点を自動的に補正するようにしていた。
【００１０】
このため、タッチセンサ及びその信号伝達装置等の専用の計測装置を工作機械に組み込む必要があった。従って、工作機械の構成が複雑になるという問題があった。また、機械接点式のタッチセンサはプローブにある程度以上の力が加えられることにより作動する。このため、高精度の計測には適さず、くり返し精度（計測精度）の向上にも限界があった。さらに、タッチセンサの故障及び誤動作のおそれもあった。タッチセンサが故障した場合にはワークを自動的に加工することが不能となる。タッチセンサが誤動作した場合にはワークの加工精度が低下する。
【００１１】
本発明は上記問題点を解決するためになされたものであって、その目的は、専用の計測装置を設けることなくワークの座標位置を計測することができる数値制御装置、それを備えた工作機械及びワークの座標算出方法を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１に記載の発明は、所定の加工プログラムに基づいてワークを加工する工作機械に搭載される数値制御装置であって、主軸を所定の制御軸方向に駆動させるためのモータに対して所定の移動指令値を出力する移動指令生成手段と、前記モータの回転角度を検出する回転角検出手段と、前記回転角検出手段により検出されたモータの実際の回転角度と前記移動指令生成手段から出力された移動指令値との誤差量を演算する誤差量演算手段とを備え、前記誤差量演算手段により算出された誤差量に基づいて前記モータを駆動制御するようにした数値制御装置において、前記移動指令生成手段からの移動指令値と前記誤差量演算手段からの誤差量とに基づいて予め設定されたワークの計測点の座標位置を演算する計測点算出手段を備えたことを要旨とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の数値制御装置において、予め計測された工具径データが格納された記憶手段を備え、前記計測点算出手段は、前記記憶手段に格納された工具径を加味して前記計測点の座標位置を演算するようにしたことを要旨とする。
【００１４】
請求項３に記載の発明は、所定の加工プログラムに基づいてワークを加工する工作機械において、請求項１又は請求項２に記載の数値制御装置を備えたことを要旨とする。
【００１５】
請求項４に記載の発明は、工具を所定の制御軸方向に移動させる際の加工プログラム上の基準となるワークの座標算出方法において、予め設定されたワークの計測点に工具を当接させ、このときの工具の実際の移動量と予め指定された指令移動量との誤差量、及び予め計測された工具径に基づいて前記計測点の座標位置を演算するようにしたことを要旨とする。
【００１６】
（作用）
請求項１に記載の発明によれば、数値制御装置が搭載された工作機械は所定の加工プログラムに基づいてワークを加工する。主軸を所定の制御軸方向に駆動させるためのモータは、所定の移動指令値に基づいて駆動される。このとき、モータの実際の回転角度と移動指令値との誤差量に基づいて当該モータは駆動制御される。そして、移動指令生成手段からの移動指令値と誤差量演算手段からの誤差量とに基づいてワークの計測点の座標位置が演算される。このため、ワークの計測点の座標位置を計測するためのタッチセンサ等の専用の計測装置を工作機械に組み込む必要はない。
【００１７】
請求項２に記載の発明によれば、請求項１に記載の数値制御装置の作用に加えて、記憶手段に格納された工具径を加味してワークの計測点の座標位置が演算される。このため、ワークの計測点の座標位置が、より正確に求められる。
【００１８】
請求項３に記載の発明によれば、所定の加工プログラムに基づいてワークを加工する工作機械において、請求項１又は請求項２に記載の数値制御装置を備えたことにより、ワークの計測点の座標位置を計測するためのタッチセンサ等の専用の計測装置を工作機械に組み込む必要がない。このため、工作機械の構成が複雑になることはない。ワークの加工精度も向上する。
【００１９】
請求項４に記載の発明によれば、予め設定されたワークの計測点に工具を当接させ、このときの工具の実際の移動量と予め指定された指令移動量との誤差量、及び予め計測された工具径に基づいてワークの計測点の座標位置が演算される。このため、ワークの計測点の座標位置を計測するためのタッチセンサ等の専用の計測装置を工作機械に組み込む必要はない。
【００２０】
【発明の実施の形態】
（第１実施形態）
以下、本発明を旋盤等の工作機械に搭載されると共に当該工作機械を数値制御する数値制御装置に具体化した第１実施形態を図１〜図７に従って説明する。
【００２１】
（旋盤の全体構成）
図１に示すように、ＮＣ旋盤（数値制御旋盤）１１は機械本体１２、当該機械本体１２を数値制御する数値制御装置１３、軸アンプ（サーボ増幅器）１４及び操作盤１５を備えている。
【００２２】
（機械本体）
機械本体１２はＣ軸サーボモータ２０及び当該Ｃ軸サーボモータ２０に直接連結された主軸２１を備えている。Ｃ軸サーボモータ２０にはエンコーダ２０ａが設けられており、当該エンコーダ２０ａはＣ軸サーボモータ２０のその時々の移動量（回転角）を検出する。Ｃ軸サーボモータ２０の駆動により主軸２１は自身の中心軸を中心として回動可能とされている。主軸２１には加工時にワーク（工作物）Ｗを把持固定するためのチャック２２が設けられている。また、機械本体１２は刃物台２３を備えている。刃物台２３は自身の中心軸を中心として旋回可能、且つ図１に矢印で示すＸ軸方向、Ｙ方軸方向及びＺ軸方向にそれぞれ移動可能とされている。刃物台２３にはワークＷを加工するための工具Ｔが工具ホルダ２４を介して着脱自在に装着されている。
【００２３】
刃物台２３にはバイト等の旋削工具に加えて、ドリル及びフライスカッタ等の回転工具も装着可能とされている。このため、装着する工具Ｔの種類によりＮＣ旋盤１１は旋削加工に加えてミーリング加工（回転工具による加工）も行うことができ、複合加工機としての機能を発揮する。本実施形態では工具Ｔとして、エンドミルが装着されており、当該エンドミルはその回転駆動を許容する工具ホルダ２４にセットされた状態で刃物台２３に装着されている。従って、工具Ｔは回転駆動が許容されており、ワークＷに対して切欠き加工等が行えるようになっている。
【００２４】
尚、本実施形態では、主軸２１の方向をＺ軸としており、このＺ軸に直交する方向をＸ軸としている。また、Ｘ軸及びＺ軸の双方に直交する軸をＹ軸としている。さらに、旋回座標軸として、Ｚ軸回りの回転運動をＣ軸として使用している。Ｘ軸、Ｙ軸、Ｚ軸及びＣ軸はそれぞれ数値制御装置１３により制御される所定の制御軸を構成する。
【００２５】
（数値制御装置）
図１に示すように、数値制御装置１３は、ＣＰＵ（中央演算装置）３０、ＲＯＭ（読み出し専用メモリ）３１及びＲＡＭ（読み出し書き込み専用メモリ）３２を備えている。ＲＯＭ３１にはＣＰＵ３０が実行する仮計測プログラム、実計測プログラム及び加工プログラム自動作成プログラム等の各種の制御プログラム、及び各種の工具データが格納されている。工具データには、工具径データ（工具半径データ）及び工具の種類データ等が含まれている。ＲＡＭ３２はＲＯＭ３１に書き込まれた各種の制御プログラムを展開してＣＰＵ３０が各種の演算処理を実行するためのデータ作業領域である。また、ＲＡＭ３２はＣＰＵ３０が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【００２６】
ＣＰＵ３０は自動プログラミング機能を備えており、前記ＲＯＭ３１に格納された加工プログラムを自動作成可能とされている。具体的には、前記自動プログラミング機能には対話型プログラミング機能が含まれており、ＣＰＵ３０は操作盤１５の表示部（図示略）を介してオペレータに対してデータ入力等の所定の指示を行う。そして、操作盤１５のキーボード等のデータ入力部（図示略）を介してオペレータにより入力されたデータ（例えば、加工形状及び加工条件等）に基づいて、ＣＰＵ３０は加工プログラムを演算して作成する。この予め作成した所定の加工プログラムに従ってＣＰＵ３０は、機械本体１２を制御してワークＷを所望の形状に加工する。
【００２７】
（軸アンプ）
軸アンプ１４はサーボアンプ又はサーボ増幅器ともいい、ＣＰＵ３０から出力される信号を増幅する。ＣＰＵ３０から出力される信号は非常に微弱なので、当該ＣＰＵ３０によりモータ制御を行うためにはアンプ（増幅器）で電流を増幅する必要がある。また、軸アンプ１４は、位置指令値、速度指令値及びトルク指令値等の「目標値」と、制御対象であるＣ軸サーボモータ２０から出力される「フィードバック量」との差分を処理して、最終的にＣ軸サーボモータ２０を駆動する。
【００２８】
尚、本実施形態において、ＮＣ旋盤１１は工作機械を構成し、Ｃ軸サーボモータ２０はモータを構成する。また、エンコーダ２０ａは回転角検出手段を構成し、ＲＡＭ３２は記憶手段を構成する。
【００２９】
（実施形態の作用）
次に、前述のように構成されたＮＣ旋盤１１の動作について説明する。
オペレータは、数値制御装置１３からの指示に従って操作盤１５のデータ入力部を通じて各種データを入力する。数値制御装置１３からの指示は操作盤１５の表示部に表示される。ＣＰＵ３０はＲＯＭ３１に格納された公知の加工プログラム自動作成プログラムに従ってオペレータにより入力された各種データに基づいて加工プログラムを作成し、当該加工プログラムをＲＡＭ３２に格納する。
【００３０】
この後、オペレータにより操作盤１５の入力部を介してＣＰＵ３０に対してワークＷの加工指令が入力されると、ＣＰＵ３０はＲＡＭ３２から当該ワークＷに関する加工プログラムを読み出す。この加工プログラムに従ってＣＰＵ３０は軸アンプ１４及び刃物台２３をそれぞれ駆動制御してワークＷの加工を実行する。このように、ＮＣ旋盤１１においては、ＣＰＵ３０が加工すべきワークＷに対応した加工プログラムをＲＡＭ３２から読み出して実行することにより、加工作業のための制御が行われる。
【００３１】
この加工プログラムにおいて、Ｃ軸制御を伴うミーリング等の加工作業が、ワークＷの加工基準点（加工原点又はプログラム原点ともいう。）を基準に指定されている場合、ワークＷが軸対称部品であるときには、ワークＷのどの角度位置から加工を開始してもよい。しかし、ワークＷが軸対称部品でない場合、例えば図３に示すように、ワークＷの外周に突部Ｗａが形成されている場合、この突部Ｗａに対するＣ軸制御を伴う加工を適正な状態で行うためには、加工基準点のＣ軸原点（機械原点）に対する角度（即ち、Ｃ軸原点オフセット値）を検出する必要がある。これは、突部Ｗａと、ミーリング加工により形成される形状とにおいて、それらの位置関係が加工基準点を介して拘束されているからである。
【００３２】
（ＮＣ旋盤のＣ軸制御）
次に、ＲＯＭ３１に記憶された各種の制御プログラムに従って実行されるＣＰＵ３０のＣ軸制御を図２に示す機能ブロック図に基づいて説明する。
【００３３】
尚、本実施形態において、機械原点とは、ＮＣ旋盤１１が固有にもっている原点であって自由に移動できない点をいう。この機械原点では位置検出器の発信数値がＸ＝０及びＹ＝０を示し、当該機械原点はすべての基準となる点である。また、プログラム原点（加工基準点）は一般にワーク取付け端中心又はワーク加工端面中心に設定され、当該プログラム原点をＸ＝０及びＹ＝０としてプログラミングされる。このプログラム原点の位置設定は任意に変更可能とされている。機械原点からワークＷ及び工具位置までの距離は大きく、数値もわかりにくいので加工基準点が設定される。
【００３４】
さて、図２に示すように、操作盤１５から入力された各種データ（素材データ及び加工条件等）は、移動指令生成部４０へ送られる。移動指令生成部４０は前記各種データに基づいて指令移動量（この場合、Ｃ軸の回転量；回転角度）を算出し、この算出した指令移動量を移動量算出部４１へ送る。また、移動指令生成部４０は算出した指令移動量を計測点算出部４２へ送る。
【００３５】
移動量算出部４１は指令移動量（例えば１００ｒａｄ）を複数の単位移動量（例えば１０ｒａｄ）に分割し、この単位移動量を軸アンプ１４の誤差量演算部４３へ送る。この誤差量演算部４３にはエンコーダ２０ａにより検出された実際の移動量（フィードバック値）も入力される。
【００３６】
誤差量演算部４３は移動量算出部４１からの目標の移動量と実際の移動量との差分、即ち目標値と測定値との誤差量を演算し、この誤差量に基づいたモータ出力信号をＣ軸サーボモータ２０に出力する。即ち、軸アンプ１４は前記誤差量を０にするようにＣ軸サーボモータ２０をフィードバック制御する。これにより、ＮＣ旋盤１１では、正確なＣ軸制御が行われる。
【００３７】
また、誤差量演算部４３は算出した誤差量を計測点算出部４２へ送る。この計測点算出部４２は、移動指令生成部４０により生成された指令移動量、誤差量演算部４３により算出された誤差量及び予め算出された補正量（本実施形態では、工具半径）に基づいて予め設定されたワークＷの計測点Ｍの座標を演算する。即ち、計測点算出部４２は目標位置とフィードバック位置との差分であるＣ軸サーボモータ２０のドループ量に基づいて、計測点Ｍの座標を演算する。そして、この算出した計測点Ｍの座標に基づいて、プログラム基準のＣ軸オフセット（以下、「Ｃ軸原点オフセット値」という。）を演算する。
【００３８】
Ｃ軸原点オフセット値とは、Ｃ軸機械原点からＣ軸プログラム原点までの距離（角度）をいう。換言すると、Ｃ軸原点オフセット値は、Ｃ軸プログラム原点がＣ軸機械原点に対してどの位置（角度）になるかを指定するものである。本実施形態では、ワークＷの計測点Ｍの座標位置を計測し、この計測された計測点Ｍの座標位置に基づいて原点オフセット値を求めて設定する一連の処理を「Ｃ軸位相計測」という。この計測点算出部４２で実行される加工基準点の算出処理については、後に詳述する。本実施形態において、ワークＷの計測点Ｍは突部ＷａのＣ軸方向における側面とされている。
【００３９】
尚、本実施形態において、移動指令生成部４０は移動指令生成手段を構成し、計測点算出部４２は計測点算出手段を構成する。また、誤差量演算部４３は誤差量演算手段を構成し、移動指令生成部４０により算出される指令移動量（Ｃ軸の回転量；回転角度）は移動指令値を構成する。
【００４０】
（Ｃ軸位相計測）
次に、ワークＷの原点オフセット値の計測（即ち、Ｃ軸位相計測）について図３〜図６及び図７に示すフローチャートに従って詳述する。このフローチャートはＲＯＭ３１に予め格納された計測プログラムに従って実行される。尚、本実施形態では、ステップを「Ｓ」と略記する。
【００４１】
このＣ軸位相計測は、次のような処理である。即ち、図３に示すように、まずＣ軸を回転させて、刃物台２３に工具ホルダ２４を介して固定された工具Ｔにワークの計測点Ｍ（本実施形態では、突部ＷａのＣ軸方向における側面）を当てて停止したときの座標を読み込む。そして、この読み込んだ座標に基づいて、Ｃ軸原点オフセット値を算出し、設定する。
【００４２】
ワークＷの計測点ＭがそのままＣ軸プログラム原点となる場合には、当該ワークＷ（厳密には、計測点Ｍ）の停止位置の座標がそのままＣ軸原点オフセット値となる。Ｃ軸プログラム原点と計測点Ｍとが異なる場合には、その差分をワークＷ（突部Ｗａ）の停止位置の座標に加味してＣ軸原点オフセット値とする。また、Ｃ軸位相計測に使用する工具Ｔによるずれ量もワークＷの停止位置の座標に加味する。
【００４３】
尚、このＣ軸位相計測では、当該計測の基準となる計測点Ｍの位置データ（Ｃ軸機械位置）及び工具Ｔによるずれ量を測り、データとして予め設定しておく必要がある。これらのデータの設定は、１）計測点ＭのＣ軸機械位置の計測、２）工具Ｔによるずれ量の計測、３）実プログラムへの反映、の順で行われる。以下、これらについて順番に説明する。
【００４４】
（１：計測点ＭのＣ軸機械原点の計測）
まず、計測点ＭのＣ軸機械原点の計測について説明する。図３に示すように、Ｃ軸制御によりワークＷを回転させ、当該ワークＷの計測点ＭでワークＷのＣ軸機械原点を計測する。具体的には、図４に示すように、ダイヤルゲージＤにより計測点ＭのＸ軸方向の振れを計測し、振れが無いＣ軸位置が計測点ＭのＣ軸機械原点となる。このＣ軸機械原点はＲＡＭ３２に格納される。座標値は操作盤１５の表示部に表示された値とする。
【００４５】
（２：工具ずれ量の計測）
次に、工具Ｔによるずれ量の計測について説明する。図５に示すように、Ｃ軸位相計測には工具Ｔを使用するので、Ｃ軸機械原点と、工具Ｔに当接した停止位置の座標とでは僅かなずれが発生する。ここでは、仮計測用プログラムを作成し、当該プログラムを実行することにより工具Ｔで停止する停止位置での実計測の座標位置を計測する。仮計測プログラム作成時には、数値制御装置１３からの指示に従って操作盤１５のデータ入力部を通じて、Ｃ軸計測開始位置、Ｘ軸計測位置、Ｚ軸計測位置及びＣ軸計測終了位置等の各種データを入力する。
【００４６】
Ｃ軸計測開始位置は仮計測を開始する際に工具Ｔを計測点Ｍの回動範囲内に配置する座標位置である。Ｘ軸計測位置は計測するＸ軸方向における座標位置である。このＸ軸計測位置、即ち計測点Ｍの工具Ｔに対する当接位置が変わるとＣ軸の座標位置も変るので、Ｘ軸計測位置は固定値とされる。Ｚ軸計測位置は計測するＺ軸方向における座標位置であり、この座標位置も固定値とされる。Ｃ軸計測終了位置は、計測のためにＣ軸が移動する最大位置、即ち、目標位置（図３参照）である。ただし、計測時においてはＣ軸計測終了位置に到達する前に計測点Ｍが工具Ｔに当接することによりワークＷのＣ軸計測終了位置方向への実移動は規制される。
【００４７】
仮計測用プログラムが実行されると、図３に示すワークＷの停止位置における実計測の座標位置が設定される。この実計測の座標位置とＣ軸機械原点との差分が、ずれ量（補正量）となる。この補正量はＲＡＭ３２に格納される。尚、仮計測プログラムの実行時には、前記予め求められた計測点ＭのＣ軸機械位置がＣ軸原点オフセット値に設定される。
【００４８】
（仮計測）
次に、数値制御装置１３による仮計測の手順を図７に示すフローチャートに従って詳細に説明する。このフローチャートはＲＯＭ３１に予め格納された仮計測用プログラムに従って実行される。
【００４９】
図７のフローチャートに示すように、ＣＰＵ３０はまずＣ軸をその機械原点に復帰させるようにＣ軸サーボモータ２０を駆動制御すると共に、Ｘ軸をその機械原点に復帰させるように刃物台駆動駆動用のモータ（図示略）を駆動制御する。この後、ＣＰＵ３０は所定の送り速度で主軸２１をＣ軸計測開始位置へ移動させると共に、刃物台２３をＸ軸計測開始位置へ移動させる。そして、ＣＰＵ３０は主軸回転トルク（Ｃ軸サーボモータ２０の回転トルク）を制限する。即ち、主軸回転トルクが通常値（加工時）よりも小さな計測用の値となるように、ＣＰＵ３０は軸アンプ１４を制御する（Ｓ１０１）。このＳ１０１の処理は、ワークＷの計測点Ｍに工具Ｔを当接させる際、Ｃ軸サーボモータ２０の回転トルクをワーク加工時の通常値よりも小さな計測用の値とするトルク制限手段を構成する。
【００５０】
次に、ＣＰＵ３０は刃物台２３を計測するＺ軸計測開始位置へ移動させる。そして、ＣＰＵ３０は仮計測動作を開始する。即ち、ＣＰＵ３０（移動指令生成部４０）は予め設定された目標位置までの移動指令を移動量算出部４１に出力する（Ｓ１０２）。
【００５１】
移動量算出部４１は送られてきた指令移動量を複数の単位移動量に分割し、この単位移動量を軸アンプ１４へ送る。軸アンプ１４の誤差量演算部４３は、移動量算出部４１から送られてきた単位移動量と、エンコーダ２０ａにより検出されたＣ軸サーボモータ２０の実際の移動量とを比較し、両者の差分が０となるようにモータ出力を制御する。即ち、軸アンプ１４は一つの単位移動量分のモータ出力を行う毎にエンコーダ２０ａからのフィードバックを受ける。このため、例えば移動指令を一括してＣ軸サーボモータ２０へ出力する場合に比べて、Ｃ軸サーボモータ２０の移動量（回転量）を正確に制御可能となる。
【００５２】
工具Ｔが突部Ｗａの計測点Ｍに当接すると、ＣＰＵ３０はＣ軸サーボモータ２０を停止し、計測点Ｍの現在の位置を算出する。即ち、この仮計測時においては、ＣＰＵ３０（計測点算出部４２）は計測点Ｍの目標位置から実移動量を減算して誤差量を演算し（Ｓ１０３）、算出した誤差量をＲＡＭ３２に格納する。目標位置は移動指令生成部４０により生成されたものであり、ＲＡＭ３２に格納されている。実移動量はエンコーダ２０ａにより検出されたＣ軸サーボモータ２０の移動量（回転角度）に基づいて算出される。
【００５３】
次に、ＣＰＵ３０（計測点算出部４２）は、次式（Ａ）に基づいて、計測点Ｍの座標位置を算出する。そして、この計測点Ｍの座標位置及び機械原点に基づいてＣＰＵ３０（計測点算出部４２）はＣ軸原点オフセット値を算出し、この算出したＣ軸原点オフセット値をＲＡＭ３２に格納する。
【００５４】
計測点Ｍ＝目標位置−誤差量＋補正量…（Ａ）
ここで、計測点ＭはワークＷの加工基準点となる座標位置である。誤差量は目標位置とずれ量（補正量）との差分である。補正量はＣ軸機械位置と実計測の座標との差分である。
【００５５】
この後、ＣＰＵ３０は主軸２１を所定のＣ軸退避位置に退避させると共に、刃物台２３を所定のＺ軸退避位置に退避させる（Ｓ１０５）。そして、ＣＰＵ３０は主軸２１をＣ軸機械原点に復帰させるようにＣ軸サーボモータ２０を駆動制御すると共に、刃物台２３をＸ軸機械原点に復帰させるように刃物台駆動駆動用モータを駆動制御する。最後に、ＣＰＵ３０は、前記Ｓ１０１における主軸回転トルクの制限を解除する（Ｓ１０６）。以上で、計測点Ｍの仮計測が完了となる。
【００５６】
（３：実計測用プログラムへの反映）
前述した仮計測により得られたデータ（計測点Ｍの位置データ及び工具Ｔによるずれ量）はＲＡＭ３２に格納され、実計測用プログラムに反映される。即ち、前述した仮計測では、計測点Ｍの実計測の座標位置（ワーク基準位置）をそのまま加工プログラムの基準位置としたが、実計測プログラムでは工具Ｔによるずれ量（補正量）及びＣ軸プログラム原点を考慮したプログラムとされる。即ち、図６に示すように、Ｃ軸プログラム原点ずれ量は、Ｃ軸機械原点とＣ軸プログラム原点との差分により求められる。即ち、これらの間には次式（Ｂ）が成立する。
【００５７】
Ｃ軸プログラム原点ずれ量＝Ｃ軸機械原点−Ｃ軸プログラム原点…（Ｂ）
（実計測）
次に、数値制御装置１３による実計測の手順を図７に示すフローチャートに従って詳細に説明する。このフローチャートはＲＯＭ３１に予め格納された実計測用プログラムに従って実行される。計測点Ｍの実計測は前述した仮計測と同様の手順で行われ、実行時に数値制御装置１３から要求されるパラメータが異なるだけである。実計測プログラムでは工具Ｔによるずれ量（補正量）及びＣ軸プログラム原点がそれぞれ考慮されるからである。従って、前述した仮計測と同様の処理についての詳細な説明は省略する。
【００５８】
実計測プログラム作成時には、数値制御装置１３からの指示に従ってＣ軸計測開始位置、Ｘ軸計測位置、Ｚ軸計測位置及びＣ軸計測終了位置に加えて、工具によるずれ量（補正量）及びＣ軸プログラム原点ずれ量がそれぞれ操作盤１５のデータ入力部を通じて入力される。工具によるずれ量（補正量）は、前述した仮計測により求められてＲＡＭ３２に格納された値である。工具Ｔによるずれ量の計測で算出されてＲＡＭ３２に格納されているデータである。Ｃ軸プログラム原点ずれ量は、Ｃ軸プログラム原点から計測点Ｍまでの差分量であり、且つ符号（＋，−）付きのデータである。時計回転方向は−（マイナス）値となり、反時計方向は＋（プラス）値となる。
【００５９】
従って、図７に示すフローチャートのＳ１０３において、工具Ｔが突部Ｗａの計測点Ｍに当接すると、ＣＰＵ３０はＣ軸サーボモータ２０を停止し、計測点Ｍの現在の位置を算出する。即ち、この実計測時においては、前述の仮計測により算出された誤差量を読み込む（Ｓ１０３）。次に、ＣＰＵ３０（計測点算出部４２）は、前式（Ａ）に基づいて、計測点Ｍの座標を算出する。そして、この計測点Ｍの座標位置及び機械原点に基づいてＣＰＵ３０（計測点算出部４２）はＣ軸原点オフセット値を算出し、この算出したＣ軸原点オフセット値をＲＡＭ３２に格納する。以上で、計測点Ｍの実計測が完了となる。
【００６０】
加工基準点は機械座標系におけるＣ軸機械原点からの原点オフセット値に基づいて認識される。この加工基準点を基準として作成された加工プラグラムにおいて指定される工具Ｔの移動経路は、原点オフセット値に基づいて機械座標系に変換され、この機械座標系において工具の移動が数値制御される。即ち、オペレータはプログラム原点からの距離を現在位置として使用することになるものの、ＣＰＵ３０内では原点オフセット値を入力計算している。
【００６１】
このようにして、ＣＰＵ３０はワークＷの加工基準点を自動的に補正して、自動的にワークＷの加工を開始する。
（実施形態の効果）
従って、本実施形態によれば、以下の効果を得ることができる。
【００６２】
（１）機械接点式のタッチセンサを使用することなく、Ｃ軸サーボモータ２０のドループ量をセンサ代わりとして活用し、ワークＷ（厳密には、計測点Ｍ）のＣ軸座標値を計測するようにした。即ち、ＣＰＵ３０により生成された主軸２１の目標位置とエンコーダ２０ａにより検出されたＣ軸サーボモータ２０のフィードバック位置との差分に基づいて、ＣＰＵ３０はワークＷ（厳密には、計測点Ｍ）のＣ軸座標値を計測し、Ｃ軸原点オフセット値を入力計算（演算）するようにした。具体的には、計測にはエンドミル等の工具Ｔのみを使用して、当該工具ＴをワークＷの計測点Ｍに当接させ、停止したときの誤差量から当該計測点Ｍの座標位置を算出する。このため、専用の計測装置、例えばタッチセンサ及びその信号伝達装置をＮＣ旋盤１１（工作機械）に組み込む必要がない。従って、ＮＣ旋盤１１の構成が複雑になることがない。
【００６３】
（２）また、プローブにある程度以上の力が加えられることにより作動する機械接点式のタッチセンサによりワークＷの座標位置を計測するようにした場合と異なり、ソフトウェア的な処理によりワークＷの座標位置を求めるようした。このため、高精度の計測に適しており、くり返し精度（計測精度）も確保することができる。
【００６４】
（３）さらに、機械接点式のタッチセンサによりワークＷの座標位置を計測するようにした場合と異なり、機械的な部分が存在しないため、故障及び誤動作は皆無であり、計測精度を向上させることができる。
【００６５】
（４）ワークＷの座標計測（座標算出）の際には、当該ワークＷにおいて予め設定された計測点Ｍを工具Ｔに当接させるだけである。このため、ワークＷが工具Ｔに当接することに起因する当該ワークＷの傷つきを抑制することができる。また、ワークＷの計測点Ｍを工具Ｔに当接させる際、ＣＰＵ３０は、主軸回転トルクが通常値（加工時）よりも小さな計測用の値となるように軸アンプ１４を制御する（図７のＳ１０１を参照）。このため、主軸回転トルクが通常値（加工時）に保たれた状態でワークＷを工具Ｔに当接させるようにした場合に比べて、当該ワークＷの傷つきをいっそう抑制することができる。
【００６６】
（第２実施形態）
次に、本発明の第２実施形態を説明する。本実施形態は工具を使用して直線軸の原点補正を行うようにした点で前記第１実施形態と異なる。従って、前記第１実施形態と同様の部材構成及び処理（ステップ）については同一の符号を付し、その重複した説明を省略する。
【００６７】
図８に示すように、数値制御装置１３により数値制御されるターニングセンタ５１の主軸５２には、工具Ｔが工具ホルダ５３を介して着脱可能に設けられている。主軸５２はＣ軸サーボモータ２０（図１及び図２参照）の駆動により自身の中心軸を中心として回動可能とされている。また、ターニングセンタ５１はテーブル５４を備えており、当該テーブル５４は図８に矢印で示すＸ軸方向及びＹ軸方向（図８では図示略）に移動可能とされている。テーブル５４の上面にはワークＷが載置されており、当該ワークＷのＸ軸方向における側面は計測点Ｍとされている。この計測点ＭはワークＷの座標位置を計測する際の基準となる部位である。
【００６８】
さて、図７のフローチャートに示すように、ワークＷの直線軸（本実施形態では、Ｘ軸）に対する位相計測に際して、ＣＰＵ３０はまず主軸移動用のサーボモータ５５を駆動制御して主軸５２を移動開始位置、即ち機械原点へ移動させる。次に、ＣＰＵ３０は主軸回転トルクを制限する（Ｓ１０１）。そして、ＣＰＵ３０（移動指令生成部４０）は、予め設定された目標位置までの移動指令を移動量算出部４１に出力する（Ｓ１０２）。すると、主軸５２はＸ軸方向にワークＷへ向って移動する。
【００６９】
工具ＴがワークＷの計測点Ｍに当接すると、ＣＰＵ３０はＣ軸サーボモータ２０の駆動を停止し、工具Ｔの現在の位置を算出する。即ち、ＣＰＵ３０（計測点算出部４２）は計測点Ｍの目標位置から実移動量を減算して誤差量を演算し（Ｓ１０３）、算出した誤差量をＲＡＭ３２に格納する。目標位置は移動指令生成部４０により生成されたものであり、ＲＡＭ３２に格納されている。実移動量はエンコーダ２０ａにより検出されたＣ軸サーボモータ２０の移動量（回転角度）に基づいて算出される。
【００７０】
次に、ＣＰＵ３０（計測点算出部４２）は、前述した式（Ａ）に基づいて、計測点Ｍの座標位置を算出する。そして、この計測点Ｍの座標位置及び機械原点に基づいてＣＰＵ３０（計測点算出部４２）は原点オフセット値（本実施形態では、Ｘ軸原点オフセット値）を算出し、この算出した原点オフセット値をＲＡＭ３２に格納する。この後、ＣＰＵ３０は主軸５２を所定の退避位置に退避させる（Ｓ１０５）。そして、ＣＰＵ３０は主軸回転トルクの制限を解除する（Ｓ１０６）。以上で、ワークＷの計測点Ｍの実計測が完了となる。
【００７１】
尚、本実施形態において、ターニングセンタ５１は工作機械を構成し、サーボモータ５５はモータを構成する。
従って、本実施形態によれば、ワークＷの直線軸に対する位相計測を行うにあたって、前記第１実施形態の（１）〜（４）と同様の効果を得ることができる。
【００７２】
（別例）
尚、前記両実施形態は以下のような別例に変更して実施してもよい。
・前記第１及び第２実施形態では、それぞれ本発明に係るワークの座標計測方法（座標算出方法）により計測したワークの座標位置に基づいて加工基準点（加工原点）の設定を行うようにしたが、工具長補正及びワーク寸法の算出による加工不良の発見等を行うことも可能である。例えば工具長補正は次のように行われる。即ち、基準位置に設置されたワークＷに工具Ｔを接触させ、基準となる移動量と工具装着時の移動量の差異により工具の寸法を算出する。この算出された工具Ｔの長さの測定値に基づいて、工具長の補正量を算出して設定する。このため、工具Ｔの寸法を計測するための専用の計測装置を工作機械に組み込む必要はない。また、本発明に係るワークの座標計測方法を使用して、ワークＷの各部の座標位置を算出することにより、ワークＷの各部の寸法の算出が可能となる。この算出したワークＷ各部の寸法と基準の寸法とを比較することにより、加工不良の発見が可能となる。このため、ワークＷの寸法を計測するための専用の計測装置を工作機械に組み込む必要はない。
【００７３】
・前記第１実施形態では本発明をＣ軸位相計測に応用したが、例えばＡ軸及びＢ軸等の他の旋回軸に応用してもよい。ちなみに、Ｘ軸回りの回転運動をＡ軸として使用し、またＹ軸回りの回転運動をＢ軸として使用している。このようにしても、前記第１実施形態の（１）〜（４）と同様の効果を得ることができる。
【００７４】
・前記第２実施形態では発明をＸ軸位相計測に応用したが、Ｙ軸及びＺ軸等の他の直線軸に応用してもよい。このようにしても、前記第１実施形態の（１）〜（４）と同様の効果を得ることができる。
【００７５】
・前記第１及び第２実施形態では、数値制御装置１３をＮＣ旋盤１１及びターニングセンタ５１に搭載するようにしたが、ＮＣフライス盤、ＮＣボール盤、ＮＣ研削盤及びマシニングセンタ等の他の工作機械に搭載するようにしてもよい。このようにしても、前記第１実施形態の（１）〜（４）と同様の効果を得ることができる。
【００７６】
・本実施形態では、工具Ｔを使用して計測点Ｍの座標位置を計測するようにしたが、計測専用の工具又は部材（例えば、ピン）を使用して計測するようにしてもよい。このようにしても、前記第１実施形態の（１）〜（４）と同様の効果を得ることができる。
【００７７】
（付記）
次に前記実施形態及び別例から把握できる技術的思想を以下に追記する。
・前記ワークの計測点に工具を当接させる際、前記モータの回転トルクをワーク加工時の通常値よりも小さな計測用の値とするトルク制限手段を備えた請求項１又は請求項２に記載の数値制御装置。
【００７８】
・ワークの工具当接側の端面に当該ワークの加工原点を設定し、所定の加工プログラムに基づいて指令された加工経路に沿うように工具を移動させるようにしたワークの加工方法において、工具をワークの加工原点に当接させたときの工具の位置を検出し、この検出した工具の位置と予め指定された目標位置との差を演算し、この算出した差分値に基づいてワークの加工原点を補正し、この補正した加工原点を基準として工具を移動させるようにしたワークの加工方法。
【００７９】
・所定の加工プログラムにより指定された工具経路に沿って工具を移動させるためのモータを制御する数値制御装置を備え、ワークの工具当接側の端面に当該ワークの加工原点を設定し、この加工原点を基準として工具を移動させてワークを加工するようにした工作機械において、前記数値制御手段は、前記工具の位置を検出する位置検出手段と、予め設定された目標位置と、前記位置検出手段によって検出された工具がワークにの工具当接側の端面に当接したときの当該工具の位置との差を演算し、この算出した差分値に基づいて機械座標系における機械原点から加工原点までの距離である原点オフセット値を補正する加工原点補正手段とを備えた工作機械。
【００８０】
・所定の加工プログラムに基づいてワークを加工する工作機械に搭載される数値制御装置であって、主軸を所定の制御軸方向に駆動させるためのモータに対して所定の移動指令値を出力する移動指令生成手段と、前記モータの回転角度を検出する回転角検出手段と、前記回転角検出手段により検出されたモータの実際の回転角度と前記移動指令生成手段から出力された移動指令値との誤差量を演算する誤差量演算手段とを備え、前記誤差量演算手段により算出された誤差量に基づいて前記モータを駆動制御するようにした数値制御装置において、前記ワークの工具当接側の端面には加工プログラム上の原点となる計測点を予め設定し、前記移動指令生成手段からの移動指令値と前記誤差量演算手段からの誤差量とに基づいて前記計測点の座標位置を演算する計測点算出手段を備え、前記計測点算出手段により算出された計測点の座標位置に基づいて機械座標系における機械原点から前記計測点までの距離である原点オフセット値を設定するようにした数値制御装置。
【００８１】
この構成によれば、数値制御装置が搭載された工作機械は所定の加工プログラムに基づいてワークを加工する。主軸を所定の制御軸方向に駆動させるためのモータは、所定の移動指令値に基づいて駆動される。このとき、モータの実際の回転角度と移動指令値との誤差量に基づいて当該モータは駆動制御される。ワークの工具当接側の端面には加工プログラム上の原点となる計測点が予め設定される。そして、移動指令生成手段からの移動指令値と誤差量演算手段からの誤差量とに基づいてワークの計測点の座標位置が演算される。この算出された計測点の座標位置に基づいて機械座標系における機械原点から前記計測点までの距離である原点オフセット値が設定される。このため、ワークの計測点の座標位置を計測するためのタッチセンサ等の専用の計測装置を工作機械に組み込むことなく、ワークの計測点の座標位置を計測し、加工基準点（加工原点又はプログラム原点ともいう。）が自動的に補正される。
【００８２】
・工具を所定の制御軸方向に移動させる際の加工プログラム上の基準となる加工原点補正方法において、予め設定されたワークの計測点に工具を当接させ、このときの工具の実際の移動量と予め指定された指令移動量との誤差量、及び予め計測された工具径に基づいて前記計測点の座標位置を演算し、この算出した座標位置に基づいて機械座標系における機械原点から前記計測点までの距離である原点オフセット値を設定するようにした加工原点補正方法。
【００８３】
この構成によれば、予め設定されたワークの計測点に工具を当接させ、このときの工具の実際の移動量と予め指定された指令移動量との誤差量、及び予め計測された工具径に基づいてワークの計測点の座標位置が演算される。この算出した計測点の座標位置に基づいて機械座標系における機械原点から前記計測点までの距離である原点オフセット値が設定される。このため、ワークの計測点の座標位置を計測するためのタッチセンサ等の専用の計測装置を工作機械に組み込むことなく、ワークの計測点の座標位置を計測し、加工基準点（加工原点又はプログラム原点ともいう。）が自動的に補正される。
【００８４】
【発明の効果】
本発明によれば、専用の計測装置を設けることなくワークの位置を計測することができる。
【図面の簡単な説明】
【図１】第１実施形態における工作機械の概略構成図。
【図２】第１及び第２実施形態における数値制御装置の機能ブロック図。
【図３】第１実施形態における位相計測の説明図。
【図４】第１実施形態における位相計測の説明図。
【図５】第１実施形態における位相計測の説明図。
【図６】第１実施形態における位相計測の説明図。
【図７】第１及び第２実施形態における位相計測処理のフローチャート。
【図８】第２実施形態における工作機械の概略構成図。
【符号の説明】
１１…ＮＣ旋盤（工作機械）、１３…数値制御装置、
２０…Ｃ軸サーボモータ（モータ）、２１…主軸  、
２０ａ…回転角検出手段を構成するエンコーダ、
３２…記憶手段を構成するＲＡＭ、
４０…移動指令生成手段を構成する移動指令生成部、
４２…計測点算出手段を構成する計測点算出部、
４３…誤差量演算手段を構成する誤差量演算部、
５１…ターニングセンタ（工作機械）、５２…主軸、
５５…サーボモータ（モータ）、Ｍ…計測点、Ｔ…工具、Ｗ…ワーク。
【図１】
2005034934.tif 000003
【図２】
2005034934.tif 000004
【図３】
2005034934.tif 000005
【図４】
2005034934.tif 000006
【図５】
2005034934.tif 000007
【図６】
2005034934.tif 000008
【図７】
2005034934.tif 000009
【図８】
2005034934.tif 000010