(57)【要約】【課題】モータが発生するトルクの異常を適確に検知すること。【解決手段】モータが或る動作を行うときの温度対トルク特性を基準として記憶部に記憶させる。モータがその動作と同じ動作を行うときに発生する現在のトルクを取得する（Ｓ１）。モータの現在温度を取得する（Ｓ２）。温度対トルク特性に対して、取得されたトルクと取得された現在温度とが表す点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する（Ｓ４）。【選択図】図５
2020065364.tif 000002
【特許請求の範囲】
【請求項１】
モータが発生するトルクの異常を検知する異常検知装置であって、
上記モータが或る動作を行うときの温度対トルク特性を基準として記憶する記憶部と、
上記モータが上記動作と同じ動作を行うときに発生する現在のトルクを取得するトルク取得部と、
上記モータの現在温度を取得する現在温度取得部と、
上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表すデータ点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する異常判定部と
を備えたことを特徴とする異常検知装置。
【請求項２】
請求項１に記載の異常検知装置において、
上記現在温度取得部は、上記モータの現在温度を、上記モータを駆動する駆動信号のオン期間とオフ期間に基づいて算出して取得することを特徴とする異常検知装置。
【請求項３】
請求項２に記載の異常検知装置において、
上記現在温度取得部は、
上記オン期間の経過に伴う上記現在温度の上昇を、第１初期温度から第１飽和温度へ向かって、第１ゲインでの増幅を第１処理時間毎に繰り返すループ回路を用いてシミュレーションして算出するとともに、
上記オフ期間の経過に伴う上記現在温度の低下を、第２初期温度から第２飽和温度へ向かって、第２ゲインでの増幅を第２処理時間毎に繰り返すループ回路を用いてシミュレーションして算出する
ことを特徴とする異常検知装置。
【請求項４】
請求項１から３までのいずれか一つに記載の異常検知装置において、
上記許容範囲は、上記取得された現在温度で上記温度対トルク特性が示す基準トルクの±１０％以内の範囲として定められていることを特徴とする異常検知装置。
【請求項５】
請求項１から３までのいずれか一つに記載の異常検知装置において、
上記許容範囲は、上記温度対トルク特性が示す温度毎の基準トルクの標準偏差をσとしたとき、上記基準トルクの±３σ以内の範囲として定められていることを特徴とする異常検知装置。
【請求項６】
モータが発生するトルクの異常を検知する異常検知方法であって、
上記モータが或る動作を行うときの温度対トルク特性を基準として記憶部に記憶させ、
上記モータが上記動作と同じ動作を行うときに発生する現在のトルクを取得し、
上記モータの現在温度を取得し、
上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表す点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する
ことを特徴とする異常検知方法。
【請求項７】
請求項６に記載の異常検知方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は異常検知装置および異常検知方法に関し、より詳しくは、モータが発生するトルクの異常（または故障。以下同様。）を検知する異常検知装置および異常検知方法に関する。また、この発明は、そのような異常検知方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１（特開２００４−０６８７１２号公報）には、補機駆動装置において、補機を駆動するモータのモータトルクを監視し、モータトルクが下限値未満であれば、ベルト伝動機構の異常と判定する一方、モータトルクが上限値を超えていれば、クランクプーリクラッチの結合状態での固着（異常）と判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−０６８７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、モータが発生するトルクを用いる機器では、様々な要因（モータをなす巻線抵抗の温度特性、磁石の温度特性など）により、図１１（Ａ）に例示するように上記モータが発生するトルク（モータトルク）Ｔｑは、時間経過（温度変化を伴う）につれて変化することがある。例えば、図１１（Ｂ）に示すように、温度上昇に伴ってトルクが低下する場合（モータＭ１の場合）と、温度上昇に伴ってトルクが上昇する場合（モータＭ２の場合）とがある。ここで、特許文献１（特開２００４−０６８７１２号公報）では、異常判定に際してモータトルクが温度に依存して変化する点については考慮されていない。このため、機器の異常を適確に検知することができないという問題がある。例えば、単に、図１１（Ａ）中に示すように、現在のトルクＴｑが一定のトルク上限値ＵＬを超えたとき異常が発生したと判定する方式では、温度上昇に伴ってトルクＴｑのレベル（正常レベル）が低下しているとき、トルクＴｑの異常な増大Ｐを検知することができない。
【０００５】
そこで、この発明の課題は、モータが発生するトルクの異常を適確に検知できる異常検知装置および異常検知方法を提供することにある。また、この発明の課題は、そのような異常検知方法をコンピュータに実行させるためのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、この開示の異常検知装置は、
モータが発生するトルクの異常を検知する異常検知装置であって、
上記モータが或る動作を行うときの温度対トルク特性を基準として記憶する記憶部と、
上記モータが上記動作と同じ動作を行うときに発生する現在のトルクを取得するトルク取得部と、
上記モータの現在温度を取得する現在温度取得部と、
上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表すデータ点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する異常判定部と
を備えたことを特徴とする。
【０００７】
本明細書で、記憶部に基準として記憶される「温度対トルク特性」は、正常時の温度対トルク特性を意味する。この「温度対トルク特性」を定める温度の範囲は、上記モータの現在温度がとり得る範囲を包含するように、例えば常温から数十℃（または１００℃）までにわたって設定される。この「温度対トルク特性」は、全くの同一のモータの特性に限られず、「温度対トルク特性」が実質的に同じである限り、同種のモータの特性であってもよい。
【０００８】
また、上記モータが上記動作と「同じ動作を行う」とは、典型的には、或る機器において上記モータが同じ動作を繰り返し反復して行うことを指す。
【０００９】
また、モータのトルクを「取得する」ためには、上記モータを駆動する電流と電圧から算出して取得してもよいし、または、トルクセンサを設けて取得してもよい。
【００１０】
また、上記モータの「現在温度を取得する」ためには、後述のように、上記モータのオン期間とオフ期間に基づいて算出して取得してもよいし、または、モータに設けられた温度センサを用いて取得してもよい。
【００１１】
また、上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表すデータ点の「ずれ」とは、典型的には、上記温度対トルク特性を曲線として表す平面上で、その曲線と上記データ点とが示すトルク座標に沿った差を意味する。ただし、上記「ずれ」は、上記曲線と上記データ点とが示す温度座標に沿った差として規定されてもよいし、上記曲線と上記データ点との間の距離として規定されてもよい。
【００１２】
この開示の異常検知装置では、記憶部は、上記モータが或る動作を行うときの温度対トルク特性を基準として記憶する。トルク取得部は、上記モータが上記動作と同じ動作を行うときに発生する現在のトルクを取得する。また、現在温度取得部は、上記モータの現在温度を取得する。異常判定部は、上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表すデータ点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する。このように、この開示の異常検知装置では、上記温度対トルク特性に対する、上記取得されたトルクと上記取得された現在温度とが表すデータ点のずれによって、異常が発生したか否かが判定される。したがって、上記モータが発生するトルクの異常を適確に検知できる。
【００１３】
一実施形態の異常検知装置では、上記現在温度取得部は、上記モータの現在温度を、上記モータを駆動する駆動信号のオン期間とオフ期間に基づいて算出して取得することを特徴とする。
【００１４】
本明細書で、駆動信号の「オン期間」とは、上記モータを動作させている期間を指す。駆動信号の「オフ期間」とは、上記モータの動作を休止させている期間を指す。
【００１５】
この一実施形態の異常検知装置では、上記現在温度取得部は、上記モータの現在温度を、上記モータを駆動する駆動信号のオン期間とオフ期間に基づいて算出して取得する。したがって、上記モータに現在温度を測定するための温度センサを付加する必要がなく、部材数の増加を避け、省スペースを図ることができる。なお、上記現在温度取得部は、上記異常判定部と共通のハードウェア資源（ＣＰＵ（中央演算処理装置）などのプロセッサ）によって構成され得る。
【００１６】
一実施形態の異常検知装置では、
上記現在温度取得部は、
上記オン期間の経過に伴う上記現在温度の上昇を、第１初期温度から第１飽和温度へ向かって、第１ゲインでの増幅を第１処理時間毎に繰り返すループ回路を用いてシミュレーションして算出するとともに、
上記オフ期間の経過に伴う上記現在温度の低下を、第２初期温度から第２飽和温度へ向かって、第２ゲインでの増幅を第２処理時間毎に繰り返すループ回路を用いてシミュレーションして算出する
ことを特徴とする。
【００１７】
この一実施形態の異常検知装置では、上記オン期間の経過に伴う上記現在温度の上昇を、第１初期温度から第１飽和温度へ向かって、或るゲインでの増幅を或る処理時間毎に繰り返すループ回路を用いてシミュレーションして算出する。また、上記オフ期間の経過に伴う上記現在温度の低下を、第２初期温度から第２飽和温度へ向かって、第２ゲインでの増幅を第２処理時間毎に繰り返すループ回路を用いてシミュレーションして算出する。これにより、上記現在温度取得部は、上記モータの現在温度を、精度良く算出できる（シミュレーション結果については、後述する。）。
【００１８】
一実施形態の異常検知装置では、上記許容範囲は、上記取得された現在温度で上記温度対トルク特性が示す基準トルクの±１０％以内の範囲として定められていることを特徴とする。
【００１９】
この一実施形態の異常検知装置では、上記許容範囲を、上記温度対トルク特性に応じて簡単に設定することができる。
【００２０】
一実施形態の異常検知装置では、上記許容範囲は、上記温度対トルク特性が示す温度毎の基準トルクの標準偏差をσとしたとき、上記基準トルクの±３σ以内の範囲として定められていることを特徴とする。
【００２１】
この一実施形態の異常検知装置では、上記許容範囲を、上記温度対トルク特性に応じて精度良く設定することができる。
【００２２】
別の局面では、この開示の異常検知方法は、
モータが発生するトルクの異常を検知する異常検知方法であって、
上記モータが或る動作を行うときの温度対トルク特性を基準として記憶部に記憶させ、
上記モータが上記動作と同じ動作を行うときに発生する現在のトルクを取得し、
上記モータの現在温度を取得し、
上記温度対トルク特性に対して、上記取得されたトルクと上記取得された現在温度とが表す点のずれが予め定められた許容範囲を超えたとき、異常が発生したと判定する
ことを特徴とする。
【００２３】
この開示の異常検知方法では、上記温度対トルク特性に対する、上記取得されたトルクと上記取得された現在温度とが表す点のずれによって、異常が発生したか否かが判定される。したがって、上記モータが発生するトルクの異常を適確に検知できる。
【００２４】
さらに別の局面では、この開示のプログラムは、上記異常検知方法をコンピュータに実行させるためのプログラムである。
【００２５】
この開示のプログラムをコンピュータに実行させることによって、上記異常検知方法を実施することができる。
【発明の効果】
【００２６】
以上より明らかなように、この開示の異常検知装置および異常検知方法によれば、モータが発生するトルクの異常を適確に検知できる。また、この開示のプログラムをコンピュータに実行させることによって、上記異常検知方法を実施することができる。
【図面の簡単な説明】
【００２７】
【図１】この発明の一実施形態の異常検知装置が適用されたシステムの概略構成を模式的に示す図である。
【図２】上記システムの機能的なブロック構成を示す図である。
【図３】図３（Ａ）は、オン期間とオフ期間を含むモータ駆動信号を例示する図である。図３（Ｂ）は、図３（Ａ）のモータ駆動信号に対応するモータの現在温度の変化を模式的に示す図である。図３（Ｃ）は、図３（Ａ）のモータ駆動信号、および、図３（Ｂ）のモータの現在温度の変化に対応するモータのトルクの変化を模式的に示す図である。
【図４】上記システムを構成するコントローラの記憶部に基準として記憶される、上記モータが或る動作を行うときの温度対トルク特性を、トルクの上限値、下限値を含めて示す図である。
【図５】上記システムにおいて実行される、この発明の一実施形態の異常検知方法のフローを示す図である。
【図６】図６（Ａ）は、モータ駆動信号によるオン期間とオフ期間を例示する図である。図６（Ｂ）は、図６（Ａ）のモータ駆動信号に対応するモータの各往路動作中のトルクの平均値を、時間経過に沿って示す図である。
【図７】図７（Ａ）は、上記システムをなす電動アクチュエータにおけるスライドブロックの位置（つまり、ボールねじの回転位置）の変化を示す図である。図７（Ｂ）は、図７（Ａ）の位置の変化を生じさせるときのフレーム変数の変化（＋１のとき往路動作、−１のとき復路動作、０のとき停止をそれぞれ表す。）を示す図である。図７（Ｃ）は、図７（Ａ）のスライドブロックの位置の変化を生じさせるときの、モータが発生するトルクを示す図である。
【図８】図８（Ａ）は、上記モータの現在温度の変化をシミュレーションして算出するためのループ回路を示す図である。図８（Ｂ）は、モータ駆動信号によるオン期間とオフ期間を例示する図である。図８（Ｃ）は、上記ループ回路による温度のシミュレーション結果を例示する図である。
【図９】図９（Ａ）は、図６（Ａ）と同様の、モータ駆動信号によるオン期間とオフ期間を例示する図である。図９（Ｂ）は、上記ループ回路を用いて算出された上記モータの現在温度と実測値とを比較して、時間経過に沿って示す図である。
【図１０】図３に示した温度対トルク特性、トルクの上限値、下限値を用いて、異常が発生したと判定する仕方を説明する図である。
【図１１】図１１（Ａ）は、モータが発生するトルクに関する温度変化に起因した課題を説明する図である。図１１（Ｂ）は、モータの温度対トルク特性についての２つの態様を示す図である。
【発明を実施するための形態】
【００２８】
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
【００２９】
（システムの構成）
図１は、この発明の一実施形態の異常検知装置が適用されたシステム１の概略構成を模式的に示している。このシステムは、モータ１０を含む電動アクチュエータ９０と、モータ１０を駆動するサーボドライバ２００と、コントローラ１００と、ＬＣＤ（液晶表示素子）からなる表示器４００とを備えている。符号８１，８２，８３は信号ケーブルを示している。
【００３０】
電動アクチュエータ９０は、一般的な構成のものであり、ハウジング１４と、このハウジング１４内に収容されたボールねじ１６と、このボールねじ１６に螺合されたナット１８と、このナット１８上に取り付けられたスライドブロック１９と、上述のモータ１０とを備えている。ボールねじ１６は、このボールねじの周りに回転自在な態様でハウジング１４に支持されている。ナット１８は、ハウジング１４（側壁１２，１３を含む）の内壁によって回転を抑止された状態で、ハウジング１４の内部に配置されている。ボールねじ１６の一端とモータ１０の出力軸とが、カップリング部材１５によって連結されている。モータ１０が矢印θで示すように順方向または逆方向に回転することで、ボールねじ１６とナット１８とが相対回転し、その結果、ナット１８とスライドブロック１９とがボールねじ１６の軸方向Ｘに沿って移動する。モータ１０の位置、速度（回転速度）などは、モータ１０に内蔵されたエンコーダ１１によって検出され、出力される。このような機構によって、スライドブロック１９の軸方向Ｘの位置が可変され得る。
【００３１】
この例では、モータ１０は、オムロン株式会社製のＡＣ（交流）サーボモータ（型番；Ｒ８８Ｍ−１Ｍ１００３０Ｓ）からなり、エンコーダ１１としてＡＢＳ（アブソリュート）エンコーダを内蔵している。
【００３２】
図２は、システム１の機能的なブロック構成を示している。
【００３３】
コントローラ１００は、この例では、入力部１０２、記憶部１０３、および、制御部１０１を備えている。
【００３４】
入力部１０２は、この例ではティーチングペンダントからなっている。この例では、入力部１０２は、特に、ユーザが処理開始命令を入力するために用いられる。
【００３５】
記憶部１０３は、この例では、非一時的にデータを記憶し得るＥＥＰＲＯＭ（電気的に書き換え可能な不揮発性メモリ）、および、一時的にデータを記憶し得るＲＡＭ（ランダム・アクセス・メモリ）を含んでいる。この記憶部１０３には、制御部１０１を制御するためのソフトウェア（コンピュータプログラム）が格納されている。また、この例では、記憶部１０３は、特に、電動アクチュエータ９０においてモータ１０がスライドブロック１９の軸方向Ｘに沿った往路動作を行うときの温度対トルク特性ＣＴを、トルクの上限値ＴｑＵＬ、下限値ＴｑＬＬを含めて記憶している（後述の図４参照）。
【００３６】
制御部１０１は、この例では、記憶部１０３に格納された制御プログラムに従って動作するプロセッサによって構成されている。この制御部１０１は、電動アクチュエータ９０を制御するためのモータ制御信号Ｃｔｒｌを作成して、サーボドライバ２００へ出力する。このモータ制御信号Ｃｔｒｌは、モータ１０が発生すべきトルク、位置、速度を表す情報を含んでいる。
【００３７】
サーボドライバ２００は、この例では、オムロン株式会社製のＡＣサーボドライバ（型番；Ｒ８８Ｄ−１ＳＮ０１Ｌ−ＥＣＴ）からなっている。このサーボドライバ２００は、コントローラ１００の制御部１０１からのモータ制御信号Ｃｔｒｌに応じて、指示されたトルクを発生するために、この例では電源電圧ＡＣ１００Ｖの下でモータ１０に通電すべき通電電流を求める。サーボドライバ２００は、駆動信号Ｃｄｒｖによって、電源電圧ＡＣ１００Ｖの下で、求めた通電電流を電動アクチュエータ９０のモータ１０に流して、モータ１０を駆動する。
【００３８】
電動アクチュエータ９０におけるモータ１０の現在の位置、速度は、モータ１０に内蔵されたエンコーダ１１によってエンコーダ出力値Ｅｏｕｔとして、この例ではサーボドライバ２００へ出力される。
【００３９】
また、サーボドライバ２００は、この例では、モータ１０に印加された電圧、電流に基づいて、モータ１０が発生する現在のトルクを算出して取得する。そして、サーボドライバ２００は、算出した現在のトルクＴｑ（図７（Ｃ）参照）と、エンコーダ出力値Ｅｏｕｔが表すモータ１０の現在の位置、速度を表す情報とを併せて、モータ軸現在値ＣＶとしてコントローラ１００の制御部１０１へ出力する。なお、エンコーダ出力値Ｅｏｕｔは、エンコーダ１１から直接にコントローラ１００の制御部１０１へ出力されてもよい。
【００４０】
コントローラ１００の制御部１０１は、サーボドライバ２００からのモータ軸現在値ＣＶに基づいて、電動アクチュエータ９０が所望の動作をするように、モータ制御信号Ｃｔｒｌを一定周期で逐次更新する。
【００４１】
システム１は、このようにして、電動アクチュエータ９０におけるモータ１０の動作を制御する。すると、この例では、図３（Ａ）中に示すモータ駆動信号Ｃｄｒｖのオン期間（値１の期間）の間、図３（Ｂ）に示すように、モータ１０の現在温度Ｔｍは上昇し、それに伴って、図３（Ｃ）に示すように、モータ１０の現在のトルクＴｑは減少する傾向を示す。また、図３（Ａ）中に示すモータ駆動信号Ｃｄｒｖのオフ期間（値０の期間）の間、図３（Ｂ）に示すように、モータ１０の現在温度Ｔｍは下降し、それに伴って、図３（Ｃ）に示すように、モータ１０の現在のトルクＴｑは増加する傾向を示す。なお、図３（Ｂ）のモータ１０の現在温度Ｔｍ、図３（Ｃ）の現在のトルクＴｑは、それぞれ、時間経過に伴ってモータ１０が同じ動作を繰り返し行うときの値の変化を模式的に示している。
【００４２】
さて、このシステム１では、モータ１０が発生するトルクＴｑの異常を検知するために、コントローラ１００の記憶部１０３に、図４に示すように、電動アクチュエータ９０においてモータ１０がスライドブロック１９の往復動作を繰り返すときの温度対トルク特性ＣＴが、トルクの上限値ＴｑＵＬ、下限値ＴｑＬＬを含めて記憶されている。この例では、この温度対トルク特性ＣＴは、スライドブロック１９の往路動作に着目して、モータ１０と同一のモータまたは同種のモータについて、予め実測して求められたものである。また、この例では、トルクの上限値ＴｑＵＬ、下限値ＴｑＬＬは、温度毎に、それぞれ基準トルク（温度対トルク特性ＣＴを表す曲線上のトルク）Ｔｑｒｅｆの＋１０％、−１０％の値として設定されている。つまり、モータ１０が発生するトルクＴｑについて、異常判定のための許容範囲Ｅが、基準トルクＴｑｒｅｆの±１０％以内の範囲として設定されている。このようにした場合、許容範囲Ｅを、温度対トルク特性ＣＴに応じて簡単に設定することができる。
【００４３】
（異状検知の動作）
このシステム１では、電動アクチュエータ９０においてモータ１０がスライドブロック１９の往復動作を繰り返し反復して行うときに、モータ１０が発生するトルクＴｑの異常を、図５の異常検知方法のフローに従って検知する。
【００４４】
ｉ）  まず、図５のステップＳ１に示すように、コントローラ１００の制御部１０１がトルク取得部として働いて、モータ軸現在値ＣＶに基づいて、スライドブロック１９の往路動作期間中にモータ１０が発生する現在のトルクＴｑＣを取得する。
【００４５】
詳しくは、図７（Ａ）に示すように、スライドブロック１９は、曲線Ｐｓで示すように、位置０と位置１２０との間で往復動作を繰り返しているものとする。このとき、モータ軸現在値ＣＶが示す現在のトルクＴｑは、図７（Ｃ）に示すように周期的に変化している。ここで、制御部１０１は、図７（Ｂ）に示すように、往路動作期間（破線枠ＰＥで示す）中は値が＋１、復路動作期間中は値が−１、停止期間中は値が０となるフレーム変数Ｆを生成する。そして、フレーム変数Ｆ＝＋１である往路動作期間中の現在のトルクＴｑを平均して、往路動作期間毎にモータ１０が発生する平均値としての現在のトルクＴｑＣを取得する。
【００４６】
例えば、図６（Ａ）に示すように、モータ１０のオン期間（値１の期間）とオフ期間（値０の期間）とが繰り返されるものとすると、図６（Ｂ）に示すように、往路動作期間毎にモータ１０が発生する平均値としての現在のトルクＴｑＣが算出される。現在のトルクＴｑＣを平均する各期間は、この例では５５０ｍｓｅｃに設定されている。なお、図６（Ａ）では、モータ１０のオン期間が集合して黒く見えている。この理由は、図６（Ａ）の横軸（時間軸）を拡大すると、黒く見えている期間内に、図７（Ｂ）中に示すように細かい休止期間（フレーム変数Ｆ＝０）が含まれているからである。また、図６（Ｂ）中の縦軸は、モータ１０のトルク定格値（この例では、０．３１８Ｎｍ）に対する割合（％）を示している。
【００４７】
ii）  次に、図５のステップＳ２に示すように、コントローラ１００の制御部１０１が現在温度取得部として働いて、この例ではモータ１０の現在温度Ｔｃをオン期間とオフ期間に基づいてシミュレーションにより算出して取得する。
【００４８】
詳しくは、制御部１０１は、モータ１０の現在温度Ｔｃを算出するために、この例では図８（Ａ）に示すようなループ回路１５０（この例ではソフトウェアによって構成されている。）を用いる。このループ回路１５０は、差分演算部１５１と、増幅部１５２と、加算部１５３と、遅延部１５４とを含んでいる。
【００４９】
差分演算部１５１は、入力端子Ｉｎ１からの入力値ｄ０ともう１つの入力値ｄ１との間の差分（ｄ０−ｄ１）をとる。増幅部１５２は、入力値ｄ２（＝ｄ０−ｄ１）を或る増幅率ｋで増幅して出力値ｋ×ｄ２を得る。加算部１５３は、２つの入力値ｄ３（＝ｋ×ｄ２）とｄ４とを加算して出力値（ｄ３＋ｄ４）を出力値ｄ５として得る。この出力値ｄ５は、出力端子Ｏｕｔ１から出力される。遅延部１５４は、出力値ｄ５を或る時間だけ遅延させたタイミングで、差分演算部１５１、加算部１５３にそれぞれ入力値ｄ１，ｄ４として供給する。
【００５０】
このループ回路１５０の動作を、理解の容易のために、仮想的な簡単な数値例で説明する。オン期間の経過に伴うモータ１０の現在温度Ｔｃの上昇を算出する場合、例えば、増幅部１５２の増幅率ｋ＝０．１とする。また、図８（Ｂ）、図８（Ｃ）中に示すように、オン期間開始時の温度（第１初期温度Ｔ１）を０、オン期間が十分長く継続したときに到達する温度（第１飽和温度Ｔｓ１）を１とする。入力値ｄ０は第１飽和温度Ｔｓ１＝１とされ、また、最初のターンの入力値ｄ１，ｄ４は第１初期温度Ｔ１＝０とされる。この場合、最初のターンでは、差分演算部１５１は、ｄ０−ｄ１＝１−０＝１（＝ｄ２）を出力する。増幅部１５２は、出力値（ｋ×ｄ２）＝０．１×１＝０．１（＝ｄ３）を得る。加算部１５３は、出力値（ｄ３＋ｄ４）＝０．１＋０＝０．１を出力値ｄ５として得る。次のターンで、差分演算部１５１は、ｄ０−ｄ１＝１−０．１＝０．９（＝ｄ２）を出力する。増幅部１５２は、出力値（ｋ×ｄ２）＝０．１×０．９＝０．０９（＝ｄ３）を得る。加算部１５３は、出力値（ｄ３＋ｄ４）＝０．０９＋０．１＝０．１９を出力値ｄ５として得る。このようにして、演算のループの周期（シミュレーション周期）毎に、順次出力値ｄ５が第１飽和温度Ｔｓ１（この例では、１）に近づいてゆく。
【００５１】
オフ期間の経過に伴うモータ１０の現在温度Ｔｃの低下を算出する場合、例えば上の例と同様に、増幅部１５２の増幅率ｋ＝０．１とする。図８（Ｂ）、図８（Ｃ）中に示すように、オフ期間開始時の温度（第２初期温度Ｔ２）を１、オフ期間が十分長く継続したときに到達する温度（第２飽和温度Ｔｓ２）を０とする。入力値ｄ０は第２飽和温度Ｔｓ２＝０とされ、また、最初のターンの入力値ｄ１，ｄ４は第２初期温度Ｔ２＝１とされる。この場合、最初のターンでは、差分演算部１５１は、ｄ０−ｄ１＝０−１＝−１（＝ｄ２）を出力する。増幅部１５２は、出力値（ｋ×ｄ２）＝０．１×（−１）＝−０．１（＝ｄ３）を得る。加算部１５３は、出力値（ｄ３＋ｄ４）＝−０．１＋１＝０．９を出力値ｄ５として得る。次のターンで、差分演算部１５１は、ｄ０−ｄ１＝０−０．９＝−０．９（＝ｄ２）を出力する。増幅部１５２は、出力値（ｋ×ｄ２）＝０．１×（−０．９）＝−０．０９（＝ｄ３）を得る。加算部１５３は、出力値（ｄ３＋ｄ４）＝−０．０９＋０．９＝０．８１を出力値ｄ５として得る。このようにして、演算のループの周期（シミュレーション周期）毎に、順次出力値ｄ５が第２飽和温度Ｔｓ２（この例では、０）に近づいてゆく。
【００５２】
ここで、オン期間の開始時に、例えば図８（Ｃ）中に符号Ｔ３で示すように、モータ１０の現在温度Ｔｃが第２飽和温度Ｔｓ２まで低下していないときは、そのオン期間については、第１初期温度をＴ３に代えてシミュレーションを開始する。同様に、オフ期間の開始時に、例えば図８（Ｃ）中に符号Ｔ４で示すように、モータ１０の現在温度Ｔｃが第１飽和温度Ｔｓ１まで上昇していないときは、そのオフ期間については、第２初期温度をＴ４に代えてシミュレーションを開始する。
【００５３】
例えば、図９（Ａ）に示すように、図６（Ａ）に示したのと同様にモータ１０のオン期間（値１の期間）とオフ期間（値０の期間）とが繰り返されるものとすると、ループ回路１５０を用いたシミュレーションによれば、図９（Ｂ）中に実線で示すように、モータ１０の現在温度Ｔｃが算出される。なお、図９（Ｂ）中には、参考のため、モータ１０の現在温度の実測値Ｔｍを破線で示している。この図９（Ｂ）から分かるように、ループ回路１５０を用いたシミュレーションによれば、モータ１０の現在温度Ｔｃを精度良く算出できる、と言える。
【００５４】
また、制御部１０１は、ソフトウェアによって構成されたループ回路１５０を用いているので、モータ１０に現在温度Ｔｃを測定するための温度センサを付加する必要がなく、部材数の増加を避け、省スペースを図ることができる。
【００５５】
この例では、ループ回路１５０によって図９（Ｂ）中のモータ１０の現在温度Ｔｃを算出するためのパラメータは、実測値Ｔｍにフィッティングするために次のように設定された。まず、オン期間が十分長く継続したときに到達する温度（第１飽和温度Ｔｓ１）は４５．０℃に設定された。また、オフ期間が十分長く継続したときに到達する温度（第２飽和温度Ｔｓ２）は、電動アクチュエータ９０の周囲温度（環境温度）である２４．０℃に設定された。第１初期温度Ｔ１も同様に２４．０℃に設定された。なお、環境温度は制御部１０１によって測定され得る。また、オン期間中の増幅部１５２の増幅率（第１ゲイン）はｋ＝０．０００００１６に設定された。オフ期間中の増幅部１５２の増幅率（第２ゲイン）はｋ＝０．００００００８に設定された。また、オン期間中、オフ期間中のいずれも、遅延部１５４による遅延は、ループ回路１５０の演算のループの周期（シミュレーション周期）が１ｍｓｅｃになるように設定された。なお、図９（Ｂ）では、シミュレーション結果のデータ数を１０分の１に間引いて表示しているが、算出された現在温度Ｔｃは連続した実線のように見えている。
【００５６】
なお、モータ１０の現在温度Ｔｃをオン期間とオフ期間に基づいてシミュレーションにより算出する方法は、１次遅れ系伝達関数、積分、状態方程式等を採用できる。
【００５７】
iii）  次に、図５のステップＳ３に示すように、コントローラ１００の制御部１０１は、取得されたモータ１０の現在温度Ｔｃで温度対トルク特性ＣＴが示す基準トルクＴｑｒｅｆを求める。
【００５８】
例えば、モータ１０の現在温度がＴｃ＝４０℃であれば、図４の温度対トルク特性ＣＴを参照して、図１０中に示すように、その温度での基準トルクＴｑｒｅｆ１＝１０．０５６１１（％）を求める。これとともに、その温度でのトルク上限値ＴｑＵＬ＝１１．０６１７２（％）、トルク下限値ＴｑＬＬ＝９．０５０４９５（％）を求める。これらのトルク上限値ＴｑＵＬ、トルク下限値ＴｑＬＬによって、モータ１０が発生するトルクＴｑについて、異常判定のための許容範囲Ｅ１を設定する。
【００５９】
iv）  次に、図５のステップＳ４に示すように、コントローラ１００の制御部１０１は、異常判定部として働いて、温度対トルク特性ＣＴに対して、ステップＳ１で取得されたトルクＴｑＣとステップＳ２で取得された現在温度Ｔｃとが表すデータ点の「ずれ」が許容範囲Ｅを超えたか否かを判定する。
【００６０】
例えば、モータ１０の現在温度がＴｃ＝４０℃であれば、図１０中に示すように、モータ１０が発生するトルクＴｑについて許容範囲Ｅ１が設定されている。ここで、ステップＳ１で取得された現在のトルクＴｑＣが例えば図１０中に○印で示すＴｑＣ１（＝１０．５（％））であれば、ＴｑＣ１は許容範囲Ｅ１内にある。そこで、コントローラ１００の制御部１０１は、モータ１０が発生するトルクＴｑの異常は無いと判断する（図５のステップＳ４でＮＯ）。そして、図５のステップＳ１に戻って、異常検知の処理を継続する。
【００６１】
一方、ステップＳ１で取得された現在のトルクＴｑＣが例えば図１０中に△印で示すＴｑＣ２（＝１１．５（％））であれば、ＴｑＣ２はトルク上限値ＴｑＵＬを超えており、許容範囲Ｅ１外にある。また、ステップＳ１で取得された現在のトルクＴｑＣが例えば図１０中に□印で示すＴｑＣ３（＝８．５（％））であれば、ＴｑＣ３はトルク下限値ＴｑＬＬを下回っており、許容範囲Ｅ１外にある。これらの場合、コントローラ１００の制御部１０１は、モータ１０が発生するトルクＴｑの異常が発生したと判断する（図５のステップＳ４でＹＥＳ）。
【００６２】
このようにして、このシステム１によれば、モータ１０が発生するトルクＴｑの異常を適確に検知できる。
【００６３】
モータ１０が発生するトルクＴｑの異常が発生したと判断したとき、図５のステップＳ５に示すように、コントローラ１００の制御部１０１は、例えば、表示器４００の表示画面に「電動アクチュエータのモータにトルクの異常が発生しました」というような警報を発生する。ユーザは、この警報を見て、必要な対策を迅速にとることができる。それとともに、コントローラ１００の制御部１０１は、安全を図るため、この例では電動アクチュエータ９０の動作を停止させる。
【００６４】
（変形例）
なお、警報としては、表示器４００の表示画面上の表示に限られるものではない。それに代えて、または、それに加えて、コントローラ１００の制御部１０１は、例えば図示しないブザーを鳴動させて警報を発してもよいし、例えば工場内に設置された警報ランプを点滅させて警報を発してもよい。
【００６５】
また、上の例では、温度対トルク特性ＣＴに対する、図５のステップＳ１で取得されたトルクＴｑＣとステップＳ２で取得された現在温度Ｔｃとが表すデータ点の「ずれ」は、温度対トルク特性ＣＴを表す曲線上の基準トルクＴｑｒｅｆと、ステップＳ１で取得されたトルクＴｑＣとの差（すなわち、トルク座標に沿った縦方向の差）であるものとした。しかしながら、これに限られるものではない。上述の「ずれ」は、上記曲線と上記データ点とが示す温度座標に沿った横方向の差として規定されてもよいし、上記曲線と上記データ点との間の距離として規定されてもよい。
【００６６】
また、上の例では、許容範囲Ｅが基準トルクＴｑｒｅｆの±１０％以内の範囲として設定された。しかしながら、これに限られるものではない。許容範囲Ｅは、温度対トルク特性ＣＴが示す温度毎の基準トルクＴｑｒｅｆの標準偏差をσとしたとき、基準トルクＴｑｒｅｆの±３σ以内の範囲（例えば、図１０中に符号Ｅ２で示す）として定められてもよい。これにより、許容範囲Ｅ２を精度良く設定することができる。
【００６７】
上述の異常検知方法を、ソフトウェア（コンピュータプログラム）として、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル万能ディスク）、フラッシュメモリなどの非一時的（non-transitory）にデータを記憶可能な記録媒体に記録してもよい。このような記録媒体に記録されたソフトウェアを、プログラマブルロジックコントローラ（ＰＬＣ）、パーソナルコンピュータ、ＰＤＡ（パーソナル・デジタル・アシスタンツ）、スマートフォンなどの実質的なコンピュータ装置にインストールすることによって、それらのコンピュータ装置に、上述の異常検知方法を実行させることができる。
【００６８】
また、上の例では、モータ１０の現在のトルクを取得するために、モータ１０を駆動する電流と電圧から算出して取得したが、これに限られるものではない。モータ１０のトルクは、例えばトルクセンサを設けて取得してもよい。
【００６９】
また、上の例では、モータ１０の現在温度Ｔｃを、モータ１０のオン期間とオフ期間に基づいて算出して取得したが、これに限られるものではない。モータ１０の現在温度Ｔｃは、モータ１０に設けられた温度センサを用いて取得してもよい。
【００７０】
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。
【符号の説明】
【００７１】
１  システム
１０  モータ
１１  エンコーダ
９０  電動アクチュエータ
１００  コントローラ
１０１  制御部
１０３  記憶部
２００  サーボドライバ
４００  表示器
【図１】
2020065364.tif 000003
【図２】
2020065364.tif 000004
【図３】
2020065364.tif 000005
【図４】
2020065364.tif 000006
【図５】
2020065364.tif 000007
【図６】
2020065364.tif 000008
【図７】
2020065364.tif 000009
【図８】
2020065364.tif 000010
【図９】
2020065364.tif 000011
【図１０】
2020065364.tif 000012
【図１１】
2020065364.tif 000013