(57)【特許請求の範囲】
【請求項１】
移動指令出力周期毎に位置指令手段より出力される指令移動量による指令位置と検出した実際の位置に基づいて位置偏差カウンタで位置偏差を求め、位置ループ制御を行って制御軸を駆動制御する数値制御装置において、
前記位置指令手段からの指令移動量と、前記位置偏差カウンタから取得した位置偏差、および前記制御軸の実速度とに基づいて所定の最大移動量を越えないように調整指令移動量を算出し、前記位置偏差カウンタに出力する指令移動量調整手段と、
前記指令移動量調整手段において所定の最大指令移動量を越えないよう、前記位置偏差カウンタに出力せずに調整した調整移動量を取得して残移動量として積算し、前記位置指令手段へ出力する指令移動量調整偏差積算手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記指令移動量調整手段は、前記調整指令移動量の移動指令出力周期毎の変化率を定める指令加速度に基づいて調整指令移動量を算出する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記所定の最大指令移動量は、前記数値制御装置のパラメータとして設定される設定値である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記所定の最大指令移動量は、前記数値制御装置のプログラムで指令される指令値である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項５】
前記所定の最大指令移動量は、前記数値制御装置への入力信号で指令される指令値である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項６】
前記指令加速度は、前記数値制御装置のパラメータとして設定される設定値である、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項７】
前記指令加速度は、前記数値制御装置のプログラムで指令される指令値である、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項８】
前記指令加速度は、前記数値制御装置への入力信号で指令される指令値である、
ことを特徴とする請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に位置偏差の急激な変化による速度変動を抑制することを可能とする数値制御装置に関する。
【背景技術】
【０００２】
機械等の可動部等の制御軸をサーボモータで駆動し制御軸の位置を制御する数値制御装置においては、通常、位置ループ制御を行っている。位置ループ制御においては、位置制御で用いられる位置偏差カウンタ（位置偏差）の影響によりサーボモータが急減速や急加速し、滑らかな移動ができない場合があり、その問題を解決する手段の一つとして、サーボモータに電流を流さない状態（サーボオフ状態）から電流を流す状態（サーボオン状態）に切り換えた時点で取得した実速度に応じた位置偏差量を、切り換えた時点の最初の移動指令出力周期におけるサーボモータへの指令移動量に加算することで、制御軸の滑らかな移動を可能とする技術がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０８３７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、サーボオフ状態からサーボオン状態に切換える時の制御軸の実速度を初速度とするようにサーボモータへの指令移動量を出力するものであり、サーボオン状態で位置ループ制御により駆動中のサーボモータに対して外力など何らかの負荷がかかり位置偏差が溜まった後に突然負荷が解消された時に、溜まった位置偏差を解消しようとしてサーボモータがフルトルクで急加速する結果、速度が不安定になる課題は解決できない。
【０００５】
例えば、図７に示すように、分配周期ごとの指令移動量Ｐcmdに基づく駆動軸の速度が等速度Ｖcmdで制御がされている時、通常は位置偏差カウンタに蓄積される位置偏差Ｅｒｒは一定であるが、負荷がかかり駆動軸の実速度Ｖ0が低下すると、指令される移動量と実際の駆動軸の移動量との乖離（＜１＞〜＜３＞）が大きくなるため位置偏差Ｅｒｒが増加する。その後、負荷が突然解消されると、位置偏差Ｅｒｒを一気に解消するため、次の分配周期［Ａ］では駆動軸の実速度Ｖ0が急激に変化し、駆動軸の動作が不安定になってしまうという問題があった。
【０００６】
そこで、本発明の目的は、サーボモータに対して負荷がかかり位置偏差が溜まった後に突然負荷が解消された際に、溜まった位置偏差を解消しようとしてサーボモータがフルトルクで急加速することを防止できる数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、移動指令出力周期毎に位置指令手段より出力される指令移動量による指令位置と検出した実際の位置に基づいて位置偏差カウンタで位置偏差を求め、位置ループ制御を行って制御軸を駆動制御する数値制御装置において、前記位置指令手段からの指令移動量と、前記位置偏差カウンタから取得した位置偏差、および前記制御軸の実速度とに基づいて所定の最大移動量を越えないように調整指令移動量を算出し、前記位置偏差カウンタに出力する指令移動量調整手段と、前記指令移動量調整手段において所定の最大指令移動量を越えないよう、前記位置偏差カウンタに出力せずに調整した調整移動量を取得して残移動量として積算し、前記位置指令手段へ出力する指令移動量調整偏差積算手段と、を有することを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記指令移動量調整手段が、前記調整指令移動量の移動指令出力周期毎の変化率を定める指令加速度に基づいて調整指令移動量を算出する、ことを特徴とする請求項１に記載の数値制御装置である。
【００１０】
本願の請求項３に係る発明は、前記所定の最大指令移動量が、前記数値制御装置のパラメータとして設定される設定値である、ことを特徴とする請求項１に記載の数値制御装置である。
本願の請求項４に係る発明は、前記所定の最大指令移動量が、前記数値制御装置のプログラムで指令される指令値である、ことを特徴とする請求項１に記載の数値制御装置である。
本願の請求項５に係る発明は、前記所定の最大指令移動量が、前記数値制御装置への入力信号で指令される指令値である、ことを特徴とする請求項１に記載の数値制御装置である。
【００１１】
本願の請求項６に係る発明は、前記指令加速度が、前記数値制御装置のパラメータとして設定される設定値である、ことを特徴とする請求項２に記載の数値制御装置である。
本願の請求項７に係る発明は、前記指令加速度が、前記数値制御装置のプログラムで指令される指令値である、ことを特徴とする請求項２に記載の数値制御装置である。
本願の請求項８に係る発明は、前記指令加速度が、前記数値制御装置への入力信号で指令される指令値である、ことを特徴とする請求項２に記載の数値制御装置である。
【発明の効果】
【００１２】
本発明により、位置フィードバック制御により移動中のサーボモータに何らかの負荷がかかり、位置偏差が溜まった後、突然負荷が解消された時に、サーボモータが急加速することなく、目標位置、目標速度に復帰することができる。これにより、例えば、サーボモータで駆動する搬送機械の稼動部にワーク等の障害物が挟まったりしてサーボモータに負荷がかかった影響で動作速度が低下した後、障害物が取り除かれた時に、突然高速で機械が動作することを防止でき、かつ指令したとおりの目標位置、目標速度に到達するための正常な制御状態に速やかに復旧することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の実施の形態における数値制御装置の機能ブロック図である。
【図３】本発明の実施の形態における指令移動量調整処理の概要を説明する図である。
【図４】本発明の実施の形態における指令移動量調整処理のフローチャートである。
【図５】本発明の他の実施の形態における指令移動量調整処理の概要を説明する図である。
【図６】本発明の他の実施の形態における指令移動量調整処理のフローチャートである。
【図７】従来技術におけるサーボモータ速度制御の問題点を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明に係る実施形態の数値制御装置１０の要部ブロック図である。数値制御装置１０のＣＰＵ１１は、数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置１０を全体的に制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００１５】
ＣＭＯＳ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳ１４には、インタフェース１５を介して読み込まれた後述する加工プログラム、表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶されるようになっている。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理、自動運転のための処理を実施するための各種のシステムプログラムがあらかじめ書き込まれている。
本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＣＭＯＳメモリ１４に格納することができる。
【００１６】
インタフェース１５は数値制御装置１０とアダプタ等の外部機器７２との接続を可能とするものである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１０内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで工作機械側の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な処理をしてプロセッサ１１に渡す。
【００１７】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００１８】
各軸の軸制御回路３０，３１はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０，４１に出力する。サーボアンプ４０，４１はこの指令を受けて、駆動軸モータ５０、従動軸モータ５１を駆動する。各軸は位置・速度検出器を内蔵したサーボモータを備えており、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０，３１にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００１９】
図２は、本発明の一実施形態における数値制御装置１０の機能ブロック図である。数値制御装置１０は、主として数値制御部１００とサーボ制御部２００で構成され、数値制御部１００は位置指令手段１１０、指令移動量調整手段１２０、指令移動量調整偏差積算手段１３０を、サーボ制御部２００は位置偏差カウンタ２１０を備えている。
位置指令手段１１０は、加工プログラムで指令された移動指令や作業員が指令した移動指令と、指令移動量調整偏差積算手段１３０から取得した残移動量に基づいて、駆動軸モータ５０が移動するべき指令移動量を算出して出力する。
【００２０】
本発明の特徴である指令移動量調整手段１２０は、後述する指令移動量調整処理を実行し、位置指令手段１１０から出力された指令移動量と、位置偏差カウンタ２１０から取得した位置偏差、駆動軸モータ５０からフィードバックされた速度フィードバックの値に基づいて、当該移動指令出力周期における調整指令移動量を算出して位置偏差カウンタ２１０に加算すると共に、調整移動量を指令移動量調整偏差積算手段１３０へ出力する。
指令移動量調整偏差積算手段１３０は、指令移動量調整手段１２０から取得した調整移動量を残移動量へと積算し、位置指令手段１１０へ出力する。
【００２１】
位置偏差カウンタ２１０は、調整指令移動量を加算すると共に、駆動軸モータ５０が備える図示しない位置・速度検出器からの位置フィードバック量を減算して位置偏差を求める。そして、サーボ制御部２００では、当該位置偏差に基づいて駆動軸モータ５０の速度が制御される。サーボ制御部２００における位置偏差に基づく駆動軸モータ５０の制御処理については、機械等を制御する数値制御装置において従来から行われている周知の処理なので、詳細な記載は省略する。
【００２２】
以下で、本実施の形態の指令移動量調整手段１２０が実行する指令移動量調整処理の概要について説明する。
図３は、本実施の形態における駆動軸モータ５０の速度変化の概要を説明する図である。本実施の形態の数値制御装置１０では、図７のような、分配周期における駆動軸モータ５０に対して指令される移動量が、駆動軸モータ５０の限界速度Ｖlimを超える速度で移動させる状況において（図７の［Ａ］の分配周期）、指令速度Ｖcmd以上の位置偏差カウンタ２１０に蓄積された位置偏差（＜１＞＋＜２＞＋＜３＞）と、指令速度Ｖcmdと外部負荷により減速させられた速度との差Ｖcmd−Ｖ0を打ち消し、図３に示すように、駆動軸モータ５０の実速度が限界速度Ｖlimでクランプされるように調整指令移動量Ｐoutを算出してサーボ制御部２００に指令する。打ち消した位置偏差（＜１＞＋＜２＞＋＜３＞）と速度差Ｖcmd−Ｖ0は、指令移動量調整偏差積算手段１３０へ出力し、残移動量として積算する。
【００２３】
図４は、本実施の形態の指令移動量調整手段１２０が実行する指令移動量調整処理のフローチャートである。
●［Ｓ４０１］指令移動量調整手段１２０は、サーボ制御部２００への指令移動量Ｐcmdを取得する。
●［Ｓ４０２］指令移動量調整手段１２０は、位置偏差カウンタ２１０から位置偏差Ｅｒｒを取得する。
●［Ｓ４０３］指令移動量調整手段１２０は、駆動軸モータ５０からフィードバックされる実速度Ｖ0を取得する。
●［Ｓ４０４］指令移動量調整手段１２０は、指令移動量Ｐcmdを分配周期（ｔ）毎の移動量として速度に換算した指令速度Ｖcmdと、位置偏差Ｅｒｒを分配周期（ｔ）毎の移動量として速度に換算した位置偏差による速度Ｖerrとを算出し、ＶcmdとＶerrとを加算して速度Ｖを算出する。
●［Ｓ４０５］指令移動量調整手段１２０は、速度Ｖが限界速度Ｖlimをより大きいかを判定する。速度Ｖが限界速度Ｖlimをより大きい場合にはＳ４０６へと進み、速度Ｖが限界速度Ｖlim以下の場合にはＳ４０９へ進む。
●［Ｓ４０６］指令移動量調整手段１２０は、数１式に示すように速度Ｖと指令速度Ｖcmdと実速度Ｖ0の差分により、速度Ｖを打ち消すための調整移動量Ａadjを算出した上で、数２式に示すように限界速度Ｖlimと実速度Ｖ0との差分を速度Ｖを打ち消すための調整移動量Ａadjに加算し、調整指令移動量Ｐoutを算出する。
【００２４】
【数１】
0005897659.tif 000002
【００２５】
【数２】
0005897659.tif 000003
【００２６】
●［Ｓ４０７］指令移動量調整手段１２０は、速度Ｖを打ち消すための調整移動量Ａadjを指令移動量調整偏差積算手段１３０へ出力する。
●［Ｓ４０８］指令移動量調整手段１２０は、調整指令移動量Ｐoutをサーボ制御部２００へ出力する。
●［Ｓ４０９］指令移動量調整手段１２０は、指令速度Ｖcmdを指令移動量Ｐcmdを換算し、指令移動量Ｐcmdを調整指令移動量Ｐoutとしてサーボ制御部２００へ出力する。
【００２７】
このように、速度の急激な変化が発生する場合、指令移動量調整手段１２０はサーボ制御部２００へ指令する指令移動量に対して調整を行って急激な速度変化を抑え、抑制された移動量については指令移動量調整偏差積算手段１３０により位置指令手段１１０で使用する残移動量へフィードバックされるため、駆動軸の急激な速度変化を抑制しながら指令に基づいた駆動軸の制御を行うことができる。
【００２８】
以上、指令移動量調整手段１２０が実行する指令移動量調整処理について説明したが、本発明の他の実施の形態として、更に指定加速度Ａcmdを設定することにより、駆動軸モータ５０の速度変化が指定加速度から求めた速度で推移するように調整指令移動量Ｐoutを調整するように構成することもできる。
【００２９】
以下で、他の実施の形態における指令移動量調整手段１２０が実行する指令移動量調整処理の概要について説明する。
図５は、本発明の他の実施の形態における駆動軸モータ５０の速度変化の概要を説明する図である。本実施の形態の数値制御装置１０では、図７のような、分配周期における駆動軸モータ５０に対して指令される移動量が、駆動軸モータ５０の限界速度Ｖlimを超える速度で移動させる状況において（図７の［Ａ］の分配周期）、指令速度Ｖcmd以上の位置偏差カウンタ２１０に蓄積された位置偏差（＜１＞＋＜２＞＋＜３＞）と、指令速度Ｖcmdと外部負荷により減速させられた速度との差Ｖcmd−Ｖ0を打ち消し、図５に示すように、駆動軸モータ５０の実速度が指定加速度Ａcmdでゆるやかに推移するように調整指令移動量Ｐoutを算出してサーボ制御部２００に指令する。打ち消した位置偏差（＜１＞＋＜２＞＋＜３＞）と速度差Ｖcmd−Ｖ0は、指令移動量調整偏差積算手段１３０へ出力し、残移動量として積算する。その後、速度が限界速度Ｖlimに達するまで、分配周期毎に実速度Ｖ0と指定加速度Ａcmdから求めた調整指令移動量Ｐoutを算出してサーボ制御部２００に指令し、速度が限界速度Ｖlimに達した後は、駆動軸モータ５０の速度を限界速度Ｖlimでクランプするように制御する。
なお、指定加速度Ａcmdは、各駆動軸モータの性能などを考慮して、あらかじめＣＭＯＳ１４などに設けられた設定領域に設定するようにしてもよいし、ＮＣプログラム等のプログラムや、数値制御装置１０への入力信号により指令できるように構成してもよい。
【００３０】
図６は、本発明の他の実施の形態の指令移動量調整手段１２０が実行する指令移動量調整処理のフローチャートである。
●［Ｓ６０１］指令移動量調整手段１２０は、サーボ制御部２００への指令移動量Ｐcmdを取得する。
●［Ｓ６０２］指令移動量調整手段１２０は、位置偏差カウンタ２１０から位置偏差Ｅｒｒを取得する。
●［Ｓ６０３］指令移動量調整手段１２０は、駆動軸モータ５０からフィードバックされる実速度Ｖ0を取得する。
●［Ｓ６０４］指令移動量調整手段１２０は、指令移動量Ｐcmdを分配周期（ｔ）毎の移動量として速度に換算した指令速度Ｖcmdと、位置偏差Ｅｒｒを分配周期（ｔ）毎の移動量として速度に換算した位置偏差による速度Ｖerrとを算出し、ＶcmdとＶerrとを加算して速度Ｖを算出する。
●［Ｓ６０５］指令移動量調整手段１２０は、速度Ｖが限界速度Ｖlimをより大きいかを判定する。速度Ｖが限界速度Ｖlimをより大きい場合にはＳ６０６へ進み、速度Ｖが限界速度Ｖlim以下の場合にはＳ６０９へ進む。
●［Ｓ６０６］指令移動量調整手段１２０は、実速度Ｖ0に指定加速度Ａcmdに基づいて算出される今回の分配周期に到達する駆動軸モータ５０の速度がＶlim以下であるかを判定する。Ｖlim以下である場合にはＳ６０７へ進み、Ｖlimを超える場合にはＳ６１０へ進む。
●［Ｓ６０７］指令移動量調整手段１２０は、数１式に示すように速度Ｖと指令速度Ｖcmdと実速度Ｖ0の差分により、速度Ｖを打ち消すための調整移動量Ａadjを算出した上で、数３式に示すように指定加速度Ａcmdから求めた移動量を調整移動量Ａadjに加算し、調整指令移動量Ｐoutを算出する。
【００３１】
【数３】
0005897659.tif 000004
【００３２】
●［Ｓ６０８］指令移動量調整手段１２０は、速度Ｖを打ち消すための調整移動量Ａadjを指令移動量調整偏差積算手段１３０へ出力する。
●［Ｓ６０９］指令移動量調整手段１２０は、調整指令移動量Ｐoutをサーボ制御部２００へ出力する。
●［Ｓ６１０］指令移動量調整手段１２０は、数２式に示すように限界速度Ｖlimと実速度Ｖ0との差分を速度Ｖを打ち消すための調整移動量Ａadjに加算することで、調整指令移動量Ｐoutを算出し、Ｓ６０８へ進む。
●［Ｓ６１１］指令移動量調整手段１２０は、指令速度Ｖcmdを指令移動量Ｐcmdを換算し、指令移動量Ｐcmdを調整指令移動量Ｐoutとして算出し、Ｓ６０９へ進む。
【００３３】
このように、本発明の他の実施の形態では、速度の急激な変化が発生する場合、指令移動量調整手段１２０はサーボ制御部２００へ指令する指令移動量に対して調整を行って急激な速度変化を抑えると共に、駆動軸の速度変化が指定加速度Ａcmdから求めた速度でゆるやかに推移するように調整指令移動量Ｐoutを調整することができる。
【符号の説明】
【００３４】
１０    数値制御装置
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＣＭＯＳ
１５，１８，１９    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
２０    バス
３０，３１    軸制御回路
４０，４１    サーボアンプ
５０    駆動軸モータ
５１    従動軸モータ
７０    表示器／ＭＤＩユニット
７１    手動パルス発生器
７２    外部機器
１００    数値制御部
１１０    位置指令手段
１２０    指令移動量調整手段
１３０    指令移動量調整偏差積算手段
２００    サーボ制御部
２１０    位置偏差カウンタ
【図１】
0005897659.tif 000005
【図２】
0005897659.tif 000006
【図４】
0005897659.tif 000007
【図６】
0005897659.tif 000008
【図３】
0005897659.tif 000009
【図５】
0005897659.tif 000010
【図７】
0005897659.tif 000011