(57)【特許請求の範囲】
【請求項１】
プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように前記軸の移動速度を制御するフィードバック制御を行う数値制御装置において、
前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、
前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドをフィードバック制御により演算する速度演算処理を開始する速度演算部と、
を備え、
前記速度演算部は、演算した前記オーバライドと異なるオーバライドを出力する際にフィードバック制御で用いられる式のフィードバック値と目標値との偏差の解消を目的とした特徴量を、出力されるオーバライドから逆算された値で更新する、
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にフィードバック制御における出力値の制御を行う数値制御装置に関する。
【背景技術】
【０００２】
主軸の負荷を一定になるように送り速度を制御することにより、切削速度の向上や切削工具の長寿命化を図る技術がある（例えば、特許文献１など）。このような制御方法においては、負荷を一定に制御するために、単位時間当たりの切削体積が小さいときは送り速度を上げることで切削体積を大きくし、切削体積が大きく主軸負荷が高いときは送り速度を下げることで切削体積を小さくする。単純にこの制御方法を工作機械に適用した場合、加工プログラムや加工対象の形状等によっては送り速度が際限なく上昇してしまう可能性がある。送り速度が上昇した状態で切削体積が急激に増加した場合、離散時間制御では送り速度を減少させる前に工具や加工対象が破損する可能性がある。
【０００３】
そのため、送り速度の変化をある程度制限する必要がある。しかし、フィードバック制御における出力値を単純にクランプし、出力値を最大値または最小値に上書きした場合、積分項またはそれに準ずる特徴量が意図せずに変化してしまう可能性がある。送り速度の制御方法は様々なものが考えられるが、一般的に対象の値を一定値に保つための制御としてＰＩＤ制御が広く使われている。本発明では、送り速度の制御方法としてＰＩＤ制御によるオーバライドの制御を例として一実施形態を解説する。
ＰＩＤ制御による出力は一般に数１式で算出することができる。
【０００４】
【数１】
0006514141.tif 000002
【０００５】
主軸の負荷が一定になるように送り速度を制御する場合は、出力値Ｏ（ｔ）を送り速度（オーバライド）とし、ｅL（ｔ）を目標主軸負荷と時刻ｔでの主軸負荷との差分とし、定数に適切な値を設定することで主軸負荷を目標へ近づけることができる。切削していない状態、つまり主軸の空転時には送り速度を上げても主軸負荷は変動しないため、切削中、つまり主軸負荷が一定値以上に達しているときのみ制御を行うのが望ましい。なお、数１式ではＰＩＤ制御開始時の時刻をｔ0としている。
【０００６】
図４は、本実施形態のＰＩＤ制御を用いたフィードバック制御のブロック線図の例を示している。上記した工具にかかる負荷などを一定に制御することを目的として、図４に示したフィードバック制御を数値制御を行う工作機械に適用する場合には、フィードバック制御の制御周期毎に、目標主軸負荷と実際の加工による主軸負荷のフィードバックＬ（ｔ）とに従って今回の制御周期の出力値Ｏ（ｔｎ）が算出されて制御が行われる。つまり、制御周期ごとに図４のブロック線図を１周することになる。ここで積分のブロックに着目すると、特別な操作をしない場合、時刻ｔｎにおいて積分のブロックが出力する値は数２式によって表される。
【０００７】
【数２】
0006514141.tif 000003
【０００８】
数２式にあるように、時刻ｔnに計算される積分ブロックが出力する値は時刻ｔn-1の積分ブロックの出力する値を用いており、時刻ｔn-1で積分ブロックが出力する値も同様に時刻ｔn-2で積分ブロックが出力する値を用いている。和や積を問わず、このように制御周期をまたいで値を受け継ぐ特徴量は主に制御対象（主軸負荷）の値と目標値の偏差を解消することを意図して用いられている。このような特徴量は目標値との偏差があれば１回計算するごとに値が変化してしまうため、偏差が解消されない状態が長く続くと大きく値が変化してしまう。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−０３２８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
定数に適当な数値を設定し、ＰＩＤ制御のシミュレーションを行ったものを図５に示す。図５は横軸を工具の送り量（距離）とし、縦軸をそれぞれ切込み量、送り速度、主軸負荷値、積分項の値とした場合のグラフを示している。図５に示されるように、ＰＩＤ制御の下では、工具のワークに対する切り込み量の変化に合わせて工具の送り速度が変化し、主軸負荷の送りの距離が進むと共に、つまり時間が経過すると共に目標とする主軸負荷へ近づいていることが分かる。しかし、切り込み量が急激に増加している（Ａ）において、主軸負荷が目標とする主軸負荷から大きく離れてしまっている。事前に切り込み量を推定する手法がなければ送り速度が高い状態で切り込み量の大きい領域へ入ってしまうため、この主軸負荷の乖離を防止するためには送り速度の最大値を設定する必要がある。そこで、図５と同様の条件で送り速度の上限値を設定し、単純に出力値をクランプしたものが図６となる。
【００１１】
図６は図５と同じスケールでグラフを表示している。図６に示すように、送り速度の上限値が設定されたことで、送り速度が上限値よりも大きくならないように抑制されていることが分かる。また、（Ｂ）では図５の（Ａ）に比べて主軸負荷が大きくなっていないことが分かる。しかし、（Ｂ）から（Ｃ）にかけて、送り速度が上限値となっており、主軸負荷が目標とする主軸負荷よりも高い状態で推移している。これは、速度の上限値を設定したことにより主軸負荷が減少し、目標とする主軸負荷と主軸負荷の偏差が大きくなり、それが原因で積分項の値が図５の場合と比べて大きくなり、（Ｂ）から（Ｃ）にかけて積分項が減少するのに時間がかかることにより、出力値である送り速度が減少するまでに時間を要してしまうためである。このように、単純に送り速度の上限値を設定し、出力をクランプすることは、送り速度が上限値へ張り付いてしまう現象を起こす原因となり、これにより工具やワークの破損、主軸モータや送り軸モータのオーバヒートを起こす要因となる。
【００１２】
このように、数値制御装置のフィードバック制御において、出力値を制限または制御する場合、積分かそれに類する制御周期を跨いだ和や積などで表される「フィードバック値と目標値との偏差の解消を目的とした特徴量」（数１式においては右辺第２項の積分項により算出される値）が、意図せず増加または減少してしまうという問題がある。また、当該特徴量の意図しない変化によって、工作機械、加工工具または加工対象に不具合を発生させてしまう可能性があるという問題がある。
【００１３】
そこで本発明の目的は、フィードバック制御をする際に遅延等を発生させることなく出力値を制御することが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【００１４】
本発明の数値制御装置では、フィードバック制御からの出力値を制限または制御する場合、フィードバック制御が望ましい出力値を出力するように、積分かそれに類する特徴量を逆算して更新することにより、上記問題を解決する。
【００１５】
そして、本願の請求項１に係る発明は、プログラム指令に基づいて主軸と該主軸を駆動する軸とを備えた機械を制御する際に前記主軸の主軸負荷値が一定となるように前記軸の移動速度を制御するフィードバック制御を行う数値制御装置において、前記プログラム指令を解析して前記軸の移動を指令する指令データを生成する指令プログラム解析部と、前記主軸負荷値が一定となるように前記指令データによる前記軸の送り速度に対するオーバライドをフィードバック制御により演算する速度演算処理を開始する速度演算部と、を備え、前記速度演算部は、演算した前記オーバライドと異なるオーバライドを出力する際にフィードバック制御で用いられる式のフィードバック値と目標値との偏差の解消を目的とした特徴量を、出力されるオーバライドから逆算された値で更新する、ことを特徴とする数値制御装置である。
【発明の効果】
【００１６】
本発明によれば、積分かそれに類する特徴量の意図しない増加または減少がなくなり、制御の追従性が上がる。それにより、工作機械、加工工具または加工対象の不具合や、モータのオーバヒート等を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態における数値制御装置の概略ブロック図である。
【図２】本発明の一実施形態における数値制御装置でのＰＩＤ制御における切込み量、オーバライド、主軸負荷値、積分項の値の変化を示す図である。
【図３】本発明の一実施形態における図１の数値制御装置１が備える速度演算部１１上で実行される処理のフローチャートである。
【図４】ＰＩＤ制御を用いたフィードバック制御のブロック線図の例である。
【図５】通常のＰＩＤ制御における切込み量、オーバライド、主軸負荷値、積分項の値の変化を示す図である。
【図６】出力をクランプしたＰＩＤ制御における切込み量、オーバライド、主軸負荷値、積分項の値の変化を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明の一実施形態による数値制御装置の機能ブロック図を示している。本実施形態による数値制御装置１は、指令プログラム解析部１０、速度演算部１１、補間部１２、補間後加減速部１３、サーボモータ制御部１４、主軸負荷計測部１５を備える。
指令プログラム解析部１０は、図示しないメモリに記憶されるプログラム等から制御対象となる機械の動作を指令するブロックを逐次読み出して解析し、解析結果に基づいてサーボモータ２により駆動する軸の移動を指令する指令データを作成し、作成した該指令データを速度演算部１１へと出力する。
【００１９】
速度演算部１１は、主軸負荷計測部１５により測定されるスピンドルモータ３の主軸負荷に基づいて、該主軸負荷が一定となるように指令プログラム解析部１０から入力された指令データの送り速度に対するオーバライドを演算する。そして、演算されたオーバライドに基づいて速度が調整された指令データを補間部１２へと出力する。
【００２０】
補間部１２は、速度演算部１１から入力された速度調整後の指令データに基づいて、指令データによる指令経路上の補間周期毎の点として補間データを生成し、補間後加減速部１３へと出力する。
補間後加減速部１３は、補間部１２から入力された補間データに基づいて補間周期毎の各軸の速度を算出し、結果データをサーボモータ制御部１４へと出力する。
そして、サーボモータ制御部１４は、補間後加減速部１３の出力に基づいて制御対象となる機械の軸を駆動するサーボモータ２を制御する。
なお、図１ではスピンドルモータ制御回路及びスピンドルモータ用アンプ等は省略してある。
【００２１】
次に、速度演算部１１により実行される速度の演算について説明する。本発明におけるＰＩＤ制御とは下記の拡張を含むものとする。
●拡張）積分項は、任意の時刻に任意の値を代入できるものとし、そのような積分項を下端を省略した不定積分で表記する。
【００２２】
上記した拡張により、本発明では以下に示す数３式をＰＩＤ制御の式として用いる。
【００２３】
【数３】
0006514141.tif 000004
【００２４】
本実施形態の数値制御装置１が備える速度演算部１１は、前述した出力値の上限値を設定したＰＩＤ制御において、数３式により算出された出力値Ｏ（ｔ）が上限値Ｏtを越えた時刻ｔに以下の数４式で算出される代替値Ｉを積分項へ代入する。以後、数３式により算出された出力値Ｏ（ｔ）が上限値Ｏtを越えている間は、数３式の積分項に各制御周期ごとに数４式に従って計算される代替値を代入してＯ（ｔ）に代わりＯtを出力する。数４式で算出される代替値Ｉは、出力されるオーバライドの値（上限値Ｏt）から逆算された値である。
【００２５】
【数４】
0006514141.tif 000005
【００２６】
図６と同様の条件で上記処理を適用した場合のシミュレーション結果を図２に示す。図２に示すように、本実施形態の数値制御装置１では図６と同様に出力がクランプされるが、ＰＩＤ制御の計算を行うとクランプ後の出力が出力されるような値を積分項に代入する処理を加えている。そのため、（Ｄ）において送り速度が上限値へ達しても図６のように積分項の値は増大せず、一定値となっている。また、（Ｅ）において切り込み量が増大した瞬間の主軸負荷は図６と同等となるが、その直後に送り速度が低下し、主軸負荷も減少している。このように、本実施形態の数値制御装置１では積分項の意図しない増加または減少を防ぐことで制御の応答性が上がっていることが分かる。
【００２７】
図３は、本実施形態による速度演算部１１上で制御周期毎に実行される処理のフローチャートである。なお、図３のフローチャート中において、Ｌ（ｔ）は現在の主軸負荷の値、Ｌｍは本発明で導入される制御方法が有効となる主軸負荷の値、Ｏ（ｔ）はＰＩＤ制御が算出した出力値、Ｏtは予め決められた出力値の上限値である。
●［ステップＳＡ０１］速度演算部１１は、主軸負荷計測部１５により測定されるスピンドルモータ３の現在の主軸負荷値Ｌ（ｔ）が、あらかじめ設定された本実施形態の制御方法が有効となる主軸負荷値Ｌｍ以上であるか否かを判定する。主軸負荷値Ｌｍ以上である場合にはステップＳＡ０２へと処理を移行し、そうでない場合にはステップＳＡ０６へと処理を移行する。
【００２８】
●［ステップＳＡ０２］速度演算部１１は、ＰＩＤ制御によるフィードバック制御により出力値Ｏ（ｔ）を演算する。
●［ステップＳＡ０３］速度演算部１１は、ステップＳＡ０２のＰＩＤ制御により算出された出力値Ｏ（ｔ）が予め決められた出力値の上限値であるＯt以下であるか否かを判定する。Ｏt以下である場合にはステップＳＡ０４へと処理を移行し、Ｏtを上回る場合にはステップＳＡ０５へと処理を移行する。
●［ステップＳＡ０４］速度演算部１１は、ステップＳＡ０２で算出したＯ（ｔ）を出力値とする。
●［ステップＳＡ０５］速度演算部１１は、積分項に数４式の代替値を代入しＯtを出力値とする。
●［ステップＳＡ０６］速度演算部１１は、通常のオーバライドを出力する。
●［ステップＳＡ０７］速度演算部１１は、算出された出力値に基づいて指令データを調整して補間部１２へと出力し、今回の制御周期における処理を終了する。
【００２９】
以上、本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態ではＰＩＤ制御を用いたフィードバック制御に本発明を適用した場合を説明しており、ＰＩＤ制御の場合には積分項がフィードバック制御における制御周期を跨いだ和や積などで表される「フィードバック値と目標値との偏差の解消を目的とした特徴量」に該当しているので、積分項に対して代替値を代入するものとして説明しているが、他の制御方法に適用する場合には「フィードバック値と目標値との偏差の解消を目的とした特徴量」に該当する部分に対して出力値から逆算される代替値を代入するように構成すればよい。
【符号の説明】
【００３０】
１  数値制御装置
２  サーボモータ
３  スピンドルモータ
１０  指令プログラム解析部
１１  速度演算部
１２  補間部
１３  補間後加減速部
１４  サーボモータ制御部
１５  主軸負荷計測部
【図１】
0006514141.tif 000006
【図２】
0006514141.tif 000007
【図３】
0006514141.tif 000008
【図４】
0006514141.tif 000009
【図５】
0006514141.tif 000010
【図６】
0006514141.tif 000011