(57)【特許請求の範囲】
【請求項１】
プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように前記軸の移動速度を制御するＰＩＤ制御を行う数値制御装置において、
前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、
前記主軸負荷値があらかじめ設定された所定の閾値を超えた時に、前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドを演算する速度演算処理を開始する速度演算部と、
を備え、
前記速度演算部は、前記速度演算処理の開始時に、ＰＩＤ制御の積分項の初期値またはオフセットに対して直前のオーバライドを代入する、
ことを特徴とする数値制御装置。
【請求項２】
プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように前記軸の移動速度を制御するＰＩＤ制御を行う数値制御装置において、
前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、
前記主軸負荷値があらかじめ設定された所定の閾値を超えた時に、前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドを演算する速度演算処理を開始する速度演算部と、
を備え、
前記速度演算部は、前記速度演算処理の開始時に、ＰＩＤ制御の積分項の初期値またはオフセットに対して、ＰＩＤ制御により算出されるオーバライドが直前のオーバライドと同じになるような値を代入する、
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に主軸負荷により送り速度を制御する数値制御装置数値制御装置に関する。
【背景技術】
【０００２】
主軸の負荷が一定となるように送り速度を制御することにより、切削速度の向上や切削工具の長寿命化をする技術がある（例えば、特許文献１など）。送り速度の制御方法はさまざまなものが考えられるが、一般的に対象の値を一定値に保つための制御としてＰＩＤ制御が広く使われている。ＰＩＤ制御による出力は一般に以下に示す数１式で算出することができる。
【０００３】
【数１】
0006333797.tif 000002
【０００４】
主軸の負荷が一定になるように送り速度を制御する場合は、Ｏ（ｔ）をオーバライド（送り速度）とし、ｅL（ｔ）を目標主軸負荷と時刻ｔでの主軸負荷との差分とし、定数に適切な値を設定することで主軸負荷を目標へ近づけることができる。切削していない状態、つまり主軸の空転時には送り速度を上げても主軸負荷は変動しないため、切削中、つまり主軸負荷が一定値以上に達しているときのみＰＩＤ制御を行うのが望ましい。数１式ではＰＩＤ制御開始時の時刻をｔ0としている。
図７，８は、通常のＰＩＤ制御における工具によるワークへの切込み時の、切り込み量、オーバライド、および主軸負荷のそれぞれの変化を示す図である。なお、図７は切込み量が大きい場合を、図８は切込み量が小さい場合をそれぞれ示している。単純なＰＩＤ制御はオフセットが無く、制御開始時の数１式における右辺の積分項の値は０であるため、制御開始時は図７，８に示すようにオーバライドが一度低下してから目標値へと近づく。
【０００５】
図９，１０は、オフセットに定数値を設定した場合のＰＩＤ制御における工具によるワークへの切込み時の、切り込み量、オーバライド、および主軸負荷のそれぞれの変化を示す図である。なお、図９は切込み量が大きい場合を、図１０は切込み量が小さい場合をそれぞれ示している。オフセットが平衡状態に達したときのオーバライドと同じである場合、図９に示すように瞬時に平衡状態となる。しかし、切り込み量が変わり、オフセットと平衡状態のオーバライドが違う場合、図１０に示すようにオーバライドが一度低下してから平衡状態へ達する可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表平０９−５００３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記した従来技術には、積分器またはオフセットに初期値を代入せずに制御を行うと制御の切り替え時にオーバライドが不連続になるという課題がある。また、積分器またはオフセットに初期値を代入する場合においても、定数を代入するだけでは制御直前のオーバライドの変動や切り込み量の変動によりオーバライドが不連続になる可能性が生じるという課題がある。
【０００８】
そこで本発明の目的は、オーバライドが不連続とならないＰＩＤ制御を行う数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明では、制御の開始時に積分器またはオフセットの初期値を以下のいずれかの方法で設定する。
方法１）制御開始直前のオーバライドを積分器の初期値またはオフセットに代入する。
方法２）積分器の初期値またはオフセットにオーバライドが連続となるような値を代入する。
【００１０】
そして、本願の請求項１に係る発明は、プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように軸の移動速度を制御するＰＩＤ制御を行う数値制御装置において、前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、前記主軸負荷値があらかじめ設定された所定の閾値を超えた時に、前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドを演算する速度演算処理を開始する速度演算部と、を備え、前記速度演算部は、前記速度演算処理の開始時に、ＰＩＤ制御の積分項の初期値またはオフセットに対して直前のオーバライドを代入する、ことを特徴とする数値制御装置である。
【００１１】
本願の請求項２に係る発明は、プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように軸の移動速度を制御するＰＩＤ制御を行う数値制御装置において、前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、前記主軸負荷値があらかじめ設定された所定の閾値を超えた時に、前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドを演算する速度演算処理を開始する速度演算部と、を備え、前記速度演算部は、前記速度演算処理の開始時に、ＰＩＤ制御の積分項の初期値またはオフセットに対して、ＰＩＤ制御により算出されるオーバライドが直前のオーバライドと同じになるような値を代入する、ことを特徴とする数値制御装置である。
【発明の効果】
【００１２】
本発明により、オーバライドが不連続とならないため、サイクルタイムの短縮、機械の衝撃を軽減する効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における数値制御装置の概略ブロック図である。
【図２】第１実施例におけるＰＩＤ制御（切り込み量大）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図３】第１実施例におけるＰＩＤ制御（切り込み量小）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図４】第２実施例におけるＰＩＤ制御（切り込み量大）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図５】第２実施例におけるＰＩＤ制御（切り込み量小）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図６】図１の数値制御装置上で実行される処理のフローチャートである。
【図７】通常のＰＩＤ制御（切り込み量大）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図８】通常のＰＩＤ制御（切り込み量小）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図９】オフセットに値を代入した場合のＰＩＤ制御（切り込み量大）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【図１０】オフセットに値を代入した場合のＰＩＤ制御（切り込み量小）における切込み量、オーバライド、主軸負荷の変化を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明の一実施形態による数値制御装置の機能ブロック図を示している。本実施形態による数値制御装置１は、指令プログラム解析部１０、速度演算部１１、補間部１２、補間後加減速部１３、サーボモータ制御部１４、主軸負荷計測部１５を備える。
指令プログラム解析部１０は、図示しないメモリに記憶されるプログラム等から制御対象となる機械の動作を指令するブロックを逐次読み出して解析し、解析結果に基づいてサーボモータ２により駆動する軸の移動を指令する指令データを作成し、作成した該指令データを速度演算部１１へと出力する。
【００１５】
速度演算部１１は、主軸負荷計測部１５により測定されるスピンドルモータ３の主軸負荷に基づいて、該主軸負荷が一定となるように指令プログラム解析部１０から入力された指令データの送り速度に対するオーバライドを演算する。そして、演算されたオーバライドに基づいて速度が調整された指令データを補間部１２へと出力する。
【００１６】
補間部１２は、速度演算部１１から入力された速度調整後の指令データに基づいて、指令データによる指令経路上の補間周期毎の点として補間データを生成し、補間後加減速部１３へと出力する。
補間後加減速部１３は、補間部１２から入力された補間データに基づいて補間周期毎の各軸の速度を算出し、結果データをサーボモータ制御部１４へと出力する。
そして、サーボモータ制御部１４は、補間後加減速部１３の出力に基づいて制御対象となる機械の軸を駆動するサーボモータ２を制御する。
【００１７】
次に、速度演算部１１により実行される速度の演算を説明する。本発明では一般的なＰＩＤ制御に下記の拡張を行って使用する。また、本発明におけるＰＩＤ制御とは従来技術に関するものを除いて下記の拡張を含むものとする。
●拡張１）ｅL（ｔ）は制御対象の目標値と現在値の差分だけではなく、次の条件を満たす関数すべてを含むものとする。
制御対象の目標値をＬi、制御対象の現在値（時刻ｔ）をＬ(ｔ)としたとき
条件１）Ｌ（ｔ1）＝Ｌiのとき、ｅL（ｔ1）＝０
条件２）Ｌ（ｔ1）≦Ｌ(ｔ2)のとき、ｅL（ｔ1）≧ｅL（ｔ2）
●拡張２）各項のゲインは０を含むものとする。つまり、Ｐ制御やＰＩ制御等のＰ，Ｉ，Ｄの組み合わせ全てを含む。
●拡張３）積分項は、制御開始時（ｔ＝ｔ0）において初期値を必要に応じて任意に設定できるものとし、初期値が設定されている場合の積分項の演算については、初期値と、区間ｔ0〜ｔでの通常の積分演算の結果とを積算した値を該積分項の演算結果とする。また、そのような積分項を下端を省略した積分項で表記する。更に積分項の初期値を、上端をｔ0とし下端を省略した積分項で表記する。
●拡張４）制御の開始時にオフセットに任意の値を代入できるものとする。
【００１８】
上記した拡張により、本発明では以下に示す数２式をＰＩＤ制御の式として用いる。
【００１９】
【数２】
0006333797.tif 000003
【００２０】
以下では、速度演算部１１により実行される速度の演算の第１実施例を説明する。
第１実施例による速度演算部１１では、主軸負荷計測部１５により測定されるスピンドルモータ３の主軸負荷があらかじめ設定された所定の負荷値を超えた時に、上記した数２式を用いたＰＩＤ制御によるサーボモータ２のオーバライドの制御を開始する。第１実施例による速度演算部１１では、ＰＩＤ制御開始時（時刻ｔ＝ｔ0）に、数２式の積分項の初期値またはオフセットに対して直前のオーバライドを代入する。このようにすることでオーバライドの変動が小さくなり、ＰＩＤ制御開始時におけるオーバライドの急激な落ち込みを防止することができる。第１実施例による速度演算部１１におけるＰＩＤ制御開始時の処理手順は以下の通りである。
手順１−１）ＰＩＤ制御開始時（主軸負荷が制御有効負荷に達したとき）に直前のオーバライドを積分器またはオフセットに代入して制御を開始する。
手順１−２）ＰＩＤ制御開始直前のオーバライドをＯbとすると、Ｏbを積分器に代入する場合は以下に示す数３式、オフセットに代入する場合は以下に示す数４式を満たす。積分器に代入する場合はオフセットの初期値は０、オフセットに代入する場合は積分器の初期値は０とする。
【００２１】
【数３】
0006333797.tif 000004
【００２２】
【数４】
0006333797.tif 000005
【００２３】
図２，３は第１実施例の制御を行った場合における工具によるワークへの切込み時の、切り込み量、オーバライド、および主軸負荷のそれぞれの変化を示す図である。なお、図２は切込み量が大きい場合を、図３は切込み量が小さい場合をそれぞれ示している。
【００２４】
次に、速度演算部１１により実行される速度の演算の第２実施例を説明する。
第２実施例による速度演算部１１では、主軸負荷計測部１５により測定されるスピンドルモータ３の主軸負荷があらかじめ設定された所定の負荷値を超えた時に、上記した数２式を用いたＰＩＤ制御によるサーボモータ２のオーバライドの制御を開始する。第２実施例による速度演算部１１では、ＰＩＤ制御開始時（時刻ｔ＝ｔ0）に、数２式の積分項の初期値またはオフセットに出力されるオーバライドが直前のオーバライドと同じになるような値を代入する。これによりオーバライドの変動がなくなり、ＰＩＤ制御開始時におけるオーバライドの急激な落ち込みを防止することができる。第２実施例による速度演算部１１におけるＰＩＤ制御開始時の処理手順は以下の通りである。
手順２−１）ＰＩＤ制御開始時（主軸負荷が制御有効負荷に達したとき）にオーバライドが連続となる値を積分器またはオフセットに代入して制御を開始する。
手順２−２）出力値がＰＩＤ制御の式である数２式を変形することで、積分器に代入する場合は数５式、オフセットに代入する場合は数６式を満たす。積分器に代入する場合はオフセットの初期値は０、オフセットに代入する場合は積分器の初期値は０とする。
【００２５】
【数５】
0006333797.tif 000006
【００２６】
【数６】
0006333797.tif 000007
【００２７】
なお、これを数２式に適用することでＯ（ｔ0）＝Ｏbとなるが、これでは１周期分の積分がされなくなるため、１周期分の積分計算を行った後に出力の計算をするようにしてもよい。
図４，５は第２実施例の制御を行った場合における工具によるワークへの切込み時の、切り込み量、オーバライド、および主軸負荷のそれぞれの変化を示す図である。なお、図４は切込み量が大きい場合を、図５は切込み量が小さい場合をそれぞれ示している。
【００２８】
図６は、本実施形態による速度演算部１１上で実行される処理のフローチャートである。なお、加工の開始時にはフローチャート中で用いているＰＩＤ制御中フラグはオフに設定されている。
●［ステップＳＡ０１］速度演算部１１は、主軸負荷計測部１５により測定されるスピンドルモータ３の現在の主軸負荷Ｌｎが、あらかじめ設定されたＰＩＤ制御が有効となる主軸負荷値Ｌｍ以上であるか否かを判定する。主軸負荷値Ｌｍ以上である場合にはステップＳＡ０２へ進み、そうでない場合にはステップＳＡ０６へ進む。
●［ステップＳＡ０２］速度演算部１１は、ＰＩＤ制御中フラグを参照して、現在ＰＩＤ制御中であるか否かを判定する。ＰＩＤ制御中である場合にはステップＳＡ０５へ進み、ＰＩＤ制御中でない場合にはステップＳＡ０３へ進む。
【００２９】
●［ステップＳＡ０３］速度演算部１１は、上記した数２式の積分項の初期値またはオフセットへの代入処理を実行する。
●［ステップＳＡ０４］速度演算部１１は、ＰＩＤ制御中フラグをオンにセットしてＰＩＤ制御によるによるサーボモータ２のオーバライド演算の処理を開始する。
●［ステップＳＡ０５］速度演算部１１は、数２式を用いたＰＩＤ制御によるサーボモータ２のオーバライド演算の処理を実行する。
●［ステップＳＡ０６］速度演算部１１は、ＰＩＤ制御中フラグをオフにリセットし、ＰＩＤ制御によるサーボモータ２のオーバライド演算の処理を終了する。
【００３０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００３１】
１  数値制御装置
２  サーボモータ
３  スピンドルモータ
１０  指令プログラム解析部
１１  速度演算部
１２  補間部
１３  補間後加減速部
１４  サーボモータ制御部
１５  主軸負荷計測部
【図１】
0006333797.tif 000008
【図２】
0006333797.tif 000009
【図３】
0006333797.tif 000010
【図４】
0006333797.tif 000011
【図５】
0006333797.tif 000012
【図６】
0006333797.tif 000013
【図７】
0006333797.tif 000014
【図８】
0006333797.tif 000015
【図９】
0006333797.tif 000016
【図１０】
0006333797.tif 000017