(57)【要約】【課題】  学習制御実行区間に、動作パターンが変更されるような指令や信号入力がないかチェックできる数値制御装置を提供する。【解決手段】  数値制御装置は、加工プログラムを順次読み込み(Ｓ１)、学習制御開始指令が読み込まれ、学習制御終了指令が読み込まれるまでフラグＦを「１」にセットする(Ｓ２，Ｓ９，Ｓ３，Ｓ１０)。このフラグＦが「１」にセットされている学習制御区間において、動作パターンを変更するような学習中に不適切な指令や信号入力がないか判断する(Ｓ５，Ｓ６)。このような指令や信号入力があると、アラーム停止またはフィードホールド停止し、停止の原因を表示し、学習制御を無効にする(Ｓ１１〜Ｓ１３)。学習中に不適切な指令や信号入力があると、停止し原因が表示されるから、加工プログラムの修正作業が容易となる。これにより学習制御に起因する誤切削等を防止することができる。【選択図】          図３
2006215740.tif 000002
【特許請求の範囲】
【請求項１】
同一動作パターンにおける位置偏差に基づく補正データを作成して記憶し、該補正データに基づいて同一動作パターン実行時の位置偏差を補正する学習制御機能を有する数値制御装置において、
学習制御開始から終了までの間、動作パターンを変動させる不適切なプログラム指令や入力信号を監視する監視手段と、
前記監視手段により不正を検出した際にアラーム停止する停止手段と、
を有することを特徴とする数値制御装置。
【請求項２】
同一動作パターンにおける位置偏差に基づく補正データを作成して記憶し、該補正データに基づいて同一動作パターン実行時の位置偏差を補正する学習制御機能を有する数値制御装置において、
学習制御開始から終了までの間、動作パターンを変動させる不適切なプログラム指令や入力信号を監視する監視手段と、
前記監視手段により不正を検出した際に、出力信号を設定し学習制御を無効とし、かつ、フィードホールド停止する停止手段と、
を有することを特徴とした数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等を制御する数値制御装置に関し、特に、同一動作パターンを繰り返して加工を行うときに採用される学習制御機能を実行する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置で制御される工作機械等の加工機械において、同一パターンの指令が繰り返し指令されて加工等を行う場合、制御偏差を零近くまで収束させて加工精度を向上させる方法として学習制御が知られている。同一動作パターンが繰り返し指令され、１つ前の１動作パターン周期における各制御周期の位置偏差に基づいて求められる補正データをメモリに記憶しておき、当該動作パターン周期の各制御周期の位置偏差に、メモリに記憶する１つ前の１動作パターン周期における対応する制御周期の補正データを加算することによって、位置偏差を零に収束させようとするものである（例えば、特許文献１、特許文献２参照）。
【０００３】
又、同一部品を何個も加工し続ける場合や同一加工形状を間欠的に何度も加工するような場合に学習制御を適用できるように、加工プログラム中に学習制御開始指令、学習制御終了指令を設けておき、この学習制御開始指令から学習制御終了指令までの間、学習制御を適用し、この間の位置偏差に基づいて補正データを作成すると共に位置偏差を補正するようにした方式も開発されている（特許文献３参照）。
【０００４】
【特許文献１】特開平７−１０４８２３号公報
【特許文献２】特開平６−３０９０２１号公報
【特許文献３】特開２００４−２２７１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
学習制御においては、同一動作パターンの指令が繰り返し指令されることが前提であり、所定制御周期毎にこの同一動作パターンに基づく指令が出力されることから、１つ前の１動作パターン周期と当該動作パターン周期における各制御周期の指令は同一であり、補正データは１つ前の１動作パターン周期における位置偏差に基づいて求められたものである。この当該制御周期に対応する補正データを当該周期の位置偏差に加算することによって、最終的には、位置偏差を「０」に収束するように制御するものである。
【０００６】
そのため、同一動作パターンの動作を開始してから各制御周期毎の指令内容が前の動作パターンの実行時と同じ指令でなければならない。これが異なるようでは学習制御の意味がなくなり、位置偏差を収束させることはできない。  
学習制御開始指令から学習制御終了指令までの間に、動作パターンを変更させるような指令が含まれているような場合、学習制御を適用できなく、学習制御を適用するならば、このような指令を削除する必要がある。例えば、数値制御装置に設けられたシーケンス制御を実行するＰＭＣ（プログラマブル・マシン・コントローラ）と関係する補助機能指令、フィードホールド指令、送り速度オーバライド信号など、動作パターンが変更されるような指令や入力信号による操作が、この学習制御開始指令から学習制御終了指令までの間に含まれていた場合、学習制御を行うことによって、対応する補正データが位置偏差に加算されない場合が生じることから、かえって誤加工、誤動作を起こすことになる。
【０００７】
しかし、従来は、この学習制御区間は、上述したような動作パターンが変更されるような指令や信号の入力が行われないものとして、何らのチェックも行われていない。そのため、誤って作成された加工プログラムや、信号の入力により誤切削等を引き起こす原因となっていた。
【０００８】
そこで、本発明の目的は、上述した問題点を解決し、学習制御実行区間に、動作パターンが変更されるような指令や信号の入力が発生しないかチェックできる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
同一動作パターンにおける位置偏差に基づく補正データを作成して記憶し、該補正データに基づいて同一動作パターン実行時の位置偏差を補正する学習制御機能を有する数値制御装置において、本願請求項１に係る発明は、学習制御開始から終了までの間、動作パターンを変動させる不適切なプログラム指令や入力信号を監視する監視手段と、前記監視手段により不正を検出した際にアラーム停止する停止手段とを設けて学習制御中に学習中に不適切な指令や信号の入力がないかチェックを行うようにした。
【００１０】
また、請求項２に係る発明は、学習制御開始から終了までの間、動作パターンを変動させる不適切なプログラム指令や入力信号を監視する監視手段と、前記監視手段により不正を検出した際に、出力信号を設定し学習制御を無効とし、かつ、フィードホールド停止する停止手段とを設けて、学習制御中に学習中に不適切な指令や信号操作がないかチェックを行うようにした。
【発明の効果】
【００１１】
学習制御中に実行時間が変更され動作パターンを変動するような指令や信号の入力がないか、プログラムのチェックが自動的にできるから、プログラムの修正が容易となる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の一実施形態の数値制御装置が実施する学習制御を適用したサーボモータ制御の要部ブロック図である。数値制御装置１は加工プログラムに基づいて、被駆動体９を駆動制御するサーボモータ７のサーボ制御部に対して位置指令を出力し、サーボ制御部では、所定制御周期毎、位置指令に基づいて位置、速度及び電流のフィードバック制御を行いサーボモータ７を駆動制御する。
【００１３】
すなわち、数値制御装置１から出力された位置指令から、被駆動体９の移動位置を検出する位置検出器１１よりフィードバックされる現在位置を減じて位置偏差を求め、位置制御部３で位置偏差に位置ループゲインを乗じて速度指令を求める。又、この速度指令からサーボモータ７に取り付けられ該サーボモータ７の速度を検出する速度検出器１０からフィードバックされる実速度を減じて速度偏差を求め、速度制御部４でＰＩ（比例積分）制御等の速度ループ制御を行い電流指令（トルク指令）を求める。さらに、電流指令から、電流増幅器６からフィードバックされてくる駆動電流を減じて電流偏差を求め電流制御部５で電流ループ制御を行い、電流増幅器６を介してサーボモータ７を駆動制御し、伝達機構８を介して被駆動体９を駆動する。
【００１４】
数値制御装置１は加工プログラムから学習制御開始指令が読み込まれると、学習制御を開始し、位置偏差に補正データを加算してこの補正した位置指令に基づいて位置制御部３で位置ループ制御を行うと共に、位置偏差に基づいて補正データ作成し記憶する。この学習制御処理を学習制御終了指令が読み込まれるまで実行する。
【００１５】
図２は、この学習制御手段２の詳細ブロック図である。この学習制御手段２は、帯域制限フィルタ２１、補正データを記憶する学習メモリ２２、制御対象の位相遅れ、ゲイン低下を補償する動特性補償要素２３を備えている。さらに、この学習制御を開始及び終了するためのスイッチ２４、２５を備えている。学習メモリ２２には、学習しようとする同一動作指令パターンにおける位置、速度ループ制御が行われる所定制御周期数に対応するメモリ数が設けられている。所定制御周期数は学習開始指令とともに設定されてもよいし、もし、所定制御周期数が設定されていなければ、１回目には充分な値を設定しておき、１回目の開始指令と終了指令の時間（所定制御周期のカウント数）により決定することもできる。また、上位制御装置の記憶装置との間で補正データを転送する時に、所定制御周期も同時に転送することもできる。例えば同一動作指令パターンの区間がＬとし、位置、速度ループ制御周期がＴとすれば、Ｌ／Ｔ個のメモリが学習メモリ２２に設けられている。
【００１６】
数値制御装置１から学習制御開始指令が出力されるとスイッチ２４、２５は閉じ、位置、速度ループ制御が行われる所定周期毎に位置偏差が学習制御手段２に取り込まれ、この位置偏差に学習メモリ２２に記憶する一番旧い補正データが加算され、帯域制限フィルタ２１の処理を行って、学習メモリ２２に補正データとして格納される。又、前述した学習メモリ２２から取り出された一番旧い補正データは動特性補償要素２３によって、制御対象の位相遅れ、ゲイン低下の補償を行いスイッチ２５を介して位置偏差に加算され位置制御部３に入力され、この補正データが加算補正された位置偏差に位置ループゲインが乗じられて速度指令が求められる。以下、同一指令パターンがの指令が終了し学習制御終了指令が数値制御装置１から出力されスイッチ２４，２５がオフになるまで、この処理動作が実行され、学習メモリ２２には同一指令パターンの区間における各位置、速度制御処理周期毎の補正データが記憶されることになる。  
同一指令パターン区間においては、補正データが位置偏差に加算されることにより、位置偏差は零になるように収束される。
【００１７】
以上のように、学習制御がなされることから、同一動作指令パターンの区間がＬで、位置、速度ループ制御周期がＴとして、Ｌ／Ｔ個の１〜ｎ個のメモリが学習メモリ２２として設けられたとすると、学習制御開始後の第１番目の制御周期での補正データが１番目の学習メモリに格納され、第２番目の制御周期での補正データが２番目の学習メモリに格納され……第ｎ番目の制御周期での補正データがｎ番目の学習メモリに格納される。同一動作指令パターンの次の学習制御区間になると、同様にして補正データがその制御周期に対応する学習メモリに格納されると共に、すでに記憶している補正データが読み出されて位置偏差に補正されることになる。即ち、学習制御開始後の第１番目の制御周期では、１番目の学習メモリに格納されている補正データが位置偏差に加算されることになり、第２番目の制御周期では２番目の学習メモリに格納されている補正データが読み出され位置偏差に加算され……第ｎ番目の制御周期ではｎ番目の学習メモリに格納された補正データが位置偏差に加算されることになる。
【００１８】
しかし、この学習制御区間中に、実行時間を変え動作パターンを変動させるような指令、例えば、ＰＭＣと関係する補助機能指令等が加工プログラムに含まれていたり、送り速度のオーバライド信号、フィードホールド停止信号、シングルブロック信号が入力したとすると、学習メモリに記憶されている補正データと、各週制御区間における制御周期との関係が崩れてしまい、指令に対する位置偏差に対応した補正データが加算されなくなり、動作パターンが変動し誤切削を生じることになる。
【００１９】
そこで、本発明は、学習制御区間にこのような動作パターンを変動させるような指令や信号の入力がないかチェックできるようにしたものである。
【００２０】
数値制御装置１の構成は従来と同一であり、相違する点は、図３に示すような学習制御区間信号や指令をチェックするソフトウェアを設けてこのソフトウェアを実行させて、加工プログラムをチェックするようにしたものである。なお、数値制御装置１のハードウェア構成は、従来と同様であることから省略する。
【００２１】
加工プログラムチェック指令が入力されると数値制御装置１のプロセッサは、図３に示す処理を開始し、加工プログラムの先頭より、指令ブロックを１ブロック読み込み（ステップＳ１）、該読み込んだブロックの指令が学習制御開始指令か（ステップＳ２）、学習制御終了指令か判断し（ステップＳ３）、これらの指令でなければ、学習制御中を示すフラグＦが「１」にセットされているか判断し（ステップＳ４）、セットされていなければ、ステップＳ７に移行して、読み出したブロック指令を実行する。そして、このブロックの指令がプログラム終了指令であるか判断し（ステップＳ８）、終了でなければ、ステップＳ１に戻る。
【００２２】
以下、加工プログラムの先頭より順次指令プログラムを読み出し、前述した処理を実行するが、学習制御開始指令が読み出されたとき、ステップＳ２からステップＳ９に移行して、フラグを「１」にセットしステップＳ５に移行する。ステップＳ５では、該読み出したブロックの指令が学習中において不適切な指令か、即ち、動作パターンを変動させるような指令か否か判断し、不適切な指令でなければ、学習中に不適切な信号が入力されていないか判断する（ステップＳ６）。即ち、前述したように、オーバライド信号、フィードホールド停止信号、シングルブロック信号等の動作パターンを変更するような信号が入力されていないか判断し、不適切な信号も入力されていなければ、この読み出したブロックの指令を実行し（ステップＳ７）、プログラム終了でなければ（ステップＳ８）、ステップＳ１に戻る。
【００２３】
そして、フラグＦが「１」にセットされた後は、ステップＳ４からステップＳ５に移行して、学習中において不適切な指令がなされてないか、不適切な信号が入力されていないかを判断し、不適切な指令や不適切な信号がなければ、読み出したブロックの指令を実行し、プログラム終了でなければステップＳ１に戻る。以下、学習制御終了指令が読み出されるまで、ステップＳ１〜ステップＳ８の処理を繰り返し実行することになる。
【００２４】
学習制御終了指令が読み出されるとステップＳ３からステップＳ１０に移行して、フラグＦを「０」にセットし、ステップＳ７に移行する。  
フラグＦが「０」にセットされたことから、以後は、ステップＳ１〜ステップＳ４、ステップＳ７，８の処理を実行することになる。そして、再度学習制御開始指令が読み出されると、前述したようにフラグＦが「１」にセットされて、学習中において不適切な指令や、不適切な信号が入力していないかを判断する処理がなされることになる。又、プログラム終了の指令が読み込まれると（ステップＳ８）、このプログラムチェック処理は終了する。
【００２５】
一方、学習制御区間中において、ステップＳ５，Ｓ６で、学習中において不適切な指令や、不適切な信号入力があると、判断されたときには、ステップＳ１１に移行して、予めアラーム停止モードに設定されているか否か判断し、アラーム停止モードに設定されていれば、アラーム停止を出力して動作を停止すると共に、このアラーム停止した原因である学習中において不適切な指令や、不適切な入力信号があることを数値制御装置１に設けられた表示装置の表示画面に表示させる。又、学習制御を無効にし、学習制御手段２の学習メモリ２２に記憶する補正データを全てクリアし、フラグＦを「０」にセットし（ステップＳ１２）、このプログラムチェック処理を終了する。
【００２６】
又、アラーム停止モードに設定されていなければ、ステップＳ１１よりステップＳ１３に移行し、フィードホールド停止を行い、停止した原因である学習中において不適切な指令や、不適切な入力信号があることを数値制御装置１の表示装置の表示画面に表示させ、学習制御を無効にし、学習制御手段２の学習メモリ２２に記憶する補正データを全てクリアし、フラグＦを「０」にセットする。そして、ブロック再実行指令が入力されるまで待つ（ステップＳ１４）。ブロック再実行指令が入力されると、ステップＳ１に戻り加工プログラムのチェック処理を続行する。
【００２７】
以上のように、加工プログラムをチェックし、指令された学習制御区間で学習中において動作パターンが変化するようなを不適切な指令や、不適切な信号入力があると、チェック動作を停止し、不適切な指令や、不適切な信号入力があることを表示し、学習制御をも無効にして、学習制御の補正データを全てクリアするようにしたから、加工プログラムの修正が容易となり、学習制御による誤切削の原因をいち早く排除することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態の数値制御装置が実施する学習制御を適用したサーボモータ制御の要部ブロック図である。
【図２】学習制御手段の詳細ブロック図である。
【図３】本発明の一実施形態の数値制御装置が実行するプログラムチェック処理のフローチャートである。
【符号の説明】
【００２９】
２１  帯域制限フィルタ
２３  動特性補償要素
【図１】
2006215740.tif 000003
【図２】
2006215740.tif 000004
【図３】
2006215740.tif 000005