(57)【要約】【課題】  部品等の同一形状の加工を多数実行するような場合に、学習制御を適用できるようにしたサーボ制御装置を提供する。【解決手段】  外部機器から学習制御開始指令でスイッチ２４，２５をオンとして、各周期毎位置偏差を取り込む。該位置偏差と学習メモリ２２から取り出した補正データを加算しフィルタ２１で処理して学習メモリ２２に補正データとして記憶する。取り出した補正データに対して動特性補償要素２３で補償して、位置偏差に加算し、位置制御部３への入力とする。同一の形状に対する指令パターンが終了し学習制御終了指令が出されると、スイッチ２４，２５をオフにする。学習開始、終了指令によって、同一形状を加工する任意の位置で学習制御ができ、位置偏差が零に収束して高精度の加工ができる。又、学習制御中位置偏差により評価を行い、最適の補正データを得えてこの補正データ使用する。【選択図】      図４
2005327191.tif 000002
【特許請求の範囲】
【請求項１】
上位制御装置から入力される指令に基づいてサーボモータを駆動するサーボ制御装置において、
上位制御装置から入力される指令位置とサーボモータで駆動される被駆動体の検出位置との位置偏差に基づいて求めた補正データを記憶するメモリを備え該メモリに記憶された補正データに基づいて位置偏差を補正して学習制御を行う学習制御手段を有し、
該学習制御手段は上位制御装置以外の外部装置から入力される学習制御開始指令と学習制御終了指令とを判別し、該学習制御開始指令から学習制御終了指令までの間の前記サーボモータの駆動において所定周期毎に前記補正データを前記メモリに更新記憶すると共に、
前記学習制御開始指令から学習制御終了指令までの間の前記サーボモータの駆動を前記上位制御装置から入力される位置指令と前記メモリに記憶されている前記所定周期毎の補正データとに基づいて学習制御を行うことを特徴とするサーボ制御装置。
【請求項２】
位置偏差値に基づいて前記学習制御を評価するための位置偏差の評価値を求める手段を備え、該評価値に基づいて、学習制御を評価するようにした請求項１に記載のサーボ制御装置。
【請求項３】
前記位置偏差の評価値が所定範囲に入った後、その後位置偏差の評価値が所定範囲を超えたとき、前記上位制御装置にアラームを出力する手段を備えた請求項２に記載のサーボ制御装置。
【請求項４】
前記位置偏差または位置偏差の評価値が所定範囲に入ったとき、補正データの更新を停止し、所定範囲を超えたとき、補正データの更新を再開させる手段を備えたことを特徴とする請求項２に記載のサーボ制御装置。
【請求項５】
前記位置偏差の評価値が所定範囲に入った場合は、該位置偏差収束を前記上位制御装置に知らせると共に、補正データを上位制御装置に転送する手段を備えることを特徴とする請求項２に記載のサーボ制御装置。
【請求項６】
学習制御終了後又は動作プログラム終了後に、記憶した位置偏差の基準評価値と今回の位置偏差の評価値を比較する手段を備え、今回の位置偏差の評価値が小さい場合、該評価値を基準評価値、今回の補正データを基準補正データとして記憶若しくは前記上位制御装置に転送し該上位制御装置内の記憶装置に記憶させ、今回の位置偏差の評価値が大きい場合、当該サーボ制御装置若しくは上位制御装置に記憶している補正データを前記メモリに格納する手段を備えることを特徴とする請求項２に記載のサーボ制御装置。
【請求項７】
前記位置偏差の評価値は位置偏差の２乗平均値、位置偏差の絶対値の平均値又は位置偏差の絶対値の最大値のいずれかとする請求項２乃至６の内いずれか１項に記載のサーボ制御装置。
【請求項８】
前記位置偏差の評価値は、学習開始の所定時間後から学習終了前の所定時間前の位置偏差を使用して求める請求項２乃至７の内いずれか１項に記載のサーボ制御装置。
【請求項９】
前記位置偏差の評価値は、上位制御装置あるいは上位制御装置以外の外部装置から入力される監視開始指令と監視終了指令間の位置偏差を使用して求める請求項２乃至７の内いずれか１項に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、射出成形機、プレス機械等の駆動機構の送り軸や回転軸を駆動するサーボ制御装置に関し、特に、部品加工の工作機械において同一部品を何回も加工し続ける場合等に適したサーボ制御装置に関する。
【背景技術】
【０００２】
同一パターンの指令が繰り返し指令されて加工等を行う場合、制御偏差を零近くまで収束させて加工精度を向上させる方法として学習制御が知られている。この従来から行われている学習制御は、図２に示すように、同一パターンが一定パターン周期で繰り返し指令され、１つ前の１パターン周期における各制御周期における位置偏差に基づいて求められる補正データを学習メモリに記憶しておき、当該パターン周期の各制御周期の位置偏差に、学習メモリに記憶する１つ前の１パターン周期における対応する制御周期の補正データを加算することによって、位置偏差を零に収束させようとするものである（例えば、特許文献１、特許文献２参照）。
【０００３】
【特許文献１】特開平７−１０４８２３号公報
【特許文献２】特開平６−３０９０２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ピストン旋盤のように、断面形状が同一パターンで、この同一パターンの指令を繰り返し実行する場合には、上述した学習制御が適用されているが、同一パターンが繰り返し実行されない場合には、この学習制御は適用できなかった。  
同一部品を何個も加工し続ける場合や同一加工形状を間欠的に何度も加工しなければならないような場合、この同一形状の加工のため指令は同一の指令パターンになるにも拘わらず、学習制御が適用できなかった。  
そこで、本発明の目的は、同一形状を何度も加工するような場合にも、学習制御を適用できるようにし、さらには、学習制御の結果を評価できるようにしたサーボ制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
本願請求項１に係わる発明は、上位制御装置から入力される指令に基づいてサーボモータを駆動するサーボ制御装置において、上位制御装置から入力される指令位置とサーボモータで駆動される被駆動体の検出位置との位置偏差に基づいて求めた補正データを記憶するメモリを備え該メモリに記憶された補正データに基づいて位置偏差を補正して学習制御を行う学習制御手段を有し、該学習制御手段は上位制御装置以外の外部装置から入力される学習制御開始指令と学習制御終了指令とを判別し、該学習制御開始指令から学習制御終了指令までの間の前記サーボモータの駆動において所定周期毎に前記補正データを前記メモリに更新記憶すると共に、前記学習制御開始指令から学習制御終了指令までの間の前記サーボモータの駆動を前記上位制御装置から入力される位置指令と前記メモリに記憶されている前記所定周期毎の補正データとに基づいて学習制御を行うことを特徴とするものである。又、請求項２に係わる発明は、さらに、位置偏差値に基づいて前記学習制御を評価するための位置偏差の評価値を求める手段を備え、該評価値に基づいて、学習制御を評価するようにしたものである。
【０００６】
請求項３に係わる発明は、前記位置偏差の評価値が所定範囲に入った後、その後位置偏差の評価値が所定範囲を超えたとき、前記上位制御装置にアラームを出力する手段を備えるようにした。また、請求項４に係わる発明は、前記位置偏差または位置偏差の評価値が所定範囲に入ったとき、補正データの更新を停止し、所定範囲を超えたとき、補正データの更新を再開させる手段を備えるものとした。さらに、請求項５に係わる発明は、前記位置偏差の評価値が所定範囲に入った場合、該位置偏差収束を前記上位制御装置に知らせると共に、補正データを上位制御装置に転送する手段を備えるものとした。
【０００７】
請求項６に係わる発明は、学習制御終了後又は動作プログラム終了後に、記憶した位置偏差の基準評価値と今回の位置偏差の評価値を比較する手段を備え、今回の位置偏差の評価値が小さい場合、該評価値を基準評価値、今回の補正データを基準補正データとして記憶若しくは前記上位制御装置に転送し該上位制御装置内の記憶装置に記憶させ、今回の位置偏差の評価値が大きい場合、当該サーボ制御装置若しくは上位制御装置に記憶している補正データを前記メモリに格納する手段を備えるものとした。  
又、請求項７に係わる発明は、前記位置偏差の評価値を位置偏差の２乗平均値、位置偏差の絶対値の平均値又は位置偏差の絶対値の最大値のいずれかとしたものである。請求項８に係わる発明は、前記位置偏差の評価値を、学習開始の所定時間後から学習終了前の所定時間前の位置偏差を使用して求めるものとした。請求項９に係る発明は、前記位置偏差の評価値を、上位制御装置あるいは上位制御以外の外部装置から入力される監視開始信号から監視終了信号の間の位置偏差を使用して求めるものとした。
【発明の効果】
【０００８】
同一形状の加工を多数実行するような場合、その形状個所だけ学習制御を適用し、その加工における位置偏差を零に収束するようにして加工ができることから、高精度の加工を行うことができる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の原理説明図である。本発明においては、同一形状を加工する部品又は箇所に対して学習制御を適用するもので、同一指令パターンが指令される位置から学習制御開始指令を与え、同一指令パターンが終了した位置で学習制御終了指令を与えて、この学習制御開始指令から学習制御終了指令間だけ学習制御を行うことによって、同一部品を複数加工する場合や同一形状の加工が複数生じるようなワークを加工するような場合に適用するものである。
【００１０】
図２に示す従来の学習制御では、学習メモリに繰り返される同一指令パターンの１パターン周期における位置偏差データからなる補正データを記憶し、次のパターン周期においてこの学習メモリに記憶する補正データを位置偏差に加算して位置偏差が零となるように制御していた。  
しかし、本発明では、同一指令パターンが指令される学習制御開始指令から学習制御終了指令までの学習区間の位置偏差データからなる補正データを学習メモリに記憶しておき、次の学習制御開始指令から学習制御終了指令までの学習区間においては、学習メモリに記憶された対応する補正データによって位置偏差を補正すると共に、新たな補正データを学習メモリに記憶するようにしたものである。
【００１１】
図３は、本発明の一実施形態の要部ブロック図である。上位制御装置の数値制御装置１は加工プログラム等に基づいて、被駆動体９を駆動制御するサーボモータ７のサーボ制御装置に対して位置指令を出力し、サーボ制御装置では、この位置指令に基づいて位置、速度及び電流のフィードバック制御を行いサーボモータ７を駆動制御する。
【００１２】
すなわち、数値制御装置１から出力された位置指令から、被駆動体９の移動位置を検出する位置検出器１１からフィードバックされる現在位置を減じて位置偏差を求め、位置制御部３で位置偏差に位置ループゲインを乗じて速度指令を求める。又、この速度指令からサーボモータ７に取り付けられ該サーボモータ７の速度を検出する速度検出器１０からフィードバックされる実速度を減じて速度偏差を求め、速度制御部４でＰＩ（比例積分）制御等の速度ループ制御を行い電流指令（トルク指令）を求める。さらに、電流指令から、電流増幅器６からフィードバックされてくる駆動電流を減じて電流偏差を求め電流制御部５で電流ループ制御を行い、電流増幅器６を介してサーボモータ７を駆動制御し、伝達機構８を介して被駆動体９を駆動する。
【００１３】
以上は、従来から実施されている位置、速度、電流のループ制御をともなうサーボ制御装置と同一であり、従来と差異はない。相違する点は学習制御手段２が付加されている点である。この学習制御手段２は学習制御開始指令で学習制御を開始し、学習制御終了指令で学習制御を停止するものである。この学習制御開始指令、終了指令は、この実施形態では、数値制御装置１に接続された外部機器１２から指令されるものであり、外部機器１２としては、プログラマブル・ロジック・コントローラ、リミットスイッチ、定寸装置、レーザ測長器などの測定器、さらにはイーサネット（登録商標）や専用線などの通信線を介して接続されたパソコンや他の制御装置等である。
【００１４】
図４は、この学習制御手段２の詳細ブロック図である。この学習制御手段２は、従来の学習制御手段と同様に、帯域制限フィルタ２１、補正データを記憶する学習メモリ２２，制御対象の位相遅れ、ゲイン低下を補償する動特性補償要素２３を備えている。さらに本発明の特徴として、この学習制御を開始及び停止するための、位置偏差を入力するスイッチ２４、補正データを出力するスイッチ２５を備えている。学習メモリ２２には、学習しようとする同一指令パターンにおける位置、速度ループ制御が行われる所定周期に対応するメモリ数が設けられている。所定周期は学習制御開始指令とともに設定されてもよいし、もし、所定周期が設定されていなければ、１回目には充分な値を設定しておき、１回目の開始指令と終了指令の時間（所定処理周期のカウント数）により決定することもできる。また、上位制御装置の記憶装置との間で補正データを転送するときに、所定周期も同時に転送することもできる。例えば同一指令パターンの区間がＬとし、位置、速度ループ処理周期がＴとすれば、Ｌ／Ｔ個のメモリが学習メモリ２２に設けられている。
【００１５】
数値制御装置１から学習制御開始指令が出力されるとスイッチ２４、２５は閉じ、位置、速度ループ制御が行われる所定周期毎に位置偏差が学習制御手段２に取り込まれ、この位置偏差に学習メモリ２２に記憶する一番旧い補正データが加算され、帯域制限フィルタ２１の処理を行って、学習メモリ２２に補正データとして格納される。又、前述した学習メモリ２２から取り出された一番旧い補正データは動特性補償要素２３によって、制御対象の位相遅れ、ゲイン低下の補償を行いスイッチ２５を介して位置偏差に加算され位置制御部３に入力され、この補正データが加算補正された位置偏差に位置ループゲインが乗じられて速度指令が求められる。以下、同一指令パターンがの指令が終了し学習制御終了指令が数値制御装置１から出力されスイッチ２４，２５がオフになるまで、この処理動作が実行され、学習メモリ２２には同一指令パターンの区間における各位置、速度制御処理周期毎の補正データが記憶されることになる。  
同一指令パターン区間においては、補正データが位置偏差に加算されることにより、位置偏差は零になるように収束する。  
又、位置偏差が零近傍に収束し、補正データの更新を行わず、そのときの補正データを使用して学習制御を実行する場合、入力スイッチ２４をオフ、出力スイッチをオンとして、学習制御が実行されることになる。
【００１６】
本実施形態では、このサーボ制御装置の上位制御装置である数値制御装置１にＩ／Ｏユニット等を介して接続されるプログラマブル・ロジック・マシンコントローラ、リミットスイッチ、定寸装置、レーザ測長器などの測定器、さらにはイーサネット（登録商標）や専用線などの通信線を介して接続されたパソコンや他の制御装置等の外部機器１２からの信号によって、この学習制御開始、学習制御終了を制御するようにしているが、上位制御装置の数値制御装置１に格納される加工プログラムに基づいて学習制御開始指令、学習制御終了指令を出力するようにしてもよい。
【００１７】
又、本実施形態は、学習制御により位置偏差値が小さくなり指令位置に対して実際の位置が追従し収束しているかを判別評価するために、位置偏差値による評価を行うようにしている。さらに、学習制御開始指令から学習制御終了指令までの、同一指令パターン区間においても、加工のアプローチ部分や逃げ部分は、加工精度に関係がなく、この部分は評価する必要がない。又、アプローチ部分や逃げ部分の加工以外においても、学習開始直後、及び学習終了直前において、移動指令が急激に変化する部分がある場合には、学習制御を評価するための監視区間をこの移動指令が急激に変化する部分を避けて、学習開始後所定時間経過後から、学習制御終了の所定時間前までの間を監視区間として監視区間を設定できるようにしている。
また、監視区間を上位制御装置あるいは上位制御装置以外の外部機器からの信号によっても制御できるようにしている。
【００１８】
図５は、学習制御を行うプロセッサ（サーボ制御装置の処理を実行するプロセッサ又は学習制御手段専用のプロセッサ）が位置偏差の取り込むサンプリング周期毎（位置、速度ループ処理周期毎）に行う、本発明の第１の実施形態における学習制御及び学習制御の評価処理のフローチャートである。
【００１９】
まず、数値制御装置１から学習制御開始指令が入力されたか否か（ステップ１００）、学習制御終了指令が入力されたか否か（ステップ１０１）、及び学習制御中を示すフラグが「１」か判断する（ステップ１０２）。外部機器１２より学習制御開始指令が入力されると学習制御中を示すフラグを「１」に、学習制御処理への位置偏差の入力をオン、及び学習制御による補正データの出力をオンとしする（ステップ１０３）。すなわち、図４に示す学習制御手段のスイッチ２４，２５をオンとするものである。
【００２０】
次に、学習制御の評価を行うための監視の実行を制御する監視開始フラグ、監視終了フラグを「０」にセットし（ステップ１０４）、この学習制御開始指令が最初の指令か判断する（ステップ１０５）。これは、学習メモリ２２に補正データが格納されているか否かで、初回か否かが判断される。初回であれば、収束フラグを「０」にセットし（ステップ１０６）、ステップ１０７に進む。又、初回でなければ、ステップ１０５からステップ１０７に移行し、偏差ＯＶフラグを「０」、カウンタＮ，Ｍを「０」にクリアし、ステップ１０１に移行する。
【００２１】
ステップ１０２で学習制御中を示すフラグが「１」であることが判別されると、学習制御中の処理周期数を計数するカウンタＭを「１」インクリメントし（ステップ１１２）、監視開始フラグが「０」か否か判断し（ステップ１１３）。最初はステップ１０４で「０」にセットされているから、ステップ１１４に移行し、カウンタＭの値が予め設定された監視開始のための設定値ＭＳを超えているか判別する。なお、この設定値ＭＳの設定については後述する。カウンタＭの値が予め設定された値ＭＳを超えていなければ、ステップ１２５に移行し、ステップ１０３で入力オン、出力オンと設定されているから、このステップ１２５での学習制御処理は、位置偏差の入力をオンとして補正データの更新を行いつつ、補正データの出力を行う。すなわち、図４におけるスイッチ２４、２５をオンとして学習制御を開始する。
【００２２】
次の周期からは、制御中フラグが「１」にセットされていることから、ステップ１００，１０１，１０２，１１２，１１３，１１４，１２５と実行され、学習制御がなされる。  そして、ステップ１１４で、カウンタＭの値が設定値ＭＳを超えると、監視開始フラグを「１」にセットし（ステップ１１５）、監視終了フラグ「０」か「１」判別する（ステップ１１６）。最初はステップ１０４で、「０」と設定されているから、ステップ１１７に移行してカウンタＭが監視終了のための設定値ＭＥを超えているか判別する。なお、この設定値ＭＥの設定については後述する。最初はカウンタＭの値は設定値ＭＥを超えていないから、ステップ１１９に進み、評価する位置偏差の数を計数するカウンタＮを「１」インクリメントし、位置偏差の評価値を求める計算を行う（ステップ１２０）。
【００２３】
監視の開始と終了を図９のフローチャートのように外部機器１２からの信号で制御することもできる。この場合、外部機器１２からの指令で監視開始と終了が決定されるから、ステップ１１３が監視開始指令ありかの判断処理、ステップ１１６が監視終了指令かの判断処理に代わり、ステップ１１２，１１４，１１５，１１７，１１８の処理がなくなるものである。
【００２４】
この位置偏差の評価値としては種々のものがある。例えば、位置偏差の２乗を積算し、２乗した位置偏差の数Ｎで除して、位置偏差の２乗平均を評価値とするもの（次の１式参照）、位置偏差の絶対値の平均値（２式参照）、位置偏差の絶対値の最大値（３式参照）等を評価値とする。
【００２５】
【数１】
2005327191.tif 000003
【００２６】
そして、この求めた評価値が予め設定されている上限値以下か判別し（ステップ１２１）、上限値以下であれば、そのままステップ１２５に移行して学習制御処理を実行する。又、評価値が上限値を超えていれば、偏差ＯＶフラグを「１」にセットし（ステップ１２２）、収束フラグが「０」か「１」か判断する（ステップ１２３）。最初においては、収束フラグはステップ１０６で「０」にセットされているから、ステップ１２３からステップ１２５に移行して学習制御を行う。
【００２７】
次の処理周期からは、制御中フラグが「１」、監視開始フラグが「１」、監視終了フラグが「０」、収束フラグが「０」にセットされているから、ステップ１００，１０１，１０２，１１２，１１３，１１６，１１７，１１９，１２０，１２１と処理し、ステップ１２１からステップ１２５又はステップ１２１からステップ１２２，１２３，１２５と処理することになる。そして、この処理を所定周期毎実行し、ステップ１１７でカウンタＭの値が設定された監視終了タイミングを決める設定値ＭＥを超えると、監視終了フラグを「１」にセットして（ステップ１１８）、ステップ１２５に移行し学習制御を実行する。
【００２８】
次の周期からは、監視終了フラグが「１」にセットされているから、ステップ１００，１０１，１０２，１１２，１１３，１１６と進み、ステップ１１６からステップ１２５に移行して学習制御を行う。  
以下この処理を所定周期毎実行し、ステップ１０１で外部機器１２からの学習制御指令が入力されたことを検出すると、偏差ＯＶフラグが「１」か「０」か判別し（ステップ１０８）、「１」ならば、収束していないとして収束フラグを「０」にセットし（ステップ１０９）、「０」ならば、収束しているとして収束フラグを「１」にセットし（ステップ１１０）、制御中フラグを「０」に、カウンタＮ，Ｍを「０」セットし（ステップ１１１）、ステップ１０２に移行する。
【００２９】
学習制御開始指令から学習制御終了指令まで、学習制御がなされ、この学習制御中において、設定値ＭＳ，ＭＥよる監視区間において、位置偏差値の評価値を求めて該位置偏差の評価値が設定上限値以下かの評価判断を行う。いずれかの処理周期において、位置偏差の評価値が設定上限値を超えると、偏差ＯＶフラグが「１」にセットとされ、この偏差ＯＶフラグが「１」に伴って、ステップ１０９で収束フラグも位置偏差が収束していないことを示す「０」にセットされることになる。
【００３０】
次に、再び学習制御開始指令が出され、ステップ１００で検出されたときには、ステップ１００，１０３，１０４，１０５と処理されステップ１０５からステップ１０７に移行して、ステップ１０６の処理はなされないが、前回の学習制御の終了時に、ステップ１０９，１１０で、収束フラグは「０」又は「１」にセットされるが、最初は、位置偏差の評価値が設定上限値を超えることが多いことから、収束フラグは「０」にセットされており、前述した処理と同意の処理が実施されることになる。
【００３１】
以下、学習制御開始指令が入力されることに、上述した処理がなされ、同じ動作パターンに対して学習制御が繰り返しなされて、ステップ１２１で位置偏差の評価値が上限値を超えるケースがない状態となり、偏差ＯＶフラグが「１」にセットされることなく、学習制御終了指令が出され、学習制御を終了したとき、ステップ１１０で収束フラグが「１」にセットとされることになる。
【００３２】
次の学習制御開始指令による学習制御中においては、上述した処理が行われ、通常位置偏差は零近傍に収束して位置偏差の評価値は設定上限を超えることはないが、何らかの理由で、位置偏差の評価値が上限を超えているとステップ１２１からステップ１２２に移行し、偏差ＯＶフラグを「１」にセットするとともに、収束フラグが「０」か「１」か判別する（ステップ１２３）。この場合、収束フラグは「１」にセットされているから、ステップ１２３よりステップ１２４に移行して、アラームを上位制御装置の数値制御装置１に送信し、制御中フラグを「０」にセットし、学習制御の入力、出力をオフとし、ステップ１２５に移行するが、入力及び出力がオフとされているから、学習制御し実質的に実行されることはなく、当該処理を終了することになる。なお、ステップ１２４で、入力、出力をオフとして、学習制御を停止したが、ステップ１２４では、アラームを出力するだけで、学習制御は継続して行ってもよい。
【００３３】
上位制御装置の数値制御装置１はこのアラーム信号を受けて、数値制御装置の表示装置等に学習制御アラーム等の表示を行い、この表示に基づいて作業員はアラームに対する処理（加工中のワークの除去等の処理）を行う。又、偏差ＯＶフラグがステップ１２２で「１」にセットされているから、学習制御終了指令が出力されたときにステップ１０８からステップ１０９に移行して収束フラグが未収束を示す「０」にセットされることになるから、次の学習制御時には、ステップ１２４に移行することなく、学習制御を繰り返し行い補正データを更新し、位置偏差の評価値が上限値を超えることなく、学習制御区間を終了するまで、上述した処理が実行される。
【００３４】
以上の通り、この第１の実施形態では、位置偏差の評価値が設定上限値を超えることなく、位置偏差が零近傍に収束し学習制御区間を終了し収束フラグが「１」にセットされた後に、再び位置偏差の評価値が設定上限値を超えるような場合には、ステップ１２４の処理がなされアラームを出力することによって、そのとき加工していたワークの加工精度が低下していることを作業員に知らせて、加工精度の保持の監視ができるようにしたものである。
【００３５】
次に上述したステップ１１４、１１７での監視開始と終了のタイミングを決める、学習制御開始時から監視開始までの時間、学習制御を終了する前で監視を終了する時間を決める設定値ＭＳ，ＭＥの設定方法について説明する。  
学習開始時から監視開始のための遅れ時間、及び学習終了前にの監視を停止する学習終了時と監視停止時の時間幅は、ワークの加工条件や加工実験等により予め求めることができる。又、学習終了時は、実験的に図５の処理を行い、学習制御終了指令が出力され、学習制御を終了したときのカウンタＭの値によって、終了時点が判別するから、この終了時点のカウンタＭの値から前もって求めた時間幅の処理周期数を引いて監視終了を決める設定値ＭＥを決めればよいものである。
【００３６】
図６は、本発明の第２の実施形態における、学習制御を行うプロセッサ（サーボ制御装置の処理を実行するプロセッサ又は学習制御手段専用のプロセッサ）が位置偏差の取り込むサンプリング周期毎（位置、速度ループ処理周期毎）に行う、学習制御及び学習制御の補正データの更新と更新停止処理を判別して行う処理のフローチャートである。  
第１の実施形態と同様に、学習制御開始指令が入力されたか否か、学習制御終了指令が入力されたか否か及び学習制御中を示すフラグが「１」かを処理周期毎判断する（ステップ２００〜２０２）。外部機器１２より学習制御開始指令が入力されると学習制御中を示すフラグを「１」に、学習制御による補正データの出力をオンとし（ステップ２０３）、学習制御の評価を行うための監視の実行を制御する監視開始フラグ、監視終了フラグを「０」にセットする（ステップ２０４）。  
次に、学習メモリ２２に補正データが格納されているか否かで学習制御開始指令が最初の指令か判断する（ステップ２０５）。初回であれば、データ更新フラグ、偏差ＯＶフラグを「０」にセットし（ステップ２０６）、ステップ２０７に進む。又、初回でなければ、ステップ２０５からステップ２０７に移行し、カウンタＮ，Ｍを「０」にクリアし、ステップ２０１に移行する。
【００３７】
学習制御中を示すフラグが「１」にセットされたことから、ステップ２０２からステップ２１２に移行するが、このステップ２１２からステップ２２２までの処理は、第１の実施形態のステップ１１２からステップ１２２までの処理と同一であるので、説明を省略する。
【００３８】
そして、第１の実施形態と相違する点は、位置偏差の評価値が設定上限値を超えたとき、偏差ＯＶフラグを「１」にセットするだけで、ステップ２２３に移行し、第１の実施形態にのおける収束フラグの判別、アラーム通知等の処理（ステップ１２３、１２４）の処理を行わない点である。
【００３９】
又、学習制御を実行する前に、位置偏差の入力を行い補正データの更新を行いながら学習制御するか、位置偏差の入力を行わず、補正データの更新をせずに補正データの出力だけを行う学習制御を行うか、の判別をステップ２２３〜２２５で行う点で第１の実施形態と相違する。
【００４０】
すなわち、学習制御（ステップ２２６）を実行する前に、データ更新フラグが「１」か「０」か判別し（ステップ２２３）、「０」ならば位置偏差の入力をオンとして（ステップ２２４）、補正データの更新を行う学習制御を実行させ（ステップ２２６）、データ更新フラグが「１」ならば、位置偏差の入力をオフとして（ステップ２２５）、補正データの更新をせず、補正データの出力のみの学習制御を実行させる（ステップ２２６）。
【００４１】
又、学習制御終了指令が外部器から入力されると（ステップ２０１）、偏差ＯＶフラグが「１」か「０」か判別する（ステップ２０８）。偏差ＯＶフラグが「１」であれば、位置偏差の評価値が上限を超えた場合があり、位置偏差は収束していないことを意味するので、データ更新フラグを「０」として、補正データの更新を行うようにする。又、偏差ＯＶフラグも「０」にセットし（ステップ２０９）、制御中フラグを「０」、学習制御の位置偏差入力をオフ、補正データの出力をオフとし（ステップ２１１）、ステップ２０２に移行する。又、偏差ＯＶフラグが「０」で位置偏差の評価値が設定上限を超えずに学習制御を終了したときには、補正データの更新をしないようにデータ更新フラグを「１」にセットし、ステップ２１１に移行する。
【００４２】
以上のように、この第２の実施形態では、学習制御中に位置偏差の評価値が１度でも設定上限値を超えたときには、偏差ＯＶフラグが「１」にセットされて、学習制御と共にデータ更新フラグが「０」にセットされる。そのため、次の学習制御時には、ステップ２２３からステップ２２４に移行して位置偏差の入力がオンとなって学習制御がなされる。そして、学習制御中に位置偏差の評価値が１度でも設定上限値を超えることなく学習制御が終了すれば、データ更新フラグが「１」にセットされるから、以後は、ステップ２２３からステップ２２５に移行して位置偏差の入力が停止されて補正データの更新を行わない学習制御がなされることになる。さらに、この補正データの更新をしない学習制御実行時において、位置偏差の評価値が１度でも設定上限値を超える場合があると、次の学習制御時には、位置偏差を入力して補正データの更新処理を行う学習制御がなされるものである。
【００４３】
図７は、学習制御を行うプロセッサ（サーボ制御装置の処理を実行するプロセッサ又は学習制御手段専用のプロセッサ）が位置偏差の取り込むサンプリング周期毎（位置、速度ループ処理周期毎）に行う、本発明の第３の実施形態における学習制御及び学習制御による位置偏差の零近傍への収束を知らせる処理のフローチャートである。  
この第３の実施形態は、学習制御により位置偏差が零近傍に収束したことを上位制御装置に知らせて作業者等に知らせるようにすると共に、この収束したときの補正データを記憶しておき、この補正データの利用を可能にするようにしたものである。
【００４４】
この第３の実施形態においても、学習制御開始指令が入力されたか否か、学習制御終了指令が入力されたか否か及び学習制御中を示すフラグが「１」かを処理周期こと判断する（ステップ３００〜３０２）。外部機器１２より学習制御開始指令が入力されると学習制御中を示すフラグを「１」に、学習制御の位置偏差の入力をオン、補正データの出力をオンとし（ステップ３０３）、監視開始フラグ、監視終了フラグ、偏差ＯＶフラグを「０」にセットし（ステップ３０４）、カウンタＮ，Ｍを「０」にクリアし（ステップ３０５）、ステップ３０１に移行する。
【００４５】
制御中フラグが「１」にセットされたことから、ステップ３０２からステップ３０９に移行するが、このステップ３０９からステップ３１９までの処理は、第１の実施形態のステップ１１２からステップ１２２の処理と同じであり、又第２の実施形態におけるステップ２１２からステップ２２２までの処理と同じであり、詳細な説明は省略する。
【００４６】
そして、この第３の実施形態では、学習制御開始指令が入力されてから学習制御終了指令が入力されるまでの間、ステップ３２０で学習制御を実行するが、その間、監視区間においては、位置偏差値の評価値が設定上限値以下か判断し（ステップ３１８）、上限値以下ならば、そのままステップ３２０の学習制御に移行し、設定上限値を超える場合には、偏差ＯＶフラグを「１」にセットして（ステップ３１９）、ステップ３２０に移行するものである。
【００４７】
上述した処理を処理周期毎実行し、学習制御終了指令が入力されると（ステップ３０１）、偏差ＯＶフラグが「１」か「０」か判別し（ステップ３０６）、「１」で位置偏差の評価値が１度でも上限値を超えていると、制御中フラグを「０」、学習制御の位置偏差の入力をオフ、補正データの出力をオフとする（ステップ３０８）。又、偏差ＯＶフラグが「０」で、学習制御の監視期間中、位置偏差の評価値が１度も上限値を超えていなければ、位置偏差は零近傍に収束していることを意味するので、学習収束の通知と補正データを上位制御装置に転送し（ステップ３０７）、ステップ３０８に移行する。
【００４８】
上位制御装置の数値制御装置１では、転送されてきた学習収束の通知により学習制御により位置偏差が零近傍に収束していることを表示装置等に表示して作業員に知らせると共に、送られて来た補正データを不揮発性メモリに格納する。
【００４９】
こうして格納された補正データは、動作運転を停止した後再度加工するときなどは、この記憶した補正データを上位制御装置の数値制御装置１よりサーボ制御装置の学習メモリ２２に送信、補正データを補正メモリに格納することによって、最初から位置偏差が零近傍に収束するように位置偏差を修正する学習制御を実行できるようにしたものである。
【００５０】
図８は、学習制御を行うプロセッサ（サーボ制御装置の処理を実行するプロセッサ又は学習制御手段専用のプロセッサ）が位置偏差の取り込むサンプリング周期毎（位置、速度ループ処理周期毎）に行う、本発明の第４の実施形態における学習制御及び最適補正データの選択、記憶処理のフローチャートである。  
この第４の実施形態においても、学習制御開始指令が入力されたか否か、学習制御終了指令が入力されたか否か及び学習制御中を示すフラグが「１」かを処理周期毎判断する（ステップ４００〜４０２）。学習制御開始指令が入力されると学習制御中を示すフラグを「１」に、学習制御の位置偏差の入力をオン、補正データの出力をオンとし（ステップ４０３）、監視開始フラグ、監視終了フラグを「０」にセットし（ステップ４０４）、学習メモリに補正データが格納されておらず最初の学習制御開始指令か判断する（ステップ４０５）。補正データが格納されていなければ、上位制御装置１の不揮発性メモリに設けられたき基準の評価値を記憶する記憶部に大きな値（記憶できる最大の値）を記憶し（ステップ４０６）、ステップ４０７に移行し、カウンタＮ，Ｍを「０」にクリアし（ステップ４０７）、ステップ４０１に移行する。又、補正データが学習メモリに格納されており初回ではないときは、すでに基準の評価値は記憶されているからステップ４０５からステップ４０７に移行する。
【００５１】
制御中フラグが「１」にセットされたことにより、ステップ４０２からステップ４１２に移行し、ステップ４１２〜ステップ４２０の処理を実行するが、このステップ４１２〜ステップ４２０の処理は、第１の実施形態におけるステップ１１２〜ステップ１２０の処理と同一であり、説明を省略する。ただし、この第４の実施形態では、位置偏差の評価値を算出するが（ステップ４２０）、この評価値が上限値以下か否かの判断処理は行うことなく、ステップ４２１の学習制御に移行する。この学習制御ではステップ４０３で入力オン、出力オンとセットされているから、位置偏差を入力し、補正データを出力する学習制御を行うことになる。以下、各周期毎にステップ４００〜４０２、ステップ４１２〜４２１の処理を実行し、補正データを更新しながら補正データを出力する学習制御を行う。
【００５２】
学習制御終了指令が入力されると（ステップ４０１）、ステップ４２０の処理で最終的に得られた今回の位置偏差の評価値と上位制御装置の数値制御装置１に記憶する基準の評価値と比較し（ステップ４０９）、今回の位置偏差の評価値の方が小さい場合には、今回の位置偏差の評価値、及びこのときの学習メモリ２２に記憶する今回の補正データを上位制御装置の数値制御装置１に転送し、数値制御装置１内の不揮発性メモリに記憶させる（ステップ４０９）。一方、今回の位置偏差の評価値が基準の評価値より大きい場合には、数値制御装置１の不揮発性メモリに記憶する基準の補正データを読み出して、補正データとして学習メモリ２２に格納する。このステップ４０９，４１０の処理によって、学習メモリ２２には、位置偏差の評価値が小さい方の補正データが格納され、基準の評価値としては、この学習メモリ２２に格納された補正データに対応する評価値が記憶されることになる。  
ステップ４０９，又はステップ４１０の処理をした後、制御中フラグを「０」にセットし、入力オフ、出力オフとして学習制御を停止しステップ４０２に移行する。
【００５３】
なお、基準の評価値、基準の補正データを上位制御装置の数値制御装置１に転送し記憶するようにしたのは、数値制御装置１や該サーボ制御装置への給電が停止したときにも、これらの基準の評価値、基準の補正データが消えずに残るように、数値制御装置１の不揮発性メモリに格納するようにしたものである。そのため、サーボ制御装置自体に不揮発性メモリを設けた場合には、この不揮発性メモリに基準の評価値、基準の補正データを格納して、数値制御装置１に転送する必要はない。
【００５４】
また、上述したように基準の評価値、基準の補正データが不揮発性メモリに記憶されているものであるから、１度この基準の評価値、基準の補正データを求め記憶しているものであれば、初回の学習制御と判断されステップ４０６で基準の評価値を入力する代わりに、不揮発性メモリに記憶する基準の補正データを学習メモリ２２に格納するようにしてもよい。複数の加工形状がある場合には、それぞれの加工形状に対応して基準の評価値、基準の補正データを不揮発性メモリに記憶しておき、いずれかの加工形状の学習制御による加工を行うときには、ステップ４０６で対応する加工形状の基準の評価値を選択するとともに、この対応する加工形状の基準の補正データを学習メモリ２２に格納するようにすればよい。
【００５５】
又、基準の評価値、基準の補正データが不揮発性メモリに格納せず、電源が投入される毎に図８に示す処理を行い、基準の評価値、基準の補正データを揮発性のメモリに格納し、最適の補正データにより学習制御を行うようにしてもよいものである。
【００５６】
上述した第４の実施形態では、学習制御終了毎に、基準の評価値、基準の補正データの更新を行うようにしたが（ステップ４０８，４０９，４１０）、学習制御終了時ではなく、動作プログラム終了時に、この基準の評価値、基準の補正データの更新を行うようにしてもよいものである。
また、上述した第２〜第３の実施形態においても、監視の開始と終了を図９に示すような外部機器１２からの信号で制御するようにしてもよいものである。
【図面の簡単な説明】
【００５７】
【図１】本発明の原理説明図である。
【図２】従来の学習制御（繰り返し制御）の説明図である。
【図３】本発明の各実施形態におけるサーボ制御装置の要部ブロックである。
【図４】同各実施形態における学習制御手段の詳細ブロック図である。
【図５】学習制御及び学習制御の評価を行う本発明の第１の実施形態における処理フローチャートである。
【図６】学習制御及び学習制御の補正データの更新と更新停止処理を判別して行う本発明の第２の実施形態における処理フローチャートである。
【図７】学習制御による位置偏差の零近傍への収束を知らせる本発明の第３の実施形態における処理フローチャートである。
【図８】学習制御及び最適補正データの選択、記憶を行う本発明の第４の実施形態における処理フローチャートである。
【図９】監視区間を外部信号で行う本発明の第５の実施形態における処理フローチャートである。
【符号の説明】
【００５８】
１  上位制御装置（数値制御装置）
２  学習制御手段
【図１】
2005327191.tif 000004
【図２】
2005327191.tif 000005
【図３】
2005327191.tif 000006
【図４】
2005327191.tif 000007
【図５】
2005327191.tif 000008
【図６】
2005327191.tif 000009
【図７】
2005327191.tif 000010
【図８】
2005327191.tif 000011
【図９】
2005327191.tif 000012