"位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするサーボモータ制御装置。前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とする請求項1に記載のサーボモータ制御装置。前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とする請求項2に記載のサーボモータ制御装置。前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも1つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とする請求項2又は3に記載のサーボモータ制御装置。前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とする請求項4に記載のサーボモータ制御装置。位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、算出された前記位置誤差を記憶する位置誤差記憶ステップと、記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、演算した補正量を記憶する検出位置補正量記憶ステップと、前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、を実行することを特徴とするサーボモータ制御方法。しかし、これらの補正方法では、プログラム動作の履歴や長期の機械使用による経年変化に伴う案内面抵抗の変化等によって誤差が発生し、加工精度の低下に繋がる問題があった。また、補正量やたわみ量を予め設定して補正を行うため、様々な運転条件に対応した補償パラメータの設定が困難となっていた。そこで、本発明は、動作履歴や経年変化による案内面抵抗の変化の影響を受けにくくして誤差の発生を抑制し、加工面品位を向上させると共に、様々な運転条件にも対応できるサーボモータ制御装置及び制御方法を提供することを目的としたものである。上記目的を達成するために、請求項1に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御装置であって、前記検出位置情報に対する補正の開始と終了とを判断する補正動作判定装置と、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出装置と、算出された前記位置誤差を記憶する位置誤差記憶部と、記憶した前記位置誤差から補正量を演算する検出位置補正量演算部と、演算した補正量を記憶する検出位置補正量記憶部とからなる補正量演算記憶装置と、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する検出位置補正装置と、を備え、前記検出位置補正装置は、前記補正動作判定装置による補正の開始判断に伴い、前記検出位置補正量記憶部に記憶された補正量で前記検出位置情報を補正する一方、前記補正量演算記憶装置は、当該補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新することを特徴とするものである。請求項2に記載の発明は、請求項1の構成において、前記補正動作判定装置は、前記移動体の移動方向の反転動作を補正の開始と判断することを特徴とするものである。請求項3に記載の発明は、請求項2の構成において、前記補正量演算記憶装置は、前記位置誤差を反転からの距離との関係で記憶して前記補正量を演算し、前記検出位置補正装置は、前記反転からの距離に応じて補正を行うことを特徴とするものである。請求項4に記載の発明は、請求項2又は3の構成において、前記補正量演算記憶装置は、反転時の加速度、反転の方向、反転時の座標、反転時のモータトルクのうちの少なくとも1つの情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似か否かを判別し、反転動作が同一又は類似であれば、補正量の演算及び記憶を行うことを特徴とするものである。請求項5に記載の発明は、請求項4の構成において、前記補正量演算記憶装置は、今回の反転時の座標が過去の反転時の座標を中心として予め設定された範囲内にあれば、反転動作が同一又は類似と判断することを特徴とするものである。上記目的を達成するために、請求項6に記載の発明は、位置指令値に基づいてサーボモータを駆動制御して移動体の移動を制御すると共に、前記サーボモータに備えた回転検出器と、前記移動体の位置を検出する位置検出器とから得られる検出位置情報に基づいて前記位置指令値の修正を行うサーボモータ制御方法であって、前記検出位置情報に対する補正の開始を判断する補正開始判定ステップと、前記位置指令値と検出位置情報との間の位置誤差を算出する位置誤差算出ステップと、算出された前記位置誤差を記憶する位置誤差記憶ステップと、記憶した前記位置誤差から補正量を演算する検出位置補正量演算ステップと、演算した補正量を記憶する検出位置補正量記憶ステップと、前記検出位置補正量記憶ステップで記憶された補正量で前記検出位置情報を補正する検出位置補正ステップと、補正後の前記移動体の移動制御によって得られる前記検出位置情報と位置指令値との間の位置誤差から新たな補正量を演算して次回の補正時に用いる前記補正量を更新する補正量更新ステップと、前記検出位置情報に対する補正の終了を判断する補正終了判定ステップと、を実行することを特徴とするものである。請求項1及び6に記載の発明によれば、位置指令値と検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。請求項2に記載の発明によれば、請求項1の効果に加えて、反転を契機とした補正が可能となる。請求項3に記載の発明によれば、請求項2の効果に加えて、反転からの距離に応じた補正を行うため、動作中でも適正な補正が可能となる。請求項4に記載の発明によれば、請求項2又は3の効果に加えて、補正が必要な反転動作を選択して補正可能となる。請求項5に記載の発明によれば、請求項4の効果に加えて、反転動作の同一又は類似の判断が正確に行える。以下、本発明の実施の形態を図面に基づいて説明する。図1は、工作機械に用いられるサーボモータ制御装置1の一例を示すブロック図で、位置ループや速度ループ等の基本構成は図7に示したサーボモータ制御装置と同じであるため、重複する説明は省略する。このサーボモータ制御装置1では、制御対象であるテーブル7の反転動作の開始及び終了を判別する補正動作判定装置としての反転動作判定装置20と、その反転からの距離を演算する反転距離演算装置21と、反転時の情報を取得する反転時情報取得装置22と、位置検出器9から得られるテーブル7の位置情報を位置誤差算出装置としての減算器14によって位置指令値Xiから減算して得られる位置誤差DIFF、及び反転距離演算装置21から得られる反転からの距離に基づいて、回転検出器8から得られる検出位置情報に対する補正量を演算する補正量演算記憶装置23と、ここで得られた補正量に基づいて回転検出器8からの検出位置情報を補正する検出位置補正装置24と、を新たに備えている。まず、反転動作判定装置20は、位置指令値Xiに基づいて反転動作の開始図2に示すT1を判別する反転開始判別部25と、反転動作の終了同図に示すT2を判別する反転終了判別部26とからなる。反転終了判別部26は、同図cに示すように、減算器14から出力される位置誤差DIFFが予め設定した値よりも小さくなった場合に反転動作の終了を判別するようにしている。但し、反転距離演算装置21から得られる反転からの距離ΔL:Xi-Xrが所定距離に到達した場合に反転終了を判別するようにしてもよい。なお、反転からの距離ΔLは、位置指令値Xiから得られる距離とする他、同図dに示すように、テーブル7の実際の位置とすることができる。この実際の位置は、位置検出器9からの検出位置情報を利用するか、位置指令値Xiから位置誤差DIFFを減算した値を利用することで得ることができる。反転時情報取得装置22は、反転動作判定装置20で反転動作の開始が判別されたら、位置指令値Xiに基づいて、反転時座標Xr,Yr,Zrと、位置指令値Xiを微分器27で微分して得られる反転時加速度αXrと、反転時トルクTRQXrとの反転時情報をそれぞれ取得して記憶する。なお、反転時の座標は、反転した軸補正対象軸に加えてそれ以外の軸例えば3軸マシニングセンタでは他の2軸の座標も記憶する。補正量演算記憶装置23は、図2efに示すように、反転距離演算装置21から制御周期ごとに入力される反転からの距離ΔLにそれぞれ応じた位置誤差DIFFとを記憶する位置誤差記憶部28と、位置誤差記憶部28で記憶された位置誤差DIFFに基づいて補正量を演算する検出位置補正量演算部29と、演算された補正量を記憶する検出位置補正量記憶部30とを備える。検出位置補正量演算部29では、図3bに示すように、今回位置誤差DIFF及び反転からの距離ΔLに基づいて演算された補正量を修正値として、検出位置補正量記憶部30に前回記憶されて今回使用された同図aに示す補正量に加算し、同図cに示す新たな補正量として次回の反転動作に使用することができる。但し、検出位置補正量演算部29では、反転時情報取得装置22で取得された反転時情報に基づいて、今回の反転動作が過去の反転動作と同一又は類似であるかを判別し、反転動作が同一又は類似の場合にのみ補正量の演算を行うようになっている。そして、検出位置補正装置24は、過去に記憶された補正量の情報に基づき、制御周期ごとの反転からの距離ΔLに応じた補正量を選択、又は線形補間等により演算して出力する検出位置補正量出力部31を備え、ここで選択又は演算された補正量は、減算器32において回転検出器8からの検出位置情報から減算されて補正がなされる。33,33は、減算器14と補正量演算記憶装置23との間及び、検出位置補正装置24における検出位置補正量出力部31と減算器32との間にそれぞれ設けられた開閉器で、反転動作判定装置20における反転開始の判別に伴って閉動作して減算器14からの位置誤差DIFFの入力と補正量の出力とを可能とし、反転終了の判別に伴って開動作する。以上の如く構成されたサーボモータ制御装置1によるサーボモータ制御方法を、図4のフローチャートに基づいて説明する。まず、S1において、反転動作判定装置20の反転開始判別部25が反転動作の開始を最初に判別すると補正開始判定ステップ、S2で反転時情報取得装置22が反転時情報を取得してS3で反転時情報を記憶する。次に、S4~S6で補正量の演算記憶制御が、S7~S11で検出位置の補正制御がそれぞれ行われる。まず、S4では、開閉器33,33が閉動作して位置誤差DIFFと反転からの距離ΔLとが位置誤差記憶部28に記憶され位置誤差記憶ステップ、S5では、検出位置補正量演算部29が反転からの距離ΔLに応じた補正量を演算し検出位置補正量演算ステップ、演算された補正量を検出位置補正量記憶部30に記憶する検出位置補正量記憶ステップ。これが次回の補正量となる。このS4,5の処理は、S6の判別で反転終了判別部26によって反転終了が判別補正終了判定ステップされるまで繰り返される。同時にS7で、検出位置補正量演算部29は、過去に同一又は類似の反転動作があるか否かを判別する。この判別は、例えば図5に示すように、今回の反転動作Pass2での反転時座標X2,Y2と前回の反転動作Pass1での反転時座標X1,Y1とに基づいて、前回の反転時座標を中心として予め設定した設定半径Rを中心とした円内に今回の反転時座標が含まれるか否かによって判断される。具体的には、以下の式1が成立した場合に同一又は類似と判断することになる。同一又は類似と判断しなければ補正制御を終了する。一方、S7で過去に同一又は類似の反転動作があると判断したら、検出位置補正量出力部31は、S8で、検出位置補正量記憶部30に記憶されている過去の補正量のデータを取得し、S9で、距離ΔLに対応する補正量の選択又は演算を行う。そして、S10では、選択又は演算された補正量を減算器32へ出力し、回転検出器8からの検出位置情報から当該補正量を減算する補正を行う検出位置補正ステップ。この補正後の検出位置情報に基づいて速度指令及びトルク指令が出力されることになるため、位置検出器9から得られる検出位置情報と位置指令値Xiとの位置誤差DIFFは小さくなる。その後、S4において小さくなった位置誤差DIFF及び反転からの距離ΔLが記憶され、S5で、当該記憶に基づいた補正量の演算、記憶処理とが行われて、補正量の更新がなされる補正量更新ステップ。これが次回の補正量となる。よって、S11の判別で反転動作が終了した後、S1で再び反転動作が開始されると、前回記憶されている補正量に基づいて補正が行われ、補正後に得られた位置誤差DIFFに基づいて次回の補正量が更新されることになる。このため、反転動作の度に位置誤差DIFFは小さくなる。このように、上記形態のサーボモータ制御装置1及びサーボモータ制御方法によれば、位置指令値Xiと検出位置情報との間の位置誤差に基づいて検出位置情報を補正すると共に、次回の補正時に用いる補正量の更新も行うため、動作履歴や経年変化による案内面抵抗の変化、運転条件等に応じて反転動作時の補正量が自動的に調整される。よって、加工面の品質向上が期待できる。なお、上記形態では、反転動作の同一又は類似の判別を反転時座標と設定半径との関係から行っているが、これに限らず、過去と今回との反転時のY方向の加速度αyi-1及びαyiと、予め設定した加速度変化率kとから、以下の式2を満たす場合に補正を行うか否かを判別するようにしてもよい。また、上記式12の双方を満たす場合に補正を行うように判別することもできる。また、検出位置補正量演算部における補正量の演算は、前回と今回との位置誤差DIFFをそのまま加算する場合に限らず、補正量を修正して加算することもできる。図6にその例を示す。まず最初の反転動作Pass1で記憶されたΔLごとの位置誤差DIFF同図aのD1に係数を乗じて得た値を補正量同図bのY1として記憶する。これが次の反転動作Pass2の際の補正量となる。反転動作Pass2では、補正量Y1を用いて小さくなった位置誤差DIFF同図cのD2に係数を乗じて得た値D2′を、先の反転動作Pass1で記憶されている補正量Y1に加算して、得られた補正量同図dのY2を次の反転動作Pass3の際の補正量とする。反転動作Pass3では、補正量Y2を用いて小さくなった位置誤差DIFF同図eのD3に係数を乗じて得た値D3′を、先の反転動作Pass2で記憶されている補正量Y2に加算して、得られた補正量同図fのY3を次の反転動作Pass4の際の補正量とする。これが同一又は類似の反転動作であれば繰り返されることになる。一方、位置誤差記憶部で記憶された最大位置誤差が予め設定された値よりも小さい場合、補正量を修正しないようにすることもできる。そして、上記形態では、反転動作を契機にして検出位置情報の補正を行っているが、加速動作や減速動作の開始を契機にして当該補正を開始するようにしてもよい。この場合、補正の終了は、加速時点または減速時点からの距離によって判別すればよい。その他、サーボモータ制御装置の具体的な構成も上記形態に限らず、開閉器をなくしたり、反転時情報として取得するパラメータの増減や変更を行ったり等、適宜変更可能である。"