この発明は、工作機械、ロボット等を制御する数値制御装置等にて使用されるサーボ制御システムのサーボモータ制御方法および装置に関するものである。
図43はサーボ制御システムにて使用される一般的なサーボモータ駆動装置を示している。サーボモータ駆動装置は、3相交流電源1より与えられる3相交流を整流する整流回路2と、整流回路2の整流出力を平滑する平滑コンデンサ3と、平滑コンデンサ3により平滑された直流を入力され、PWM変換された3相交流をACサーボモータ8に出力するPWM回路の出力部をなす半導体スイッチング回路4と、半導体スイッチング回路4よりACサーボモータ8へ流れるU相とV相の電流値をシャント抵抗CTにより検出する電流検出部5と、電流検出部5により検出された電流値に比例したアナログ電圧信号をディジタル信号に変換するA/D変換器6と、A/D変換器6が出力するディジタル信号を電流フィードバック信号として取り込み、電流フィードバック値と速度指令値とに基づいて所定の演算処理を行い、各相のPWM信号を半導体スイッチング回路4の各相のベース端子に出力するCPU7とを有している。
なお、この明細書では、これより以降、整流回路2と平滑コンデンサ3とにより構成される回路をコンバータと称する。
図44は一般的なサーボ制御システムを示している。サーボ制御システムは、NC装置10が出力する位置指令値とモータ端あるいは機械端からの位置フィードバック値との偏差により速度指令を生成する位置制御部11と、位置制御部11よりの速度指令値と速度フィードバック値との偏差により電流指令を生成する速度制御部12と、速度制御部12よりの電流指令値とシャント抵抗CTによる電流フィードバック値との偏差によりサーボモータ8に通電する電流を生成する電流制御部13とを有している。サーボモータ8は、減速歯車15によって送りねじ16を回転駆動し、制御対象物であるテーブル17を線形移動させる。
セミクローズドループの場合にはサーボモータ8に接続されてサーボモータ8の回転数および回転角、磁極位置を検出するモータ端検出器18が使用され、フルクローズドループの場合にはテーブル17の線形移動位置を検出する機械端検出器19が使用され、これら検出器によってフィードバック信号を得る。
図45はACサーボモータの電流制御部を示している。この電流制御部は、q軸電流指令値を出力する速度制御部20と、後述するPWM変調部25を構成する半導体素子を保護するために速度制御部20が出力するq軸電流指令値を制限するリミッタ21と、ACサーボモータ8へ出力されたU相、V相の電流をd、q軸電流に変換するd−q座標変換部22と、d軸電流指令値とd−q座標変換部22が出力するd軸電流値との偏差を与えられてこれが零によるようにd軸電圧指令を生成する電流制御器23aと、速度制御部20が出力するq軸電流指令値とd−q座標変換部22が出力するq軸電流値との偏差を与えられてこれが零になるようにq軸電圧指令を生成する電流制御器23bと、電流制御器23a、23bが出力するd、q軸電圧指令を3相変換し、U、V、W相の電圧指令を生成する3相変換部24と、3相変換部24が出力する各相の電圧指令からACサーボモータ8へ出力する3相交流を生成するPWM変調部25とにより構成されている。
上述のような構成においては、NC装置10が位置指令値を出力すると、セミクローズドループの場合はモータ端検出器18、フルクローズドループの場合は機械端検出器19による位置フィードバック値が位置指令値と一致するように位置制御器11によって速度指令が生成され、速度制御器12ではその速度指令値がモータ端検出器18により検出された速度フィードバック値と一致するようにq軸電流指令が生成される。q軸電流指令に対してd軸電流指令は、通常0を与えられる。
その指令に追従するようにACサーボモータ8を駆動するための3相交流電流は、q軸電流指令およびd軸電流指令とにより、最終的には図43に示されている半導体スイッチング回路4によってPWM変調して出力される。
つぎに上記のような従来のサーボモータ駆動装置における保護機能の動作について説明する。上述のように、NC装置10からの位置指令に追従するようにq軸電流指令が生成されたときに、これが半導体スイッチング回路4の許容電流値を超えるような場合には、リミッタ21によって電流制限が行われる。
また、電流指令値、あるいは電流検出部5により検出される相電流値の許容電流値に対する割合が、ある大きさを超え、それが一定時間経過すると、過負荷アラームとして所定のアラーム処理が行われる。また、位置制御部11に与えられた位置指令値と位置フィードバック値との偏差が、理論的に計算される偏差に対してある割合以上離れた値となると、偏差差過大として所定のアラーム処理が行われる。
また、半導体スイッチング回路4の各トランジスタに流れる電流を検出し、これが過電流と認識されるか、あるいは多軸の駆動装置やコンバータ部、あるいは、NC装置からのゲート遮断要求が発生した場合には、ハードウェアにより半導体スイッチング回路部の各トランジスタのゲートが遮断される。
また、機械端検出器19を有するフルクローズドループにおいて、機械端検出器19の分解能およびパルス数と、モータ端検出器18の分解能およびパルス数とにより正常時には機械端とモータ端とで一致し零となるように演算されたはずのパルス数の差が、ある許容範囲を超えるような場合には、フィードバック異常として所定のアラーム処理が行われる。
従来のサーボモータ駆動装置では、モータ出力端子に流れる各相の電流の電流波形のパターンを監視する機能を持たないため、モータ出力端子の誤結線を検出することができず、単なる偏差過大や過負荷アラームとして稼働を停止させることしかできないといった問題点がある。
また、そのモータ出力端子にかかる各相の電圧を検出する機能を持たないため、モータ出力端子の未接続やコンバータ母線の未接続を検出することもできないといった問題点がある。
また、サーボモータの電流制御を行うインバータ部におけるトランジスタへのゲート遮断信号および、そのゲート遮断要求信号の種類を監視する機能を持たないため、偏差過大、フィードバック異常等のアラームをさらに詳細に要因判別することができないといった問題点がある。
また、機械端検出器を有するフルクローズドループにおいて、偏差過大や過負荷アラーム、フィードバック異常などのアラームが起こった場合、それらの要因をさらに詳細に判別する機能を持たないため、稼働を停止せざるを得なかったり、その原因解明に多くの時間を費やしたりするといった問題点がある。
また、加減速時などに偏差過大や過負荷アラームが生じた場合、それが加減速時定数不足のために起こったのか、あるいは異常負荷が生じたために起こったのかを区別する手段を持たないため、パラメータを自動的に再調整すれば、稼働を止めることなく運転を継続できるような場合でも、稼働を停止せざるを得ないという問題点があった。
また、検出器の型式を判別することが行われないため、パラメータによる検出器設定と実際に接続された検出器の通信仕様が異なった場合、無信号アラームを発生させ、検出器や接続ケーブルの不良と判断を誤らせると共に、復旧が長引いたり単純なパラメータ設定ミス稼働に入れない等の問題点があった。
この発明は、上述のような問題点を解消するためになされたものであり、誤差拡大アラーム、オーバーシュートの発生を抑制し、誤差拡大などの発生が起こることなくシステムの稼動を続行させ、安定で信頼性の高いサーボモータ制御方法および装置を得ることを目的としている。
上述の目的を達成するために、この発明では、位置指令値と位置フィードバック値との偏差により速度指令を作成し、該作成した速度指令と速度フィードバック値との偏差により電流指令を作成し、該作成した電流指令と電流指令フィードバック値との偏差によりサーボモータを駆動制御するとともに、前記速度制御部から出力される電流指令を所定の電流制限値でクランプするサーボモータ制御方法において、早送り加速中である場合は、前記電流指令値が前記所定の電流制限値でクランプされているか否かを判別する第1ステップと、前記電流指令値が所定の電流制限値でクランプされている場合は、位置指令を間引くことにより単位時間当たりの位置指令の変化を制限する第2のステップと、前記クランプ解除後、前記間引きによる不足分の位置指令を前記位置指令に加算する第3ステップとを備えることを特徴とする。
つぎの発明では、位置指令値と位置フィードバック値との偏差により速度指令を作成し、該作成した速度指令と速度フィードバック値との偏差により電流指令を作成し、該作成した電流指令と電流指令フィードバック値との偏差によりサーボモータを駆動制御するとともに、前記速度制御部から出力される電流指令を所定の電流制限値でクランプするサーボモータ制御方法において、早送り中である場合は、前記電流指令値が前記所定の電流制限値でクランプされているか否かを判別する第1ステップと、前記電流指令値が所定の電流制限値でクランプされている場合は、位置ループゲインを減少させる第2のステップと、前記クランプ解除後、所定の定速度運転に達すれば、位置ループゲインを徐々に元の値まで増加させる第3ステップとを備えることを特徴とする。
つぎの発明では、上記の発明において、前記第2のステップでは、前記位置ループゲインを所定の時定数をもって減少させることを特徴とする。
つぎの発明では、位置指令値と位置フィードバック値との偏差により速度指令を作成し、該作成した速度指令と速度フィードバック値との偏差により電流指令を作成し、該作成した電流指令と電流指令フィードバック値との偏差によりサーボモータを駆動制御するとともに、前記速度制御部から出力される電流指令を所定の電流制限値でクランプするサーボモータ制御方法において、早送り中である場合は、前記電流指令値が前記所定の電流制限値でクランプされているか否かを判別する第1ステップと、前記電流指令値が所定の電流制限値でクランプされている場合は、現在の位置偏差およびモータの定格回転数から速度指令をモータ定格回転数相当としたときの位置ループゲイン値を求め、該求めた位置ループゲイン値まで位置ループゲインを減少させる第2のステップと、前記クランプ解除後、所定の定速度運転に達すれば、位置ループゲインを徐々に元の値まで増加させる第3ステップとを備えることを特徴とする。
この発明によれば、早送り加速中に電流指令値が電流制限値に達すれば、単位時間当たりの位置指令の変化量を抑制させるから、誤差過大アラームの発生はもとよりオーバーシュートが発生し難くなり、安定で信頼性の高いサーボ制御システムが得られる。
つぎの発明によれば、異常負荷の影響で、早送り中にサーボアンプの最大出力トルクに達するような場合、その間のみ位置ループゲインを低下させてサーボ系の動きを緩やかでよいようにするので、誤差過大などの発生が起こることなくシステムの稼働を続行できる信頼性のサーボ制御システムが得られる。
つぎの発明によれば、早送り中異常負荷の影響で、サーボアンプの最大出力トルクに達した場合には、位置ループゲインをある時定数で低減するから、誤差過大アラームが発生することなくシステムの稼働を続行できる信頼性の高いサーボ制御システムが得られる。
つぎの発明によれば、早送り中に異常負荷の影響で、サーボアンプの最大出力トルクに達した場合には、速度指令がモータ定格回転数相当の値としたときの位置ループゲインを現在のドループ量から演算して常に速度指令がモータ定格回転数を超えることなく制御するから、誤差過大アラームが発生することなくシステムの稼働を続行できるサーボ制御システムが得られる。
以下に、本発明の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。この発明の実施例において上述の従来例と同一構成の部分は、上述の従来例に付した符号と同一の符号を付してその説明を省略する。
図1はこの発明によるサーボ制御システムの異常検出・診断方法の実施に使用するサーボモータ駆動装置の一実施例を示している。このサーボモータ駆動装置では、モータ出力端子に流れる相電流を検出する電流検出器5はU相とV相の電流に加えてW相の電流も検出する。
このサーボモータ駆動装置は電圧検出回路9a、9b、9cを有している。電圧検出回路9a、9b、9cは、U相、V相、W相の各相間の電圧を分圧し、各相間の電圧に比例する電圧をA/D変換器6へ出力する。A/D変換器6は、電圧検出回路9a、9b、9cにより検出された電圧をディジタル値に変換し、そのディジタル信号をCPU7へ出力する。
図2はこの発明によるサーボ制御システムの異常検出・診断方法におけるモータ出力端子の結線診断ルーチンを示している。この結線診断ルーチンでは、先ず、電源オン後にステップS101において、q軸電流指令Iqaをサンプリング周期毎に検出し、つぎのステップS102へ進む。
ステップS102では、検出したq軸電流指令Iqaの絶対値がある大きさIR 以上であるか否かを判別し、q軸電流指令Iqaの絶対値がある大きさIR 以上であれば、加速要求中と認識してステップS104へ進む。これに対し加速要求中であると認識されない場合には、ステップS103へ進む。
ステップS103では、加速指令実績フラグが既にオンしているか否かを判別し、加速指令実績フラグが既にオンしていれば、一回目の加速要求が終了したと認識する。もし、モータ出力端子の結線に誤結線があるならば、一回目の加速要求は誤差過大や過負荷アラームが起こるまで続くので、加速指令実績フラグがオンし、既に一回目の加速要求が終了したと認識される場合には正常な結線が行われているとして結線診断ルーチンを終了する。これに対し加速指令実績フラグがまだオンしていない場合には、電源オン後一度も加速指令要求が起こっていないと認識し、ステップS101へ戻る。
ステップS104では、電源オン後加速指令要求が起こったことをステップS103で認識するため、加速指令実績フラグをオンし、つぎのステップS105へ進む。ステップS105では、U相、V相、W相の電流をサンプリング周期毎に検出する。なお、W相の電流は必ずしも検出する必要はなく、その3相のうちの2相の電流を検出すればよいが、ここでは3相すべての電流を検出する。
つぎのステップS106では、検出した各相の電流の絶対値を電流極性の正側と負側とでそれぞれ別々に前回までのピーク値と比較する。その比較結果より今回の値が前回までのピーク値を更新するか、もしくは同等のレベルと判別されるときにはつぎのステップS107へ進み、そうでないときはステップS109へ進む。
ステップS107では、電流極性の正側、負側とでピーク値をそれぞれ更新、もしくは同レベルの値をマークした値を新たにステップS106で比較するために用いるピーク値として書き換え、つぎのステップS108へと進む。ステップS108では、電流極性の正側、負側とでピーク値をそれぞれ更新、もしくは同レベルの値をマークした相の認識データを、正側と負側とでそれぞれ別々に用意されたメモリへ順番に保存し、つぎのステップS109へ進む。
ステップS109では、前ステップS108で保存された認識データの量がある量を超えたときつぎのステップS110へ進み、そうでないときはステップS101へ戻る。ステップS110では、ステップS108で保存された認識データより電流波形のパターンを見いだし、モータ出力端子の誤結線の有無を判定する。
加速指令がモータ正転要求である場合には、図3−1に示されているように、電流極性の正負両側ともにU相を基準としてU、V、W相の順で保存されているパターンとなっていれば、正常なUVW相の結線がなされていると判定し、これに対し正負両側ともにU、W、V相のパターンとなっていれば、VWU相あるいはWUV相となる誤結線がなされていると判定する。
加速指令がモータ逆転要求である場合には、図3−2に示されているように、電流極性の正負両側ともにU相を基準としてU、W、V相の順で保存されているパターンとなっていれば、正常なUVW相の結線がなされていると判定し、これに対し正負両側ともにU、V、W相のパターンとなっていれば、VWU相あるいはWUV相となる誤結線がなされていると判定する。
またいずれの場合も、電流極性の正側、負側の認識データのパターンが一致しない場合には、その他の誤結線と判定する。これらの判定により結線診断ルーチンは終了する。これによりモータ出力端子の誤結線が自動的に検出され、これが誤った状態のまま運転されることが回避される。また、上述のように、UVW相の誤結線を判定した後、電圧指令出力相をソフトウェア的に自動的に切り換えて運転を続行することもできる。
この場合には、図3に示されているような誤結線の判定結果に基づいてソフトウェア処理により各電圧指令出力相を相互に入れ換え、この結線が仮想的に正しい結線になるようにする。これはこの発明によるサーボ制御システムの自動適正化方法の一つの実施例である。
図4はこの発明によるサーボ制御システムの異常検出・診断方法におけるモータ出力端子およびコンバータ母線の接続診断に使用する相電圧検出ルーチンを示している。ステップS201では、電圧検出部9a〜9cにより検出され、A/D変換器6によりディジタル信号に変換されてCPU7に取り込まれたUV相間電圧Vuv、VW相間電圧Vvw、WU相間電圧Vwuの各データを所定の時間毎にサンプリングする。
つぎのステップS202では、そのデータを基にして各相のスイッチング電圧Vua,Vva,Vwaを算出する。
Vua=(Vuv−Vwu)/3
Vva=(Vvw−Vuv)/3
Vwa=(Vwu−Vvw)/3
ステップS202で算出した電圧Vua,Vva,Vwaはインバータ部におけるスイッチング電圧であって離散的なデータであるから、相電圧の大きさを評価しやすいようにするために、つぎにステップS203では、電機子インダクタンスL、電機子抵抗Rのノミナル値を用いてフィルタを通し、連続的に滑らかな相電圧Vu ,Vv ,Vw を得る。
Vu =R・Vua/(Ls+R)
Vv =R・Vva/(Ls+R)
Vw =R・Vwa/(Ls+R)
sはラプラス演算子。
図5はこの発明によるサーボ制御システムの異常検出・診断方法におけるモータ出力端子の接続診断ルーチンを示している。このモータ出力端子接続診断ルーチンでは、先ずステップS300において、i=1とし、ステップS301で相電圧Vi(Vu あるいはVv 、Vw )が所定値VR 以上であるか否かを判別する。Vi≧VR であれば、つぎのステップS302に進む。
ステップS302では、その数サンプリング前後の相電流Ii(Iu あるいはIv 、Iw )を検出し、つぎにステップS303では、相電流Iiが概ね零であるか否かを判別する。相電流Iiが概ね零0であれば、ステップS304に進み、i相が未接続であると判別する。
i=1はU相、i=2はV相、i=3はW相と、予め定義されていることから、ステップS301〜ステップS303は、ステップS305におけるi≧3の判別と、ステップS306におけるi=i+1による検出対象相iの更新により、U相、V相、W相の順に各相について行われる。これによりU相、V相、W相のそれぞれについてモータ出力端子の未接続が自動的に的確に検出される。
図6はこの発明によるサーボ制御システムの異常検出・診断方法におけるコンバータ母線の接続診断ルーチンを示している。このコンバータ母線接続診断ルーチンでは、まずステップS401において、q軸電流指令Iqaの絶対値がある大きさIR 以上となっているか否かの判別を行う。q軸電流指令Iqaの絶対値がある大きさIR 以上であれば、ステップS402に進む。
ステップS402では、ステップS401でアンプが加速を要求中と認識される場合にも算出した相電圧Vu ,Vv ,Vw のいずれもが概ね零であるか否かを判別する。相電圧Vu ,Vv ,Vw のいずれもが概ね零であれば、ステップS403に進み、コンバータ母線未接続と判定する。これによりコンバータ母線が未接続であることが自動的に的確に検出される。
図7はこの発明によるサーボ制御システムの異常検出・診断方法の実施に使用する電流制御部(インバータ部)の半導体スイッチング回路4におけるトランジスタのゲート制御回路を示している。このゲート制御回路は半導体スイッチング回路4に過電流が流れたことを検出する過電流検出器29を有している。
CPU7は、過電流検出器29により過電流が流れたことを示す信号をラッチ回路30より、他軸のアンプやコンバータによるゲート遮断要求が起こったこと示すゲートオフ信号をラッチ回路31より、NCからのゲートオフ信号をラッチ回路32よりそれぞれ個別に取り込むと共に、アンドゲート33よりこれら3個の信号の論理積信号を入力する。
半導体スイッチング回路4のトランジスタTrのゲートにはアンドゲート34が接続されており、アンドゲート34はアンドゲート33の出力信号とCPU7が出力するゲートオン/オフ信号とを入力する。
このゲート制御回路においては、CPU7は、インバータ部に過電流が流れたり、他軸のアンプや、コンバータによるゲート遮断要求が生じたり、あるいはNC装置からのゲートオフ(ゲート遮断)信号が発生したにも拘らず、何のアラームも検知せずに正常に稼働しているとしてアンドゲート34へゲートオフ信号を出力していない場合、各ラッチ回路31、32の出力を確認し、これに基づいてゲート遮断要求信号を発生した部分に対応したフラグを立てると共に、その信号が発生した回数を過去の一定時間分メモリに記憶し、これがある回数を超えれば、その発生箇所が異常であると判定する。これにより誤差過大、フィードバック異常等の制御系での異常発生の要因(発生箇所)が判別される。
図8は、この発明によるサーボ制御システムの異常検出・診断方法におけるゲート遮断発生要因の診断ルーチンを示している。この診断ルーチンでは、ステップS451において、所定の周期をもってアンドゲート34に対するゲート遮断の出力状態を監視し、ステップS452で、ゲート遮断出力中、すなわちアンドゲート34へゲートオフ信号を出力しているか否かを判別する。
ゲート遮断出力中でない場合には、ステップS453へ進み、ステップS453では、各要因信号のラッチ回路31,32の出力状態をチェックする。つぎに、ステップS454では、ラッチ回路31、32の出力状態はCPU7のゲート遮断信号出力フラグに反映し、ゲート遮断信号出力フラグがオンしていれば、ステップS445へ進んで、発生した要因のゲート遮断出力回数(ラッチ回路別にゲート遮断信号出力フラグがオンした回数)をカウントする。
つぎに、ステップS456において、ゲート遮断信号出力フラグをオフクリアし、つぎのステップS457で、ゲート遮断出力のカウント値が所定値以上に達したか否かを判別する。ゲート遮断出力のカウント値が所定値以上に達すれば、ステップS458へ進み、その許容回数を超えた要因の異常箇所(たとえば、他軸のコンバータあるいはNC装置)を判定する。
なお、ステップS452において、ゲート遮断出力中である場合には、ステップS459へ進み、一定時間が経過したか否かを判別し、一定時間が経過すれば、ステップS460へ進み、ゲート遮断出力のカウント値を0にクリアする。これにより、誤差過大やフィードバック異常等の制御系異常の発生箇所がすぐに解るようになる。
図9はこの発明によるサーボ制御システムの異常検出・診断方法におけるフィードバックケーブルの配線診断ルーチンを示している。このフィードバックケーブル配線診断は、図44に示されているフルクローズドループによるサーボ制御システムに適用したものであり、先ずステップS501において、NC装置10が出力する位置指令値、機械端検出器19が出力する位置フィードバック値、モータ端検出器18が出力する速度フィードバック値、速度制御部12が出力する電流指令値、電流フィードバック値およびそのそれぞれの極性を電源オン時から常に検出し、監視する。
つぎにステップS502では、これらの信号値がすべて所定値以上であるか否かを判別し、これらの信号値がすべて所定値以上であれば、つぎにステップS503へ進む。ステップS503では、位置フィードバック信号だけが逆極性であるか否かを判別し、位置フィードバック信号だけが逆極性となっていれば、ステップS504に進み、フィードバックケーブルの誤配線と判定する。これによりフィードバックケーブルの誤配線が自動的に的確に検出される。
図10はこの発明によるサーボ制御システムの異常検出・診断方法におけるパラメータ設定診断ルーチンを示している。パラメータ設定診断ルーチンでは、先ずステップS701において、位置フィードバック信号の極性と位置指令の極性とが同極性であるか否かを判別し、これらの極性が等しければ、ステップS702へ進み、これらの極性が等しくない場合には、ステップS706へ進む。
ステップS702では、モータ端検出器18のZ相からZ相までのパルス数をカウントし、これが設定されているモータ端検出器分解能と一致しているかを確認する。これが正しいと判別されるなら、つぎのステップS703に進み、そうでない場合にはステップS705へ進む。
ステップS703では、ある送り量の位置決めを行った場合、機械端位置検出器19の分解能とその時のパルス数からサーボモータ8が何回転したかを算出し、一回転あたりのモータ端検出器18のパルス数を算出する。つぎにステップS704で、この結果が実際のモータ端検出器分解能のX倍になっているとき、真の設定に対して(X=ギヤ比/機械端検出器分解能/ピッチ)倍の設定誤りとなっているかを確認する。ステップS705では、モータ端検出器18の分解能設定異常と判定する。
ステップS706では、フィードバックケーブルの誤配線と判定する。これにより、機械の立ち上げ時にフィードバック異常が発生した場合に、これが機械異常(スケール異常)であるのか、ギヤ比、機械端検出器分解能、ピッチのパラメータ設定違いなのかが区別される。
図11はこの発明によるサーボ制御システムの異常検出・診断方法の実施に使用する電流制御部の内部構成を示している。この電流制御部は、図44に示されている一般的なサーボ制御システムにおける電流制御部13に相当するものであり、図44に示されている従来の電流制御部に、3相変換部26と、トルク算出部27と、モータ位置算出部28とを付加されたものである。
3相変換部26は、d、q軸電流指令値を、加減速指令の最初は実際にモータ端から検出された磁極位置を初期値として用いて3相変換し、モータモデルの3相電流Ium、Ivm、Iwmを求める。トルク算出部27は、3相変換部26が出力するモデル3相電流値Ium、Ivm、Iwmとトルク定数KT とからモデル出力トルクTemを算出する。
モータ位置算出部28は、トルク算出部27が出力するモデル出力トルクTemとイナーシャのノミナル値と磁極数とを用いて、モータモデルの磁極位置θrmを算出し、以降、モータモデルにおける3相変換の3相電流値Ium、Ivm、Iwmと、磁極位置θrmを用いて下式によりモータモデル出力トルクTemを算出する。
Tem=√2/3・KT・{−Ium・sinθrm−Ivm・sin(θrm-2π/3)
−Iwm・sin (θrm-2π/3)}
このようにして算出されたモータモデル出力トルクTemよりモータモデルの位置フィードバック値θm を取得する。そして、上述のようにして得られたモータモデルの位置フィードバック値θm と実際のモータ端位置フィードバック値θとの差を監視して、誤差過大、あるいは過負荷のアラームが起こる直前まで、この差が電流制限後でも許容範囲内にある場合には、加減速時定数不足と判別する。これにより加減速時定数不足が認識される。
また、モータモデルの位置フィードバック値θm と実際のモータ端位置フィードバック値θとの差がある許容範囲を超えたとき、ロータイナーシャや負荷イナーシャの実際と設定値との誤差が許容範囲内にあり、また誤ゲート遮断等が発生していない場合には、これを過負荷と判定する。これにより過負荷、すなわち異常負荷が存在していることが認識される。
図12は、この発明によるサーボ制御システムの異常検出・診断方法における電流制限時の原因追求の診断ルーチンを示している。この診断ルーチンでは、先ず、ステップS801において、モータモデルの位置フィードバック値θmを算出する。
つぎにステップS802において,誤差過大あるいは過負荷のアラームが出力されているか否かを判別し,誤差過大あるいは過負荷のアラームが出力されていれば,ステップS803へ進み,これらアラームが起こる直前まで電流制限が行われていたか否かを判別する。電流制限が行われていれば,ステップS804へ進み,モータモデルの位置フィードバック値θmと実際のモータ端位置フィードバックθとの差が許容値以内であるか否かを判別する。モータモデルの位置フィードバック値θmと実際のモータ端位置フィードバックθとの差が許容値以内であれば,ステップS805へ進み,加減速時定数が不足していると判定する。
これに対し,モータモデルの位置フィードバック値θmと実際のモータ端位置フィードバックθとの差が許容値以内でない場合には,ステップS806へ進み,誤ゲート遮断等が発生していないか否かを判別する。誤ゲート遮断等が発生していなければ,ステップS807へ進み,過負荷であると判定する。
なお,ステップS803で,電流制限が行われていないと判別された場合には,ステップS809へ進み,モータモデルの負荷イナーシャの設定値を調査する。この診断ルーチンにより,加減速時定数の適合性の診断と過負荷判定とが行われる。
この発明によるサーボ制御システムの自動適正化方法は、図43に示されているような一般的なサーボ制御システムにて実施されるものであり、アンプ電源投入時には、セミクローズドループ方式とフルクローズドループ方式のうち、常にセミクローズドループ方式でモータ端検出器18からのフィードバック信号により位置制御を行う。この時に、機械端検出器19からのフィードバック信号も同時に処理し、モータ端検出器18による累積移動距離と極性が一致しているかをチェックする。そして極性が一致している場合には、フルクローズドループ方式による位置制御に移行し、これに対し、極性が逆の場合には、機械端検出器19で累積させた位置情報を反転させてシステム停止させることなくフルクローズドループ方式による位置制御へ自動的に移行する。
図13はこの発明によるサーボ制御システムの自動適正化方法における位置制御方式自動切換ルーチンを示している。ステップS1001では、電源投入直後のため、セミクローズドループ方式による位置制御を実行する。
つぎのステップS1002では、NC装置10からの位置指令による累積移動距離が所定値に達した(たとえば、1mm)か否か、換言すれば指定移動距離が機械端検出器19の極性判定距離に達したか否かを判別する。NC装置10からの位置指令による累積移動距離が所定値に達すれば、ステップS1002へ進む。ステップS1003では、フルクローズドループ側の累積フィードバック位置と指令累積位置の符号を比較し、換言すれば、機械端検出器19の位置フィードバック量と位置指定の極性とが一致しているか否かをチェックする。極性が一致していればステップS1005へ進み、極性が一致していなければ、ステップS1004へ進む。
ステップS1004では、機械端検出器19で生成された累積フィードバック量を反転する。ステップS1005では、今までに移動した分のフィードバック信号をフルクローズドループ側に切り替え、セミクローズドループ方式による位置制御よりフルクローズドループ方式による位置制御へ変更する。
これによりシステム起動時に機械端検出器19の位置フィードバック量と位置指定の極性とが一致していなくても、その極性に関するシステム状態が自動的に適正化され、システムダウンすることなく稼働を続行することができる。
上述のように、自動判別した機械端検出器19のフィードバック逆極性を、不揮発性メモリに記憶し、次回の電源投入時には初回から正しいフィードバック極性をもって位置制御を行うこともできる。ただし、バックラッシュなどの機械要素により、セミクローズドループ方式ではある程度の誤差を含んでいる可能性があるので、切り換えにフィルタ、たとえば、1次遅れを加えることが好ましい。
この発明によるサーボ制御システムの自動適正化方法は、電源投入時から機械端検出器19を使用したフルクローズドループ方式による位置制御を実行し、モータ端検出器18によるフィードバック量との誤差がある一定値以上開いた場合に、機械端検出器19の現在までのフィードバック量を逆転させることで、システム状態を自動的に適正化することもできる。
図14はこの発明によるサーボ制御システムの自動適正化方法における極性自動反転ルーチンを示している。ステップS1101では、電源投入直後に、通常通り、クローズドループ方式による位置制御モードを形成する。つぎのステップS1102では、フルクローズドループ側フィードバック位置PMAとセミクローズドループ側フィードバック位置PMOとの差が予め設定されているフルクローズドループ式フィードバック逆極性判定値CERに達し、しかも互いの符号が異なっているか否かをチェックする。その差が判定値CERに達し、しかも互いの符号が異なっていれば、ステップS1103へ進む。
ステップS1103では、フルクローズドループ側の累積フィードバック位置を反転し、これより以降の移動距離は逆極性として処理する。これにより、この場合も、システム起動時に機械端検出器19の位置フィードバック量の極性が逆になっても、その極性に関するシステム状態が自動的に適正化され、システムダウンすることなく稼働を続行できることができる。この場合も自動判別した機械端検出器19のフィードバック逆極性を、不揮発性メモリに記憶することで、次回の電源投入時には初回から正しいフィードバック極性をもって位置制御を行うこともできる。
図15はこの発明によるサーボ制御システムの自動適正化方法の実施に使用するデュアルフィードバック制御方式のサーボ制御システムを示している。このサーボ制御システムは、モータ端検出器18によるフィードバック位置と機械端検出器19によるフィードバック位置との誤差に一次遅れのフィルタをかける制御部35を有しており、制御部35の出力が実際の位置フィードバック量として使用される。
このデュアルフィードバック制御は、静的にはフルクローズドループ方式で、モータ端検出器18と機械端検出器19の誤差をある時定数をもって追従する制御方式で、低剛性な機械に適用される制御方式である。
図16は上述のデュアルフィードバック制御方式のサーボ制御システムにおける極性自動反転ルーチンを示している。ステップS1201では、電源投入直後に、デュアルフィードバック制御を形成する。この時の1次遅れフィルタの時定数は通常のパラメータ設定値より大きく設定しておく。
つぎのステップS1202では、フルクローズドループ側フィードバック位置PMAとセミクローズドループ側フィードバック位置PMOとの差が予め設定されているフルクローズドループ式フィードバック逆極性判定値CERに達し、しかも互いの符号が異なっているか否かをチェックする。その差が判定値CERに達し、しかも互いの符号が異なっていれば、ステップS1203へ進む。ステップS1203では、フルクローズドループ側の累積フィードバック位置を反転し、これより以降の移動距離は逆極性として処理する。
つぎのステップS1204では、デュアルフィードバック制御の1次遅れフィルタ時定数をパラメータ設定値に戻し、運転を続行する。これにより、この場合も、システム起動時に機械端検出器19の位置フィードバック量の極性が逆になっても、その極性に関するシステム状態が自動的に適正化され、システムダウンすることなく稼働を続行できることができる。この場合も自動判別した機械端検出器19のフィードバック逆極性を、不揮発性メモリに記憶することで、次回の電源投入時には初回から正しいフィードバック極性をもって位置制御を行うこともできる。
図17はこの発明によるサーボ制御システムの自動適正化方法の実施に使用するサーボ制御システムの実施例を示している。このサーボ制御システムは、速度制御部12が演算した電流指令の最大値をクランプする制御部36を含んでいる。
図18はこの発明によるサーボ制御システムの自動適正化方法における加減速時の時定数適正化ルーチンを示している。先ず、ステップS1501では、現在、早送り中であるか否かを判別する。早送り中であれば、ステップS1502へ進み、電流指令値Inをサンプリングする。この電流指令値Inのサンプリングは早送り中一定周期(最大数ms毎)で行う。
つぎにステップS1503では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ipを比較する。|In|の方が大きい場合には、ステップS1504へ進み、最大値Ipを今回の|In|に変更する。
つぎにステップS1505では、今回の早送りが終了したか否かを判別する。ここで云う早送り中とは、1回の移動全時間とする。早送りが終了した場合には、ステップS1506に進み、終了していない場合にはサンプリング周期後にステップS1502に戻り、つぎの電流指令値Inをサンプリングする。ステップS1506では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の早送りにおける電流指令の最大値Ipの比率βを下式により演算する。
β=Ip/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率を理想的出力比率αに近づけるために、今回の早送り時定数Aと、理想的出力比率α、比率βに基づいて次回早送り時定数Bの演算を下式により行う。
B=A・β/α=A・(Ip/Imax・α)
この演算結果により得られた加減速時定数BをAに代入し、この時定数で次回の加減速を行う。これにより加減速が行われる毎に、リアルタイムで最適加減速時定数が演算され、加減速時定数が自動的に適正化され、機械の負荷変動にシステムの安定性が左右されない加減速運転を実現する。なお、アンバンランス軸など、運動方法により負荷が異なる場合には、運動方向により電流指令値の大きい方を基準に時定数を決定する必要がある。
また、通常は、機械的な負荷の変化は、それほど大きな変化を示さないから、数回〜数十回の加減速最大値の平均値か、ピーク値に基づいて加減速時定数を決定してもよい。さらに、朝一番の電源投入時に機械の潤滑性が悪く、最も負荷が大きい場合が多いから、電源投入時の時定数は、大きめ、たとえば、Imax の50%程度にしておき、自動的に時定数を詰めて行くことも考えられる。
図19、図20は、アンバランス軸など、運動方向により必要トルクが異なる場合に好適な時定数適正化ルーチンを示している。先ず、ステップS1601では、現在、早送り中であるか否かを判別する。早送り中であれば、ステップS1602へ進み、早送りの方向を判別する。+方向の早送り中の場合にはステップS1603に進む。これに対し+方向の早送り中でない場合には−方向の早送りであるから、ステップS1611へ進む。ステップS1603では、電流指令値Inをサンプリングする。この電流指令値Inのサンプリングは早送り中一定周期(最大数ms毎)で行う。
つぎにステップS1604では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip+を比較する。|In|の方が大きい場合には、ステップS1605へ進み、最大値Ip+を今回の|In|に変更する。
つぎにステップS1606では、今回の早送りが終了したか否かを判別する。ここで云う早送り中も1回の移動全時間とする。早送りが終了した場合には、ステップS1607に進み、終了していない場合にはサンプリング周期後にステップS1603に戻り、つぎの電流指令値Inをサンプリングする。ステップS1607では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の早送りにおける電流指令の最大値Ip+の比率βを下式により演算する。
β=(Ip+)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率を理想的出力比率αに近づけるために、今回の早送り時定数A+と、理想的出力比率α、比率βに基づいて次回早送り時定数B+の演算を下式により行う。
(B+)=(A+)・β/α=(A+){(Ip+)/Imax・α)}
この演算結果により得られた加減速時定数B+をA+に代入し、この時定数で次回の+方向の加減速を行う。またステップS1609では、電流指令値Inをサンプリングする。この電流指令値Inのサンプリングも早送り中一定周期(最大数ms毎)で行う。
つぎにステップS1610では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip−を比較する。|In|の方が大きい場合には、ステップS1611へ進み、最大値Ip−を今回の|In|に変更する。
つぎにステップS1612では、今回の早送りが終了したか否かを判別する。ここで云う早送り中も1回の移動全時間とする。早送りが終了した場合には、ステップS1613に進み、終了していない場合にはサンプリング周期後にステップS1609に戻り、つぎの電流指令値Inをサンプリングする。ステップS1613では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の早送りにおける電流指令の最大値Ip−の比率βを下式により演算する。
β=(Ip−)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率を理想的出力比率αに近づけるために、今回の早送り時定数A−と、理想的出力比率α、比率βに基づいて次回早送り時定数B−の演算を下式により行う。
(B−)=(A−)・β/α=(A−){(Ip−)/Imax・α)}
この演算結果により得られた加減速時定数B−をA−に代入し、この時定数で次回の−方向の加減速を行う。これにより加減速が行われる毎に、リアルタイムで、運動方向毎の最適加減速時定数が個別に演算され、各運動方向の加減速時定数がそれぞれ個別に自動的に適正化され、機械の負荷変動にシステムの安定性が左右されない加減速運転を実現する。この結果、今までアンバランス軸の上昇に必要なトルクで加減速時定数が決まっていたものが、下降時に小さくでき、加工時間の短縮できる。
機械駆動においては、摩擦力により加速と減速とで、出力トルクが異なり、時定数の最適値が加速と減速とで相違するから、この実施例10では加減速時定数の自動適正化を加速と減速とで分けて行う。
図21、図22は加減速時定数の自動適正化を加速と減速とで分けて行う場合の時定数適正化ルーチンを示している。先ず、ステップS1701では、現在、早送り中であるか否かを判別する。早送り中であれば、ステップS1702へ進み、ステップS1702では速度変化の変化より加速中であるか否かを判別する。加速中であれば、ステップS1704へ進み、そうでない場合にはステップS1703へ進む。
ステップS1703では速度変化の変化より減速中であるか否かを判別する。減速中の場合にはステップS1709に進も、そうでない場合はステップS1701に戻る。ステップS1704では、電流指令値Inをサンプリングする。この電流指令値Inのサンプリングは早送り中一定周期で行う。
つぎにステップS1705では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ipaを比較する。|In|の方が大きい場合には、ステップS1706へ進み、最大値Ipaを今回の|In|に変更する。
つぎにステップS1707では、今回の早送り加速が終了したか否かを判別する。早送り加速が終了した場合には、ステップS1708に進み、終了していない場合にはサンプリング周期後にステップS1704に戻り、つぎの電流指令値Inをサンプリングする。ステップS1708では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の早送りにおける電流指令の最大値Ipaの比率βを下式により演算する。
β=(Ipa)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率を理想的出力比率αに近づけるために、今回の早送り時定数Aaと、理想的出力比率α、比率βに基づいて次回早送り時定数Baの演算を下式により行う。
(Ba)=(Aa)・β/α=(Aa){(Ipa)/Imax・α)}
この演算結果により得られた加速時定数BaをAaに代入し、この時定数で次回の早送り加速を行う。またステップS1709では、電流指令値Inをサンプリングする。この電流指令値Inのサンプリングも早送り中一定周期で行う。
つぎにステップS1710では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip−を比較する。|In|の方が大きい場合には、ステップS1711へ進み、最大値Ipbを今回の|In|に変更する。
つぎにステップS1712では、今回の早送りが終了したか否かを判別する。早送りが終了した場合には、ステップS1713に進み、終了していない場合にはサンプリング周期後にステップS1709に戻り、つぎの電流指令値Inをサンプリングする。ステップS1713では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の早送りにおける電流指令の最大値Ipbの比率βを下式により演算する。
β=(Ipb)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率を理想的出力比率αに近づけるために、今回の早送り時定数Abと、理想的出力比率α、比率βに基づいて次回早送り時定数Bbの演算を下式により行う。
(Bb)=(Ab)・β/α=(Ab){(Ipb)/Imax・α)}
この演算結果により得られた減速時定数BbをAbに代入し、この時定数で次回の早送り減速を行う。これにより加減速が行われる毎に、リアルタイムで、加速、減速毎の最適加減速時定数が個別に演算され、加速時の時定数と減速の時定数とがそれぞれ個別に自動的に適正化され、機械の負荷変動にシステムの安定性が左右されない加減速運転を実現する。
図23〜27は加減速時定数の自動適正化を運動方向および加速と減速とで分けて行う時定数適正化ルーチンを示している。
ステップS1801では、早送りであるか否かを判別する。早送り中でない場合はステップS1801に戻り、早送り中の場合はステップS1802a〜1802dに進む。ステップS1802a〜1802dでは、早送りがつぎの4種類のうちのどれであるかを特定する。すなわちステップS1802aでは、+方向の加速であるか否かを判別し、+方向の加速の場合はステップS1803へ進む。
ステップS1802bでは、−方向の加速であるか否かを判別し、−方向の加速の場合はステップS1813へ進む。ステップS1802cでは、+方向の減速であるか否かを判別し、+方向の減速の場合はステップS1823へ進む。ステップS1802dでは、−方向の減速であるか否かを判別し、−方向の減速の場合はステップS1833へ進む。ステップS1803では、電流指令値Inを早送り中一定周期でサンプリングする。
つぎにステップS1804では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip+aを比較する。|In|の方が大きい場合には、ステップS1805へ進み、Ip+a値を今回の|In|に変更する。
つぎにステップS1806では、今回の早送りが終了したか否かを判別する。早送りが終了した場合には、ステップS1807に進み、終了していない場合にはサンプリング周期後ステップS1803に戻り、つぎの電流指令値Inをサンプリングする。ステップS1807では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の電流指令の最大値Ip+aの比率βを下式により演算する。
β=(Ip+a)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率をαに近づけるために、今回の早送り時定数A+aと、理想出力比率α、比率βに基づいて次回早送り時定数B+aの演算を行う。
(B+a)=(A+a)・β/α
=(A+a)・{(Ip+a)/Imax・α}
この演算結果により得られた加減速時定数(B+a)を(A+a)に代入し、この時定数で次回の早送り+方向加速指令を作成する。ステップS1813では、電流指令値Inを早送り中一定周期でサンプリングする。
つぎにステップS1814では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip−aを比較する。|In|の方が大きい場合には、ステップS1815へ進み、Ip−a値を今回の|In|に変更する。
つぎにステップS1816では、今回の早送りが終了したか否かを判別する。早送りが終了した場合には、ステップS1817に進み、終了していない場合にはサンプリング周期後ステップS1813に戻り、つぎの電流指令値Inをサンプリングする。ステップS1817では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の電流指令の最大値Ip−aの比率βを下式により演算する。
β=(Ip−a)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率をαに近づけるために、今回の早送り時定数A−aと、理想出力比率α、比率βに基づいて次回早送り時定数B−aの演算を行う。
(B−a)=(A−a)・β/α
=(A−a)・{(Ip−a)/Imax・α}
この演算結果により得られた加減速時定数(B−a)を(A−a)に代入し、この時定数で次回の早送り+方向減速指令を作成する。ステップS1823では、電流指令値Inを早送り中一定周期でサンプリングする。
つぎにステップS1824では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ipaを比較する。|In|の方が大きい場合には、ステップS1825へ進み、Ip+d値を今回の|In|に変更する。
つぎにステップS1826では、今回の早送りが終了したか否かを判別する。早送りが終了した場合には、ステップS1827に進み、終了していない場合にはサンプリング周期後ステップS1823に戻り、つぎの電流指令値Inをサンプリングする。ステップS1827では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の電流指令の最大値Ipdの比率βを下式により演算する。
β=(Ip+d)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率をαに近づけるために、今回の早送り時定数A+dと、理想出力比率α、比率βに基づいて次回早送り時定数B+dの演算を行う。
(B+d)=(A+d)・β/α
=(A+d)・{(Ip+d)/Imax・α}
この演算結果により得られた加減速時定数(B+d)を(A+d)に代入し、この時定数で次回の早送り+方向減速指令を作成する。ステップS1833では、電流指令値Inを早送り中一定周期でサンプリングする。
つぎにステップS1834では、サンプリングした電流指令値の絶対値|In|と今回の早送り中における前回までにサンプリングした電流指令の最大値Ip−dを比較する。|In|の方が大きい場合には、ステップS1835へ進み、Ip−d値を今回の|In|に変更する。
つぎにステップS1836では、今回の早送りが終了したか否かを判別する。早送りが終了した場合には、ステップS1837に進み、終了していない場合にはサンプリング周期後ステップS1833に戻り、つぎの電流指令値Inをサンプリングする。ステップS1837では、サーボアンプ等のモータ駆動装置が出力できる最大電流Imaxに対する今回の電流指令の最大値Ip−dの比率βを下式により演算する。
β=(Ip−d)/Imax
理想的な出力比率をαとし、次回の早送り加減速における出力比率をαに近づけるために、今回の早送り時定数A−dと、理想出力比率α、比率βに基づいて次回早送り時定数B−dの演算を行う。
(B−d)=(A−d)・β/α
=(A−d)・{(Ip−d)/Imax・α}
この演算結果により得られた加減速時定数(B−d)を(A−d)に代入し、この時定数で次回の早送り−方向減速指令を作成する。これにより加減速が行われる毎に、リアルタイムで、加速、減速と運動方向毎の最適加減速時定数が演算され、摩擦量を含めた機械負荷変動にシステムの安定性を左右されない加減速運転を実現する。
加減速時の時定数が適正化されても、電流指令値が制限値に達すると、サーボ制御による位置の追従誤差が理想値よりも遅れ、速度のオーバーシュートが起こったり、誤差過大アラームなどが発生し、システムダウンする可能性がある。このことに対策として、早送り加減速中の誤差過大幅判定値を可変にし、誤差過大アラームを発生しにくくする。
図28は誤差過大幅判定値変更ルーチンを示している。ステップS1901では、誤差過大幅判定値DODを標準値DB とする。すなわち、DOB=DB とする。DB の決定方法は、通常、早送り最高速度中(定常状態)に発生する理想ドループ量の50%程度を目安としている。
ステップS1902では、C装置が出力する単位時間当たり位置指令値の変化量により早送り加減速中であるか否かを判別する。早送り加減速中の場合にはステップS1903に進み、そうでない場合には、ステップS1901に戻る。ステップS1903では、誤差過大判定幅DOD=DB ・aとする。aは加減速時誤差過大幅許容係数で、a>1、通常は2程度に設定する。
つぎにステップS1904では、現在の指令入力に対する理想ドループ量(位置偏差量)Diを演算する。つぎにステップS1905では、実際の現時点でのドループ量Dを検出する。つぎにステップS1906では、理想ドループDiと実ドループ量Dの差bを演算する。
つぎにステップS1907では、実ドループ誤差bの絶対値がDODを超えているか否かを判別する。超えていない場合には一定時間経過後にステップS1901に戻り、超えている場合はステップS1908へ進む。ステップS1908では、誤差過大アラームを発生し、非常停止状態にしてNCリセットを待つ。ステップS1909では、NC装置(実際は作業者のインプット)からアラームリセット要求があるか否かを判別し、アラームリセット要求があれば、ステップS1910へ進む。ステップS1910では、非常停止状態を解除し、ステップS1901に戻る。これにより過速度アラーム発生が起こり難く、信頼性の高いサーボ制御システムとなる。
加減速時定数が適正化されたにもかかわらず、電流指令が制限値に達してしまったことに起因してサーボ制御の位置の追従誤差が理想値よりも遅れ、このことにより速度のオーバーシュートが起こったり、誤差過大アラームなどが発生し、システムダウンしてしまう場合には、出力電流(出力トルク)が最大値に達し、速度のオーバーシュートが発生することを免れない。
通常、サーボモータの仕様最大回転数に対して1.2倍程度の速度で回転した場合、過速度アラームが発生し、システムの保護を行っているため、機械の負荷が増大または急変してこのようなモードに入ると、アラームが発生する。この様な場合に対処するために、早送り加減速中のみ過速度アラーム判定値VOSを変更し、このアラームが発生しないようにする。
図29は過速度アラーム判定値変更ルーチンを示している。ステップS2001では、過速度アラーム判定モータ回転数VOSを標準値VB とする。通常VB は使用しているモータの最高回転数の1.2倍程度が妥当である。
つぎにステップS2004では、実際のモータ回転数Vを検出する。つぎにステップS2005では、実モータ回転数Vが過速度アラーム判定値VOSを超えているか否かを判別する。超えていない場合には一定時間経過後にステップS2001に戻り、超えている場合にはステップS2006へ進む。
ステップS2006では、過速度アラームを発生し、非常停止状態にし、NCリセットを待つ。ステップS2007では、NC装置(実際は作業者のインプット)からアラームリセット要求があるか否かを判別し、アラームリセット要求があれば、ステップS2008へ進む。ステップS2008では、非常停止状態を解除し、ステップS2001に戻る。これにより過速度アラーム発生が起こり難く、信頼性の高いサーボ制御システムとなる。
図30はこの発明によるサーボ制御システムの自動適正化方法の実施に使用するサーボ制御システムの実施例を示している。このサーボ制御システムは、位置制御部11が演算した速度指令の最大値をクランプする制御部37を含んでいる。これにより、電流制限に達した場合でも、速度指令を一定値VMAX (モータ最高回転数1.2倍程度)でクランプすることにより、オーバーシュート量を抑えることができる。
この実施例では、早送り加減速中のみ速度指令をクランプする事によりオーバーシュート量を抑え、加速度の大きな指令に対する追従性を犠牲にせず、高速の切削などに影響を与えないようにする。
図31はこの実施例における速度指令クランプルーチンを示している。先ずステップS2201では、速度指令のクランプを解除する。つぎにステップS2202では、NC装置が出力する単位時間当たりの位置指令の変化量により早送り加減速中であるか否かを判別する。加減速中の場合にはステップS2203へ進み、そうでない場合にはステップS2201に戻る。
ステップS2203では、早送り加減速中のため速度指令の最大クランプ値をVMAX とする。ステップS2204では、位置制御により演算された速度指令がVMAX を超えているか否かを判別する。速度指令がVMAX を超えた場合にはステップS2205へ進み、ステップS2205では、速度指令の絶対値をVMAX として出力し、ステップS2201へ戻る。
これにより、加減速中のみ速度指令の最高速度を一定値でクランプすることが行われ、早送り加減速時の時定数の設定が小さかったり、異常負荷の影響でサーボアンプの最大出力トルクに達する様な場合でも、オーバーシュートが起こり難くなる。
この実施例では、電流指令値が電流制限に達した場合にのみ速度指令をクランプする。図32はこの実施例における速度指令クランプルーチンを示している。ステップS2301では、速度指令のクランプを解除し、つぎにステップS2302では、電流指令値Inをサンプリングする。
つぎにステップS2303では、電流指令値Inが電流制限値に達しているか否かを判別する。電流指令値Inが電流制限値に達している場合にはステップS2304に進み、達していない場合にはステップS2305へ進む。ステップS2304では、速度指令の最大クランプ値をVMAX とする。
ステップS2305では、位置制御により演算された速度指令がVMAX を超えているか否かを判別する。速度指令がVMAX を超えた場合にはステップS2306へ進み、ステップS2306では、速度指令の絶対値をVMAX として出力し、ステップS2301へ戻る。
これにより早送り加減速時の時定数の設定が小さかったり、異常負荷の影響でサーボアンプの最大出力トルクに達する様な場合でもオーバーシュートが起こり難く、安定で信頼性の高いサーボ制御システムが得られる。
この実施例では、早送り加速中に、電流指令値が電流制限に達した場合の速度クランプ機能を更に発展させ、速度指令としてオーバーシュートさせる分の位置ドループ量を間引き、減速開始点から減速時定数に分配加算する。
図33はこの実施例の動作フローを示している。ステップS2401では、早送り中であるか否かを判別する。早送り中の場合はステップS2402に進み、そうでない場合はステップS2401に戻る。ステップS2402では、電流指令値が電流制限に達しているか否かを判別する。電流指令値が電流制限に達している場合にはステップS2403へ進み、そうでない場合はステップS2401へ戻る。
ステップS2403では、速度指令をモータ最高回転数VMOでクランプする。そしてVMOから位置ループゲインを演算して得られる最大位置ドループ量DMAX と実ドループ量Dとを比較し、超えている部分の位置ドループDER部分を位置指令から間引く処理を加速中行い、減速を待つ。ステップS2404では、減速であるか否かを判別し、減速が開始されると、ステップS2405へ進む。ステップS2405では、減速が開始された瞬間から間引かれた位置指令分DERを減速時にたし込む。このように制御された速度指令と電流指令の関係は図34に示されている。
これにより早送り加減速時の時定数の設定が小さかったり、異常負荷の影響でサーボアンプの最大出力トルクに達する様な場合でもオーバーシュートが起こり難く、安定で信頼性の高いサーボ制御システムが得られる。
この実施例では、早送り加速中に電流指令値が電流制限値に達した場合、単位時間当たりの位置指令(指令速度)を減速させることにより、オーバーシュートの発生しにくく、誤差過大アラームになり難いようにする。なお、複数軸の補間運転の際には全軸に対し軌跡がずれないように本動作を行う。
図35はこの実施例の動作フローを示している。ステップS2501では、早送り中であるか否かを判別する。早送り中の場合はステップS2502に進み、そうでない場合はステップS2501に戻る。ステップS2502では、電流指令値が電流制限値に達しているか否かを判別する。電流指令値が電流制限値に達していれば、ステップS2503へ進む。
ステップS2503では、NC装置の内部に設定されたサーボモデルの電流指令が電流制御値レベル以上にならないように単位時間あたりの位置指令の変化量を制限する。すなわち、位置指令を間引くことを行う。電流制御が解除されれば、その時点で間引きによる不足分の位置指令をある時定数をもって、あるいは時間分配にて与え、絶対位置を合わせる。これによりオーバーシュートの発生しにくく、誤差過大アラームになり難くなる。
この実施例では、異常負荷の影響で早送り中にサーボアンプの最大出力トルクに達する様な場合、その間のみ全軸の位置ループゲインを低下させて誤差過大などが発生しないようにする。
図36はこの実施例の動作フローを示している。なお、一般的に加速の方が減速時よりも必要トルクが大きいから、ここでは加速時に絞って説明する。ステップS2601では、早送り中であるか否かを判別する。早送り中である場合にはステップS2602へ進む。ステップS2602では、電流指令値が電流制限値に達しているか否かを判別する。電流指令値が電流制限値に達していれば、ステップS2603へ進む。
ステップS2603では、ドループ量が理想値よりも大きな値となり、NC装置がサーボアンプ制御部の電流制限に達した軸の位置ループゲインを下げて行き電流制限が解除された時点で、位置ループゲインをこの早送り中、固定、または一定速度運転に達すれば、徐々に元の値に戻す。これにより、異常負荷の影響で早送り中にサーボアンプの最大出力トルクに達するような場合、その間のみ全軸の位置ループゲインを低下させてサーボ系の動きが緩やかになり、誤差過大などの発生が起こることなく稼働を続行することができる。
この実施例では、早送り中に異常負荷の影響によってサーボアンプの最大出力トルクに達した場合、全軸の位置ループゲインをある時定数で低減し、電流制限が解除された時点の位置ループゲインで、この変化を終了し、移動が終わるまで同一ゲインにより制御する。次回の運転では、上述の加減速時定数適正化により早送り時定数が変更されるため、元の設定位置ループゲインにより移動を開始する。
図37はこの実施例の動作フローを示している。一般的に加速の方が減速時よりも必要トルクが大きいので、ここでも加速時に絞って説明する。ステップS2701では、早送り中であるか否かを判別する。早送り中である場合にはステップS2702へ進む。
ステップS2702では、電流指令値が電流制限値に達しているであるか否かを判別する。電流指令値が電流制限値に達していれば、ステップS2703へ進む。ステップS2703では、ドループ量が理想値よりも大きな値となり、NC10はサーボアンプ制御部の電流制限に達した軸の位置ループゲインをある時定数をもって低減し、電流制限が解除された時点で位置ループゲインをこの早送り中、固定、または一定速度運転に達すれば、徐々に元の値に上げる。これにより誤差過大アラームが発生することなくシステムの稼働を続行することができる。
この実施例では、早送り中、異常負荷の影響によってサーボアンプの最大出力トルクに達した場合、速度指令がV=モータ定格回転数相当+α(αは、モータ定格回転数の2%程度)の値としたときの位置ループゲインを現在のドループ量から演算し、常に速度指令がVの値を超えないようにする。
図38はこの実施例の動作フローを示している。一般的に加速の方が減速時よりも必要トルクが大きいので、ここでも加速時に絞って説明する。ステップS2801では、早送り中であるか否かを判別する。早送り中であれば、ステップS2802へ進む。
ステップS2802では、電流指令値が電流制限値に達しているか否かを判別する。電流指令値が電流制限値に達すれば、ステップS2803へ進む。ステップS2803では、ドループ量が理想値よりも大きな値となり、NC装置がサーボアンプ制御部の電流制限になった軸の位置ループゲインKpを次式により計算される値に低減し、電流制限値が解除された時点で位置ループゲインKpをこの早送り中、固定、または一定速度運転に達すると、徐々に元の値に上げる。
Kp=(モータの定格回転数+α)/60・D
Dはドループ量である。
これにより、この実施例でも誤差過大アラームが発生することなく、システムの稼働を続行することができる。
位置フィードバックに用いる検出器の絶対位置化や高分解能化の進展にともないI/Fの方法も多種多様になっており、これらのあらゆる検出器に対応するためには受信ラインを極力併用する必要がある。
この実施例では、3種類の異なる検出器I/Fに対応した受信ラインとサーボパラメータによる検出器の設定に頼らず自ら取り付けられた検出器の種類を電源投入時に自動判別し、パラメータで指定された検出器タイプと実際に接続されている検出器が異なる場合にはパラメータ異常アラームを発生する。
図39の左側はフィードバック検出回路例を示している。このフィードバック検出回路は、パルス出力の位置、速度制御要ABZ相+同期モータの初期磁極用UVW相を有するインクリメンタル検出器と、初期的に絶対位置をシリアル通信で送受信(RQとDT)し、その後の交信をA、B、Z相で行う絶対位置検出器と、常に絶対位置データをシリアル通信(RQとDTのみ)で行う検出器の3種類の入出力回路を共用する回路である。
図39において、左側上からのA相、B相、Z相、U相、V相、W相の差動入力である。この例ではU相とRQ(シリアルデータリクエスト)、V相とDT(シリアルデータライン)を兼用している。
このフィードバック検出回路は、差動レシーバ171a〜171fと、差動の入力が接続されている事を検出するイクスクルシブ回路172a〜172fと、ABZ相パルスにより計数されるインクリメンタルカウンタ(フィードバック量作成カウンタ)173と、シリアル通信のうちリクエスト部分をサポートするシリアルリクエストI/F回路174と、検出器からのデータを格納する受信バッファ(シリアルデータ受信I/F回路)175と、初期磁極用UVW相の状態を観察するUVW相リードポート176と、各相の無信号状態を観察するための各相無信号状態リードポート177とを有している。なお、イクスクルシブ回路には、図40に示されているように、終端抵抗が接続されているため、イクスクルシブ回路はオープン状態では必ず出力が1となる。
図39の右側は3種類の検出器が接続された場合のリードポート177の状態を示している。シリアル検出器リクエストラインのドライバイネーブルラインは、電源投入時にはディーゼブルにしておき、6個の入力状態を検出器が正常だとすると、図39の右側に示されているような情報が得られる。この情報とNC装置より送られてくる検出器型名パラメータを照合し、相違する場合はパラメータ異常アラームを発生させる。
図41はこのパラメータ異常診断ルーチンを示している。先ず、ステップS2901では、全相入力ラインと設定し、つぎのステップS2902では、無信号状態を調べる。
つぎにステップS2903では、無信号状態により接続されている検出器を判定する。ステップS2904では、検出器型名を示すパラメータと接続されている検出器を照合する。ステップS2905では、検出器型名を示すパラメータと接続されている検出器とが一致しているか否かを判別する。一致しない場合には、ステップS2906へ進み、パラメータ異常アラームを発生させシステムダウンさせる。これにより、パラメータで指定された検出器タイプと実際に接続されている検出器が異なる場合にはパラメータ異常アラームが発生し、不具合発生時の原因追求が容易に行われるようになる。
この実施例では、上述の自動判別によってパラメータで指定された検出器と異なる場合には、実際に接続された検出器のI/Fに切り換え、検出器の接続状態を自動的に適正化する。
図42はこの実施例の動作フローを示している。先ず、ステップS3001では、全相入力ラインと設定し、つぎのステップS3002では、無信号状態を調べる。つぎにステップS3003では、無信号状態により接続されている検出器を判定する。
ステップS3004では、検出器型名を示すパラメータと接続されている検出器を照合する。ステップS3005では、検出器型名を示すパラメータと接続されている検出器とが一致しているか否かを判別する。一致しない場合には、ステップS3006へ進み、接続されていると判断される検出器のI/Fに送受信部設定を合わせる。これによりパラメータ設定にミスがあっても無信号等のアラームを発生させることなく検出器に合わせた検出回路が構成され、システムが正常に動作する。
以上のように、本発明にかかるサーボ制御システムの異常検出・診断方法および自動適正化方法、並びにサーボ制御システムの異常検出・診断装置および自動適正化装置は、工作機械、ロボット等を制御する数値制御装置等に有用である。
サーボモータ駆動装置の一実施例を示すブロック線図である。
モータ出力端子の結線診断ルーチンを示すフローチャートである。
誤結線の判定結果を示す説明図である。
誤結線の判定結果を示す説明図である。
モータ出力端子およびコンバータ母線の接続診断に使用する相電圧検出ルーチンを示すフローチャートである。
モータ出力端子の接続診断ルーチンを示すフローチャートである。
コンバータ母線の接続診断ルーチンを示すフローチャートである。
電流制御部のゲート制御回路を示すブロック線図である。
ゲート遮断発生要因の診断ルーチンを示すフローチャートである。
フィードバックケーブルの配線診断ルーチンを示すフローチャートである。
パラメータ設定診断ルーチンを示すフローチャートである。
電流制御部の内部構成を示すブロック線図である。
電流制御時の原因追求の診断ルーチンを示すフローチャートである。
位置制御方式自動切換ルーチンを示すフローチャートである。
極性自動反転ルーチンを示すフローチャートである。
デュアルフィードバック制御方式のサーボ制御システムを示すブロック線図である。
デュアルフィードバック制御方式のサーボ制御システムにおける極性自動反転ルーチンを示すフローチャートである。
サーボ制御システムの実施例を示すブロック線図である。
時定数適正化ルーチンの一実施例を示すフローチャートである。
時定数適正化ルーチンの他の実施例を示すフローチャートである。
時定数適正化ルーチンの他の実施例を示すフローチャートである。
時定数適正化ルーチンのもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンのもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンの他のもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンの他のもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンの他のもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンの他のもう一つの実施例を示すフローチャートである。
時定数適正化ルーチンの他のもう一つの実施例を示すフローチャートである。
誤差過大判定値変更ルーチンを示すフローチャートである。
過速度アラーム判定値変更ルーチンを示すフローチャートである。
サーボ制御システムの一実施例を示すブロック線図である。
速度指令クランプルーチンの一実施例を示すフローチャートである。
速度指令クランプルーチンの他の実施例を示すフローチャートである。
速度・位置制御ルーチンの一実施例を示すフローチャートである。
速度指令と電流指令との関係を示すグラフである。
速度・位置制御ルーチンの他の実施例を示すフローチャートである。
速度・位置制御ルーチンのもう一つの実施例を示すフローチャートである。
速度・位置制御ルーチンの他の一つの実施例を示すフローチャートである。
速度・位置制御ルーチンの他のもう一つの実施例を示すフローチャートである。
フィードバック検出回路例および3種類の検出器が接続された場合のリードポートの状態を示す図である。
イクスクルシブ回路の一例を示す回路図である。
パラメータ異常診断ルーチンを示すフローチャートである。
検出器の接続状態自動適正化ルーチンを示すフローチャートである。
サーボ制御システムにて使用される一般的なサーボモータ駆動装置を示すブロック線図である。
一般的なサーボ制御システムを示すブロック線図である。
ACサーボモータの電流制御部を示すブロック線図である。
符号の説明
1 3相交流電源,2 整流回路,3 平滑コンデンサ,4 半導体スイッチング回路,5 電流検出部,6 A/D変換器,7 CPU,8 ACサーボモータ,9a、9b、9c 電圧検出回路,10 NC装置,11 位置制御部,12 速度制御部,13 電流制御部,15 減速歯車,16 送りねじ,17 テーブル,18 モータ端検出器,19 機械端検出器,20 速度制御部21 リミッタ,22 d−q座標変換部 23a、23b 電流制御器,24 3相変換部,25 PWM変調部,26 3相変換部,27 トルク算出部,28 モータ位置算出部,29 過電流検出器,30、31、32 ラッチ回路,33、34 アンドゲート 35、36、37 制御部,171a〜171f 差動レシーバ,172a〜172f イクスクルシブ回路,173 インクリメンタルカウンタ(フィードバック量作成カウンタ),174 シリアルリクエストI/F回路,175 受信バッファ(シリアルデータ受信I/F回路),176 UVW相リードポート,177 各相無信号状態リードポート。