(57)【要約】【課題】位置指令に対して高い追従性を実現できる数値制御装置及び当該装置を備えた工作機械を提供すること。【解決手段】数値制御装置４のＦＦ生成部３０の第一乗算部１４で、定数１を第一速度演算部１３で求めた速度に乗算して「値１」を求める。また、第二乗算部１７の「定数３＝０」とし、加速度演算部１５で求めた加速度は使用しない。さらに、第四乗算部２５の「定数５＝０」として、加加速度演算部２３で求めた加加速度を使用しない。次いで、１次ＬＰＦ１９の定数６及び１次ＬＰＦ２０の定数７を時定数とし、第二速度演算部１８で求めた速度から第二速度演算部１８で求た速度を１次ＬＰＦ１９及び１次ＬＰＦ２０で処理した値を減算して「値２」を求める。第三乗算部２２で「値２」に所定の定数８を乗算して「値３」を求める。「値１」と「値３」とを加算して、ＦＦ指令として、第一加算器１２が位置ループ乗算器１０の出力に加算する。【選択図】図１
2011113475.tif 000002
【特許請求の範囲】
【請求項１】
制御対象であるモータの位置を検出する位置検出手段と、
前記位置検出手段からフィードバックされた前記モータの位置と位置指令との位置偏差を求める第一減算手段と、前記位置偏差に位置比例ゲインを乗算する位置ループ乗算手段と、前記位置指令を微分して速度成分を求める第一速度演算手段と、前記第一速度演算手段の出力に所定の定数を乗算する第一乗算手段と、前記第一乗算手段の出力をフィードフォワード指令として前記位置ループ乗算手段の出力に加算してモータアンプに出力する数値制御装置において、
前記位置指令を２回微分して加速度指令を求める加速度演算手段と、
前記加速度演算手段の出力に所定の定数を乗算する第二乗算手段と、
前記位置指令を微分して速度指令を求める第二速度演算手段と、
前記第二速度演算手段の出力をフィルタ処理するローパスフィルタと、
前記ローパスフィルタの出力を前記第二速度演算手段の出力から減算する第二減算手段と、
前記第二減算手段の出力に所定の定数を乗算する第三乗算手段と、
前記第一乗算手段の出力に前記第二乗算手段の出力と、前記第三乗算手段の出力とを加算して前記フィードフォワード指令を演算する第一加算手段とを備えていることを特徴とする数値制御装置。
【請求項２】
前記加速度演算手段の出力を微分して加加速度成分を求める加加速度演算手段と、
前記加加速度演算手段の出力に所定の定数を乗算する第四乗算手段と
を備え、
前記第一加算手段は、前記第一乗算手段の出力と、前記第二乗算手段の出力と、前記第三乗算手段の出力と、前記第四乗算手段の出力とを加算してフィードフォワード指令を演算することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記ローパスフィルタは、複数段設けられていることを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
請求項１〜３の何れかに記載の数値制御装置を備えたことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御プログラムを実行して工作機械を制御する数値制御装置及び当該装置を備えた工作機械に関する。
【背景技術】
【０００２】
従来、工作機械では、数値制御プログラム（以下、「ＮＣプログラム」という。）を使用し、モータ制御により、テーブルや主軸等を移動回転させ、ワークを加工する。この場合に、工作機械は、ワークの加工時間（サイクルタイム）を短くすることが必要である。工作機械は、ＮＣプログラムにより運転する場合、加工や位置決め動作を連続して行う。工作機械は、前記動作を実行する場合、現在の動作の目標位置に到達して、次の動作を実行する場合が多い。従って、工作機械の各軸を動かすモータの制御は、位置指令（移動指令）に対して追従性が良ければ、次の動作が速く実行でき、結果としてサイクルタイムは短くなる。
【０００３】
追従性を良くする手段として、フィードフォワード（ＦＦ）指令のゲインを上げることを行うと、位置指令への追従性は改善される。しかし、フィードフォワード指令のゲインを１００％まで上げると、目標位置よりも行き過ぎるオーバーシュート等の問題が発生する。この解決手段として、特許文献１に記載の発明では、フィードフォワード指令をローパスフィルタに通すことにより、追従性を改善している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８９２８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の発明では、位置指令に対して追従性は有る程度良くなるものの、まだ十分な追従性を実現できていないという問題点があった。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、位置指令に対して高い追従性を実現できる数値制御装置及び当該装置を備えた工作機械を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第一の態様にかかる数値制御装置は、制御対象であるモータの位置を検出する位置検出手段と、前記位置検出手段からフィードバックされた前記モータの位置と位置指令との位置偏差を求める第一減算手段と、前記位置偏差に位置比例ゲインを乗算する位置ループ乗算手段と、前記位置指令を微分して速度成分を求める第一速度演算手段と、前記第一速度演算手段の出力に所定の定数を乗算する第一乗算手段と、前記第一乗算手段の出力をフィードフォワード指令として前記位置ループ乗算手段の出力に加算してモータアンプに出力する数値制御装置において、前記位置指令を２回微分して加速度指令を求める加速度演算手段と、前記加速度演算手段の出力に所定の定数を乗算する第二乗算手段と、前記位置指令を微分して速度指令を求める第二速度演算手段と、前記第二速度演算手段の出力をフィルタ処理するローパスフィルタと、前記ローパスフィルタの出力を前記第二速度演算手段の出力から減算する第二減算手段と、前記第二減算手段の出力に所定の定数を乗算する第三乗算手段と、前記第一乗算手段の出力に前記第二乗算手段の出力と、前記第三乗算手段の出力とを加算して前記フィードフォワード指令を演算する第一加算手段とを備えている。
【０００８】
第一の態様にかかる数値制御装置では、速度成分と加速度成分とをフィードフォワード指令に加算することにより、制御対象であるモータの位置偏差を改善して、ほぼ０に近づけることができる。従って、位置指令が終了すると同時に、終了条件を満たして、移動のサイクルタイムを短くすることができる。また、移動中は、位置偏差がほぼ０のため、位置指令どおりに移動経路を移動することができる。従って、経路誤差の改善もできる。
【０００９】
前記数値制御装置は、前記加速度演算手段の出力を微分して加加速度成分を求める加加速度演算手段と、前記加加速度演算手段の出力に所定の定数を乗算する第四乗算手段とを備え、前記第一加算手段は、前記第一乗算手段の出力と、前記第二乗算手段の出力と、前記第三乗算手段の出力と、前記第四乗算手段の出力とを加算してフィードフォワード指令を出力するようにしてもよい。
【００１０】
この場合には、速度成分及び加速度成分に加え、加加速度成分もフィードフォワード指令に加算することができ、制御対象であるモータの位置偏差を更に改善して、位置偏差を更に０に近づけることができる。
【００１１】
前記数値制御装置では、前記ローパスフィルタは、複数段設けられていてもよい。ローパスフィルタを複数段設けることにより、位置制御遅れの補償をさらに改善できる。
【００１２】
第二の態様にかかる工作機械は、上記の数値制御装置を備えていることを特徴とする。上記の数値制御装置を備えた工作機械は、制御対象である各軸のモータの位置偏差を改善して、位置偏差を０に近づけることができる。従って、位置指令が終了すると同時に、終了条件を満たして、加工のサイクルタイムを短くすることができる。また、移動中は、位置偏差がほぼ０のため、位置指令どおりに移動経路を移動することができる。従って、経路誤差の改善もできる。
【図面の簡単な説明】
【００１３】
【図１】第１実施の形態の数値制御装置４及び工作機械１の電気的構成を示すブロック図である。
【図２】従来の数値制御装置におけるフィードフォワード・ゲインを５０％とした場合の位置制御を測定した結果を示す図である。
【図３】図２の拡大図である。
【図４】位置指令から求めた速度に基づいたＦＦ指令による位置制御動作を測定した結果を示す図である。
【図５】位置指令から求めた速度と、当該速度を１次ＬＰＦに通した結果との加算値をＦＦ指令とした位置制御動作を測定した結果を示す図である。
【図６】位置指令から求めた速度と、当該速度を１次ＬＰＦに通した結果と、加速度との加算値をＦＦ指令とした位置制御動作を測定した結果を示す図である。
【図７】位置指令から求めた速度と、当該速度を１次ＬＰＦに通した結果と、加速度と、加加速度との加算値をＦＦ指令とした位置制御動作を測定した結果を示す図である。
【図８】第２実施の形態の数値制御装置４及び工作機械１の電気的構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る数値制御装置が使用される工作機械及び数値制御装置の第１実施の形態を図面を参照して説明する。なおこれらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている数値制御装置や工作機械の構成などは、それのみに限定する趣旨ではなく、単なる説明例である。
【００１５】
図１に示すように、工作機械１には、モータ２及びエンコーダ３が設けられている。工作機械１には、図示外の主軸モータ、X軸モータ、Ｙ軸モータ、Ｚ軸モータが設けられているが、モータ２は、X軸モータ、Ｙ軸モータ、Ｚ軸モータの一つを代表するものとし、他のモータにも同様の制御がなされるものとする。モータ２には、制御対象であるモータ２の出力軸の位置を検出するエンコーダ３が設けられている。
【００１６】
工作機械１には、工作機械１のモータ２（主軸モータ、X軸モータ、Ｙ軸モータ、Ｚ軸モータ）を制御する数値制御装置４が接続している。数値制御装置４は、位置制御部５と工作機械１のモータ２を制御するモータアンプ部６とから構成されている。位置制御部５には、フィードフォワード（以下、「ＦＦ」と言う。）指令を生成するＦＦ生成部３０が設けられている。
【００１７】
数値制御装置４は、位置指令入力部１１から入力される位置指令とエンコーダ３からフィードバックされるモータ２の出力軸の位置とが一致するように、ＦＦ生成部３０でＦＦ指令を出力して位置制御を行うように構成されている。モータアンプ部６は、モータ２の速度制御を行う速度制御部７と、モータ２のトルク制御を行うトルク制御部８とから構成される。
【００１８】
位置制御部５のＦＦ生成部３０は、位置指令を入力する位置指令入力部１１と、前記位置指令入力部１１から入力された位置指令を微分して速度成分を演算する第一速度演算部１３と、当該第一速度演算部１３の出力に所定の定数１を乗算する第一乗算部１４とを備えている。この定数１は、工作機械１の位置偏差が０に近づくように予め工作機械１毎に測定して定められた値である。
【００１９】
また、位置制御部５は、前記位置指令入力部１１から入力された位置指令を２回微分して加速度成分を演算する加速度演算部１５と、当該加速度演算部１５の出力を平均化する移動平均フィルタ１６と、移動平均フィルタ１６の出力に所定の定数３を乗算する第二乗算部１７とを備えている。移動平均フィルタ１６の定数２は、工作機械１の位置偏差が０に近づくように予め定めた時定数である。また、定数３は、工作機械１の位置偏差が０に近づくように予め工作機械１毎に測定して定められた値である。
【００２０】
また、ＦＦ生成部３０は、前記位置指令入力部１１から入力された位置指令を微分して速度成分を演算する第二速度演算部１８と、位置制御遅れを補償するための１次ローパスフィルタ（以下、「１次ＬＰＦ」という。）１９及び１次ローパスフィルタ（以下、「１次ＬＰＦ」という。）２０と、第二速度演算部１８で演算された速度から１次ＬＰＦ２０の出力を減算する第二減算器２１と、第二減算器２１の出力に所定の定数８を乗算する第三乗算部２２とを備えている。１次ＬＰＦ１９，２０の定数６及び定数７は、工作機械１の位置偏差が０に近づくように予め定めた時定数である。また、定数８は、工作機械１の位置偏差が０に近づくように予め工作機械１毎に測定して定められた値である。
【００２１】
また、位置制御部５は、移動平均フィルタ１６の出力を微分して、加加速度を演算する加加速度演算部２３と、加加速度演算部２３の出力を平均化する移動平均フィルタ２４と、移動平均フィルタ２４の出力に所定の定数５を乗算する第四乗算部２５とを備えている。移動平均フィルタ２４の定数４は、工作機械１の位置偏差が０に近づくように予め定めた時定数である。また、定数５は、工作機械１の位置偏差が０に近づくように予め工作機械１毎に測定して定められた値である。
【００２２】
また、位置制御部５は、前記位置指令入力部１１から入力された位置指令からモータ２の出力軸の位置を検出するエンコーダ３のフィードバック値を引いて位置偏差を求める第一減算器９と、第一減算器９から出される位置偏差を位置比例ゲインの係数Ｋｐ倍する位置ループ乗算器１０と、位置ループ乗算器１０の出力とＦＦ生成部３０からのＦＦ指令とを加算する第一加算器１２が設けられ、第一加算器１２の出力がモータアンプ部６に入力される。尚、係数Ｋｐは、装置毎に予め定められた所定値である。
【００２３】
次に、１次ＬＰＦ１９及び１次ＬＰＦ２０について説明する。１次ＬＰＦ１９及び１次ＬＰＦ２０は、「Ｘ：入力値」、「Ｙ：出力値」、「Ｔ：時定数」、「Ａ：計算用中間値」とし、下付の数字を時間（ｎ周期目）とすると、以下のような演算式で表される。
１周期め  Ａ１＝Ｘ１  Ｙ１＝Ａ１／Ｔ
２周期め  Ａ２＝Ｘ２＋Ａ１−Ｙ１   Ｙ２＝（Ａ２＋Ｙ１）／Ｔ
・
・
ｎ周期め  Ａｎ＝Ｘｎ＋Ａｎ−１−Ｙｎ−１   Ｙｎ＝（Ａｎ＋Ｙｎ−１）／Ｔ
【００２４】
また、移動平均フィルタ１６は、移動平均フィルタ２４は、「Ｘ：入力値」、「Ｙ：出力値」、「Ｔ：時定数」とし、下付の数字を時間（ｎ周期目）とすると、以下のような演算式で表される。
１周期め      Ｙ１＝Ｘ１／Ｔ
２周期め      Ｙ２＝（Ｘ１＋Ｘ２）／Ｔ
３周期め      Ｙ３＝（Ｘ１＋Ｘ２＋Ｘ３）／Ｔ
・                      ・
・                      ・
ｎ周期め      Ｙｎ＝（Ｘ１＋Ｘ２＋・・・＋Ｘｎ）／Ｔ
ｎ＋１周期め  Ｙｎ＋１＝（Ｘ２＋Ｘ３＋・・・＋Ｘｎ＋１）／Ｔ
【００２５】
次に、位置指令と、第一速度演算部１３又は第二速度演算部１８で演算される速度、加速度演算部１５で演算される加速度、加加速度演算部２３で演算される加加速度の関係について説明する。第一速度演算部１３又は第二速度演算部１８で演算される速度は、以下の式により求められる。
速度＝今周期の位置指令−前周期の位置指令
尚、加速度、加加速度についても同様の考え方で演算される。
演算結果の一例を表１に示す。
【表１】
2011113475.tif 000003
【００２６】
次に、従来の数値制御装置における工作機械１の位置制御と、本実施の形態の数値制御装置４を図２乃至図７を参照して説明する。図２乃至図３に示すように、従来の数値制御装置におけるフィードフォワード・ゲインを５０％とした場合の位置制御では、位置偏差が大きく、位置偏差が０から大きく離れている。尚、図２乃至図７の左の縦軸の速度の単位は、「ｍｍ／ｍｓｅｃ」であり、右の縦軸の位置偏差の単位は、モータ２の遅れのパルス数であり、横軸は、時間「ｍｓｅｃ」である。
【００２７】
次に、本実施の形態の数値制御装置４のＦＦ生成部３０で、第一速度演算部１３で求めた速度に基づいてＦＦ指令を生成した場合を説明する。この場合には、数値制御装置４のＦＦ生成部３０の第一乗算部１４で、予め定めた所定の定数である定数１を第一速度演算部１３で求めた速度に乗算して「値１」を求める。次いで、第二乗算部１７の「定数３＝０」とし、加速度演算部１５で求めた加速度を使用しない。また、第三乗算部２２の「定数８＝０」とし、第二速度演算部１８で求めた速度を使用しない。さらに、第四乗算部２５の「定数５＝０」として、加加速度演算部２３で求めた加加速度を使用しない。この場合には、第一速度演算部１３で求められた速度に所定の定数１を乗算した「値１」が、ＦＦ指令として、第一加算器１２で、位置ループ乗算器１０の出力に加算される。この場合の位置制御では、図４に示すように、位置偏差は、中央部分（１５０ｍｓｅｃ〜２５０ｍｓｅｃ）の間で改善している。
【００２８】
次に、本実施の形態の数値制御装置４のＦＦ生成部３０で、第一速度演算部１３で求めた速度と、第二速度演算部１８で求めた速度に基づいてＦＦ指令を生成した場合を説明する。数値制御装置４のＦＦ生成部３０の第一乗算部１４で、予め定めた所定の定数である定数１を第一速度演算部１３で求めた速度に乗算して「値１」を求める。また、第二乗算部１７の「定数３＝０」とし、加速度演算部１５で求めた加速度は使用しない。さらに、第四乗算部２５の「定数５＝０」として、加加速度演算部２３で求めた加加速度を使用しない。次いで、１次ＬＰＦ１９の定数６及び１次ＬＰＦ２０の定数７を時定数とし、第二速度演算部１８で求めた速度から第二速度演算部１８で求た速度を１次ＬＰＦ１９及び１次ＬＰＦ２０で処理した値を減算して「値２」を求める。第三乗算部２２で「値２」に所定の定数８を乗算して「値３」を求める。「値１」と「値３」とを加算して、ＦＦ指令として、第一加算器１２が位置ループ乗算器１０の出力に加算する。この場合の位置制御では、図５に示すように、位置偏差は、中央部分（１５０ｍｓｅｃ〜２５０ｍｓｅｃ）の間で０に近づいて改善しているだけでなく、さらに時間１００ｍｓｅｃ付近及び３５０ｍｓｅｃ付近も改善している。
【００２９】
次に、本実施の形態の数値制御装置４のＦＦ生成部３０で、第一速度演算部１３で求めた速度と、第二速度演算部１８で求めた速度と、加速度演算部１５で求めた加速度とに基づいてＦＦ指令を生成した場合を説明する。数値制御装置４のＦＦ生成部３０の第一乗算部１４で、予め定めた所定の定数である定数１を第一速度演算部１３で求めた速度に乗算して「値１」を求める。さらに、第四乗算部２５の「定数５＝０」として、加加速度演算部２３で求めた加加速度を使用しない。次いで、１次ＬＰＦ１９の定数６及び１次ＬＰＦ２０の定数７を時定数とし、第二速度演算部１８で求めた速度から第二速度演算部１８で求た速度を１次ＬＰＦ１９及び１次ＬＰＦ２０で処理した値を減算して「値２」を求める。第三乗算部２２で「値２」に所定の定数８を乗算して「値３」を求める。移動平均フィルタ１６の定数２を時定数とし、加速度演算部１５で求めた加速度を、移動平均フィルタ１６で処理し「値４」を求める。第二乗算部１７で「値４」に所定の定数３を乗算して「値５」を求める。「値１」と「値３」と「値５」とを加算して、ＦＦ指令として、第一加算器１２が位置ループ乗算器１０の出力に加算する。この場合の位置制御では、図６に示すように、位置偏差は、７０ｍｓｅｃ〜３２０ｍｓｅｃの間でさらに０に近づいて改善している。
【００３０】
次に、本実施の形態の数値制御装置４のＦＦ生成部３０で、第一速度演算部１３で求めた速度と、第二速度演算部１８で求めた速度と、加速度演算部１５で求めた加速度と、加加速度演算部２３で求めた加加速度とに基づいてＦＦ指令を生成した場合を説明する。数値制御装置４のＦＦ生成部３０の第一乗算部１４で、予め定めた所定の定数である定数１を第一速度演算部１３で求めた速度に乗算して「値１」を求める。次いで、１次ＬＰＦ１９の定数６及び１次ＬＰＦ２０の定数７を時定数とし、第二速度演算部１８で求めた速度から第二速度演算部１８で求た速度を１次ＬＰＦ１９及び１次ＬＰＦ２０で処理した値を減算して「値２」を求める。第三乗算部２２で「値２」に所定の定数８を乗算して「値３」を求める。移動平均フィルタ１６の定数２を時定数とし、加速度演算部１５で求めた加速度を、移動平均フィルタ１６で処理し「値４」を求める。第二乗算部１７で「値４」に所定の定数３を乗算して「値５」を求める。さらに、加加速度演算部２３で移動平均フィルタ１６から出力される加速度から加加速度を求める。移動平均フィルタ２４の定数４を時定数とし、加加速度演算部２３で求めた加加速度を、移動平均フィルタ２４で処理し「値６」を求める。第四乗算部２５で「値６」に所定の定数５を乗算して「値７」を求める。「値１」と「値３」と「値５」と「値７」とを加算して、ＦＦ指令として、第一加算器１２が位置ループ乗算器１０の出力に加算する。この場合の位置制御では、図７に示すように、位置偏差は、５０ｍｓｅｃ〜４００ｍｓｅｃの間でさらに０に近づいて改善している。
【００３１】
以上説明したように、本実施の形態の数値制御装置４では、速度成分をＦＦ指令に加算することにより、工作機械１のモータ２の位置偏差を改善することができる。また、速度成分と加速度成分とをＦＦ指令に加算することにより、工作機械１のモータ２の位置偏差を更に改善することができる。また、速度成分と加速度成分と加加速度成分とをＦＦ指令に加算することにより、工作機械１のモータ２の位置偏差を大幅に改善することができる。
【００３２】
なお、本発明は上記実施の形態に限定されるものではなく、種々の変更が可能である。例えば、図８に示す第２実施の形態のように、ローパスフィルタを１次ＬＰＦ１９のみにしても良い。また、移動平均フィルタ１６及び移動平均フィルタ２４
は、必ずしも設けなくても良い。また、数値制御装置４は、ＣＰＵ，ＲＯＭ、ＲＡＭを備えて、ソフトウエアにより実現しても良いし、ハードロジック回路等により実現しても良い。
【符号の説明】
【００３３】
１ 工作機械
２ モータ
３ エンコーダ
４ 数値制御装置
５ 位置制御
６ モータアンプ部
７ 速度制御部
８ トルク制御部
９ 第一減算器
１０ 位置ループ乗算器
１１ 位置指令入力部
１２ 第一加算器
１３ 第一速度演算部
１４ 第一乗算部
１５ 加速度演算部
１６ 移動平均フィルタ
１７ 第二乗算部
１８ 第二速度演算部
１９ １次ＬＰＦ
２０ １次ＬＰＦ
２１ 第二減算器
２２ 第三乗算部
２３ 加加速度演算部
２４ 移動平均フィルタ
２５ 第四乗算部
３０ ＦＦ生成部
【図１】
2011113475.tif 000004
【図２】
2011113475.tif 000005
【図３】
2011113475.tif 000006
【図４】
2011113475.tif 000007
【図５】
2011113475.tif 000008
【図６】
2011113475.tif 000009
【図７】
2011113475.tif 000010
【図８】
2011113475.tif 000011