(57)【要約】【課題】サーボモータを駆動することなく、常に電源電圧と負荷トルク及び総イナーシャのいずれか１つ以上とに応じた最適な加減速時間または最高速度を予め指令する。【解決手段】動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、電源電圧を常時監視する電源電圧監視部７と、負荷トルク及び総イナーシャのいずれか１つ以上を予め設定するパラメータ設定部１２と、監視した電源電圧と予め設定した負荷トルク及び総イナーシャのいずれか１つ以上とに応じてサーボモータの駆動制御時の加減速時間または最高速度を演算する動作条件演算部９とを設け、この演算された加減速時間または最高速度に従ってサーボモータの位置指令を演算する。【選択図】図１
2008225652.tif 000002
【特許請求の範囲】
【請求項１】
動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、
電源電圧を検出する電源電圧検出部と、
電源電圧検出部で検出された電源電圧と、負荷トルク及び総イナーシャのいずれか１つ以上と、に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更する動作条件設定部と、
動作条件設定部で変更された加減速時間または最高速度に基づいて、サーボモータの駆動制御を行うための制御指令値を演算する制御指令値演算部と、
を有することを特徴とする数値制御装置。
【請求項２】
請求項１に記載の数値制御装置において、
動作条件設定部は、電源電圧検出部で検出された電源電圧に応じてサーボモータの速度−トルク特性を決定し、当該決定した速度−トルク特性において負荷トルクに対応する速度を最高速度として演算することを特徴とする数値制御装置。
【請求項３】
動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、
電源電圧を検出する電源電圧検出部と、
電源電圧検出部で検出された電源電圧と、サーボモータ駆動制御時の制御目標値と制御観測値との偏差と、に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更する動作条件設定部と、
動作条件設定部で変更された加減速時間または最高速度に基づいて、サーボモータの駆動制御を行うための制御指令値を演算する制御指令値演算部と、
を有することを特徴とする数値制御装置。
【請求項４】
請求項３に記載の数値制御装置において、
動作条件設定部で変更された加減速時間または最高速度を、当該変更時に検出された電源電圧と対応付けて記憶する動作条件記憶部を有し、
動作条件設定部は、電源電圧検出部で検出された電源電圧が動作条件記憶部に記憶された電源電圧のいずれかとほぼ一致する場合は、サーボモータ駆動制御時の加減速時間または最高速度を、当該一致する電源電圧と対応付けて動作条件記憶部に記憶された加減速時間または最高速度に変更することを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置に関するものである。
【背景技術】
【０００２】
図７は、従来の数値制御装置の一例を示すブロック図である。ここでは、例として、３個のサーボモータを駆動して位置制御を行う数値制御装置において、ある１個のサーボモータに関数発生指令を行う場合について説明する。上位制御装置１からの関数発生指令、例えば早送りのモード指令および目標位置が位置指令演算部２Ｂに入力される。位置指令演算部２Ｂは、上位制御装置１からの関数発生指令と所定の加減速時間または最高速度に従って位置指令を生成し、この位置指令を位置制御部３Ｂに入力する。位置制御部３Ｂは、サーボモータ５Ｂに取り付けられた位置センサ６Ｂからサーボモータ５Ｂの現在位置を読み取り、位置指令とサーボモータ５Ｂの現在位置とを一致させるように一般によく知られた位置制御の手法を用いてトルク指令値を演算し、サーボモータ５Ｂに必要な電流指令値に変換してインバータ４Ｂに入力する。インバータ４Ｂはサーボモータ５Ｂに電流指令値に一致する電流を供給することにより、サーボモータ５Ｂの位置は目標位置に一致するように制御される。
【０００３】
【特許文献１】特開平９−２０１０９９号公報
【特許文献２】特開平１１−１９４８０７号公報
【特許文献３】特開平１−１７０３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のように位置指令演算部２Ｂは、所定の加減速時間または最高速度に従って位置指令を生成している。所定の加減速時間または最高速度を使用した場合には、電源電圧の低下により所望のトルクが得られずに指令位置と現在位置との位置誤差量を増加させてしまう。このような状態で動作させると本来の軌跡と実際の軌跡とのずれが大きくなって、ワークの加工精度が悪くなるばかりでなく、ワークと刃物が衝突する要因にもなる。なお、関連技術として上記特許文献１〜３が挙げられるが、いずれの特許文献も入力が電源電圧のみであるため、上記課題を解決できていない。
【０００５】
本発明は、上記問題点を解決するためになされたものであり、動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、１つまたは複数のサーボモータを駆動することなく、常に電源電圧と負荷トルク及び総イナーシャのいずれか１つ以上とに応じた最適な加減速時間または最高速度を予め指令することを目的の１つとする。また、本発明は、電源電圧が変動した場合でも、常に制御偏差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を指令することを目的の１つとする。さらに、本発明は、１つまたは複数のサーボモータを駆動することなく、電源電圧が変動した場合でも、常に制御偏差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を予め指令することを目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明に係る数値制御装置は、動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、電源電圧を検出する電源電圧検出部と、電源電圧検出部で検出された電源電圧と、負荷トルク及び総イナーシャのいずれか１つ以上と、に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更する動作条件設定部と、動作条件設定部で変更された加減速時間または最高速度に基づいて、サーボモータの駆動制御を行うための制御指令値を演算する制御指令値演算部と、を有する。
【０００７】
本発明の好適な態様では、動作条件設定部は、電源電圧検出部で検出された電源電圧に応じてサーボモータの速度−トルク特性を決定し、当該決定した速度−トルク特性において負荷トルクに対応する速度を最高速度として演算する。
【０００８】
また、本発明に係る数値制御装置は、動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工する数値制御装置において、電源電圧を検出する電源電圧検出部と、電源電圧検出部で検出された電源電圧と、サーボモータ駆動制御時の制御目標値と制御観測値との偏差と、に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更する動作条件設定部と、動作条件設定部で変更された加減速時間または最高速度に基づいて、サーボモータの駆動制御を行うための制御指令値を演算する制御指令値演算部と、を有する。
【０００９】
本発明の好適な態様では、動作条件設定部で変更された加減速時間または最高速度を、当該変更時に検出された電源電圧と対応付けて記憶する動作条件記憶部を有し、動作条件設定部は、電源電圧検出部で検出された電源電圧が動作条件記憶部に記憶された電源電圧のいずれかとほぼ一致する場合は、サーボモータ駆動制御時の加減速時間または最高速度を、当該一致する電源電圧と対応付けて動作条件記憶部に記憶された加減速時間または最高速度に変更する。
【発明の効果】
【００１０】
本発明では、請求項１または２の構成とすることにより、１つまたは複数のサーボモータを駆動することなく、常に電源電圧と負荷トルク及び総イナーシャのいずれか１つ以上とに応じた最適な加減速時間または最高速度を予め指令することができる。また、請求項３の構成とすることにより、常に制御偏差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を指令することができる。また、請求項４の構成とすることにより、１つまたは複数のサーボモータを駆動することなく、電源電圧が変動した場合でも、常に制御偏差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を予め指令することができる。従って、本発明の数値制御装置によれば、制御偏差量を減少させるばかりでなく、本来の軌跡と実際の軌跡とのずれが小さくなることによって、ワークの加工精度を良くするとともに、ワークと刃物との衝突を防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための形態を図面に従って説明する。図１は本発明に係る数値制御装置の一実施例を示すブロック図である。本実施例の数値制御装置は、動作プログラムに従い、１つまたは複数のサーボモータの駆動制御を行うことによりワークを加工するものである。以下の説明では、例として、３個のサーボモータを駆動して位置制御を行う数値制御装置において、電源電圧監視部、動作条件変更部、動作条件演算部を設け、ある１個のサーボモータ（サーボモータ５Ｂ）に関数発生指令を行う場合について説明する。
【００１２】
上位制御装置１からの関数発生指令、例えば早送りのモード指令及び目標位置が位置指令演算部２Ｂに入力される。同時に、電源電圧監視部７は、サーボモータ５Ｂへ電力供給を行うための電源の電圧を監視（検出）し、その監視した電源電圧を動作条件演算部９に入力する。また、パラメータ設定部１２は、サーボモータ５Ｂにより駆動される負荷のトルクＴ、及びサーボモータ５Ｂの回転子から負荷に至る回転部の総イナーシャＪのいずれか１つ以上を動作条件演算部９に入力する。パラメータ設定部１２では、負荷トルクＴ及び総イナーシャＪのいずれか１つ以上が予め設定されている。動作条件演算部９は、電源電圧毎に１つまたは複数のサーボモータの速度と出力トルクとの関係を示した複数の特性図（サーボモータの速度−トルク特性）を予め設定しておき、電源電圧監視部７により監視した電源電圧に応じて前記複数の特性図の中から該当する１つの特性図を選択する。そして、動作条件演算部９は、前記選択した１つの特性図より読み取れる速度と出力トルクとの関係と、前記負荷トルクＴ及び前記総イナーシャＪのいずれか１つ以上とを用いて、サーボモータ５Ｂの駆動制御時の加減速時間または最高速度を演算し、動作条件変更部８に入力する。動作条件変更部８は、動作条件演算部９が演算した加減速時間または最高速度を位置指令演算部２Ｂに入力する。位置指令演算部２Ｂは、上位制御装置１からの関数発生指令と動作条件変更部８からの加減速時間または最高速度に従って位置指令を生成し、この位置指令を位置制御部３Ｂに入力する。位置制御部３Ｂは、サーボモータ５Ｂに取り付けられた位置センサ６Ｂからサーボモータ５Ｂの現在位置を読み取り、位置指令とサーボモータ５Ｂの現在位置とを一致させるように一般によく知られた位置制御の手法を用いてトルク指令値を演算し、サーボモータ５Ｂに必要な電流指令値に変換してインバータ４Ｂに入力する。インバータ４Ｂはサーボモータ５Ｂに電流指令値に一致する電流を供給することにより、サーボモータ５Ｂの位置が目標位置に一致するようにサーボモータ５Ｂの駆動制御が行われる。
【００１３】
以下では、図１の数値制御装置での動作条件演算部９およびパラメータ設定部１２において行われる加減速時間または最高速度生成の一例を示した図２の特性図を参照しながら、本実施例の主要構成部分について説明する。動作条件演算部９では、図２に示すように、サーボモータ５Ｂの複数通りの速度−トルク特性が電源電圧と対応付けて予め設定されており、これら複数通りの速度−トルク特性の中から、電源電圧監視部７により監視した電源電圧に対応する速度−トルク特性が選択される。例えば動作条件演算部９に入力された電源電圧が仮にＶ４であった場合には、その時の電源電圧Ｖ４に応じた特性図が選択される。図２においては、Ｖ１＞Ｖ２＞Ｖ３＞Ｖ４＞Ｖ５であり、電源電圧の低下に対してトルクが抑えられた速度−トルク特性が選択される。そして、パラメータ設定部１２にモータを動作させるために必要な負荷トルクＴを予め設定しておくことによって、前記選択した特性図より最高速度（Ｎ）を求めることができる。ここでは、図２に示すように、電源電圧に応じて選択された速度−トルク特性において、負荷トルクＴに対応する速度Ｎが最高速度として演算される。また、パラメータ設定部１２に総イナーシャＪを予め設定しておくことによって、Ｊ×Ｎ／Ｔを演算して加減速時間を求めることができる。
【００１４】
このように、本実施例では、電源電圧と、負荷トルクＴ及び総イナーシャＪのいずれか１つ以上と、に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更することで、サーボモータを駆動することなく、常に電源電圧と負荷トルクＴ及び総イナーシャＪのいずれか１つ以上とに応じた最適な加減速時間または最高速度を予め指令することができる。
【００１５】
図３は本発明に係る数値制御装置の他の実施例を示すブロック図である。ここでは、例として、３個のサーボモータを駆動して位置制御を行う数値制御装置において、電源電圧監視部、動作条件変更部、動作条件決定部を設け、ある１個のサーボモータ（サーボモータ５Ｂ）に関数発生指令を行う場合について説明する。
【００１６】
上位制御装置１からの関数発生指令、例えば早送りのモード指令及び目標位置が位置指令演算部２Ｂに入力される。同時に、電源電圧監視部７は、サーボモータ５Ｂへ電力供給を行うための電源の電圧を監視し、その監視した電源電圧を動作条件決定部１０に入力する。動作条件決定部１０は、位置制御部３Ｂから位置指令と現在位置との位置誤差量を受け取り、入力された電源電圧と前記位置誤差量とに応じてサーボモータ５Ｂの駆動制御時の加減速時間または最高速度を決定し、動作条件変更部８に入力する。ここでの動作条件決定部１０は、前記位置誤差量と予め設定しておいた位置誤差閾値とを比較し、前記位置誤差量が前記予め設定しておいた位置誤差閾値以下となるような加減速時間または最高速度を決定する。動作条件変更部８は、動作条件決定部１０が決定した加減速時間または最高速度を位置指令演算部２Ｂに入力する。位置指令演算部２Ｂは、上位制御装置１からの関数発生指令と動作条件変更部８からの加減速時間または最高速度に従って位置指令（制御目標値）を生成し、この位置指令を位置制御部３Ｂに入力する。位置制御部３Ｂは、サーボモータ５Ｂに取り付けられた位置センサ６Ｂからサーボモータ５Ｂの現在位置（制御観測値）を読み取り、位置指令とサーボモータ５Ｂの現在位置とを一致させるように一般によく知られた位置制御の手法を用いてトルク指令値を演算し、サーボモータ５Ｂに必要な電流指令値に変換してインバータ４Ｂに入力する。インバータ４Ｂはサーボモータ５Ｂに電流指令値に一致する電流を供給することにより、サーボモータ５Ｂの位置は目標位置に一致するようにサーボモータ５Ｂの駆動制御が行われる。
【００１７】
以下では、図３の数値制御装置での動作条件決定部１０において行われる加減速時間または最高速度生成の一例を示した図４のフローを参照しながら、本実施例の主要構成部分について説明する。まずステップＳ１０１において、加減速時における位置指令と現在位置との位置誤差量（制御目標値と制御観測値との制御偏差量）が入力される。ステップＳ１０２において、入力された加減速時の位置誤差量が予め決められた位置誤差閾値以下であった場合には、ステップＳ１０３に進み、所定の加減速時間より小さい数値に変更する。逆に、ステップＳ１０２において、入力された加減速時の位置誤差量が位置誤差閾値より大きかった場合には、ステップＳ１０４に進み、所定の加減速時間より大きい数値に変更する。次にステップＳ１０５において、最高速度時の位置誤差量が入力される。ステップＳ１０６において、入力された最高速度時の位置誤差量が予め決められた位置誤差閾値以下であった場合には、ステップＳ１０７に進み、所定の最高速度より大きい数値に変更する。逆に、ステップＳ１０６において、入力された最高速度時の位置誤差量が位置誤差閾値より大きかった場合には、ステップＳ１０８に進み、所定の最高速度より小さい数値に変更する。このフローを繰り返すことによって、最終的な加減速時間または最高速度を決定する。なお、動作条件決定部１０にて加減速時間または最高速度を変更する手段については、例えば、ある係数をかけて算出する方法等が挙げられる。例えばステップＳ１０３，Ｓ１０８では、１より小さい係数をかけて加減速時間または最高速度を小さくし、ステップＳ１０４，Ｓ１０７では、１より大きい係数をかけて加減速時間または最高速度を大きくする。
【００１８】
このように、本実施例では、位置指令と現在位置との位置誤差量に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更することで、電源電圧が変動した場合でも、常に位置誤差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を指令することができる。
【００１９】
図５は本発明に係る数値制御装置の他の実施例を示すブロック図である。ここでは、例として、３個のサーボモータを駆動して位置制御を行う数値制御装置において、電源電圧監視部、動作条件変更部、動作条件決定部、動作条件記憶部を設け、ある１個のサーボモータ（サーボモータ５Ｂ）に関数発生指令を行う場合について説明する。
【００２０】
上位制御装置１からの関数発生指令、例えば早送りのモード指令及び目標位置が位置指令演算部２Ｂに入力される。同時に、電源電圧監視部７は、サーボモータ５Ｂへ電力供給を行うための電源の電圧を監視し、その監視した電源電圧を動作条件決定部１０に入力する。動作条件決定部１０は、前記監視した電源電圧を動作条件記憶部１１に入力する。動作条件記憶部１１は、動作条件決定部１０から入力された電源電圧と記憶したｍ通り（ｍは任意の整数）の電源電圧とを比較する。比較した結果、入力された電源電圧が記憶したｍ通り（ｍは任意の整数）の電源電圧のいずれか１つの電源電圧と一致した（あるいはほぼ一致した）場合には、前記一致した電源電圧を記憶した時に同時に記憶したサーボモータ５Ｂの駆動制御時の加減速時間または最高速度を前記動作条件決定部１０に出力する。そして、動作条件変更部８は、動作条件決定部１０が出力した加減速時間または最高速度を位置指令演算部２Ｂに入力する。逆に、入力された電源電圧が記憶したｍ通り（ｍは任意の整数）の電源電圧のどれとも一致しない場合には、動作条件決定部１０は、位置制御部３Ｂから指令位置と現在位置との位置誤差量を受け取り、前記位置誤差量と前記予め設定しておいた位置誤差閾値とを比較し、前記位置誤差量が前記予め設定しておいた位置誤差閾値以下となるような加減速時間または最高速度を決定し、動作条件変更部８に入力するとともに、前記監視した電源電圧も併せて動作条件記憶部１１に入力する。動作条件変更部８は、動作条件決定部１０が決定した加減速時間または最高速度を位置指令演算部２Ｂに入力する。同時に、動作条件記憶部１１は、入力された電源電圧と加減速時間または最高速度との関係をｍ通り（ｍは任意の整数）まで記憶する。位置指令演算部２Ｂは、上位制御装置１からの関数発生指令と動作条件変更部８からの加減速時間または最高速度に従って位置指令を生成し、この位置指令を位置制御部３Ｂに入力する。位置制御部３Ｂは、サーボモータ５Ｂに取り付けられた位置センサ６Ｂからサーボモータ５Ｂの現在位置を読み取り、位置指令とサーボモータ５Ｂの現在位置とを一致させるように一般によく知られた位置制御の手法を用いてトルク指令値を演算し、サーボモータ５Ｂに必要な電流指令値に変換してインバータ４Ｂに入力する。インバータ４Ｂはサーボモータ５Ｂに電流指令値に一致する電流を供給することにより、サーボモータ５Ｂの位置は目標位置に一致するようにサーボモータ５Ｂの駆動制御が行われる。
【００２１】
以下では、図５の数値制御装置での動作条件決定部１０または動作条件記憶部１１において行われる加減速時間または最高速度生成の一例を示した図６の表を参照しながら、本実施例の主要構成部分について説明する。動作条件記憶部１１は、動作条件決定部１０で決定された加減速時間または最高速度を、この加減速時間または最高速度の決定時に入力された電源電圧と対応付けて記憶している。例えば図６に示すように、入力された電源電圧Ｖと加減速時間ｔまたは最高速度ｎとの関係をｍ通り（ｍは任意の整数）まで順次記憶しておく。動作条件決定部１０は、次に入力された電源電圧Ｖが動作条件記憶部１１に記憶されたｍ通りの電源電圧Ｖ１〜Ｖｍのいずれかと一致する（あるいはほぼ一致する）場合は、サーボモータ５Ｂの駆動制御時の加減速時間ｔまたは最高速度ｎを、この一致する電源電圧と対応付けて動作条件記憶部１１に記憶された加減速時間または最高速度に変更する。例えば次に測定した電源電圧が仮にＶ３であった場合には、加減速時間としてｔ３、最高速度としてｎ３を出力する。一方、動作条件決定部１０は、次に入力された電源電圧Ｖが動作条件記憶部１１に記憶されたｍ通りの電源電圧Ｖ１〜Ｖｍのいずれとも一致しない場合は、前述した図４のフローチャートに従って最終的な加減速時間または最高速度を決定する。そして、この決定した加減速時間または最高速度を、決定時に入力された電源電圧と対応付けて動作条件記憶部１１に記憶する。この実施例によれば、サーボモータを駆動することなく、電源電圧が変動した場合でも、常に位置誤差量を設定範囲内に抑えつつ、その範囲内で最大限達成できる加減速時間または最高速度を予め指令することができる。
【００２２】
各実施例では、サーボモータ５Ｂに関数発生指令を行ってサーボモータ５Ｂの駆動制御を行う場合について説明したが、他のサーボモータ５Ａ，５Ｃに関数発生指令を行ってサーボモータ５Ａ，５Ｃの駆動制御を行う場合についても同様の動作である。
【００２３】
また、各実施例では、サーボモータの位置制御を行う場合について説明したが、サーボモータの速度制御を行うこともできる。その場合は、サーボモータの回転速度を検出する速度センサを位置センサ６Ａ，６Ｂ，６Ｃの代わりに設け、上位制御装置１からの関数発生指令と動作条件変更部８からの加減速時間または最高速度に従って速度指令を生成する速度指令演算部を位置指令演算部２Ａ，２Ｂ，２Ｃの代わりに設け、この速度指令と速度センサによる速度とを一致させるためのトルク指令値を演算する速度制御部を位置制御部３Ａ，３Ｂ，３Ｃの代わりに設ける。そして、図３に示す実施例では、速度指令と現在速度との速度誤差量（制御目標値と制御観測値との制御偏差量）に応じて、サーボモータ駆動制御時の加減速時間または最高速度を変更する。
【図面の簡単な説明】
【００２４】
【図１】本発明の数値制御装置の一実施例を示すブロック図である。
【図２】本発明の動作条件演算部において行われる加減速時間または最高速度生成の一例を示す図である。
【図３】本発明の数値制御装置の他の実施例を示すブロック図である。
【図４】本発明の動作条件決定部において行われる加減速時間または最高速度生成の一例を示すフローチャートである。
【図５】本発明の数値制御装置の他の実施例を示すブロック図である。
【図６】本発明の動作条件記憶部において行われる加減速時間または最高速度生成の一例を示す図である。
【図７】従来の数値制御装置の一例を示すブロック図である。
【符号の説明】
【００２５】
１  上位制御装置、２Ａ，２Ｂ，２Ｃ  位置指令演算部、３Ａ，３Ｂ，３Ｃ  位置制御部、４Ａ，４Ｂ，４Ｃ  インバータ、５Ａ，５Ｂ，５Ｃ  サーボモータ、６Ａ、６Ｂ，６Ｃ  位置センサ、７  電源電圧監視部、８  動作条件変更部、９  動作条件演算部、１０  動作条件決定部、１１  動作条件記憶部、１２  パラメータ設定部。
【図１】
2008225652.tif 000003
【図２】
2008225652.tif 000004
【図３】
2008225652.tif 000005
【図４】
2008225652.tif 000006
【図５】
2008225652.tif 000007
【図６】
2008225652.tif 000008
【図７】
2008225652.tif 000009