(57)【要約】【課題】  学習制御による位置偏差が収束するまでの加工によるワークの無駄を無くし、補正データの記憶、及び実加工を自動的に行うことができるようにする。【解決手段】  学習制御開始指令により、工具とワークが干渉しない位置に移動させる(a10)。学習制御開始指令から学習制御終了指令までの学習制御区間、入力オン、出力オンとして(a18)、位置偏差を入力し補正データを作成すると共に補正データを出力するのに学習制御を行う。この空運転による学習制御を伴った学習制御区間の処理を、設定回数まで繰り返し実行する(a12〜a15)。自動的に、得られた補正データを数値制御装置内に記憶し(a13)、工具とワークが干渉する位置に移動させて(a14)、該補正データで位置偏差を補正して実加工を行う(a19)。ワークを無駄にすることがなく、自動的に補正データを記憶し、該補正データを用いて実加工を行うものであるから、サイクルタイムを短縮できる。【選択図】          図３
2006215732.tif 000002
【特許請求の範囲】
【請求項１】
同一動作パターンにおける位置偏差に基づく補正データを作成して記憶し、該補正データに基づいて同一動作パターン実行時の位置偏差を補正する学習制御機能を有する数値制御装置において、
プログラムで指令された位置から工具とワークが干渉しない位置にシフトし、指定回数または位置偏差が指定値以下になるまで、前記同一動作パターンの空運転を自動的に繰り返して該補正データを作成し、該補正データ作成後に、自動的に、該補正データを記憶すると共に前記シフトを戻して工具とワークが干渉する指令された位置に戻し、作成された前記補正データに基づいて位置偏差を補正して同一動作パターンを実行して加工することを特徴とする数値制御装置。
【請求項２】
１回のプログラム実行で補正データの作成、補正データの記憶、補正データに基づいて同一動作パターンの実行時の位置偏差を補正して加工を行うことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等を制御する数値制御装置に関し、特に、同一動作パターンを繰り返して加工を行うときに採用される学習制御機能を実行する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置で制御される工作機械等の加工機械において、同一動作パターンの指令が繰り返し指令されて加工等を行う場合、制御偏差を零近くまで収束させて加工精度を向上させる方法として学習制御が知られている。同一動作パターンが繰り返し指令され、１つ前の１動作パターン周期における各制御周期の位置偏差に基づいて求められる補正データをメモリに記憶しておき、当該動作パターン周期の各制御周期の位置偏差に、メモリに記憶する１つ前の１動作パターン周期における対応する制御周期の補正データを加算することによって、位置偏差を零に収束させようとするものである（例えば、特許文献１、特許文献２参照）。
【０００３】
又、同一部品を何個も加工し続ける場合や同一加工形状を間欠的に何度も加工するような場合に学習制御を適用できるように、加工プログラム中に学習制御開始指令、学習制御終了指令を設けておき、この学習制御開始指令から学習制御終了指令までの間、学習制御を適用し、この間の位置偏差に基づいて補正データを作成すると共に位置偏差を補正するようにした方式も開発されている（特許文献３参照）。
【０００４】
【特許文献１】特開平７−１０４８２３号公報
【特許文献２】特開平６−３０９０２１号公報
【特許文献３】特開２００４−２２７１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の学習制御においては、位置偏差を零に収束するような補正データが得られるまで、学習制御を繰り返し実行するものであり、位置偏差を零に収束するような補正データが得られた後は、この補正データで位置偏差を補正して加工を行うものである。そのため、加工形状によっては、数回の空運転（加工を実際に行わず、プログラム指令通り機械を実行させる運転）を繰り返し行って、補正データを作成することにより、目的の加工精度が得られる加工があるにも拘わらず、実加工しながら、補正データを作成することから、補正データが得られるまでの加工は、位置偏差が零近傍に収束しておらず、加工したワークは加工精度が悪く無駄な加工となるという問題がある。
【０００６】
又、位置偏差を零近くまで収束するような補正データは、記憶され、その後、同一動作パターンの加工時に使用されるものであるが、学習制御により位置偏差を零近くまで収束するような補正データを得た後、従来は手動操作により、補正データを記憶させるようにしていることから、この記憶の手動操作を忘れがちとなり、学習制御を再度行わねばならない場合が多々ある。  
さらに、学習制御を行い、位置偏差を零近くまで収束するような補正データが得られたことを確認して、この補正データを用いて位置偏差を補正して加工を行うように設定し、再度プログラムを実行して加工を行うという操作を必要とし、その分加工のサイクルタイムが長くなるという問題があった。
【０００７】
本発明の目的は、上述した従来技術の問題点を改善した学習制御機能を有する数値制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本願請求項１に係る発明は、同一動作パターンにおける位置偏差に基づく補正データを作成して記憶し、該補正データに基づいて同一動作パターン実行時の位置偏差を補正する学習制御機能を有する数値制御装置において、プログラムで指令された位置から工具とワークが干渉しない位置にシフトし、指定回数または位置偏差が指定値以下になるまで、前記同一動作パターンの空運転を自動的に繰り返して該補正データを作成し、該補正データ作成後に、自動的に、該補正データを記憶すると共に、前記シフトを戻して工具を、ワークを加工する位置に戻し、作成された前記補正データに基づいて位置偏差を補正して同一動作パターンを実行して加工することにより、ワークを無駄に消費せず、作成された補正データの記憶保管を確実にし、且つ加工のサイクルタイムをも短縮するものである。
【０００９】
請求項２に係る発明は、請求項１に係る発明の数値制御装置において、１回のプログラム実行で補正データの作成、補正データの記憶、補正データに基づいて同一動作パターンの実行時の位置偏差を補正して加工を行う数値制御装置とした。
【発明の効果】
【００１０】
同一動作パターンが実行される学習制御区間では、自動的に加工を伴わない空運転で複数回又は位置偏差が指定値以下になるまで、この同一動作パターンが繰り返し実行され、さらに、学習制御が実行されて補正データが作成され、且つ、自動的に記憶保管され、その後、自動的に、補正データにより位置偏差を補正しながら実加工がなされるから、ワークの無駄がなく、且つ作成された補正データの記憶保管のもれを無くし、且つ、自動的に実加工に移行するから、加工サイクルタイムを短縮することができるものである。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の一実施形態の数値制御装置が実施する学習制御を適用したサーボモータ制御の要部ブロック図である。数値制御装置１は加工プログラムに基づいて、被駆動体９を駆動制御するサーボモータ７のサーボ制御部に対して位置指令を出力し、サーボ制御部では、所定制御周期毎、位置指令に基づいて位置、速度及び電流のフィードバック制御を行いサーボモータ７を駆動し被駆動体９を駆動制御する。
【００１２】
すなわち、数値制御装置１から出力された位置指令から、被駆動体９の移動位置を検出する位置検出器１１よりフィードバックされる現在位置を減じて位置偏差を求め、位置制御部３で位置偏差に位置ループゲインを乗じて速度指令を求める。又、この速度指令からサーボモータ７に取り付けられ該サーボモータ７の速度を検出する速度検出器１０からフィードバックされる実速度を減じて速度偏差を求め、速度制御部４でＰＩ（比例積分）制御等の速度ループ制御を行い電流指令（トルク指令）を求める。さらに、電流指令から、電流増幅器６からフィードバックされてくる駆動電流を減じて電流偏差を求め電流制御部５で電流ループ制御を行い、電流増幅器６を介してサーボモータ７を駆動制御し、伝達機構８を介して被駆動体９を駆動する。
【００１３】
数値制御装置１は加工プログラムから学習制御開始指令が読み込まれると、学習制御を開始し、位置偏差に補正データを加算してこの補正した位置指令に基づいて位置制御部３で位置ループ制御を行うと共に、位置偏差に基づいて補正データを作成し記憶する。この学習制御処理を学習制御終了指令が読み込まれるまで実行する。
【００１４】
図２は、この学習制御手段２の詳細ブロック図である。この学習制御手段２は、帯域制限フィルタ２１、補正データを記憶する学習メモリ２２、制御対象の位相遅れ、ゲイン低下を補償する動特性補償要素２３を備えている。さらに、この学習制御を開始及び停止するためのスイッチ２４、２５を備えている。学習メモリ２２には、学習しようとする同一動作指令パターンにおける位置、速度ループ制御が行われる所定制御周期数に対応するメモリ数が設けられている。所定制御周期数は学習制御開始指令と共に設定されてもよいし、もし、所定制御周期数が設定されていなければ、１回目には充分な値を設定しておき、１回目の開始指令と終了指令の時間（所定制御周期のカウント数）により決定することもできる。また、上位制御装置の数値制御装置１との間で補正データを転送するときに、所定制御周期も同時に転送することもできる。例えば同一動作指令パターンの区間をＬとし、位置、速度ループ制御周期をＴとすれば、Ｌ／Ｔ個のメモリが学習メモリ２２に設けられている。
【００１５】
数値制御装置１から学習制御開始指令が出力されるとスイッチ２４、２５は閉じ、位置、速度ループ制御が行われる所定周期毎に位置偏差が学習制御手段２に取り込まれ、この位置偏差に学習メモリ２２に記憶する一番旧い補正データが加算され、帯域制限フィルタ２１の処理を行って、学習メモリ２２に補正データとして格納される。又、前述した学習メモリ２２から取り出された一番旧い補正データは動特性補償要素２３によって、制御対象の位相遅れ、ゲイン低下の補償を行いスイッチ２５を介して位置偏差に加算され位置制御部３に入力され、この補正データが加算補正された位置偏差に位置ループゲインが乗じられて速度指令が求められる。以下、同一指令パターンの指令が終了し学習制御終了指令が数値制御装置１から出力されスイッチ２４，２５がオフになるまで、この処理動作が実行され、学習メモリ２２には同一指令パターンの区間における各位置、速度制御処理周期毎の補正データが記憶されることになる。  
同一指令パターン区間においては、補正データが位置偏差に加算されることにより、位置偏差は零近くまで収束される。
【００１６】
以上のように、学習制御がなされることから、同一動作指令パターンの区間がＬで、位置、速度ループ制御周期がＴとして、Ｌ／Ｔ個の１〜ｎ個のメモリが学習メモリ２２として設けられたとすると、学習制御開始後の第１番目の制御周期での補正データが１番目の学習メモリに格納され、第２番目の制御周期での補正データが２番目の学習メモリに格納され……第ｎ番目の制御周期での補正データがｎ番目の学習メモリに格納される。同一動作指令パターンの次の学習制御区間になると、同様にして補正データがその制御周期に対応する学習メモリに格納されると共に、すでに記憶している補正データが読み出されて位置偏差に補正されることになる。即ち、学習制御開始後の第１番目の制御周期では、１番目の学習メモリに格納されている補正データが位置偏差に加算されることになり、第２番目の制御周期では２番目の学習メモリに格納されている補正データが読み出され位置偏差に加算され……第ｎ番目の制御周期ではｎ番目の学習メモリに格納された補正データが位置偏差に加算されることになる。
【００１７】
以上述べた、学習制御手段２の学習制御方法、及びモータ制御方法は、従来の学習制御によるモータ制御と同一であるが、本発明は、この学習制御による補正データの作成を加工せずに空運転で学習制御区間を繰り返し実行し、位置偏差が零に収束するような補正データが得られると、この補正データを記憶すると共に、この補正データを用いて位置偏差を補正しながら加工を実際に行うようにしたものであり、且つ、この動作を自動的に行うことによって、加工のサイクルタイムを短くできるようにしたものである。  
数値制御装置１の構成は従来と同一であり、相違する点は、図３〜図５に示すように、学習制御を管理するソフトウェアを設けた点であり、数値制御装置１のハードウェア構成は、従来と同様であることから省略する。
【００１８】
図３は、本発明の第１の実施形態での学習制御管理処理のフローチャートである。この実施形態は、学習制御の繰り返し回数によって位置偏差が零近くまで収束しているものと判断するようにしたものである。そのために、予め学習制御の繰り返し数が設定されているものである。  
数値制御装置１のプロセッサは、図３に示す処理を所定周期毎に行う。実行ポインタで示される加工プログラムの１ブロックを読み出すと共に実行ポインタを「１」更新する（ステップａ０，ａ１）。なお、初期設定で実行ポインタは、当初「０」に設定されている。そして、読み出したブロックに学習制御開始指令があるか（ステップａ２）、学習制御終了指令があるか（ステップａ３）、制御中フラグが「１」にセットされていないか（ステップａ４）判断する。学習制御開始指令、学習制御終了指令が指令されてなく、制御中フラグも「１」でなければ、読み出したブロックを実行し、移動指令であればモータ制御部の位置制御部３に、移動指令を出力する等の処理を行う（ステップａ５）。
以下、上述した処理を実行して行き、ステップａ２で読み出したブロックに学習制御開始指令があると判断されたときには、学習制御中を示す制御中フラグを「１」にセットし（ステップａ６）、学習制御開始指令が最初の指令か判断する（ステップａ７）。この判断は、学習制御手段２に補正データが格納されているか否かによって初回か否かを判断する。補正データが格納されていなければ、初回の指令であると判断し、作成完了フラグを「０」にセットし、学習制御開始指令から学習制御終了指令までの１動作パターンを繰り返すために用意された繰り返しカウンタを１にセットする（ステップａ８）。そして、ステップａ１０に移行し、更新停止フラグを「０」にセットすると共に、工具とワークが干渉しない位置に工具又はワークを設定所定方向、所定量シフトさせる。
【００１９】
次に、読み込んだブロックが学習制御終了指令であるか判断し、この場合、この学習制御終了指令ではないから、次に制御中フラグが「１」か判断する（ステップａ４）。この制御中フラグはステップａ６で、「１」にセットされているから、ステップａ１７に移行し、更新停止フラグが「１」か判断する。この更新停止フラグはステップａ１０で、「０」にセットされているから、入力オン、出力オンの指令を学習制御手段２に出力し、図２におけるスイッチ２４，２５をオンとして、学習制御を開始する（ステップａ１８）。そしてステップａ５に移行し、読み出したブロックにその他の指令があればその指令を実行する。
【００２０】
次の周期からは、ステップａ０，ａ１，ａ２，ａ３，ａ４と進み、制御中フラグが「１」で更新停止フラグが「０」であるから、ステップａ４からステップａ１７，ａ１８、ａ５の処理を実行することになり、学習制御も実行するものとなる。ただし、ステップａ１０で工具とワークは干渉しない位置にシフトされているから、加工は行われず空運転が実行されることになる。
【００２１】
以下、この処理を各周期毎実行し、そのうち、学習制御終了指令が指令されたブロックが読み込まれると、ステップａ３からステップａ１１に移行し、作成完了フラグが「１」か判断する。この作成完了フラグは、初期設定で「０」にセットされているから、ステップａ１２に移行し、繰り返しカウンタの値が設定回数以上に達しているか判断し、達していなければ、実行ポインタを学習制御開始指令のブロックを示す値に戻すと共に、繰り返しカウンタに「１」加算し（ステップａ１５）、制御中フラグを「０」にセットし、入力オフ、出力オフを学習制御手段２に出力し学習制御を停止させ（ステップａ１６）、ステップａ４に移行する。ステップａ４では、制御中フラグが「０」であるから、読み出したブロックの指令を実行し（ステップａ５）、当該周期の処理を終了する。
【００２２】
次の周期では、実行ポインタが、学習制御開始指令を含むブロックを示しているから、このブロックが読み出されることになり、ステップａ１、ａ２からステップａ６に移行して制御中フラグを「１」にセットし、前述したように、初回の学習制御か判断し（ステップａ７）、この場合、初回ではないことから、次の作成完了フラグが「１」にセットされているか判断する（ステップａ９）。この作成完了フラグは初期設定で「０」にセットされていることから、ステップａ１０に移行し、前述したように更新停止フラグを「０」にセットし、工具とワークが干渉しない位置に移動させ、ステップａ３、ステップａ４の処理を行い、制御中フラグが「１」にセットされ、更新停止フラグは「０」にセットされているから、ステップａ１７、ａ１８、ａ５の処理を行い学習制御を実行することになる。
【００２３】
このように、学習制御が実行され、ステップａ３で、学習制御終了指令がされていることを判別すると、前述したように、ステップａ１１，ａ１２の処理を行う。そして、繰り返しカウンタの値が設定回数に達していなければ、ステップａ１５，ａ１６，ａ４，ａ５の処理を行うことになる。  
以下、繰り返しカウンタの値が設定回数に達するまで、学習制御終了指令が読み込まれる毎に、実行ポインタが、学習制御開始指令のブロックに戻されて、学習制御開始指令から学習制御終了指令までの区間（１動作パターン）、学習制御が繰り返し実行され、補正データが作成されることになる。
【００２４】
そして、ステップａ１２で繰り返しカウンタの値が設定回数に達したことが判別されると、更新停止フラグを「１」にセットし、学習制御手段の学習メモリ２２に記憶する補正データを読込み、数値制御装置１内のメモリに記憶させ保管する（ステップａ１３）。又、作成完了フラグを「１」にセットすると共に、工具とワークが干渉しない位置にシフトしていたものを戻し、工具とワークが干渉する当初のプログラムで指令された位置に移動させ、空運転を停止するようにする（ステップａ１４）。そして、実行ポインタを学習制御開始指令のブロックを指定する値に戻し、繰り返しカウンタに「１」加算し（ステップａ１５）、制御中フラグを「０」にセットして入力オフ、出力オフ指令を出力し学習制御を停止させ（ステップａ１６）、ステップａ４に移行する。
【００２５】
次の周期では、実行ポインタで示される学習制御開始指令を有するブロックが読み込まれるから、ステップａ２からステップａ６に移行し、制御中フラグを「１」にセットして、学習制御が初回か否か（学習メモリに補正データが記憶されているか否か）判断し（ステップａ７）、補正データは学習メモリに記憶され、最初ではないから、次に作成完了フラグが「１」にセットされているか判別する（ステップａ９）。作成完了フラグはステップａ１４で、「１」にセットされているから、ステップａ９からステップａ３に移行することになる。そして、ステップａ４で、制御中フラグが「１」にセットされていることが判別されるから、ステップａ１７に移行して更新停止フラグが「１」にセットされているか判別するが、更新停止フラグは、すでにステップａ１３で「１」にセットされているから、出力オンの指令を出力し、入力はオフのままとし（ステップａ１９）、ステップａ５に移行する。入力オフ、出力オンであるから、図２のスイッチ２４はオフ、スイッチ２５はオンとなり、補正データによる位置偏差の補正のみが行われ補正データの更新は行われない。
【００２６】
以下、学習制御終了指令が読み込まれるまで、ステップａ０〜ａ４、ステップａ１７、ａ１９，ａ５の処理を各周期毎実行することになる。そして、学習制御終了指令が読み込まれるとステップａ３からステップａ１１に移行して、作成完了フラグが「１」にセットされているから、ステップａ１１からステップａ１６に移行して、制御中フラグを「０」にセットして入力オフ、出力オフ指令を出力して、補正データによる位置偏差の補正も停止する。即ち、学習制御開始指令から学習制御終了指令までの学習制御区間は、出力がオンで学習制御手段２の学習メモリに記憶する補正データで、位置偏差を補正して、位置、速度、電流のループ処理がなされ、学習制御区間以外では（制御中フラグが「０」であるから）、位置偏差の補正は行われず加工が実施されることになる。
【００２７】
以上の通り、学習制御開始指令から学習制御終了指令までの区間を実際には加工を行わず、空運転で、設定回数だけ繰り返し実行し、学習制御を実行して補正データを作成し、補正データが得られると、自動的に学習制御開始指令位置まで戻り、実際に加工しながら、学習制御開始指令から学習制御終了指令までの学習制御区間を、学習制御により得られた補正データによる位置偏差を補正しながら加工を行い、学習制御区間外は、位置偏差の補正も行われず、通常の位置、速度、電流のループ処理がなされることになる。
【００２８】
このように、指令された学習制御区間は、自動的に空運転により学習制御による補正データを作成し、補正データが得られると、自動的に該補正データを記憶し、且つ、自動的にこの学習制御区間を得られた補正データで位置偏差を補正しながら加工を行うものであり、１回の加工プログラムの実行で、上述した処理が自動的に行われるものであるから、サイクルタイムを短縮することができるものである。
【００２９】
こうして、学習制御がなされて、補正データが作成され、数値制御装置１のメモリに記憶された後、再び同じ加工を行うときには、数値制御装置１は、補正データを読み出し、学習制御手段の学習メモリ２２に記憶させると共に、作成完了フラグ、更新停止フラグを「１」にセットする。そして、加工プログラムを実行させれば、数値制御装置１のプロセッサは、ステップａ２で、学習制御開始指令が読み出されると、制御中フラグを「１」にセットし（ステップａ６）、補正データが学習メモリに記憶されているから、初回ではないとしてステップａ７からステップａ９に移行し、作成完了フラグが「１」にセットされているから、ステップａ３に移行し、ステップａ４で、制御中フラグが「１」であると判断され、且つ、ステップａ１７で更新停止フラグが「１」であることが判断されることから、学習制御手段２の出力だけをオンとさせ、補正データによる位置偏差の補正が実行される。
【００３０】
以下、学習制御終了指令が読み込まれるまで、ステップａ０〜ａ４，ａ１７，ａ１９，ａ５の処理が実行されることになる。そして、学習制御終了指令が読み込まれると、ステップａ３からステップａ１１、ステップａ１６、ステップａ４、ステップａ５の処理を行い、学習制御で得られた補正データに位置偏差の補正も停止して加工を行うことになる。
【００３１】
上述した第１の実施形態は、学習制御により位置偏差を零近傍に収束させるような補正データが得られていると判断する方法として、学習制御区間の繰り返し回数を用いた。次に示す第２の実施形態では、この位置偏差を零近くまで収束させるような補正データが得られたか否かの判断を位置偏差の大きさによって判断するようにしたものである。
【００３２】
図４は、この第２の実施形態の学習制御管理処理のフローチャートである。  
図３と図４を比較し、図４におけるステップｂ０〜ステップｂ１９は図２におけるステップａ０〜ステップａ１９に対応し、相違する点は、ステップｂ６で、エラー範囲フラグを「０」にセットする処理が加わること、ステップｂ８において、繰り返しカウンタを「１」にセットとする処理がないこと、ステップｂ１５において、繰り返しカウンタの「１」加算処理がないこと、及び、ステップｂ１２において、繰り返しカウンタの値に変えて、エラー範囲フラグが「１」か否かによって、補正データの作成が完了したか否かを判別するようにした点であり、さらに、この第２の実施形態では、ステップｂ２０，ｂ２１が加わり、学習制御中、位置偏差が設定された上限、下限の範囲内にあるか否かによって、位置偏差を零近傍に収束させる補正データが得られたか否かを判別するようにし、位置偏差がこの設定範囲外であるとエラー範囲フラグを「１」にセットするようにしている点で第１の実施形態と相違するものである。
【００３３】
数値制御装置１のプロセッサは、加工プログラムを読み出し実行するが、読み出したブロックに学習制御開始指令があると、ステップｂ２からステップｂ６に移行し、ステップｂ６〜ステップｂ１０の処理を行うものであるが、この処理は第１の実施形態で述べたステップａ６〜ステップａ１０と同じ処理であることから説明は省略する。ただし、ステップｂ６でエラー範囲フラグを「０」にセットする処理が加わっていることと、ステップｂ８で、作成完了フラグを「０」にセットするのみで、繰り返しカウンタを「１」にセットする処理を実施しない点で相違する。
【００３４】
学習制御開始指令が読み込まれると、ステップｂ６で制御中フラグが「１」にセットされるから、学習制御終了指令が読み込まれるまで、ステップｂ０〜ｂ４の処理後、ステップｂ１７に移行し、更新停止フラグは、最初は「０」であることから、ステップｂ１８に移行して入力オン、出力オンとして学習制御手段２による学習制御を行う。そして、位置偏差を読み出し、外位置偏差が設定された上限と下限の範囲内か判別し（ステップｂ２０）、位置偏差がこの設定範囲内に収束してなければ、エラー範囲フラグを「１」にセットし（ステップｂ２１）、ステップｂ５に進む。又、範囲内であれば、エラー範囲フラグを「１」にセットすることなく、ステップｂ５に進む。
【００３５】
そして、学習制御終了指令が読み込まれると、ステップｂ３からステップｂ１１、ステップｂ１２に進み、エラー範囲フラグが「１」か否か判断する。該フラグが「１」であると、実行ポインタを学習制御開始指令のブロックの位置まで戻し（ステップｂ１５）、ステップｂ１６以下の処理を行う。その結果、次の周期では、学習制御開始指令のブロックが読み込まれるから、ステップｂ６〜ｂ１０の処理が行われ、学習制御終了指令が読み込まれるまで、ステップｂ４，ｂ１７，ｂ１８，ｂ２０の処理が行われ、位置偏差が設定範囲内に収束しない場合は、カラー範囲フラグが「１」にセットされる（ステップｂ２１）。
【００３６】
その結果、位置偏差が設定範囲内までに収束せず、エラー範囲フラグが「１」である間は、学習開始位置から学習終了位置までの学習区間を、工具とワークが干渉しない状態でプログラムを実行する空運転の処理が繰り返し実行され、かつ学習制御がなされ補正データの作成が行われる。そして、学習制御開始指令から、学習制御終了指令の間の学習区間で、位置偏差が１度も設定上限と下限の範囲から外れることなく、この範囲内に収束したときには、エラー範囲フラグは「１」にセットされることはないから、学習制御終了指令が読み込まれ、ステップｂ３からステップｂ１１，ｂ１２と移行し、該ステップｂ１２で、エラー範囲フラグが「０」であることが判別されるから、更新停止フラグを「１」にセットし、学習制御手段の学習メモリに記憶する補正データを数値制御装置１のメモリに格納し（ステップｂ１３）、作成完了フラグを「１」にセットし、工具とワークが干渉する位置まで移動させ、空運転を停止し実加工可能状態とし（ステップｂ１４）、実行ポインタを学習制御開始指令のブロックの位置に戻す（ステップｂ１５）。
【００３７】
よって、次の周期では、学習制御開始指令のブロックが読まれ、作成完了フラグ、更新停止フラグが「１」にセットされていることから、ステップｂ０〜ｂ２，ｂ６，ｂ７，ｂ９，ｂ３，ｂ４，ｂ１７，ｂ１９と移行し、該ステップｂ１９で、学習制御手段２に出力オンの指令を出力し、入力はオフとしたままであることから、学習制御手段２では、補正データを位置偏差に加算して補正する処理を実行しながら位置、速度、電流のループ処理を行い、ワークを実際に加工する。
【００３８】
この第２の実施形態においても、学習制御区間において位置偏差が設定上限、下限の範囲内に収束するまで、空運転で、学習制御区間を繰り返し学習制御を行いながら実行し補正データを更新し、位置偏差が設定範囲内に収束すると、そのときの補正データを数値制御装置１に記憶し、且つ、学習制御区間は、この補正データを使用して位置偏差を補正しながら、実加工を行うという動作を自動的に行うものである。
【００３９】
又、この第２の実施形態においても、再び同じ加工を行うときに、作成され数値制御装置に格納された補正データを使用するときには、数値制御装置１は、補正データを読み出し、学習制御手段２の学習メモリ２２に記憶させると共に、作成完了フラグ、更新停止フラグを「１」にセットする。そして、加工プログラムを実行させれば、数値制御装置１のプロセッサは、ステップｂ２で、学習制御開始指令が読み出されると、制御中フラグを「１」にセットしエラー範囲フラグを「０」にセットし（ステップｂ６）、補正データが学習メモリに記憶されているから、初回ではないとしてステップｂ７からステップｂ９に移行し、さらに、作成完了フラグが「１」にセットされているから、ステップｂ３に移行し、ステップｂ４で、制御中フラグが「１」であると判断され、且つ、ステップｂ１７で更新停止フラグが「１」であることが判断されることから、学習制御手段２の出力だけをオンとさせ（ステップｂ１９）、補正データによる位置偏差の補正が実行されるものである。
【００４０】
なお、上述した第２の実施形態ではステップｂ２０で、位置偏差が上限、下限の設定範囲内であるか否かの判断を行うようにしたが、位置偏差が設定された所定指定値以下か否かの判断に代えてもよい。そして、指定値を超える場合にエラー範囲フラグを「１」にセットするようにする。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態の数値制御装置が実施する学習制御を適用したサーボモータ制御の要部ブロック図である。
【図２】学習制御手段の詳細ブロック図である。
【図３】本発明の第１の実施形態の数値制御装置が実行する学習制御管理処理のフローチャートである。
【図４】本発明の第２の実施形態の数値制御装置が実行する学習制御管理処理のフローチャートである。
【符号の説明】
【００４２】
２１  帯域制限フィルタ
２３  動特性補償要素
【図１】
2006215732.tif 000003
【図２】
2006215732.tif 000004
【図３】
2006215732.tif 000005
【図４】
2006215732.tif 000006