(57)【特許請求の範囲】
【請求項１】
サーボモータで駆動される機械可動部の位置を検出し位置のフィードバック制御を行い前記サーボモータを制御し、移動指令の終了直前近傍でサーボモータへのトルク指令を減少させて位置決めを行うサーボモータの制御方法において、加減速処理部を有し、移動指令を該加減速処理部で加減速処理を行った後の移動指令によってサーボモータを制御し、上記加減速処理部の入力が零となった段階で、サーボモータへのトルク指令を減少させて位置決めを行うサーボモータの制御方法。
【請求項２】
サーボモータで駆動される機械可動部の位置を検出し位置のフィードバック制御を行い前記サーボモータを制御し、移動指令の終了直前近傍でサーボモータへのトルク指令を減少させて位置決めを行うサーボモータの制御方法において、２段の加減速処理部を有し、移動指令を該２段の加減速処理部で加減速処理を行った後の移動指令によってサーボモータを制御し、上記最初の加減速処理部の出力が零となった段階で、サーボモータへのトルク指令を減少させるサーボモータの制御方法。
【請求項３】
サーボモータで駆動される機械可動部の位置を検出し位置のフィードバック制御を行い前記サーボモータを制御し、移動指令の終了直前近傍でサーボモータへのトルク指令を減少させて位置決めを行うサーボモータの制御方法において、移動指令を出力する制御装置から、該移動指令の残移動量が設定値以下になった時点で移動指令の終了直前近傍を示す信号を送出し、該信号が送出されるとサーボモータへのトルク指令を減少させるサーボモータの制御方法。
【請求項４】
位置のフィードバック制御系内の速度フィードバック制御における積分値を減少させることによってトルク指令を減少させる請求項１乃至３の内いずれか１項記載のサーボモータの制御方法。
【請求項５】
位置のフィードバック制御系内の速度フィードバック制御における積分値を減少させると共にトルク指令を制限するトルクリミット値を小さくしてトルク指令を減少させる請求項１乃至３の内いずれか１項記載のサーボモータの制御方法。
【請求項６】
位置・速度フィードバック制御周期の１周期前の積分値に０から１未満の設定定数を乗じて１周期前の積分値として当該周期の積分値を求める請求項４又は５項記載のサーボモータの制御方法。
【請求項７】
移動指令が位置ループ処理に全て入力された後、上記設定定数を該設定係数よりも大きく１未満の設定係数に変更し、トルク指令を徐々に増大させる請求項６記載のサーボモータの制御方法。
【請求項８】
トルク指令を制限するトルクリミット値を小さくすることによってサーボモータに指令されるトルク指令を減少させる請求項１乃至３の内いずれか１項記載のサーボモータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーボモータを用いて工作機械等の送り軸を制御する場合で、該送り軸によって駆動される可動部の位置をスケール等の位置検出器で検出し位置のィードバック制御行うときのオーバーシュート発生を防止するサーボモータの制御方法に関する。
【０００２】
【従来の技術】
サーボモータを用いて工作機械等の送り軸の位置決め制御では、位置決め時にオーバシュートが生じることを防止する方法として、位置偏差が「０」近傍になると（機械可動部の位置が指令位置に到達したとき）、速度ループの積分器の値を減らしサーボモータの出力トルクを下げることによって上記オーバシュートを減らすようにしている。
【０００３】
【発明が解決しようとする課題】
しかし、送り軸で駆動される機械可動部の位置をスケール等の位置検出器で検出して位置のフィードバック制御を行うフル・クローズド・ループ方式において、サーボモータとスケール等の位置検出器間の機械的な剛性が低い場合には、位置偏差が「０」近傍となり機械可動部が指令位置に達しているときには、機械系のねじれによってサーボモータはねじれ分先に移動した状態にある。即ち、サーボモータと位置検出器間の機械系の剛性が低いことから、機械系がねじれを起こした状態で機械可動部は駆動されており、位置検出器で検出される位置が目標指令位置に達した段階では、サーボモータの位置は機械系のねじれ分指令移動方向に余分に移動していることになる。位置偏差が「０」となり位置決めが完了しサーボモータの回転が停止すると、機械系のねじれが徐々に解消されて機械可動部は機械のねじれ分さらに前進し（それまでに移動してきた方向と同一方向）、目標指令位置よりもオーバシュートすることになる。機械可動部が移動しこの移動によって位置偏差が増大し、この位置偏差の増大を解消しようとしてサーボモータはそれまでの移動方向とは逆方向に移動し、可動部を目標とする指令位置に戻し位置決めすることになる。このように、位置のフル・クローズド・ループ制御においては、機械系のねじれが起因して機械可動部はオーバシュートを起こすことになる。
【０００４】
そこで、本発明の目的はフル・クローズド・ループ方式で位置の制御を行う場合において、機械可動部の位置のオーバシュートの発生を防止しオーバシュート量を小さくすることにある。
【０００５】
【課題を解決するための手段】
本発明は、サーボモータで駆動される可動部の位置を検出し位置のフィードバック制御を行うサーボモータの制御方法において、移動指令の終了直前近傍でサーボモータへのトルク指令を減少させて位置決めを行う。移動指令を該加減速処理部で加減速処理を行った後の移動指令によってサーボモータを制御する場合には、上記加減速処理部の入力が零となった段階で、サーボモータへのトルク指令を減少させる。また、加減速処理部が２段の加減速処理を行うベル形加減速部である場合には、上記最初の加減速処理の出力が零となった段階で、サーボモータへのトルク指令を減少させる。また、移動指令を出力する制御装置から、該移動指令の残移動量が設定値以下になった時点で移動指令の終了直前近傍を示す信号を送出し、該信号が送出されるとサーボモータへのトルク指令を減少させる。
【０００６】
トルク指令を減少させる方法としては、位置のフィードバック制御系内の速度フィードバック制御における積分値を減少させることによって、もしくはトルク指令を制限するトルクリミット値を小さくしてトルク指令を減少させることによって、さらには上記積分値を減少させると共にトルクリミット値も小さくすることによって行う。また上記積分値を小さくする方法としては、位置・速度フィードバック制御周期の１周期前の積分値に０から１未満の設定定数を乗じて１周期前の積分値として当該周期の積分値として速度ループにおける積分処理を不完全積分処理に変えることによって行う。さらに、不完全積分の上記係数ｋ３  を移動指令が位置ループ処理に全て入力された後、１未満の少し大きい値に変更しサーボモータの出力トルクを徐々に増大させる。
【０００７】
【発明の実施の形態】
図３は、本発明のサーボモータの制御方法を適用した一実施形態のサーボ制御処理の要部ブロック図である。この実施形態では、加減速処理部が２つの直線形加減速処理１，２で構成されるベル形加減速処理を適用している。ＣＮＣ（数値制御装置）等の制御装置から分配された移動指令Ｐ０  を第１段目の加減速処理１に入力し該加減速処理１の出力Ｐ１  を第２段目の加減速処理２に入力し、該第２段目の加減速処理２の出力Ｐ２  を求める。この２段目の加減速処理の出力Ｐ２  を位置ループ処理の移動指令としてエラーカウンタに加算入力し、機械可動部に取付けられたスケール等の検出器からの位置のフィードバック値Ｐｆ  をエラーカウンタに減算入力して位置偏差を求める。該エラーカウンタに記憶する位置偏差に位置ループゲインＫｐ  を乗じて速度指令Ｖｃ  を求め、該速度指令Ｖｃ  からスケール等の検出器からの速度フードバック値Ｖｆ  を減じて速度偏差を求め、該速度偏差を積分器１０で積算して積分ゲインｋ１  を乗じた値と上記速度偏差に比例ゲインを乗じた値を加算してトルク指令Ｔｃ  を求めるＰＩ（比例積分）制御の速度ループ処理を行う。速度ループ処理によって求められたトルク指令Ｔｃ  をトルクリミット回路を通して所定値以下のトルク指令Ｔｃ´として、電流ループに渡し電流ループ処理（図示せず）を行いサーボモータを駆動し、機械可動部を駆動することになる。
【０００８】
上述したサーボ制御処理は従来と概略同一であるが、本実施形態において相違する点は、エラーカウンタに入力される移動指令が「０」になる僅か前に積分器１０の値を減少させる点である。この実施形態においては、加減速処理部の第１段目の加減速処理１から出力される移動指令Ｐ１  が「０」となると積分器１０で行う積分処理を不完全積分処理に変え、その時使用する係数を小さな値（０〜１未満）とし、さらに加減速処理２の出力Ｐ２  が「０」となると積分器１０の不完全積分の上記係数を少し大きい値に変え、設定時間が経過すると、通常の積分処理に変えるようにしていること。さらには、加減速処理１の出力Ｐ１  が「０」になるとトルクリミット回路のトルクリミット値も小さな値にし、加減速処理２の出力Ｐ２  が「０」となると該トルクリミット値を通常の大きい値に変えるようにしている。
【０００９】
図４は、位置決め時の加減速処理１，２の入力、出力及び積分器１０の状態を示すタイムチャートである。上位制御装置から出力される分配移動量Ｐ０  （図４（ａ）参照）が終了すると、加減速処理１の出力Ｐ１  は直線的に減少する（図４（ｂ）参照）。この加減速処理１の出力Ｐ１  を入力する加減速処理２の出力Ｐ２  は図４（ｃ）に示すように滑らかに減少する。一方、積分器１０は加減速処理１の出力Ｐ１  が「０」でない間は通常の積分処理を実行しているが、該出力Ｐ１  が「０」になると、不完全積分に移行しその積分値をほとんど「０」に近い値となるようにする。そして加減速処理２の出力Ｐ２  も「０」になると、積分器１０は不完全積分の係数を少し大きくして徐々にその出力は増大させる（図４（ｄ）参照）。
【００１０】
このように、位置決め時に移動指令がまだ残っている段階で積分器１０の積分値を小さな値に設定することによって、トルク指令Ｔｃ  の値を減少させ、さらには、トルクリミット回路によって小さな値に制限するからサーボモータの出力トルクは減少し、その結果サーボモータと機械可動部間の機械系のねじれは解消し、エラーカウンタに記憶する位置偏差値がほとんど「０」となり位置決めが完了した段階では、上記機械系のねじれはほとんどなく、機械可動部はオーバシュートすることなく位置決めされることになる。
【００１１】
図５は本実施形態を実施する工作機械等のサーモータ駆動制御系の要部ブロック図である。図５中、１は工作機械等を制御する制御装置としての数値制御装置（ＣＮＣ）で、加工プログラム等に基づいて工作機械等の各送り軸へ移動指令を分配する。２はＣＮＣ１とデジタルサーボ回路３のプロセッサ間の情報の伝達を仲介する共有ＲＡＭで、ＣＮＣ１が書き込んだ移動指令等のデータをデジタルサーボ回路３のプロセッサに受け渡し、デジタルサーボ回路３のプロセッサが書き込んだアラーム情報等をホストプロセッサに引き渡す機能を行うものである。３はディジタルシグナルプロセッサ（ＤＳＰ）等で構成されるディジタルサーボ回路でプロセッサ，ＲＯＭ，ＲＡＭ等で構成され、工作機械等の各送り軸のサーボモータの制御を行う。４はトランジスタインバータ等で構成されるサーボアンプで、５はサーボモータである。また、７はサーボモータ５によって送り軸６を介して駆動される機械可動部であり、該機械可動部７にはスケール等の位置・速度検出器８が取付けられており、該位置・速度検出器８からの信号（位置Ｐｆ  、速度Ｖｆ  情報）はデジタルサーボ回路３にフィードバックされている。この図５に示す制御系も従来のフル・クローズド・ループ方式で制御するサーボ制御系の構成と同一であり、詳細は省略する。
【００１２】
図１は、本実施形態においてデジタルサーボ回路３のプロセッサが位置・速度ループ処理周期毎に実施する処理のフローチャートである。
デジタルサーボ回路３のプロセッサは共有ＲＡＭ２を介してＣＮＣ１から送られてくる分配移動指令量を読取り位置・速度周期毎の指令量Ｐ０  を求め（ステップＳ１）、従来と同様のベル形加減速の処理、即ち上記移動指令量Ｐ０  に基づく加減速処理１を行いその出力（指令量）Ｐ１  を求め、さらに該出力Ｐ１  を入力して加減速処理２を行い指令量Ｐ２  を求める（ステップＳ２）。そして、上記指令量Ｐ０  、Ｐ１  、Ｐ２  が「０」か否か判断する（ステップＳ３〜Ｓ５）。ＣＮＣ１から移動指令が出力されておらず分配移動指令量が「０」である場合には、上記各指令量Ｐ０  、Ｐ１  、Ｐ２  は全て「０」であるから、ステップＳ３、Ｓ４、Ｓ５の処理を行ってステップＳ１７に移行し、トルクリミット値ＴＬ  を通常のリミット値（ハイレベルの値）ＴＬＨに設定すると共に、後述する不完全積分の係数ｋ３  を設定されているパラメータ２の値に設定する。その後、ステップＳ７に進む。ステップＳ７では、カウンタＣに「１」加算する。このカウンタＣは電源投入時の初期設定で、該カウンタＣが計数できる最大値が設定されており、かつこのカウンタＣは最大値まで計数するとその値を保持しカウントアップしない構成にされてる。
【００１３】
次に、加減速処理２から出力された指令量Ｐ２  とスケール８からの位置のフィードバック信号Ｐｆ  より位置偏差を求め従来と同様に位置ループ処理を行い速度指令Ｖｃを求める（ステップＳ８）。さらにスケール８からの速度フィードバック値Ｖｆ  を読み（ステップＳ９）、カウンタＣの値があらかじめ設定されている設定値Ｃ０  以下か判断する（ステップＳ１０）。電源投入時は前述したように該カウンタＣは最大値の計数状態にあるから、設定値Ｃ０  より大きくステップＳ１０からステップＳ１２に移行し、積分器１０の処理を行う。即ちステップＳ８で得られた速度指令Ｖｃ  からステップＳ９で読み込んだ速度フィードバック値Ｖｆ  を減じた値の速度偏差に積分ゲインｋ１  を乗じ、これをレジスタに記憶する積分値Ｓｕｍに加算する完全積分の処理を行う。そして、該積分値Ｓｕｍに上記速度偏差（Ｖｃ  −Ｖｆ  ）に比例ゲインｋ２  を乗じた値を加算しトルク指令Ｔｃ  を求め（ステップＳ１３）、該トルク指令Ｔｃ  が設定トルクリミット値ＴＬ  以下か否か判断し（ステップＳ１４）、以下ならば、このトルク指令Ｔｃ  を電流ループに引き渡し（ステップＳ１６）、トルクリミット値ＴＬ  を越えて入れば、トルク指令値Ｔｃ  をこのトルクリミット値ＴＬ  にして（ステップＳ１５）、電流ループに引き渡し当該位置・速度ループ処理周期の処理を終了する。
【００１４】
ＣＮＣ１から分配移動指令量が出力されなければ、ステップＳ１〜Ｓ５、Ｓ１７、Ｓ７〜Ｓ１０、Ｓ１２〜Ｓ１６の処理を各周期毎繰り返し実施する。
ＣＮＣ１から分配移動指令量が出力されるとステップＳ１〜Ｓ３の処理を行って、ステップＳ１７に移行し、次に、前述したステップＳ７〜Ｓ１０、Ｓ１２〜Ｓ１６の処理を実行し当該周期の処理を終了する。
【００１５】
以下、上記ステップＳ１〜Ｓ３、Ｓ１７、Ｓ７〜Ｓ１６の処理を各周期毎実行し、ＣＮＣ１から分配移動指令量がなくなり、移動指令量Ｐ０  が「０」になるとステップＳ３からステップＳ４に進み、加減速処理１の出力Ｐ１  が「０」か否か判断し、「０」でなければ前述したステップＳ１７、ステップＳ７以下の処理を実行する。加減速処理１の出力Ｐ１  が「０」になると、ステップＳ４からステップＳ５に移行し加減速処理２の出力である指令値Ｐ２  が「０」か否か判断し、最初は「０」ではないから、ステップＳ５からステップＳ６に移行して、カウンタＣの値を「０」にリセットすると共に不完全積分の係数ｋ３  を設定パラメータ値１に設定する。さらに、トルクリミット値ＴＬ  を位置決め完了時の機械系のねじれをとるために設定されているローレベル値ＴＬＬに設定する。なお、トルクリミット値ＴＬ  として設定する設定値ＴＬＬ、ＴＬＨは、ＴＬＬ＜ＴＬＨの関係にあり、また、不完全積分の係数ｋ３  に設定するパラメータ値１，２の値は、０≦パラメータ値１＜パラメータ値２＜１の関係にある。
【００１６】
ステップＳ６の処理を行った後ステップＳ７以降の処理を実行するが、カウンタＣが「０」にリセットされていることからステップＳ１０では設定値Ｃ０  以下と判断されステップＳ１１に進み、不完全積分の処理を行う。即ち、レジスタに記憶する積分値ＳｕｍにステップＳ６でパラメータ値１の値に設定された係数ｋ３  を乗じて得られた値に速度偏差（ＶＣ  −ＶＦ  ）に積分ゲインｋ１  を乗じた値を加算し当該周期の積分値Ｓｕｍとする。係数ｋ３  に設定されたパラメータ値１は「０」を含む小さな値が設定されるものであり、例えば「０」と設定されているとすると、当該周期の積分値Ｓｕｍの値は［ｋ１  （ＶＣ  −ＶＦ  ）］となり、非常に小さな値となる。その結果、図４（ｄ）に示すように、加減速処理１の出力Ｐ１  が「０」で加減速処理２の出力Ｐ２  が「０」ではない区間において、積分値が非常に小さなものになる。
【００１７】
こうして得られた積分値Ｓｕｍに速度偏差（Ｖｃ  −Ｖｆ  ）に積分ゲインｋ１を乗じた値を加算しトルク指令Ｔｃ  を求める（ステップＳ１３）。即ち、不完全積分の速度ループ処理を行いトルク指令Ｔｃ  を求めることになり、この値は小さなものとなる。さらに本実施形態では、トルクリミット値ＴＬ  もステップＳ６でローレベルの値ＴＬＬに設定されているから、ステップＳ１４でトルク指令Ｔｃ  の値とトルクリミット値ＴＬ  と比較し、ステップＳ１３で求められたトルク指令Ｔｃ  の値がこのトルクリミット値ＴＬ  （＝ＴＬＬ）を越えて入れば、このトルクリミット値ＴＬ  （＝ＴＬＬ）をトルク指令Ｔｃ  として制限する（ステップＳ１５）。また、トルクリミット値ＴＬ  を越えていなければ、ステップＳ１３で求めたトルク指令Ｔｃ  をそのまま電流ループに引き渡す（ステップＳ１６）。
【００１８】
以下、加減速処理１の出力の指令量Ｐ１  が「０」で加減速処理２からの指令量Ｐ２  が「０」ではない間、即ち加減速処理１では移動量の蓄積はなく、加減速処理２のみ移動量の蓄積が残っている間は、ステップＳ６でカウンタＣは「０」にセットされ、係数ｋ３  は小さな値のパラメータ値１に設定されトルクリミット値ＴＬ  もローレベルの値ＴＬＬに設定されるから、ステップＳ１０からステップＳ１１に移行し、不完全積分がなされトルク指令Ｔｃ  が求められ、かつローレベルのトルクリミット値ＴＬＬに設定されているトルクリミット値ＴＬ  以下のトルク指令Ｔｃ  に制限されるから、サーボモータの出力トルクは小さなものとなり、サーボモータ５と機械可動部７間の送り軸６等の機械系のねじれは徐々に解消されることになる。
【００１９】
そして、加減速処理２からの指令量Ｐ２  も「０」になると、ステップＳ５からステップＳ１７に移行し、トルクリミット値ＴＬ  をハイレベルの通常の値ＴＬＨに設定すると共に不完全積分の係数ｋ３  をパラメータ値２の値に設定し（ステップＳ１７）、ステップＳ７以降の処理を以後各周期毎行う。この場合、ステップＳ６の処理が行われないから、カウンタＣは毎週期毎カウントアップし、該カウンタＣの値が設定値Ｃ０  以下の間はステップＳ１０からステップＳ１１に進みパラメータ値２の値に設定されている係数ｋ３  によって不完全積分がなされる。
【００２０】
前述したように、加減速処理の出力Ｐ１  が「０」で加減速処理２の出力Ｐ２  が「０」でない間は、トルク指令Ｔｃ  が小さな値であるから、サーボモータ５の出力トルクは小さく、指令に対してサーボモータが追従できなくエラーカウンタの位置偏差が大きくなっているので、この位置偏差に対応する速度指令Ｖｃ  がステップＳ８から求められ、この速度指令Ｖｃ  に基づいて速度ループ処理がなされるが、この速度ループ処理における積分処理がステップＳ１１の不完全積分であることから、積分値Ｓｕｍの上昇度合いは小さく、徐々に増大することになる。その結果トルク指令値Ｔｃ  も徐々に増大し、エラーカウンタに記憶する位置偏差を解消し機械可動部７は目標とする指令位置に移動する。
そして、カウンタＣの値が設定値Ｃ０  を越えるとステップＳ１０からステップＳ１２に移行し通常の完全積分の処理がなされる。以後、ステップＳ１〜Ｓ５、Ｓ１７、Ｓ７〜Ｓ１０、Ｓ１２、Ｓ１３〜Ｓ１６の処理が各周期毎実行され、指令位置に位置決めされることになる。そして、再び移動指令がＣＮＣ１から出力されると前述した処理を実行することになる。
【００２１】
この実施形態では、加減速処理部として、ベル形加減速処理を行い第１段目の加減速処理１と第２段目の加減速処理２の出力を利用して、第１段目の加減速処理の出力Ｐ１  が「０」となり、第２段目の加減速処理２の出力Ｐ２  が「０」でないときを移動指令の終了直前として、この時よりサーボモータの出力トルクを減少させるように、不完全積分の係数ｋ３  をより小さな値（例えば「０」）にすると共に、トルクリミット値ＴＬ  も小さなものとしてサーボモータ５の出力トルクを小さくし、この状態を第１段目の加減速処理１の出力Ｐ１  か「０」で第２段目の加減速処理２の出力Ｐ２  が「０」でない区間保持し、機械系のねじれを解消するようにした。そして、両加減速処理１，２の出力Ｐ１  ，Ｐ２  の出力が共に「０」となり、サーボ制御処理（回路）への移動指令の出力が完了した後の設定時間内（設定値Ｃ０  で規定される時間内）では不完全積分は行うがその係数ｋ３  は少し大きなものとし、サーボモータの出力トルクが急激に増大させることを防止して徐々に増大させて機械系のねじれや、ショックが生じないようにした。
【００２２】
なお、加減速処理部にベル形加減速を使用せず、通常の加減速処理（１つの加減速処理のみ）で行う場合には、該加減速処理の入力が「０」でその出力が「０」でない時からサーボモータの出力トルクを減少させ、加減速処理の出力が「０」になると、設定値Ｃ０  で設定された時間が経過するまで、少し大きな係数ｋ３  によって不完全積分を行うようにすればよい。即ち、図１に示すフローチャートにおいて、ステップＳ２で１つの加減速処理を行いその出力を例えばＰ２  とし、ステップＳ４の処理を省略してステップＳ３からステップＳ５に移行するようにすればよい。
【００２３】
また、加減速処理を行わない場合、もしくは加減速処理を行ってもこの加減速処理の入出力を利用しない方法も本発明は適用できるものである。このときの例を図２で示すフローチャートで示す。この図２に示す例では、加減速処理を行わない例であり、そのため、図１のステップＳ２に示す処理を有していない。そして、図１のステップＳ１の処理は図２ではステップＴ２の処理に対応し同一であり、図１のステップＳ３〜Ｓ５の処理が図２ではステップＴ２の処理に対応しこの点において相違するのみである。また図１のステップＳ６は図２においてはステップＴ３に対応し同一であり、図１のステップＳ１７はステップＴ１４と同一である。さらに図１のステップＳ６移行の処理は図２においてはステップＳＴ４移行の処理に対応して同一である。
【００２４】
この実施形態では、ＣＮＣ１が、移動指令の分配が完了する設定数周期前にフラグＦを「１」にセットし立て、分配が完了すると該フラグＦを「０」にセットし下ろすようにする。ＣＮＣ１は加工プログラムから指令速度及び移動指令量を読み取ると、何回の分配周期でこの移動指令量を出力するかが計算されるので、移動指令の分配が完了する分配周期が分かり、その周期より設定回数前の分配周期も分かるのでこの設定された周期に達するとフラグＦを立てればよい。また、このフラグＦを立てる時期を、移動指令量の残り量で決めてもよい。残り量を設定しておき、ＣＮＣが分配周期毎に移動指令を出力し、残り量が設定値の残り量より小さくなると該フラグＦを立てるようにすればよい。
【００２５】
ＣＮＣ１からの分配移動指令量より位置・速度ループ処理周期における移動指令Ｐ０  を求め（ステップＴ１）、共有ＲＡＭにフラグＦが「１」にセットされているか否か判断し（ステップＴ２）、「１」にセットされていなければ、ステップＴ１４に移行し、図１のステップＳ１７の処理と同一の処理であるトルクリミット値ＴＬ  を通常のハイレベルの値ＴＬＨにセットすると共に不完全積分の係数ｋ３  をパラメータ値２にする。そしてステップＴ４以降の処理、即ち図１におけるステップＳ７以降の処理を実行する。そして、移動指令の分配が完了する設定分配周期前になるとフラグＦが「１」にセットされる。ここれをステップＴ２で検出するとステップＴ３に移行し、図１のステップＳ６と同一の処理を実行する。即ち、カウンタＣを「０」にリセットし、不完全積分の係数ｋ３  をパラメータ値１にセットすると共にトルクリミット値ＴＬ  をローレベルの値ＴＬＬにセットし、ステップＴ４以降の処理を実行する。移動指令の分配が完了する分配周期よりも設定周期前の段階から、パラメータ値１に設定されている小さな値（例えば「０」）の不完全積分の係数ｋ３  によって、ステップＴ１０で不完全積分を行い積分値Ｓｕｍを小さなものとし、さらに、ローレベルのトルクリミット値ＴＬＬ以下にトルク指令ＴＣ  を制限して（ステップＴ１１，Ｔ１２）、サーボモータを駆動することになるから、サーボモータ５の出力トルクは小さなものとなり、機械系（６）のねじれは解消されることになる。そして、移動量の分配が完了しフラグＦが「０」になると、トルクリミット値ＴＬＨは通常のハイレベルの値ＴＬＨに戻され不完全積分の係数もパラメータ値２にセットされる（ステップＴ１４）ことから、カウンタＣの値が設定値Ｃ０  を越えるまでの間は上記係数Ｋ３  によって不完全積分が行われ（ステップＴ８）、サーボモータ５の出力トルクは徐々に増大し、急激な出力トルクの増大を防止して徐々に増大させ、カウンタＣの値が設定値Ｃ０  を越えると、通常の完全積分に戻り（ステップＴ９）、機械可動部７を指令位置に位置決めする。
【００２６】
上述した２つの実施形態においては、サーボモータの出力トルクを減少させる方法として、速度ループにおける積分処理の積分値を減少させると共に、トルクリミット値を小さな値にしてトルク指令をこのトルクリミット値以下に制限することによって、サーボモータの出力トルクを減少させたが、上記積分値を小さな値にするか、トルクリミット値を小さな値にするかのどちらか一方のみを用いる方法でもよい。トルクリミット値のみで出力トルクを小さくする方法の場合には、移動指令が全てサーボ制御系（サーボ回路）に入力される（エラーカウンタに全て入力される）時点より設定時間だけ前の時点から、全て入力が完了するまでの間は小さなトルクリミット値にし、完了した後設定時間（設定値Ｃ０  ）が経過するまでは、少し大きいトルクリミット値に、もしくは徐々に大きくして、設定時間が経過すると通常の大きなトルクリミット値にするようにすればよい。
【００２７】
図６、図７は本発明の効果を検証するために行った実験結果である。図６は本発明を適用せず従来の方法で位置決めを行ったとき、図７は本発明の第１の実施形態を適用し位置決めを行ったときの実験結果である。図６，図７において、横軸は時間、縦軸は機械可動部の位置であり目標位置を「０」の位置とし、送り速度を１０ｍｍ／ｍｉｎとしている。また、図７は加減速処理部の時定数を６４ｍｓとし加減速処理１の時定数を３２ｍｓ、加減速処理２の時定数を３２ｍｓとしている。
図６の従来の方法であるとオーバシュートが０．６μｍ程度生じているが、本発明を適用した図７ではオーバシュートは０．２μｍ程度しか生じておらず、オーバシュートの発生を改善していることが分かる。
【００２８】
【発明の効果】
本発明は、フル・クローズド・ループ方式で機械可動部の位置を制御する場合サーボモータと機械可動部間の送り軸等の機械系のねじれを解消して位置決めを行うようにしたから、オーバシュートの発生を防止し、オーバシュートを小さくすることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の位置・速度ループ処理周期毎の処理のフローチャートである。
【図２】本発明の第２の実施形態の位置・速度ループ処理周期毎の処理のフローチャートである。
【図３】本発明の第１の実施形態のサーボモータの制御方法を適用したサーボ制御処理の要部ブロック図である。
【図４】同第１の実施形態において、移動指令、各加減速処理の出力、積分器の出力の関係を示す図である。
【図５】本発明を適用する実施形態のハードウェア制御ブロック図である。
【図６】従来の方法による位置決めの実験結果を示す図である。
【図７】本発明を適用し位置決めを行ったときの実験結果を示す図である。
【符号の説明】
１  数値制御装置（ＣＮＣ）
２  共有ＲＡＭ
３  デジタルサーボ回路
４  サーボアンプ
５  サーボモータ
６  送り軸
７  機械可動部
８  スケール（位置検出器）
１０  積分器
【図１】
0003628119.tif 000002
【図２】
0003628119.tif 000003
【図３】
0003628119.tif 000004
【図４】
0003628119.tif 000005
【図５】
0003628119.tif 000006
【図６】
0003628119.tif 000007
【図７】
0003628119.tif 000008