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