(57)【要約】【課題】  モータ制御装置において、異常発生時に、多くの記憶領域を必要とせず、簡単な判断で異常原因が制御装置のどの部分にあるかを特定できるようにする。【解決手段】  位置フィードバック信号が位置指令に一致するように位置及び速度制御を行うモータ制御装置において、駆動電流を入力してモータの動作を模擬し、模擬モータ位置を出力するモータ動作模擬部と、モータ位置を入力し、モータ位置が正常な状態か否かを判断するモータ位置診断部と、模擬モータ位置を入力し、模擬モータ位置が正常な状態か否かを判断する模擬モータ位置診断部と、モータ位置と模擬モータ位置を入力し、モータ位置と模擬モータ位置のいずれかを位置フィードバック信号として出力するフィードバック信号切り替え部を備える。【選択図】    図１
2005346455.tif 000002
【特許請求の範囲】
【請求項１】
モータ位置に基づいて作成された位置フィードバック信号を入力し、位置指令に前記位置フィードバック信号が一致するよう位置制御及び速度制御を行い、トルク指令を出力する位置・速度制御部と、前記トルク指令を入力し、駆動電流をモータへ出力する電流制御部とモータの位置を検出して出力する検出器とを備えたモータ制御装置において、
モータの回転子慣性モーメントとそのモータが駆動している負荷の慣性モーメントをそのモータの回転軸に換算した慣性モーメントとの和とモータのトルク定数と前記駆動電流とに基づいて模擬モータ位置を計算するモータ動作模擬部と、
前記モータ位置を入力し、前記モータ位置に基づくデータと予め設定した評価関数とを比較することによりモータの動作が正常な状態か否かを判断してフィードバック切り替え信号を作成するモータ位置診断部と、
前記模擬モータ位置を入力し、前記モータ位置に基づくデータと予め設定した評価関数とを比較することにより模擬したモータの動作が正常な状態か否かを判断する模擬モータ位置診断部と、
前記モータ位置と前記模擬モータ位置を入力し、前記フィードバック切り替え信号の状態によって、前記モータ位置と前記模擬モータ位置のいずれかを位置フィードバック信号として出力するフィードバック信号切り替え部、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記フィードバック信号切り替え部は、前記モータ位置診断部において前記モータ位置が正常と判定されたときは前記モータ位置を前記位置フィードバック信号として出力し、前記モータ位置診断部において前記モータ位置が異常と判定されたときには、前記模擬モータ位置を前記位置フィードバック信号として出力することを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記モータ位置診断部において前記モータ位置が異常と判定された際、前記模擬モータ位置診断部において前記模擬モータ位置が異常と判定されたら前記位置・速度制御部または前記電流制御部に異常原因があると判断し、前記模擬モータ位置診断部において前記模擬モータ位置が正常と判定されたら前記位置・速度制御部および前記電流制御部以外に異常原因があると判断することを特徴とする請求項２記載のモータ制御装置。
【請求項４】
前記トルク指令を入力して、模擬駆動電流を計算してモータ動作模擬部に出力する電流制御模擬部を備え、
前記モータ動作模擬部は、前記駆動電流の代わりに前記模擬駆動電流を入力することを特徴とする請求項１または請求項２記載のモータ制御装置。
【請求項５】
前記モータ位置診断部において前記モータ位置が異常と判定された際、前記模擬モータ位置診断部において前記模擬モータ位置が異常と判定されたら前記位置・速度制御部に異常原因があると判断し、前記模擬モータ位置診断部において前記模擬モータ位置が正常と判定されたら前記位置・速度制御部以外に異常原因があると判断することを特徴とする請求項４記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にロボットや工作機械などを駆動するモータ制御装置、特に、故障発生後に故障原因の診断を行うモータ制御装置に関する。
【背景技術】
【０００２】
従来のモータ制御装置は、故障時の波形とシミュレーション波形が同一となるように探索を行い、データテーブルを利用して故障原因の診断を行っている（例えば、特許文献１参照）。
図５において、５１はアンプ(サーボアンプ)であり、ロボット５２を駆動する位置指令、速度指令、位置フィードバック、電流値などを記憶する。５３はコントローラであり、前記アンプ５１に位置指令を送るとともに、前記アンプ５１から診断に必要な情報を受け取る。
図５において、故障診断部５４が故障の発生を検出すると、故障原因解析部５５が故障時の波形とシミュレーション波形が同一となるようなシミュレーションパラメータを探索し、予め記憶されたシミュレーションパラメータと故障原因の関連データテーブルから故障原因を推定することで、故障原因の診断を行う。
このように、従来の故障原因の診断を行うモータ制御装置は、故障時の波形とシミュレーション波形が同一となるように探索を行い、データテーブルを利用して故障原因を推定するのである。
【特許文献１】特開平６−３４４２９３号公報（第１０頁、第５図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のモータ制御装置は、故障時の波形とシミュレーション波形が同一となるように探索を行う際、シミュレータが故障時の波形を再現できない場合、制御装置のどの部分に異常があるかを特定できない。また、データテーブルに用いる多くの記憶領域が必要であるという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、異常発生時に、簡単な判断で異常原因が制御装置のどの部分にあるかを特定でき、かつ多くの記憶領域を必要としないモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成したのである。
【０００５】
請求項１に記載の発明は、モータ位置に基づいて作成された位置フィードバック信号を入力し、位置指令に前記位置フィードバック信号が一致するよう位置制御及び速度制御を行い、トルク指令を出力する位置・速度制御部と、前記トルク指令を入力し、駆動電流をモータへ出力する電流制御部とモータの位置を検出して出力する検出器とを備えたモータ制御装置において、
モータの回転子慣性モーメントとそのモータが駆動している負荷の慣性モーメントをそのモータの回転軸に換算した慣性モーメントとの和とモータのトルク定数と前記駆動電流とに基づいて模擬モータ位置を計算するモータ動作模擬部と、
前記モータ位置を入力し、前記モータ位置に基づくデータと予め設定した評価関数とを比較することによりモータの動作が正常な状態か否かを判断してフィードバック切り替え信号を作成するモータ位置診断部と、
前記模擬モータ位置を入力し、前記モータ位置に基づくデータと予め設定した評価関数とを比較することにより模擬したモータの動作が正常な状態か否かを判断する模擬モータ位置診断部と、
前記モータ位置と前記模擬モータ位置を入力し、前記フィードバック切り替え信号の状態によって、前記モータ位置と前記模擬モータ位置のいずれかを位置フィードバック信号として出力するフィードバック信号切り替え部、
を備えることを特長とするものである。
【０００６】
また、請求項２に記載の発明は、前記フィードバック信号切り替え部は、前記モータ位置診断部において前記モータ位置が正常と判定されたときは前記モータ位置を前記位置フィードバック信号として出力し、前記モータ位置診断部において前記モータ位置が異常と判定されたときには、前記模擬モータ位置を前記位置フィードバック信号として出力するとすることを特長とするものである。
【０００７】
また、請求項３に記載の発明は、前記モータ位置診断部において前記モータ位置が異常と判定された際、前記模擬モータ位置診断部において前記模擬モータ位置が異常と判定されたら前記位置・速度制御部または前記電流制御部に異常原因があると判断し、前記模擬モータ位置診断部において前記模擬モータ位置が正常と判定されたら前記位置・速度制御部および前記電流制御部以外に異常原因があると判断することを特徴とするものである。
【０００８】
また、請求項４に記載の発明は、前記トルク指令を入力して、模擬駆動電流を計算してモータ動作模擬部に出力する電流制御模擬部を備え、
前記モータ動作模擬部は、前記駆動電流の代わりに前記模擬駆動電流を入力することを特徴とするものである。
【０００９】
また、請求項５に記載の発明は、前記モータ位置診断部において前記モータ位置が異常と判定された際、前記模擬モータ位置診断部において前記模擬モータ位置が異常と判定されたら前記位置・速度制御部に異常原因があると判断し、前記模擬モータ位置診断部において前記模擬モータ位置が正常と判定されたら前記位置・速度制御部以外に異常原因があると判断することを特徴とするとするものである。
【発明の効果】
【００１０】
請求項１に記載の発明によると、メカ部や電流制御部を部分的にモデル化したシミュレータのシミュレーション結果を診断することができ、特別な装置や大きな記憶領域を用いることなく異常診断を行うことができる。
また、請求項２に記載の発明によると、異常発生時に、速やかにモータ動作部を模擬したシミュレーションによる診断を実行することができ、特別な装置や大きな記憶領域を用いることなく、より正確な異常診断を行うことができる。
また、請求項３に記載の発明によると、異常発生の原因が前記位置・速度制御部及び前記電流制御部にあるか否かを判断することができ、特別な装置や大きな記憶領域を用いることなく異常発生箇所の迅速な特定を行うことができる。
また、請求項４に記載の発明によると、異常発生時に、速やかにモータ動作部及び電流制御部を模擬したシミュレーションを実行することができ、特別な装置や大きな記憶領域を用いることなく、より正確な異常診断を行うことができる。
また、請求項５に記載の発明によると、異常発生の原因が前記位置・速度制御部にあるか否かを判断することができ、特別な装置や大きな記憶領域を用いることなく異常発生箇所の迅速な特定を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１２】
図１は、本発明を適用するモータ制御装置のブロック図である。図において、１１は位置・速度制御部であり、位置フィードバック信号Pfbを入力し、速度指令と位置フィードバック信号Pfbが一致するよう位置制御及び速度制御を行いトルク指令Trefを出力する。１２は電流制御部であり、トルク指令Trefを入力してこれに応じた駆動電流iqを出力してモータ１３を駆動する。１４は検出器であり、モータ位置Pfbrを検出して出力する。１５はモータ動作模擬部であり、前記駆動電流iqを入力し、モータ動作を模擬する数式または等価回路またはブロック図などにより、模擬モータ位置Pfbmを計算して出力する。
モータ動作を模擬する数式の最も簡単な例として、式（１）がある。
いま、モータの回転子慣性モーメントとそのモータが駆動している負荷の慣性モーメントをそのモータの回転軸に換算した慣性モーメントとの和をJ、モータのトルク定数をΦとするとき、
Pfbm＝∫∫（Φ・iq／J）       ・・・（１）
とする。式（１）において∫は時間積分を表す。
また、もっと高い精度のモータ動作の模擬が要求される場合は、モータの種類やモータの駆動する負荷などの条件を加味して数式または等価回路またはブロック図などを改良してもよい。
１６はモータ位置診断部であり、前記モータ位置Pfbrを入力し、そのモータ位置が通常の動作の範囲内か否かを、常時またはサンプリングして監視し、モータの動作が正常か否かを判定してフィードバック切り替え信号SwPfbを出力する。
最も簡略化した判定方法として、前記モータ位置Vfbrの絶対値と通常の動作では到達しないと考えられる高い値に予め設定した閾値Vfbmaxと比較する方法がある。
いま、動作説明の都合上、｜Pfbr｜≧Pfbmaxとなる場合は異常状態と判断してフィードバック信号切り替え指令SwPfbをLoとし、それ以外の場合は正常と判断して前記フィードバック信号切り替え指令SwPfbをHiとすると定義する。
また、別の判定方法として、前記モータ位置Pfbrが異常か否かの判断を、例えば位置指令値の±２０％以内とするなど、位置指令の関数を閾値に設定する方法や、前記モータ位置Pfbrに対して高速フーリエ変換を行って特定周波数におけるパワースペクトルに閾値を設けるなどの方法もある。
なお、モータ位置診断部１６が異常と判断した時点でモータ１３を非常停止するなどの措置をとってもよいが、異常原因を見つけるためには、その際も位置・速度制御部１１および電流制御部１２は動作を継続する。
１７はフィードバック信号切り替え部であり、前記フィードバック信号切り替え指令SwPfbに基づいて位置フィードバック信号Pfbを出力する。フィードバック信号切り替え部１７は、前記フィードバック信号切り替え指令SwPfbがHiであれば前記モータ位置Pfbrを出力し、前記フィードバック信号切り替え指令SwPfbがLoであれば前記模擬モータ位置Pfbmを出力する。
１８は模擬モータ位置診断部であり、前記模擬モータ位置Pfbmを入力し、その模擬モータ位置が通常の動作の範囲内か否かを、常時またはサンプリングして監視し、模擬したモータの動作が正常か否かを判定する。
判定方法は、前記モータ位置Pfbrの代わりに前記模擬モータ位置Pfbmを入力して、モータ位置診断部１６と同様の方法がある。
前記模擬モータ位置診断部は自身の判断に基づいて何らかの方法で警報を出す。
【００１３】
次に、模擬モータ位置診断部１８において異常を診断する一つの例について、図２を用いて手順を説明する。図２は、模擬モータ位置診断部１８の内部の処理を示すフローチャートである。図２において、Ｓに続く数値はステップ番号を示す。Ｓ１８１では模擬モータ位置Pfbmを入力する。Ｓ１８２では前記Pfbmの絶対値と閾値Pfbmaxと比較し、|Pfbm|≧Pfbmaxとなる場合はＳ１８３へ進み、それ以外はＳ１８４へ進む。Ｓ１８３では位置・速度制御部または電流制御部に異常原因がある旨の警報を発し、Ｓ１８４では位置・速度制御部および電流制御部以外に異常原因がある旨の警報を発する。なお、前記モータ位置診断部１６と前記模擬モータ位置診断部１８内の異常診断に用いる閾値は互いに違ってもよい。また、モータ位置診断部同様、模擬モータ位置Pfbmが異常か否かの判断を、例えば位置指令値の±２０％以内とするなど、位置指令の関数を閾値に設定する方法や、前記模擬モータ位置Pfbmに対して高速フーリエ変換を行って特定周波数におけるパワースペクトルに閾値を設けるなどの方法を使ってもよい。
【実施例２】
【００１４】
次に、本発明の第２実施例について、図３を用いて説明する。図３は、本発明を適用するモータ制御装置のブロック図である。図において、３１は位置・速度制御部であり、モータ位置Pfbを入力し、位置指令と前記モータ位置Pfbが一致するよう位置制御及び速度制御を行いトルク指令Trefを出力する。３２は電流制御部であり、トルク指令Trefを入力してこれに応じた駆動電流iqを出力してモータ３３を駆動する。３４は検出器であり、モータ位置Pfbrを検出して出力する。３５は電流制御模擬部であり、前記トルク指令Trefを入力して、モータの電気特性に合わせて模擬した数式または等価回路またはブロック図などを、電流制御部３２と同等の処理を行って模擬駆動電流iqmを計算して出力する。しかし、一般的には、電流ループの応答は速度ループの応答に比べて非常に速いため、電流ループの閉ループ伝達関数を１と近似することができる。
したがって、
iqm＝Tref                     ・・・（２）
としても差し支えない。
３６はモータ動作模擬部であり、前記模擬駆動電流iqｍを入力し、モータ動作を模擬する数式または等価回路またはブロック図などにより、模擬モータ位置Pfbmを計算して出力する。
いま、モータの回転子慣性モーメントとそのモータが駆動している負荷の慣性モーメントをそのモータの回転軸に換算した慣性モーメントとの和をJ,モータのトルク定数をΦとするとき、模擬モータ位置Pfbmは、
Pfbm＝∫∫（Φ・iqm／J）      ・・・（３）
となり、式（２）より、
Pfbm＝∫∫（Φ・Tref／J）     ・・・（４）
で求めることができる。式（３）および式（４）において∫は時間積分を表す。
模擬モータ位置を、もっと高い精度で得たい場合は、電流ループの閉ループ伝達関数を１と近似せず、モータの種類やモータの駆動する負荷などの条件を考慮した数式または等価回路またはブロック図などを使用して、模擬駆動電流iqmを計算し、さらに、模擬モータ位置を求めてもよい。
３７はモータ位置診断部であり、前記モータ位置Pfbrを入力し、そのモータ位置が通常の動作の範囲内か否かを、常時またはサンプリングして監視し、モータの動作が正常か否かを判定してフィードバック切り替え信号SwPfbを出力する。
最も簡略化した判定方法として、前記モータ位置Pfbrの絶対値と通常の動作では到達しないと考えられる高い値に予め設定した閾値Pfbmaxと比較する方法がある。
いま、動作説明の都合上、｜Pfbr｜≧Pfbmaxとなる場合は異常状態と判断してフィードバック信号切り替え指令SwPfbをLoとし、それ以外の場合は正常と判断して前記フィードバック信号切り替え指令SwPfbをHiとすると定義する。
また、別の判定方法として、前記モータ位置Pfbrが異常か否かの判断を、例えば位置指令値の±２０％以内とするなど、位置指令の関数を閾値に設定する方法関数に閾値を設けて行う方法や、前記モータ位置Pfbrに対して高速フーリエ変換を行って特定周波数におけるパワースペクトルに閾値を設けるなどの方法もある。
なお、モータ位置診断部３７が異常と判断した時点でモータ３３を非常停止するなどの措置をとってもよいが、異常原因を見つけるためには、その際も位置・速度制御部３１は動作を継続する。
３８はフィードバック信号切り替え部であり、前記フィードバック信号切り替え指令SwPfbに基づいて位置フィードバック信号Pfbを出力する。フィードバック信号切り替え部３８は、前記フィードバック信号切り替え指令SwPfbがHiであれば前記モータ位置Pfbrを出力し、前記フィードバック信号切り替え指令SwPfbがLoであれば前記模擬モータ位置Pfbmを出力する。
３９は模擬モータ位置診断部であり、前記模擬モータ位置Pfbmを入力し、その模擬モータ位置が通常の動作の範囲内か否かを、常時またはサンプリングして監視し、模擬したモータの動作が正常か否かを判定する。
判定方法は、前記モータ位置Pfbrの代わりに前記模擬モータ位置Pfbmを入力して、モータ位置診断部３７と同様の方法がある。
前記模擬モータ位置診断部は自身の判断に基づいて何らかの方法で警報を出す。
【００１５】
次に、模擬モータ位置診断部３９において異常を診断する一つの例について、図４を用いて手順を説明する。図４は、模擬モータ位置診断部３９の内部の処理を示すフローチャートである。図４において、Ｓに続く数値はステップ番号を示す。Ｓ３９１では模擬モータ位置Pfbmを入力する。Ｓ３９２では前記Pfbmの絶対値と閾値Pfbmaxと比較し、|Pfbm|≧Pfbmaxとなる場合はＳ３９３へ進み、それ以外はＳ３９４へ進む。なお、前記閾値Pfbmaxは通常の動作では到達しないほど高い値に予め設定しておく。Ｓ３９３では位置・速度制御部に異常原因がある旨の警報を発し、Ｓ３９４では位置・速度制御部以外に異常原因がある旨の警報を発する。なお、前記モータ位置診断部３７と前記模擬モータ位置診断部３９内の異常診断に用いる閾値は互いに違ってもよい。また、モータ位置診断部同様、模擬モータ位置Pfbmが異常か否かの判断を、例えば位置指令値の±２０％以内とするなど、位置指令の関数を閾値に設定する方法や、前記模擬モータ位置Pfbmに対して高速フーリエ変換を行って特定周波数におけるパワースペクトルに閾値を設けるなどの方法を使ってもよい。
【００１６】
本発明が特許文献１と異なる部分は、メカ部や電流制御部を部分的にモデル化したシミュレータと前記シミュレータのシミュレーション結果を診断する診断部を備えた部分である。
【００１７】
このように、メカ部や電流制御部を部分的にモデル化したシミュレータのシミュレーション結果を診断する構成をしているので、異常発生時に、簡単な判断で異常原因が制御装置のどの部分にあるかを特定でき、かつ多くの記憶領域を必要としないモータ制御装置を提供することができる
【産業上の利用可能性】
【００１８】
請求項１に記載の発明は、前記フィードバック切り替え信号を手動で切り替え可能とすることで、任意の時間に異常診断することができるので、定期点検などの用途にも適用できる。
前記位置指令診断部を外部に設けることによって遠隔地からでも異常診断することができるので、リモートメンテナンスなどの用途にも適用できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例を示すブロック図
【図２】図１における模擬モータ位置診断部１８の詳細を示すフローチャート
【図３】本発明の第２実施例を示すブロック図
【図４】図３における模擬モータ位置診断部３９の詳細を示すフローチャート
【図５】従来例を示す図
【符号の説明】
【００２０】
１１、３１  位置・速度制御部
１２、３２  電流制御部
１３、３３  モータ
１４、３４  検出器
１５、３６  モータ動作模擬部
１６、３７  モータ位置診断部
１７、３８  フィードバック信号切り替え部
１８、３９  模擬モータ位置診断部
３５  電流制御模擬部
５１  アンプ
５２  ロボット本体
５３  コントローラ
５４  故障診断部
５５  故障原因解析部
【図１】
2005346455.tif 000003
【図２】
2005346455.tif 000004
【図３】
2005346455.tif 000005
【図４】
2005346455.tif 000006
【図５】
2005346455.tif 000007