(57)【特許請求の範囲】
【請求項１】
第１外部入力装置から入力される第１入力指令に基づいて、通常の制御周期よりも短い周期で動作する第１制御軸を制御する数値制御装置において、
前記第１制御軸の軸移動量を指令する移動指令データを蓄積する第１バッファと、
前記通常の制御周期毎に制御プログラムに基づいて前記移動指令データを算出し、前記移動指令データを前記第１バッファに書き込む移動指令データ算出処理手段と、
前記第１制御軸と同じ周期で動作し、前記第１入力指令を受けると前記第１バッファから移動指令データを取得し、前記第１制御軸を制御するサーボ制御部に転送する入力検出処理部と、を備え、
前記移動指令データ算出処理手段は、前記移動指令データを算出する処理において前記通常の制御周期の間に前記第１制御軸が移動するべき軸移動量を指令する複数の前記移動指令データを算出して前記第１バッファに書き込む、
ことを特徴する数値制御装置。
【請求項２】
前記通常の制御周期よりも短い周期は、通常の制御周期の１／ｎ倍周期であり、
前記複数の移動指令データはｎ個の移動指令データである、
ことを特徴とする請求項１に記載された数値制御装置。
【請求項３】
前記数値制御装置は、第２外部入力装置から入力される第２入力指令に基づいて、前記通常の制御周期のｍ／ｎ倍周期で動作する第２制御軸を更に制御し、
前記第２制御軸の軸移動量を指令する移動指令データを蓄積する第２バッファを更に備え、
前記移動指令データ算出処理手段は、前記第２制御軸の制御に用いられる前記移動指令データを算出して前記第２バッファに書き込み、
前記入力検出処理部は、前記第２入力指令を受けるとｍ回の動作周期毎に前記第２バッファから移動指令データを取得し、前記第２制御軸を制御するサーボ制御部に転送する、
ことを特徴とする請求項２に記載された数値制御装置。
【請求項４】
第１外部入力装置から入力される第１入力指令に基づいて、通常の制御周期よりも短い周期で動作する第１制御軸を制御するサーボ機構と、前記サーボ機構に前記第１制御軸の軸移動量を指令する移動指令データを出力する数値制御装置とを備える制御システムにおいて、
前記数値制御装置は、
前記移動指令データを蓄積する第１バッファと、
前記通常の制御周期毎に制御プログラムに基づいて前記移動指令データを算出し、前記移動指令データを前記第１バッファに書き込む移動指令データ算出処理手段と、を備え、
前記サーボ機構は、
前記第１制御軸と同じ周期で動作し、前記第１入力指令を受けると前記第１バッファから移動指令データを取得し、前記第１制御軸を制御するサーボ制御部に転送する入力検出処理部と、を備え、
前記移動指令データ算出処理手段は、前記移動指令データを算出する処理において前記通常の制御周期の間に前記第１制御軸が移動するべき軸移動量を指令する複数の前記移動指令データを算出して前記第１バッファに書き込む、
ことを特徴する制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に数値制御装置全体の制御周期を速くすることなく、無駄な待ち時間を発生させずに高速応答制御軸を制御する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置では、外部入力装置（信号生成装置や通信機器など）からの入力指令に応答して、対象となる制御軸を制御する応答制御を行うことができる。例えば、パンチプレス加工を行う機械では、パンチ工具による穴あけ加工後、パンチ工具がワークから離れたことを検出したら検出信号を数値制御装置に入力し、数値制御装置ではこの入力信号に応答してテーブル軸（Ｘ，Ｙ軸）を応答制御し、次のパンチ点へワークを移動させている。
【０００３】
このような装置においては、応答制御の制御周期を速くして入力指令に対してできるだけ素早く応答させる高速応答ができれば効率よく加工できるようになる。しかしながら、従来の数値制御装置では、応答制御の制御周期は制御装置ごとに固定され、全制御軸で同じ周期になっているため、ある高速応答が必要な軸である高速応答制御軸に対する応答制御の制御周期だけを速くすることはできない。また、数値制御装置全体の制御周期を速くすることで応答制御の制御周期を速くすることは可能だが、数値制御装置全体の制御周期を速くするためには、短い制御周期の中で制御処理を全て完了させることが可能な高速なＣＰＵの導入などが必要となり簡単には行うことができない。
【０００４】
一方、高速応答制御軸への補間指令の出力技術に関連して、図９に示すように、通常の制御周期において通常の１／ｎ倍周期の制御軸への指令をｎ個算出してまとめて出力する方法が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２９９７２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の数値制御装置では、高速応答制御軸に対して、外部入力装置から高速なタイミングで指令が入力されても次の制御周期まで指令を読み取れないので、指令が入力されてから制御軸が応答するまでに無駄な待ち時間が発生するという問題があった。
【０００７】
例えば、特許文献１に記載の数値制御装置では、外部入力装置からの入力指令に応答し軸を制御する応答制御の制御周期は、制御装置ごとに固定になっている。そのため、高速な外部入力装置からの入力指令に高速応答する必要がある軸（高速応答制御軸）であっても、通常の制御周期で応答制御が行われている。
【０００８】
図１０は、特許文献１に記載の数値制御装置において、１／４倍周期の高速応答制御軸に対して指令を出力する際の外部入力装置と、数値制御装置、サーボ制御の周期動作を示すタイミングチャートである。図１０に示すように、特許文献１に記載の数値制御装置では、サーボ制御の周期に合わせて高速なタイミングで指令を入力しても、入力検出処理、移動指令算出処理は通常の周期で実行されているため、数値制御装置内の制御周期における次の制御周期の開始時まで検出および移動指令の算出が待たされてしまい、結果として高速応答することができず無駄な待ち時間が発生する場合がある。
【０００９】
そこで本発明の目的は、数値制御装置全体の制御周期を速くすることなく、無駄な待ち時間を発生させずに高速応答制御軸を制御する数値制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本願の請求項１に係る発明は、第１外部入力装置から入力される第１入力指令に基づいて、通常の制御周期よりも短い周期で動作する第１制御軸を制御する数値制御装置において、前記第１制御軸の軸移動量を指令する移動指令データを蓄積する第１バッファと、前記通常の制御周期毎に制御プログラムに基づいて前記移動指令データを算出し、前記移動指令データを前記第１バッファに書き込む移動指令データ算出処理手段と、前記第１制御軸と同じ周期で動作し、前記第１入力指令を受けると前記第１バッファから移動指令データを取得し、前記第１制御軸を制御するサーボ制御部に転送する入力検出処理部と、を備え、前記移動指令データ算出処理手段は、前記移動指令データを算出する処理において前記通常の制御周期の間に前記第１制御軸が移動するべき軸移動量を指令する複数の前記移動指令データを算出して前記第１バッファに書き込む、ことを特徴する数値制御装置である。
【００１１】
本願の請求項２に係る発明は、前記通常の制御周期よりも短い周期は、通常の制御周期の１／ｎ倍周期であり、前記複数の移動指令データはｎ個の移動指令データである、ことを特徴とする請求項１に記載された数値制御装置である。
【００１２】
本願の請求項３に係る発明は、前記数値制御装置は、第２外部入力装置から入力される第２入力指令に基づいて、前記通常の制御周期のｍ／ｎ倍周期で動作する第２制御軸を更に制御し、前記第２制御軸の軸移動量を指令する移動指令データを蓄積する第２バッファを更に備え、前記移動指令データ算出処理手段は、前記第２制御軸の制御に用いられる前記移動指令データを算出して前記第２バッファに書き込み、前記入力検出処理部は、前記第２入力指令を受けるとｍ回の動作周期毎に前記第２バッファから移動指令データを取得し、前記第２制御軸を制御するサーボ制御部に転送する、ことを特徴とする請求項２に記載された数値制御装置である。
【００１３】
本願の請求項４に係る発明は、第１外部入力装置から入力される第１入力指令に基づいて、通常の制御周期よりも短い周期で動作する第１制御軸を制御するサーボ機構と、前記サーボ機構に前記第１制御軸の軸移動量を指令する移動指令データを出力する数値制御装置とを備える制御システムにおいて、前記数値制御装置は、前記移動指令データを蓄積する第１バッファと、前記通常の制御周期毎に制御プログラムに基づいて前記移動指令データを算出し、前記移動指令データを前記第１バッファに書き込む移動指令データ算出処理手段と、を備え、前記サーボ機構は、前記第１制御軸と同じ周期で動作し、前記第１入力指令を受けると前記第１バッファから移動指令データを取得し、前記第１制御軸を制御するサーボ制御部に転送する入力検出処理部と、を備え、前記移動指令データ算出処理手段は、前記移動指令データを算出する処理において前記通常の制御周期の間に前記第１制御軸が移動するべき軸移動量を指令する複数の前記移動指令データを算出して前記第１バッファに書き込む、ことを特徴する制御システムである。
【発明の効果】
【００１４】
本発明により、数値制御装置全体の制御周期を速くすることなく、入力検出処理のみの動作周期を速くすることにより、通常の制御周期よりも短い周期で制御される高速応答制御軸に対して無駄な待ち時間を発生させずに応答制御することが可能となる。
本発明の技術は、例えばパンチプレス加工を行う制御装置におけるプレス制御軸やテーブル制御軸の制御などのように、高速で動作する応答制御軸を備えた工作機械を制御する制御装置への適用に好適である。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態における数値制御装置の要部ブロック図である。
【図２】リングバッファの概要を説明する図である。
【図３】本発明の第１の実施形態における移動指令データ算出処理の概略フローチャートである。
【図４】本発明の第１の実施形態における入力検出処理の概略フローチャートである。
【図５】本発明の第１の実施形態における外部入力装置と、数値制御装置、サーボ制御の周期動作を示すタイミングチャートである。
【図６】本発明の第２の実施形態における数値制御装置の要部ブロック図である。
【図７】本発明の第２の実施形態における入力検出処理の概略フローチャートである。
【図８】本発明の他の実施形態における数値制御装置の要部ブロック図である。
【図９】従来技術における高速応答制御軸を制御する数値制御装置の要部ブロック図である。
【図１０】従来技術における外部入力装置と、数値制御装置、サーボ制御の周期動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
最初に本発明の基本的な技術概要を説明する。本発明では、数値制御装置にサイズｎ以上の任意の大きさのＦＩＦＯ型のバッファ（キュー）を制御軸毎に設け、また外部入力装置からの高速な入力指令を検出する通常の１／ｎ倍周期の入力検出手段を追加する（ｎは整数値）。ＦＩＦＯ型のバッファはリングバッファなどで実装するとよい。
【００１７】
本発明の数値制御装置では、高速応答制御軸の応答制御開始のための条件が整ったと判断したら、制御対象の高速応答制御軸用のｎ個の移動指令（補間）データを、例えば特許文献１等に記載の手法により算出し、バッファに書き込む。そして、入力検出処理では、外部入力装置からの入力指令が検出されたら、バッファから移動指令（補間）データを読み出し、入力検出処理の周期ごとに順次サーボ制御へ移動指令データを転送する。なお、高速応答制御軸の応答制御開始のための条件判断はなくても本発明が奏する効果には何ら影響はない。
【００１８】
このように、本発明では通常の制御周期の１／ｎ倍周期で実行される入力検出処理を数値制御装置の制御処理とは別に設けることで、数値制御装置全体の制御周期を高速化することなく高速応答制御軸の応答制御を高速化する。このように構成した場合、通常の制御周期よりも短い周期で動作させるのは比較的処理負荷の小さい入力検出処理だけであり、数値制御装置上で実行される通常の制御処理の制御周期は従前と変わらないため、高速なＣＰＵを導入せずとも実現することができる。
【００１９】
図１は、本発明の第１の実施形態における数値制御装置の要部ブロック図である。
本実施形態の数値制御装置は、通常制御周期で動作する移動指令データ算出処理部１１、１／ｎ倍周期で動作する入力検出処理部１２、及び移動指令データ算出処理部１１と入力検出処理部１２との間に設けられ、移動指令データ算出処理部１１が出力する移動指令データを仲介するバッファ１３を備えている。
【００２０】
移動指令データ算出処理部１１は、プログラム等に基づいて指令の解析、補間処理、加減速処理などを行って移動指令データを算出して出力する。移動指令データ算出処理部１１は通常の制御周期で動作しており、通常の制御周期の制御軸に対しては各周期毎の移動指令データを出力しているが、プログラムの実行状態や信号状態などのさまざまな条件により高速応答制御軸の応答制御開始のための条件が整ったと判断した際には、制御対象となる高速応答制御軸用のｎ周期分の移動指令データを、例えば特許文献１で開示されるような手法により算出してバッファ１３に書き込む。
【００２１】
入力検出処理部１２は、外部入力装置３０の入力指令部３１から入力された入力指令を検出し、入力指令が検出されるとバッファ１３に書き込まれている移動指令データを取得してサーボ２０のサーボ制御部２１へと転送する。入力検出処理部１２は通常の制御周期に対して１／ｎ倍周期で動作しており、１／ｎ倍周期で動作している外部入力装置３０の入力指令部３１から入力される入力指令を略遅延することなく検出することができ、また同様に１／ｎ倍周期で動作するサーボ２０のサーボ制御部２１に対して略遅延することなく移動指令データを転送することができる。
【００２２】
バッファ１３は、移動指令データ算出処理部１１が出力する移動指令データを仲介するバッファであり、ＦＩＦＯ型のバッファとして構成される。本実施形態ではバッファ１３はバッファサイズｎ以上のリングバッファとして実装する。
【００２３】
図２はリングバッファの構造を説明する図である。図２（ａ）に示すように、リングバッファは、ある一定の領域のメモリを確保しておき、確保した領域の末尾と先頭とが繋がった環状構造とみなした配列である。リングバッファに格納されるデータは、書き込みポインタと読み出しポインタとにより管理され、バッファに書き込み処理が実行されるときは書き込みポインタが指し示すメモリ位置にデータが書き込まれて書き込みポインタがインクリメントされ、バッファからの読み出し処理が実行されるときは読み出しポインタが指し示すメモリ位置からデータが読み出されて読み出しポインタがインクリメントされる。また、書き込みポインタおよび読み出しポインタは、該ポインタが指し示すメモリ位置がリングバッファとして確保されているメモリ領域の末尾を超えた場合には該ポインタの値を先頭のメモリ位置に戻す。このように制御することでＦＩＦＯ型のバッファが実現される。
【００２４】
リングバッファの読み出し／書き込み制御では、図２（ｂ）に示すように、書き込みポインタが読み出しポインタよりも１少ないメモリ位置を示している場合（または、書き込みポインタがリングバッファとして確保されているメモリ領域の末尾のメモリ位置を指し、読み出しポインタが先頭のメモリ位置を指している場合）には、バッファの状態がバッファフルと判断され、書き込み処理が禁止される。バッファフルの状態において、バッファからデータが読み出されて読み出しポインタがインクリメントされることによりバッファフル状態が解消される。
【００２５】
また、図２（ｃ）に示すように、書き込みポインタが読み出しポインタと同じメモリ位置を示している場合には、バッファの状態が空であると判断され、新たにリングバッファにデータが書き込まれるまでは読み出し処理ができなくなる。
【００２６】
図３は、本実施形態における数値制御装置１０が備える移動指令データ算出処理部１１が実行する移動指令データ算出処理の概略フローチャートである。本処理は、通常の制御周期毎に実行される。
●［ステップＳＡ０１］プログラムの実行状態や信号状態などのさまざまな条件により高速応答制御軸の応答制御開始のための条件が整ったか否かを判定する。条件が整った場合にはステップＳＡ０２へ進み、そうでない場合には本処理を終了する。
●［ステップＳＡ０２］バッファ１３の状態がバッファフルであるか否かを判定する。バッファフルである場合にはバッファ１３に空きができるまでバッファ１３の状態を監視し、そうでない場合にはステップＳＡ０３へ進む。
【００２７】
●［ステップＳＡ０３］制御用のプログラム等に基づいて、制御対象となる高速応答制御軸用（１／ｎ倍周期で動作）に出力するための移動指令データを算出する。
●［ステップＳＡ０４］ステップＳＡ０３で算出した移動指令データをバッファ１３へ書き込む。
●［ステップＳＡ０５］バッファ１３において書き込みポインタをインクリメントする。
●［ステップＳＡ０６］ｎ回ループしたか、即ちｎ回分の移動指令データを算出してバッファ１３に格納したかを判定する。ｎ回ループしていない場合にはステップＳＡ０２へ戻り、ｎ回ループした場合には本処理を終了する。
【００２８】
図４は、本実施形態における数値制御装置１０が備える入力検出処理部１２が実行する入力検出処理の概略フローチャートである。本処理は、本実施形態においては通常の制御周期の１／ｎ倍周期毎に実行される。
●［ステップＳＢ０１］プログラムの実行状態や信号状態などのさまざまな条件により高速応答制御軸の応答制御開始のための条件が整ったか否かを判定する。条件が整った場合にはステップＳＢ０２へ進み、そうでない場合には本処理を終了する。
●［ステップＳＢ０２］外部入力装置３０の入力指令部３１を介して高速な入力指令の入力が検出されたか否かを判定する。検出された場合にはステップＳＢ０３へ進み、検出されなかった場合には本処理を終了する。
【００２９】
●［ステップＳＢ０３］バッファ１３の状態が空であるか否かを判定する。バッファ１３が空である場合には本処理を終了し、そうでない場合にはステップＳＢ０４へ進む。
●［ステップＳＢ０４］バッファ１３から移動指令データを１つ読み出し、１／ｎ倍周期で動作しているサーボ２０のサーボ制御部２１へと転送する。
●［ステップＳＢ０５］バッファ１３において読み出しポインタをインクリメントする。
【００３０】
図５は、本実施形態の数値制御装置において、１／４倍周期の高速応答制御軸に対して指令を出力する際の外部入力装置と、数値制御装置、サーボ制御の周期動作を示すタイミングチャートである。図１０で説明した従来技術の場合におけるタイミングチャートと比較すると明らかなように、本発明の数値制御装置１０では、サーボ制御の周期に合わせて高速なタイミングで指令を入力した場合、数値制御装置内部の入力検出処理部１２もまた１／４倍周期で動作しているため、入力に対して略遅延することなく入力を検出してバッファ１３からサーボ制御部２１に対して移動指令データの転送が行われるため、通常の制御周期の１／４倍周期の高速応答制御軸に対して無駄な待ち時間を発生させずに制御することが可能となる。
【００３１】
ここまで、本発明の第１の実施形態として通常の制御周期の１／ｎ倍周期で動作する高速応答制御軸に対する制御について説明してきたが、本発明の技術を導入することにより、同時に通常の制御周期のｍ／ｎ倍周期で動作する制御軸に対応することも可能である（ｎ，ｍは整数値）。図６は、本発明の第２の実施形態における通常の制御周期のｍ／ｎ倍周期で動作する制御軸に対応した数値制御装置の要部ブロック図である。
【００３２】
本実施形態の数値制御装置は、第１の実施形態と同様に通常の制御周期で動作する移動指令データ算出処理部１１、通常の制御周期の１／ｎ倍周期で動作する入力検出処理部１２、及びバッファ１３を備えている。本実施の形態の数値制御装置では、通常の制御周期の１／ｎ倍周期で動作する入力検出処理部１２にｍ周期毎に移動指令データの転送を行わせることによりｍ／ｎ倍周期で動作する制御軸に対応する。
【００３３】
例えば、通常の制御周期が４ｍｓであり、１ｍｓ周期（ｎ＝４）の制御軸と１６ｍｓ周期（ｍ＝１６）の制御軸があった場合、１ｍｓ周期（１／４倍）の入力検出処理部１２において、１６周期ごとに処理を行うことで、１６ｍｓ周期の制御軸に対応する。
【００３４】
図７は、本実施形態における数値制御装置１０が備える入力検出処理部１２が実行する入力検出処理の概略フローチャートである。本処理は、本実施形態においては通常の制御周期の１／ｎ倍周期毎に実行される。なお、周期カウンタは数値制御装置１０の運転制御開始の際の初期化処理で０に設定される。
【００３５】
●［ステップＳＣ０１］周期カウンタを１増加する。
●［ステップＳＣ０２］ｍの倍数周期目の処理であるかを、例えば周期カウンタの値をｍで除算した余りの値により判定する。周期カウンタの値をｍで除算した余りが０である場合にはステップＳＣ０３へ進み、そうでない場合には本処理を終了する。
【００３６】
●［ステップＳＣ０３］プログラムの実行状態や信号状態などのさまざまな条件により通常の制御周期のｍ／ｎ倍周期で動作する制御軸の応答制御開始のための条件が整ったか否かを判定する。条件が整った場合にはステップＳＣ０４へ進み、そうでない場合には本処理を終了する。
●［ステップＳＣ０４］外部入力装置３０の入力指令部３１を介して通常の制御周期のｍ／ｎ倍周期の入力指令の入力が検出されたか否かを判定する。検出された場合にはステップＳＣ０５へ進み、検出されなかった場合には本処理を終了する。
【００３７】
●［ステップＳＣ０５］バッファ１３の状態が空であるか否かを判定する。バッファ１３が空である場合には本処理を終了し、そうでない場合にはステップＳＣ０６へ進む。
●［ステップＳＣ０６］バッファ１３から移動指令データを１つ読み出し、通常の制御周期のｍ／ｎ倍周期で動作しているサーボ２０のサーボ制御部２１へと転送する。
●［ステップＳＣ０７］バッファ１３において読み出しポインタをインクリメントする。
【００３８】
このように、本実施形態の数値制御装置１０では、通常の制御周期の１／ｎ倍周期の入力検出処理を利用することにより、通常の制御周期のｍ／ｎ倍周期で動作する制御軸の応答制御が可能となり、例えば、入力検出処理部１２において、通常の制御周期の１／ｎ倍周期毎に、図４のフローチャートに示す処理と図７のフローチャートに示す処理とを実行することにより、通常の制御周期の１／ｎ倍周期で動作する高速応答制御軸の制御と、通常の制御周期のｍ／ｎ倍周期で動作する制御軸の制御とを同時に行うようにすることもできる。
【００３９】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。
例えば、上述した実施の形態では、通常の制御周期の１／ｎ倍周期の入力検出処理部１２を数値制御装置に追加した例を示したが、図８に示すように通常の制御周期の１／ｎ倍周期の入力検出処理部２２をサーボ２０側に追加する構成としても良い。
【符号の説明】
【００４０】
１０    数値制御装置
１１    移動指令データ算出処理部
１２    入力検出処理部
１３    バッファ
２０    サーボ
２１    サーボ制御部
２２    入力検出処理部
３０    外部入力装置
３１    入力指令部
【図１】
0006046099.tif 000002
【図２】
0006046099.tif 000003
【図３】
0006046099.tif 000004
【図４】
0006046099.tif 000005
【図５】
0006046099.tif 000006
【図６】
0006046099.tif 000007
【図７】
0006046099.tif 000008
【図８】
0006046099.tif 000009
【図９】
0006046099.tif 000010
【図１０】
0006046099.tif 000011