(57)【要約】【課題】被駆動装置にかかる負荷、または気温が現在において未知であっても、駆動機構に生じる異常を適切に検知する。【解決手段】ＰＬＣ（１）は、第１期間でのサーボモータ（３１）のトルク値、回転角速度、または回転角度の代表値に応じて、駆動期間のうちの第２期間でのトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する変更処理部（１１４）と、第２期間でのトルク値、回転角速度、または回転角度の代表値が正常範囲内であるか否かを判定することにより、駆動機構（３）に生じる異常を検知する異常検知部（１１５）と、を備える。【選択図】図１
2020154829.tif 000002
【特許請求の範囲】
【請求項１】
被駆動装置と、前記被駆動装置を駆動するモータとを有する駆動機構に生じる異常に関する情報を処理する情報処理装置であって、
前記モータによって前記被駆動装置が駆動開始されてから停止されるまでの駆動期間のうちの第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値に応じて、前記駆動期間のうちの第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する変更処理部と、
前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値が、前記変更処理部によって変更された前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知する異常検知部と、を備える情報処理装置。
【請求項２】
前記第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値であり、
前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値である請求項１に記載の情報処理装置。
【請求項３】
前記第１期間は、前記モータのトルク値または回転角速度の絶対値が増加している期間のうちの少なくとも一部の期間である請求項１または２に記載の情報処理装置。
【請求項４】
前記変更処理部は、前記第１期間での前記モータの前記代表値について所定閾値未満の値から所定閾値以上の値に変更となる、または前記第１期間での前記モータの前記代表値について所定閾値以上の値から所定閾値未満の値に変更となる場合、前記正常範囲を変更する請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２期間は、前記第１期間以外の期間を含む請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２期間は、前記被駆動装置を略一定速度で移動させる期間を含む請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更処理部は、前記第１期間での前記モータのトルク値の代表値に応じて、前記第２期間での前記モータのトルク値の代表値の前記正常範囲を変更し、
前記異常検知部は、前記第２期間での前記モータのトルク値の代表値が、前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知する請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記変更処理部は、前記モータの制御のための回転角速度指令値と、前記モータの回転角速度の実測値との差分としての前記第１期間での代表値に応じて、前記正常範囲を変更する請求項１、４、５、６のいずれか１項に記載の情報処理装置。
【請求項９】
前記変更処理部は、前記モータの制御のための回転角度指令値と、前記モータの回転角度の実測値との差分としての前記第１期間での代表値に応じて、前記正常範囲を変更する請求項１、４、５、６のいずれか１項に記載の情報処理装置。
【請求項１０】
被駆動装置と、前記被駆動装置を駆動するモータとを有する駆動機構に生じる異常に関する情報を処理する情報処理方法であって、
前記モータによって前記被駆動装置が駆動開始されてから停止されるまでの駆動期間のうちの第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値に応じて、前記駆動期間のうちの第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する変更処理工程と、
前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値が、前記変更処理工程にて変更された前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知する異常検知工程と、を含む情報処理方法。
【請求項１１】
請求項１に記載の情報処理装置としてコンピュータを機能させるための情報処理プログラムであって、前記変更処理部及び前記異常検知部としてコンピュータを機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
被駆動装置のサーボモータのトルク値を監視することにより駆動機構に生じる異常に関する情報を処理する情報処理装置が従来技術として知られている。具体的に以下に説明する。サーボモータ及びサーボモータによって駆動される被駆動装置を含むサーボモータ機構は、情報処理装置によってその動作が制御される。情報処理装置は、サーボモータ機構の異常を検知すると、アラームを発する等の措置を行う。
【０００３】
このような情報処理装置には、サーボモータのトルク値を監視することにより、トルク値が正常範囲を超える値を示すと異常を検知するものがある。例えば、特許文献１には、温度センサを用いて温度補正を行ったモータのトルク値から算出したトルク変動値が、予め設定した閾値を超えた場合に、ロボット本体に異常が発生したと判断する異常検出方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８１４２１号公報（２００６年１０月１９日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている異常検出方法では、ロボット本体にかかる負荷、または気温が変動する場合、トルク変動値も変更するため、ロボット本体に生じる異常を誤検知する可能性があるという問題がある。本発明の一態様は、被駆動装置にかかる負荷、または気温が現在において未知であっても、駆動機構に生じる異常を適切に検知することを目的とする。
【課題を解決するための手段】
【０００６】
前記の課題を解決するために、本発明の一態様に係る情報処理装置は、被駆動装置と、前記被駆動装置を駆動するモータとを有する駆動機構に生じる異常に関する情報を処理する情報処理装置であって、前記モータによって前記被駆動装置が駆動開始されてから停止されるまでの駆動期間のうちの第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値に応じて、前記駆動期間のうちの第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する変更処理部と、前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値が、前記変更処理部によって変更された前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知する異常検知部と、を備える。
【０００７】
前記構成によれば、被駆動装置にかかる負荷が変化する、及び気温が変化する状況下で、被駆動装置にかかる負荷、または気温が現在において未知であっても、駆動機構に生じる異常を検知することができる。具体的に以下に説明する。被駆動装置にかかる負荷が変化すると代表値が変化するような期間を、第１期間として設定する場合を考える。この場合、第１期間での代表値に応じて第２期間での正常範囲を変化させるため、被駆動装置にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置にかかる負荷、または気温に関わらず、駆動機構に生じる異常を検知することができる。
【０００８】
前記第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値であり、前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値であってもよい。前記構成によれば、第１期間及び第２期間それぞれでの代表値が平均値であるため、第２期間の全体を考慮して正常範囲を適切に変更することができ、駆動機構に生じる異常を検知することができる。
【０００９】
前記第１期間は、前記モータのトルク値または回転角速度の絶対値が増加している期間のうちの少なくとも一部の期間であってもよい。前記構成において、モータによる駆動の開始時において被駆動装置にかかる負荷の違いによってモータの代表値にも差が生じる。よって、このような第１期間でのモータの代表値を参照することにより、被駆動装置にかかる負荷を認識することができ、第２期間での代表値の正常範囲を適切に変更することができる。
【００１０】
前記変更処理部は、前記第１期間での前記モータの前記代表値について所定閾値未満の値から所定閾値以上の値に変更となる、または前記第１期間での前記モータの前記代表値について所定閾値以上の値から所定閾値未満の値に変更となる場合、前記正常範囲を変更してもよい。
【００１１】
前記構成において、例えば、モータは、被駆動装置を駆動することにより、被駆動装置上にある、ワークを配置するためのステージを移動させるものであることを想定する。被駆動装置が駆動されている途中で、ステージに配置するワークを変更する場合、被駆動装置にかかる負荷が変動する。よって、変更処理部によって前記のように正常範囲が変更されることにより、第２期間での代表値の正常範囲を適切に変更することができる。
【００１２】
前記第２期間は、前記第１期間以外の期間を含んでもよい。前記構成によれば、第１期間以外の期間でのモータのトルク値、回転角速度、または回転角度を考慮するため、駆動機構に生じる異常が未検知とならないように、第２期間での代表値の正常範囲を適切に変更することができる。
【００１３】
前記第２期間は、前記被駆動装置を略一定速度で移動させる期間を含んでもよい。前記構成において、前記のような期間では被駆動装置３２が高速で移動しているため、駆動機構に異常が生じやすい。つまり、駆動機構に異常が生じやすい期間が考慮される。このため、駆動機構に生じる異常が未検知とならないように、第２期間での代表値の正常範囲を適切に変更することができる。
【００１４】
前記変更処理部は、前記第１期間での前記モータのトルク値の代表値に応じて、前記第２期間での前記モータのトルク値の代表値の前記正常範囲を変更し、前記異常検知部は、前記第２期間での前記モータのトルク値の代表値が、前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知してもよい。
【００１５】
前記構成において、被駆動装置にかかる負荷が変化するとトルク値が変化するような期間を、第１期間として設定する場合を考える。この場合、第１期間でのトルク値に応じて第２期間での正常範囲を変化させるため、被駆動装置にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置にかかる負荷、または気温に関わらず、駆動機構に生じる異常を検知することができる。
【００１６】
前記変更処理部は、前記モータの制御のための回転角速度指令値と、前記モータの回転角速度の実測値との差分としての前記第１期間での代表値に応じて、前記正常範囲を変更してもよい。前記構成において、被駆動装置にかかる負荷が変化すると、回転角速度指令値と回転角速度の実測値との差分が生じるような期間を、第１期間として設定する場合を考える。この場合、第１期間での前記差分に応じて第２期間での正常範囲を変化させるため、被駆動装置にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置にかかる負荷、または気温に関わらず、駆動機構に生じる異常を検知することができる。
【００１７】
前記変更処理部は、前記モータの制御のための回転角度指令値と、前記モータの回転角度の実測値との差分としての前記第１期間での代表値に応じて、前記正常範囲を変更してもよい。前記構成において、被駆動装置にかかる負荷が変化すると、回転角度指令値と回転角度の実測値との差分が生じるような期間を、第１期間として設定する場合を考える。この場合、第１期間での前記差分に応じて第２期間での正常範囲を変化させるため、被駆動装置にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置にかかる負荷、または気温に関わらず、駆動機構に生じる異常を検知することができる。
【００１８】
本発明の一態様に係る情報処理方法は、被駆動装置と、前記被駆動装置を駆動するモータとを有する駆動機構に生じる異常に関する情報を処理する情報処理方法であって、前記モータによって前記被駆動装置が駆動開始されてから停止されるまでの駆動期間のうちの第１期間での前記モータのトルク値、回転角速度、または回転角度の代表値に応じて、前記駆動期間のうちの第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する変更処理工程と、前記第２期間での前記モータのトルク値、回転角速度、または回転角度の代表値が、前記変更処理工程にて変更された前記正常範囲内であるか否かを判定することにより、前記駆動機構に生じる異常を検知する異常検知工程と、を含む。
【００１９】
本発明の一態様に係る情報処理プログラムは、前記情報処理装置としてコンピュータを機能させるための情報処理プログラムであって、前記変更処理部及び前記異常検知部としてコンピュータを機能させる。
【発明の効果】
【００２０】
本発明の一態様によれば、被駆動装置にかかる負荷、または気温が現在において未知であっても、駆動機構に生じる異常を適切に検知することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る制御システムの構成を示すブロック図である。
【図２】図１に示す制御システムが備えるサーボモータのトルク値を示す図である。
【図３】図１に示す制御システムが備えるサーボモータについて第１期間でのトルク値の平均値に対する第２期間でのトルク値の平均値を示す図である。
【図４】図１に示す制御システムの処理手順を示すフローチャートである。
【図５】図１に示す制御システムが備える被駆動装置の構成の一例を示す図である。
【図６】本実施形態の変形例１に係る制御システムの処理手順を示すフローチャートである。
【図７】本実施形態の変形例１に係る制御システムが備えるサーボモータについて第１期間でのトルク値の平均値に対する第２期間でのトルク値の平均値を示す図である。
【図８】本実施形態の変形例２に係る制御システムが備えるサーボモータのトルク値を示す図である。
【図９】本実施形態の変形例２に係る制御システムが備えるサーボモータについて第１期間でのトルク値の平均値に対する第２期間でのトルク値の平均値を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を図面に基づいて説明する。
【００２３】
§１  適用例
図１は、本実施形態に係る制御システム１００の構成を示すブロック図である。図１を用いて、本発明が適用される場面の一例について説明する。制御システム１００は、図１に示すように、ＰＬＣ（Programmable Logic Controller）１（情報処理装置）、サーボドライバ２、駆動機構３、温度センサ４、及びモニタ５を備えている。制御システム１００は、駆動機構３に生じる異常を検知するシステムである。
【００２４】
ＰＬＣ１は、駆動機構３に生じる異常に関する情報を処理する。具体的には、ＰＬＣ１は、第１期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値に応じて、第２期間でのトルク値、回転角速度、または回転角度の代表値の正常範囲を設定する。ＰＬＣ１は、第２期間でのサーボモータ３１（モータ）のトルク値、回転角速度、または回転角度の代表値が、正常範囲内であるか否かを判定することにより、駆動機構３に生じた異常を検知する。詳細については後述する。
【００２５】
§２  構成例
（制御システム１００の構成）
図１を用いて、本実施形態に係る制御システム１００の構成例について説明する。駆動機構３は、ＰＬＣ１の制御対象であり、サーボモータ３１及び被駆動装置３２を備えている。サーボモータ３１は、被駆動装置３２を駆動する。サーボモータ３１については、回転角速度及び回転角度を検出するためのロータリエンコーダが回転軸に取り付けられている。被駆動装置３２は、工作機械またはロボット等の機械における駆動される部分であり、サーボモータ３１が発生する回転駆動力を所定の運動に変換する機構を有している。
【００２６】
サーボドライバ２は、ＰＬＣ１から受けた指令に基づき、サーボモータ３１の回転角速度、回転角度等の状態量に応じた最適な駆動エネルギーとしてトルクをサーボモータ３１に与えることによって、サーボモータ３１を駆動する。温度センサ４は、サーボモータ３１の近傍に配置されており、サーボモータ３１の温度を検出する。また、温度変化が少ない環境で制御システム１００を用いる場合、制御システム１００は温度センサ４を備えなくてもよい。
【００２７】
ＰＬＣ１は、制御部１１及びメモリ１２を備えている。ＰＬＣ１は、サーボドライバ２、温度センサ４、及びモニタ５と接続されている。制御部１１は、データ取得部１１１、データ補正部１１２、算出処理部１１３、変更処理部１１４、及び異常検知部１１５を備えている。制御部１１は、サーボドライバ２に制御指令を与える。
【００２８】
データ取得部１１１は、ＰＬＣ１の通信機能を利用して、サーボドライバ２からサーボモータ３１のトルク値を取得すると共に、温度センサ４からサーボモータ３１の温度を取得する。当該トルク値は、サーボドライバ２がサーボモータ３１に出力する電流値から求められる。データ取得部１１１は、サーボドライバ２がサーボモータ３１に出力する電流値を取得してトルク値を求めてもよい。電流値とトルク値との関係は温度に応じて変化するため、後述のようにトルク値は補正される。
【００２９】
データ取得部１１１は、取得したサーボモータ３１のトルク値及び温度をメモリ１２に記憶させる。データ補正部１１２は、メモリ１２に記憶されたサーボモータ３１の温度に基づいてサーボモータ３１のトルク値を補正する。データ補正部１１２は、補正したトルク値をメモリ１２に記憶させる。これ以降、算出処理部１１３、変更処理部１１４、及び異常検知部１１５で参照されるトルク値は、データ補正部１１２によって補正されたトルク値である。
【００３０】
算出処理部１１３は、サーボモータ３１によって被駆動装置３２が駆動開始されてから停止されるまでの駆動期間のうちの第１期間Ｐ１でのサーボモータ３１のトルク値の平均値を算出する。また、算出処理部１１３は、前記駆動期間のうちの第２期間Ｐ２でのサーボモータ３１のトルク値の平均値を算出する。算出処理部１１３は、算出したこれらの平均値をメモリ１２に記憶させる。前記駆動期間は、１ストロークと呼ばれる期間である。第１期間Ｐ１及び第２期間Ｐ２は、例えば図２に示す通りになる。第１期間Ｐ１及び第２期間Ｐ２の詳細については後述する。
【００３１】
図２は、図１に示す制御システム１００が備えるサーボモータ３１のトルク値を示す図である。また、図２は、前記駆動期間でのサーボモータ３１のトルク値を示している。図２において、横軸は時間であり、縦軸はサーボモータ３１のトルク値である。さらに、図２において、Ｔ１は、被駆動装置３２にかかる負荷が小さく（被駆動装置３２が扱うワークの質量が小さく）、駆動機構３に異常が生じた場合のサーボモータ３１のトルク値である。Ｔ２は、被駆動装置３２にかかる負荷が小さく、駆動機構３が正常な場合のサーボモータ３１のトルク値である。Ｔ３は、被駆動装置３２にかかる負荷が大きく（被駆動装置３２が扱うワークの質量が大きく）、駆動機構３が正常な場合のサーボモータ３１のトルク値である。
【００３２】
図２において、時間０（ｍｓ）は、被駆動装置３２の駆動開始時点の時間であり、時間５００（ｍｓ）は、被駆動装置３２の駆動停止時点の時間である。図２に示すように、被駆動装置３２が駆動開始されてからの一定期間ＰＴ１、及び被駆動装置３２が駆動停止される前の一定期間ＰＴ２は、サーボモータ３１のトルク値の絶対値が増加している期間となる。一定期間ＰＴ１では、被駆動装置３２にかかる負荷の違いによって、サーボモータ３１のトルク値に差が生じる。
【００３３】
時間０（ｍｓ）近傍でトルク値Ｔ３がトルク値Ｔ２に比べて大きくなっている。これは、被駆動装置３２にかかる負荷が大きくなるほど、被駆動装置３２が駆動開始するときのサーボモータ３１のトルク値も大きくなるためである。また、サーボモータ３１が加速している場合のトルク値がピーク値近傍となる期間（後述する第１期間Ｐ３）において、トルク値Ｔ３がトルク値Ｔ２より大きくなっている。これは、被駆動装置３２にかかる負荷が大きくなるほど、サーボモータ３１のトルク値のピーク値も大きくなるためである。
【００３４】
サーボモータ３１が減速している場合のトルク値がピーク値近傍となる期間（後述する第１期間Ｐ４）において、トルク値Ｔ３がトルク値Ｔ２より大きくなっている。これは、サーボモータ３１が減速している場合でも、被駆動装置３２にかかる負荷が大きくなるほど、サーボモータ３１のトルク値のピーク値が大きくなるためである。
【００３５】
また、時間２００（ｍｓ）近傍でトルク値Ｔ１がトルク値Ｔ２より大きくなっている。これは、サーボモータ３１の回転角速度が略等速となる期間（後述する第２期間Ｐ５）において、例えば、後述するボールねじ５１にキズが付いていることによってサーボモータ３１のトルク値が大きくなるためである。時間２００（ｍｓ）近傍以外では、トルク値Ｔ１はトルク値Ｔ２と略同一である。
【００３６】
第１期間Ｐ１は、被駆動装置３２が駆動開始されてからの所定期間である。前記所定期間は、被駆動装置３２にかかる負荷の違いによってトルク値Ｔ３がトルク値Ｔ２より大きくなる期間を含むように設定される。つまり、第１期間Ｐ１は、被駆動装置３２にかかる負荷または温度の違いを見分けるための期間である。前記所定期間は、例えば、時間が１（ｍｓ）以上２０（ｍｓ）以下の期間である。特に、被駆動装置３２の駆動開始直後では、被駆動装置３２にかかる負荷の差が顕著になり易い。
【００３７】
第１期間Ｐ１は、一定期間ＰＴ１・ＰＴ２のうちの少なくとも一部の期間である。これにより、サーボモータ３１による駆動が開始されてからの一定期間において被駆動装置３２にかかる負荷の違いによってサーボモータ３１のトルク値の平均値にも差が生じる。よって、このような第１期間Ｐ１でのサーボモータ３１のトルク値の平均値を参照することにより、被駆動装置３２にかかる負荷を認識することができ、第２期間Ｐ２でのトルク値の平均値の正常範囲を適切に変更することができる。
【００３８】
第２期間Ｐ２は、前記駆動期間と同一である。よって、第２期間Ｐ２は、第１期間Ｐ１以外の期間を含む。これにより、第１期間Ｐ１以外の期間でのサーボモータ３１のトルク値の平均値を考慮するため、駆動機構３に生じる異常が未検知とならないように、第２期間Ｐ２でのトルク値の平均値の正常範囲を適切に変更することができる。つまり、第２期間Ｐ２は、駆動機構３に生じる異常を検知するための期間である。制御システム１００では、期間Ｐ１を第１期間、期間Ｐ２を第２期間としている。
【００３９】
図３は、図１に示す制御システム１００が備えるサーボモータ３１について第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値を示す図である。図３において、横軸は第１期間Ｐ１でのサーボモータ３１のトルク値の平均値であり、縦軸は第２期間Ｐ２でのサーボモータ３１のトルク値の平均値である。
【００４０】
変更処理部１１４は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に応じて、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値の正常範囲を変更する。具体的に以下に説明する。被駆動装置３２にかかる負荷を変動させながら駆動機構３を複数回動作させる、つまり、複数のストロークで駆動機構３を動作させる。１ストローク毎に負荷を変更する。
【００４１】
サーボドライバ２によって駆動機構３が複数回（複数ストローク）動作させられることにより、サーボモータ３１について第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値がメモリ１２に複数記録される。変更処理部１１４は、サーボモータ３１について第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値が複数記録された結果に基づいて、回帰曲線ＣＬ１を設定する。回帰曲線ＣＬ１は、サーボモータ３１について第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値を示す曲線である。回帰曲線ＣＬ１が設定されるためには、駆動機構３が動作させられる毎に、被駆動装置３２が扱うワークが変化する必要がある。
【００４２】
変更処理部１１４は、図３に示すように、回帰曲線ＣＬ１を基準として上限閾値ＴＨ１及び下限閾値ＴＨ２を設定することにより、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値の正常範囲を設定する。前記正常範囲は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値について下限閾値ＴＨ２以上、上限閾値ＴＨ１以下の数値範囲である。
【００４３】
これにより、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が変化すると、正常範囲も変化することになる。よって、変更処理部１１４は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に応じて、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値の正常範囲を変更することになる。変更処理部１１４は、設定した正常範囲をメモリ１２に記憶させる。
【００４４】
異常検知部１１５は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値が、変更処理部１１４によって変更された正常範囲内であるか否かを判定することにより、駆動機構３に生じる異常を検知する。具体的に以下に説明する。
【００４５】
図３において、例えば、第１期間Ｐ１でのトルク値Ｔ１の平均値に対する第２期間Ｐ２でのトルク値Ｔ１の平均値が値Ａ１となる。また、第１期間Ｐ１でのトルク値Ｔ２の平均値に対する第２期間Ｐ２でのトルク値Ｔ２の平均値が値Ａ２となり、第１期間Ｐ１でのトルク値Ｔ３の平均値に対する第２期間Ｐ２でのトルク値Ｔ３の平均値が値Ａ３となる。つまり、値Ａ１〜Ａ３はそれぞれ、第２期間Ｐ２でのトルク値の平均値である。
【００４６】
値Ａ１は、図３に示すように、正常範囲内ではない。よって、異常検知部１１５は、メモリ１２に記憶された正常範囲を参照し、値Ａ１が正常範囲内ではないと判定し、駆動機構３に生じた異常を検知する。
【００４７】
このような構成によれば、被駆動装置３２にかかる負荷が変化する、及び気温が変化する状況下で、被駆動装置３２にかかる負荷及び気温のいずれか一方が現在において未知であっても、駆動機構３に生じる異常を検知することができる。具体的に以下に説明する。
【００４８】
被駆動装置３２にかかる負荷が変化するとトルク値の平均値が変化するような期間を、第１期間Ｐ１として設定する場合を考える。この場合、第１期間Ｐ１でのトルク値の平均値に応じて第２期間Ｐ２での正常範囲を変化させるため、被駆動装置３２にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置３２にかかる負荷が連続的に変化する、または被駆動装置３２にかかる負荷が頻繁に変化する場合であっても、駆動機構３に生じる異常を適切に検知することができる。
【００４９】
異常検知部１１５は、駆動機構３に異常が生じたという情報をモニタ５に提供する。モニタ５は、ディスプレイを備え、異常検知部１１５から提供された情報に基づき、駆動機構３に異常が生じたことを当該ディスプレイに表示する。また、値Ａ２・Ａ３の場合においては、異常検知部１１５は、値Ａ２・Ａ３が正常範囲内であると判定し、駆動機構３に異常が生じていないと認識し、異常を検知しない。
【００５０】
§３  動作例
（制御システム１００の処理）
図４は、図１に示す制御システム１００の処理手順を示すフローチャートである。ここで、制御システム１００の処理（情報処理方法）について、図４に基づいて説明する。まず、図４に示すように、制御システム１００において、回帰曲線ＣＬ１を設定するために、サーボドライバ２は、駆動機構３を複数回動作させる（ステップＳ１）。
【００５１】
図５は、図１に示す制御システム１００が備える被駆動装置３２の構成の一例を示す図である。ここで、駆動機構３の被駆動装置３２は、図５に示すように、ボールねじ５１と、ボールねじ５１によって駆動されるステージ５２とを備えるボールねじ駆動ステージであるとする。ステージ５２の上にワークＷが配置される。
【００５２】
このようなボールねじ駆動ステージの動作において、駆動機構３を動作させることによって、ステージ５２が、例えば、ポイントＰＰ１からポイントＰＰ２に移動する場合を考える。この場合において、ステージ５２をポイントＰＰ１からポイントＰＰ２に移動させる処理が複数回行われる。当該処理が行われる毎に、ワークＷを質量が異なるものに変更する。これにより、被駆動装置３２にかかる負荷が変更される。
【００５３】
前記処理が複数回行われるときに、データ取得部１１１は、サーボドライバ２から取得したサーボモータ３１のトルク値をメモリ１２に記憶させることにより、サーボモータ３１のトルク値をマッピングする（ステップＳ２）。算出処理部１１３は、メモリ１２に記憶された、サーボモータ３１のトルク値がマッピングされた結果を参照して、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値、及び第２期間Ｐ２でのサーボモータ３１のトルク値の平均値を算出する。算出処理部１１３は、算出したこれらの平均値をメモリ１２に記憶させる。
【００５４】
変更処理部１１４は、算出処理部１１３によってメモリ１２に記憶された平均値を参照して、回帰曲線ＣＬ１を設定する（ステップＳ３）。変更処理部１１４は、設定した回帰曲線ＣＬ１の情報をメモリ１２に記憶させる。変更処理部１１４は、回帰曲線ＣＬ１を設定した後、第２期間Ｐ２での前述した正常範囲を変更する（ステップＳ４：変更処理工程）。
【００５５】
変更処理部１１４は、正常範囲を変更した後、メモリ１２に記憶されたサーボモータ３１のトルク値及び温度を参照して、サーボモータ３１の温度に対するサーボモータ３１のトルク値を示す基準曲線を設定する（ステップＳ５）。変更処理部１１４は、設定した前記基準曲線の情報をメモリ１２に記憶させる。前記基準曲線の設定方法については公知であるため、説明を省略する。
【００５６】
ステップＳ１〜ステップＳ５の処理は、駆動機構３の通常動作を行う前の予備処理であり、回帰曲線ＣＬ１及び前記基準曲線を設定するための処理である。このため、ステップＳ１〜ステップＳ５の処理は、１回行われればよい。回帰曲線ＣＬ１及び前記基準曲線の設定が完了していれば、ステップＳ１〜ステップＳ５の処理を行わずに、次に説明するステップＳ６〜ステップＳ１１の処理を行えばよい。ステップＳ６〜ステップＳ１１の処理は、駆動機構３の通常動作を行ったときに、駆動機構３に生じる異常を検知するための処理である。
【００５７】
回帰曲線ＣＬ１及び前記基準曲線の設定が完了した後、サーボドライバ２は、駆動機構３を動作させる（ステップＳ６）。データ取得部１１１は、サーボドライバ２からサーボモータ３１のトルク値を取得すると共に、温度センサ４からサーボモータ３１の温度を取得する。データ取得部１１１は、取得したサーボモータ３１のトルク値及び温度をメモリ１２に記憶させる。データ取得部１１１によって取得されたサーボモータ３１のトルク値がメモリ１２に記憶された結果は、図２に示すような結果となる。
【００５８】
データ補正部１１２は、メモリ１２に記憶されたサーボモータ３１の温度、及び前記基準曲線に基づいて、サーボモータ３１のトルク値を補正する（ステップＳ７）。データ補正部１１２は、補正したトルク値をメモリ１２に記憶させる。算出処理部１１３は、メモリ１２に記憶された補正後のトルク値を参照して、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値、及び第２期間Ｐ２でのサーボモータ３１のトルク値の平均値を算出する。算出処理部１１３は、算出したこれらの平均値をメモリ１２に記憶させる。
【００５９】
変更処理部１１４は、算出処理部１１３によってメモリ１２に記憶された平均値を参照して、第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値を、図３に示すようにマッピングする（ステップＳ８）。変更処理部１１４は、マッピングした前記平均値をメモリ１２に記憶させる。変更処理部１１４によって前記平均値がマッピングされた結果は、図３に示すような結果となる。
【００６０】
異常検知部１１５は、メモリ１２に記憶された、変更処理部１１４によって前記平均値がマッピングされた結果を参照する。これにより、異常検知部１１５は、第２期間Ｐ２でのトルク値の平均値が正常範囲内であるか否かを判定する（ステップＳ９）。第２期間Ｐ２でのトルク値の平均値が正常範囲内である場合（ステップＳ９にてＹＥＳの場合）、異常検知部１１５は、駆動機構３に異常が生じていないと認識する。よって、駆動機構３に生じる異常を検知するための処理が終了する。
【００６１】
第２期間Ｐ２でのトルク値の平均値が正常範囲外である場合（ステップＳ９にてＮＯの場合）、異常検知部１１５は、駆動機構３に異常が生じたと判定する。これにより、異常検知部１１５は、駆動機構３に生じる異常を検知する（ステップＳ１０：異常検知工程）。異常検知部１１５は、駆動機構３に異常が生じたという情報をモニタ５に提供する。モニタ５は、駆動機構３に異常が生じたことをディスプレイに表示することにより、異常を通知する（ステップＳ１１）。
【００６２】
また、本発明に係る情報処理装置は、ＰＬＣ１に限らず、サーバまたはＰＣ（Personal Computer）であってもよい。このように構成する場合、データ取得部１１１は、別途設けられるＰＬＣからサーボモータ３１のトルク値及び温度を取得するようにしてもよい。
【００６３】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、前記実施形態と同様の構成要素に関しては同様の符号を用い、前記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００６４】
（変形例１）
図６は、本実施形態の変形例１に係る制御システム１０１の処理手順を示すフローチャートである。制御システム１０１の処理について、図６に基づいて説明する。ステップＳ２１の処理については、ステップＳ１の処理と同様であるため、説明を省略する。図５において、ステージ５２をポイントＰＰ１からポイントＰＰ２に移動させる処理が複数回行われる場合を考える。この場合、データ取得部１１１は、サーボドライバ２から取得したサーボモータ３１のトルク値をメモリ１２に記憶させることにより、サーボモータ３１のトルク値をマッピングする。
【００６５】
算出処理部１１３は、メモリ１２に記憶された、サーボモータ３１のトルク値がマッピングされた結果を参照して、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値、及び第２期間Ｐ２でのサーボモータ３１のトルク値の平均値を算出する。算出処理部１１３は、算出したこれらの平均値をメモリ１２に記憶させる。
【００６６】
算出処理部１１３によって算出された平均値がメモリ１２に記憶された後、変更処理部１１４は、算出処理部１１３によってメモリ１２に記憶された平均値を参照する。これにより、変更処理部１１４は、第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値をマッピングする（ステップＳ２２）。
【００６７】
図７は、本実施形態の変形例１に係る制御システム１０１が備えるサーボモータ３１について第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値を示す図である。図７において、横軸は第１期間Ｐ１でのサーボモータ３１のトルク値の平均値であり、縦軸は第２期間Ｐ２でのサーボモータ３１のトルク値の平均値である。
【００６８】
変更処理部１１４は、図７に示すように、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値について所定閾値ｔｈ１を設定する（ステップＳ２３）。具体的には、変更処理部１１４は、ステップＳ２２でマッピングした平均値に基づいて、第１期間Ｐ１でのトルク値の平均値に予め定められた所定値を加えた値を、第１期間Ｐ１での所定閾値ｔｈ１として設定する。
【００６９】
変更処理部１１４は、所定閾値ｔｈ１を設定した後、第２期間Ｐ２での正常範囲を設定する（ステップＳ２４）。ここで、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が所定閾値ｔｈ１未満であるとする。変更処理部１１４は、ステップＳ２２でマッピングした平均値に基づいて、第２期間Ｐ２でのトルク値の平均値を基準として上限閾値ＴＨ３及び下限閾値ＴＨ４を設定する。これにより、変更処理部１１４は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値の正常範囲を設定する。変更処理部１１４は、設定した正常範囲をメモリ１２に記憶させる。上限閾値ＴＨ３及び下限閾値ＴＨ４は、例えば、上限閾値ＴＨ３と下限閾値ＴＨ４との間の中心値が、ステップＳ２２で算出された第２期間Ｐ２でのトルク値の平均値となるように設定されてもよい。
【００７０】
この後、ステップＳ２５〜Ｓ２８の処理が行われるが、ステップＳ２５〜Ｓ２８の処理は、ステップＳ５〜Ｓ８の処理と同様であるため、説明を省略する。ステップＳ２１〜ステップＳ２５の処理は、１回行われればよい。ステップＳ２２〜ステップＳ２５での設定が完了していれば、ステップＳ２１〜ステップＳ２５の処理を行わずに、ステップＳ２６〜ステップＳ３３の処理を行えばよい。ステップＳ２６〜ステップＳ３３の処理が行われる間、駆動機構３は複数回動作させられる。
【００７１】
変更処理部１１４は、ステップＳ２８において第１期間Ｐ１でのトルク値の平均値に対する第２期間Ｐ２でのトルク値の平均値をマッピングした後、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が所定閾値ｔｈ１以上であるか否かを判定する（ステップＳ２９）。
【００７２】
第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が所定閾値ｔｈ１未満である場合（ステップＳ２９にてＮＯの場合）、ステップＳ３１の処理に移る。第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が所定閾値ｔｈ１以上である場合（ステップＳ２９にてＹＥＳの場合）、変更処理部１１４は、第２期間Ｐ２での正常範囲を更新する（ステップＳ３０）。この場合において、第２期間Ｐ２でのトルク値の平均値が１回目または２回目に算出された結果を正常とする。
【００７３】
具体的には、変更処理部１１４は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値が所定閾値ｔｈ１以上である場合において上限閾値ＴＨ５及び下限閾値ＴＨ６を設定する。これにより、変更処理部１１４は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値の正常範囲を更新する。
【００７４】
このとき、変更処理部１１４は、ステップＳ２８で算出された第２期間Ｐ２でのトルク値の平均値を基準として上限閾値ＴＨ５及び下限閾値ＴＨ６を設定する。つまり、変更処理部１１４は、第１期間Ｐ１でのトルク値の平均値が最初に所定閾値ｔｈ１を超えたときの第２期間Ｐ２でのトルク値の平均値を基準として上限閾値ＴＨ５及び下限閾値ＴＨ６を設定する。変更処理部１１４は、更新した正常範囲をメモリ１２に記憶させる。上限閾値ＴＨ５及び下限閾値ＴＨ６は、例えば、上限閾値ＴＨ５と下限閾値ＴＨ６との間の中心値が、ステップＳ２８で算出された第２期間Ｐ２でのトルク値の平均値となるように設定されてもよい。
【００７５】
異常検知部１１５は、変更処理部１１４によってメモリ１２に記憶された正常範囲を参照する。これにより、異常検知部１１５は、第２期間Ｐ２でのトルク値の平均値が正常範囲内であるか否かを判定する（ステップＳ３１）。第２期間Ｐ２でのトルク値の平均値が正常範囲内である場合（ステップＳ３１にてＹＥＳの場合）、異常検知部１１５は、駆動機構３に異常が生じていないと認識する。例えば、図７に示す値Ａ２・Ａ３の場合においては、異常検知部１１５は、値Ａ２・Ａ３が正常範囲内であると判定し、駆動機構３に異常が生じていないと認識し、異常を検知しない。よって、駆動機構３に生じる異常を検知するための処理が終了する。
【００７６】
第２期間Ｐ２でのトルク値の平均値が正常範囲外である場合（ステップＳ３１にてＮＯの場合）、異常検知部１１５は、駆動機構３に異常が生じたと判定する。例えば、値Ａ１は、図７に示すように、正常範囲内ではない。よって、異常検知部１１５は、メモリ１２に記憶された正常範囲を参照し、値Ａ１が正常範囲内ではないと判定し、駆動機構３に異常が生じたと判定する。
【００７７】
これにより、異常検知部１１５は、駆動機構３に生じる異常を検知する（ステップＳ３２：異常検知工程）。この後、ステップＳ３３の処理が行われるが、ステップＳ３３の処理はステップＳ１１の処理と同様であるため、説明を省略する。なお、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値について所定閾値ｔｈ１以上の値から所定閾値ｔｈ１未満の値に変更となる場合でも、変更処理部１１４は、正常範囲を再設定する。
【００７８】
以上により、変更処理部１１４は、第１期間Ｐ１でのサーボモータ３１の平均値について所定閾値未満の値から所定閾値以上の値に変更となる、または第１期間Ｐ１でのサーボモータ３１の平均値について所定閾値以上の値から所定閾値未満の値に変更となる場合、正常範囲を変更する。
【００７９】
前記構成において、例えば、サーボモータ３１は、被駆動装置３２を駆動することにより、被駆動装置３２上にある、ワークＷを配置するためのステージ５２を移動させるものであることを想定する。被駆動装置３２が駆動されている途中で、ステージ５２に配置するワークＷを質量が異なるものに変更する場合、被駆動装置３２にかかる負荷が変動する。よって、変更処理部１１４によって前記のように正常範囲が変更されることにより、第２期間Ｐ２での平均値の正常範囲を適切に変更することができる。
【００８０】
（変形例２）
図８は、本実施形態の変形例２に係る制御システム１０２が備えるサーボモータ３１のトルク値を示す図である。また、図８は、前記駆動期間でのサーボモータ３１のトルク値を示している。制御システム１０２は、制御システム１００と比べて、温度センサ４を備えていない点、及びデータ補正部１１２を備えていない点が異なる。ここで、被駆動装置３２にかかる負荷（ワークＷの質量）が一定であるとする。
【００８１】
図８において、横軸は時間であり、縦軸はサーボモータ３１のトルク値である。さらに、図８において、Ｔ４は、駆動機構３に異常が生じた場合のサーボモータ３１のトルク値である。Ｔ５は、駆動機構３に異常が生じていない場合のサーボモータ３１のトルク値である。
【００８２】
図８において、時間０（ｍｓ）は、被駆動装置３２の駆動開始時点の時間であり、時間５００（ｍｓ）は、被駆動装置３２の駆動停止時点の時間である。また、被駆動装置３２の駆動開始時点で衝撃荷重が加わる場合、例えば、被駆動装置３２の駆動開始時点でワークＷに加工が行われる場合、第２期間Ｐ１では駆動機構３に異常が生じやすい。よって、制御システム１０２では、期間Ｐ１を第２期間、期間Ｐ２を第１期間としている。
【００８３】
また、制御システム１０２は温度センサ４を備えないため、前述した回帰曲線ＣＬ１を設定する場合、データ補正部１１２での処理は行われず、算出処理部１１３は、データ取得部１１１によってメモリ１２に記憶されたサーボモータ３１のトルク値に基づいて処理を行ってもよい。
【００８４】
データ補正部１１２によって、サーボモータ３１の温度に基づいてサーボモータ３１のトルク値が補正されなくても、第２期間Ｐ１でのトルク値の平均値と第１期間Ｐ２でのトルク値の平均値とを用いて温度影響をキャンセルすることができる。このため、駆動開始時点近傍での駆動機構３に生じる異常を検知することができる。
【００８５】
図９は、本実施形態の変形例２に係る制御システム１０２が備えるサーボモータ３１について第１期間Ｐ２でのトルク値の平均値に対する第２期間Ｐ１でのトルク値の平均値を示す図である。図９において、横軸は第１期間Ｐ２でのサーボモータ３１のトルク値の平均値であり、縦軸は第２期間Ｐ１でのサーボモータ３１のトルク値の平均値である。変更処理部１１４は、回帰曲線ＣＬ１の設定と同様に、図９に示す回帰曲線ＣＬ２を設定する。回帰曲線ＣＬ２は、サーボモータ３１について第１期間Ｐ２でのトルク値の平均値に対する第２期間Ｐ１でのトルク値の平均値を示す曲線である。
【００８６】
変更処理部１１４は、図９に示すように、回帰曲線ＣＬ２を基準として上限閾値ＴＨ７及び下限閾値ＴＨ８を設定することにより、第２期間Ｐ１でのサーボモータ３１のトルク値の平均値の正常範囲を設定する。前記正常範囲は、第２期間Ｐ１でのトルク値の平均値について下限閾値ＴＨ８以上、上限閾値ＴＨ７以下の数値範囲である。変更処理部１１４は、設定した正常範囲をメモリ１２に記憶させる。
【００８７】
異常検知部１１５は、第２期間Ｐ１でのサーボモータ３１のトルク値の平均値が、変更処理部１１４によって設定された正常範囲内であるか否かを判定することにより、駆動機構３に生じる異常を検知する。具体的に以下に説明する。図９において、例えば、第１期間Ｐ２でのトルク値Ｔ４の平均値に対する第２期間Ｐ１でのトルク値Ｔ４の平均値が値Ａ４となる。
【００８８】
また、第１期間Ｐ２でのトルク値Ｔ５の平均値に対する第２期間Ｐ１でのトルク値Ｔ５の平均値が値Ａ５となる。値Ａ５の場合と比べて、サーボモータ３１の温度が高温であり、かつ、駆動機構３に異常が生じていない場合において、第１期間Ｐ２でのトルク値の平均値に対する第２期間Ｐ１でのトルク値の平均値が値Ａ６となる。値Ａ４〜Ａ６の場合においても、値Ａ１〜Ａ３の場合と同様に、異常検知部１１５によって処理が行われる。
【００８９】
（変形例３）
第１期間としては、期間Ｐ１に代えて、図２に示す期間Ｐ３が選択されてもよい。第１期間Ｐ３は、サーボモータ３１が加速している場合のトルク値がピーク値近傍となる期間である。第１期間Ｐ３には、トルク値Ｔ３の絶対値がトルク値Ｔ２の絶対値より大きくなる期間が含まれる。第１期間Ｐ３において、トルク値Ｔ３のピーク値の絶対値は、トルク値Ｔ２のピーク値の絶対値より大きくなる。
【００９０】
この場合、変更処理部１１４及び異常検知部１１５は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に代えて、第１期間Ｐ３でのサーボモータ３１が加速している場合のトルク値のピーク値を参照して、前述した処理を行う。
【００９１】
（変形例４）
第１期間としては、期間Ｐ１に代えて、図２に示す期間Ｐ４が選択されてもよい。第１期間Ｐ４は、サーボモータ３１が減速している場合のトルク値がピーク値近傍となる期間である。第１期間Ｐ４には、トルク値Ｔ３の絶対値がトルク値Ｔ２の絶対値より大きくなる期間が含まれる。第１期間Ｐ４において、トルク値Ｔ３のピーク値の絶対値は、トルク値Ｔ２のピーク値の絶対値より大きくなる。
【００９２】
この場合、変更処理部１１４及び異常検知部１１５は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に代えて、第１期間Ｐ４でのサーボモータ３１が減速している場合のトルク値のピーク値を参照して、前述した処理を行う。
【００９３】
（変形例５）
第２期間としては、期間Ｐ２に代えて、図２に示す期間Ｐ５が選択されてもよい。第２期間Ｐ５は、被駆動装置３２を略一定速度で移動させる期間である。つまり、第２期間Ｐ５は、制御部１１が、サーボモータ３１の回転角速度を一定にしてサーボモータ３１を駆動するように、サーボドライバ２に指示している期間である。この場合、データ取得部１１１は、サーボドライバ２からサーボモータ３１のトルク値に加えてサーボモータ３１の回転角速度または回転角度をさらに取得する。データ取得部１１１は、取得したサーボモータ３１の回転角速度または回転角度をメモリ１２に記憶させる。
【００９４】
第２期間Ｐ５では、サーボドライバ２がサーボモータ３１に提供するサーボモータ３１のトルク値も略一定となる。この場合、変更処理部１１４及び異常検知部１１５は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値に代えて、第２期間Ｐ５でのサーボモータ３１のトルク値の平均値を参照して、前述した処理を行う。
【００９５】
よって、第２期間Ｐ５は、被駆動装置３２を略一定速度で移動させる期間を含む。前記のような期間では被駆動装置３２が高速で移動しているため、駆動機構３に異常が生じやすい。つまり、駆動機構３に異常が生じやすい期間が考慮される。このため、駆動機構３に生じる異常が未検知とならないように、第２期間Ｐ５での平均値の正常範囲を適切に変更することができる。
【００９６】
（変形例６）
データ取得部１１１は、サーボドライバ２からサーボモータ３１の回転角速度または回転角度を取得してもよい。この場合、データ取得部１１１は、取得したサーボモータ３１の回転角速度または回転角度をメモリ１２に記憶させる。算出処理部１１３は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に代えて、第１期間Ｐ６（図示せず）でのサーボモータ３１の回転角速度または回転角度の平均値を算出してもよい。また、算出処理部１１３は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値に代えて、第２期間Ｐ７（図示せず）でのサーボモータ３１の回転角速度の平均値を算出してもよい。
【００９７】
この場合、変更処理部１１４及び異常検知部１１５は、第１期間Ｐ１でのサーボモータ３１のトルク値の平均値に代えて、第１期間Ｐ６でのサーボモータ３１の回転角速度または回転角度の平均値を参照して、前述した処理を行う。また、変更処理部１１４及び異常検知部１１５は、第２期間Ｐ２でのサーボモータ３１のトルク値の平均値に代えて、第２期間Ｐ７でのサーボモータ３１の回転角速度の平均値を参照して、前述した処理を行ってもよい。
【００９８】
また、被駆動装置３２が駆動開始されてからの一定期間ＰＴ３（図示せず）は、サーボモータ３１の回転角速度の絶対値が増加している期間となり、被駆動装置３２が駆動停止される前の一定期間ＰＴ４（図示せず）は、サーボモータ３１の回転角速度の絶対値が減少している期間となる。また、被駆動装置３２が駆動開始されてからの一定期間ＰＴ５（図示せず）は、サーボモータ３１の回転角度の絶対値が増加している期間となる。
【００９９】
第１期間Ｐ６は、被駆動装置３２が駆動開始されてからの所定期間である。前記所定期間では、被駆動装置３２にかかる負荷の違いによって、サーボモータ３１の回転角速度または回転角度に差が生じる。そこで、前記所定期間は、サーボモータ３１について、被駆動装置３２にかかる負荷が大きい場合の回転角速度または回転角度が、被駆動装置３２にかかる負荷が小さい場合の回転角速度または回転角度より大きくなる期間を含むように設定されてもよい。
【０１００】
第１期間Ｐ６は、一定期間ＰＴ３・ＰＴ４のうちの少なくとも一部の期間である。よって、第１期間は、サーボモータ３１のトルク値または回転角速度の絶対値が増加している期間のうちの少なくとも一部の期間である。
【０１０１】
（変形例７）
本実施形態及び変形例１〜６において、第１期間と第２期間とは入れ替わってもよい。つまり、第１期間の役割と第２期間の役割とが入れ替わってもよい。具体的には、第１期間は、期間Ｐ１〜Ｐ７のいずれであってもよく、第２期間は、期間Ｐ１〜Ｐ７のいずれであってもよい。このとき、第１期間と第２期間とは互いに異なる期間である。ここで、第１期間は、単に後述する代表値が参照され、かつ、正常範囲が設定されない期間であり、第２期間は、代表値について正常範囲が設定される期間とする。
【０１０２】
つまり、変形例３において、変更処理部１１４及び異常検知部１１５は、第２期間としての期間Ｐ３でのサーボモータ３１のトルク値のピーク値を参照してもよい。変形例４において、変更処理部１１４及び異常検知部１１５は、第２期間としての期間Ｐ４でのサーボモータ３１のトルク値のピーク値を参照してもよい。変形例５において、変更処理部１１４及び異常検知部１１５は、第１期間としての期間Ｐ５でのサーボモータ３１のトルク値の平均値を参照してもよい。
【０１０３】
また、変形例６において、変更処理部１１４及び異常検知部１１５は、第１期間としての期間Ｐ７でのサーボモータ３１の回転角速度の平均値を参照してもよい。変形例６において、変更処理部１１４及び異常検知部１１５は、第２期間としての期間Ｐ６でのサーボモータ３１の回転角速度または回転角度の平均値を参照してもよい。
【０１０４】
以上により、変更処理部１１４は、第１期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値に応じて、前記駆動期間のうちの第２期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値の正常範囲を変更する。また、異常検知部１１５は、第２期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値が、変更処理部１１４によって変更された正常範囲内であるか否かを判定することにより、駆動機構３に生じる異常を検知する。前記代表値は、平均値またはピーク値である。
【０１０５】
第１期間でのサーボモータ３１のトルク値、回転角速度、または回転角度は、第１期間でのサーボモータ３１に関連する値とも言える。第２期間でのサーボモータ３１のトルク値、回転角速度、または回転角度は、第２期間でのサーボモータ３１に関連する値とも言える。
【０１０６】
さらに、第１期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値または標準偏差であってもよい。第２期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値について、当該代表値は平均値または標準偏差であってもよい。これにより、第１期間及び第２期間それぞれでの代表値が平均値または標準偏差であるため、第２期間の全体を考慮して正常範囲を適切に変更することができ、駆動機構に生じる異常を検知することができる。
【０１０７】
なお、変更処理部１１４及び異常検知部１１５は、第１期間でのトルク指令値とトルク値の実測値との差分、第１期間での回転角速度指令値と回転角速度の実測値との差分、または第１期間での回転角度指令値と回転角度の実測値との差分を参照してもよい。つまり、第１期間での前記代表値は、これらの差分であってもよい。この場合、変更処理部１１４は、これらの差分に応じて、第２期間での代表値の正常範囲を変更する。また、異常検知部１１５は、第２期間での代表値が正常範囲内であるか否かを判定することにより、駆動機構３に生じる異常を検知する。
【０１０８】
この構成において、被駆動装置３２にかかる負荷が変化するとこれらの差分が生じるような期間を、第１期間として設定する場合を考える。この場合、第１期間での前記差分に応じて第２期間での正常範囲を変化させるため、被駆動装置３２にかかる負荷を考慮した正常範囲を設定することができる。このため、被駆動装置３２にかかる負荷、または気温に関わらず、駆動機構３に生じる異常を検知することができる。ここで、各指令値は、サーボドライバ２がサーボモータ３１に提供するサーボモータ３１の制御のための指令値であり、各実測値は、サーボモータ３１による実際の数値としてのフィードバック値である。
【０１０９】
（変形例８）
変更処理部１１４及び異常検知部１１５は、第１期間及び第２期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値に加えて、第３期間でのサーボモータ３１のトルク値、回転角速度、または回転角度の代表値を参照してもよい。第３期間は、例えば、前述した期間Ｐ１〜Ｐ７のいずれかである。この場合、第１期間、第２期間、及び第３期間はそれぞれ互いに異なる期間である。
【０１１０】
具体的には、変更処理部１１４は、第１期間での代表値及び第２期間での代表値に応じて、第３期間での代表値の正常範囲を変更する。つまり、変更処理部１１４は、第１期間での代表値、第２期間での代表値、及び第３期間での代表値について３次元のグラフを参照して、第３期間での代表値の正常範囲を変更する。また、異常検知部１１５は、第３期間での代表値が正常範囲内であるか否かを判定することにより、駆動機構３に生じる異常を検知する。
【０１１１】
〔ソフトウェアによる実現例〕
ＰＬＣ１の制御ブロック（特に制御部１１）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【０１１２】
後者の場合、ＰＬＣ１は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１１３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１１４】
１  ＰＬＣ（情報処理装置）
３  駆動機構
３１  サーボモータ（モータ）
３２  被駆動装置
１１４  変更処理部
１１５  異常検知部
Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ６  第１期間
Ｐ１、Ｐ２、Ｐ５、Ｐ７  第２期間
【図１】
2020154829.tif 000003
【図２】
2020154829.tif 000004
【図３】
2020154829.tif 000005
【図４】
2020154829.tif 000006
【図５】
2020154829.tif 000007
【図６】
2020154829.tif 000008
【図７】
2020154829.tif 000009
【図８】
2020154829.tif 000010
【図９】
2020154829.tif 000011