(57)【要約】      （修正有）【課題】周囲の温度およびアクチュエータの種類に関わらず、可動部の変位時間を用いて、アクチュエータの異常を検出する。【解決手段】異常検出装置が実行する処理は、アクチュエータのピストン移動時間の最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）から最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）を差し引いた値を、移動時間の初期値（Ｔ１０およびＴ２０）によって除した値である特徴量（Ｗ１およびＷ２）を用いて、異常の有無を判定する。【選択図】図４
2020045924.tif 000002
【特許請求の範囲】
【請求項１】
圧力流体の供給により可動部が変位するアクチュエータの異常を、前記可動部の変位時間を用いて検出する異常検出装置であって、
前記変位時間として、前記可動部が前記アクチュエータの一端にある状態で他端への変位の指令が開始された時刻から、前記可動部が前記他端へと到着した時刻までの時間を計測する計時部と、
前記計時部によって現在までに計測された前記変位時間の最大値から、前記計時部によって現在までに計測された前記変位時間の最小値を差し引いた値を、前記アクチュエータの起動時点から所定時間経過した時点で前記計時部によって計測された前記変位時間によって除した値である特徴量を用いて、異常の有無を判定する判定部と、
を備える異常検出装置。
【請求項２】
前記可動部は、シリンダ内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、
前記計時部は、前記変位時間として、前記可動部が前記アクチュエータの前記引戻方向側の端部にある状態で前記押出方向への変位の指令が開始された時刻から、前記可動部が前記アクチュエータの前記押出方向側の端部へと到着した時刻までの時間である押出時間を計測し、
前記判定部は、前記押出時間に係る前記特徴量を用いて、少なくとも、前記可動部に連結されたロッドと前記シリンダとの間から前記圧力流体が漏れ出てしまうのを防ぐためのロッドパッキンの異常の有無を判定する
請求項１に記載の異常検出装置。
【請求項３】
前記可動部は、シリンダ内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、
前記計時部は、前記変位時間として、前記可動部が前記アクチュエータの前記押出方向側の端部にある状態で前記引戻方向への変位の指令が開始された時刻から、前記可動部が前記アクチュエータの前記引戻方向側の端部へと到着した時刻までの時間である引戻時間を計測し、
前記判定部は、前記引戻時間に係る前記特徴量を用いて、少なくとも、前記可動部と前記シリンダとの間から前記圧力流体が漏れ出てしまうのを防ぐためのピストンパッキンの異常の有無を判定する
請求項１または２に記載の異常検出装置。
【請求項４】
前記アクチュエータの起動時点から所定時間経過した時点で前記計時部によって計測された前記変位時間を、ユーザに通知する通知制御部をさらに備える
請求項１から３のいずれか１項に記載の異常検出装置。
【請求項５】
圧力流体の供給により可動部が変位するアクチュエータの異常を、前記可動部の変位時間を用いて検出する異常検出装置の制御方法であって、
前記変位時間として、前記可動部が前記アクチュエータの一端にある状態で他端への変位の指令が開始された時刻から、前記可動部が前記他端へと到着した時刻までの時間を計測する計時ステップと、
前記計時ステップにて現在までに計測された前記変位時間の最大値から、前記計時ステップにて現在までに計測された前記変位時間の最小値を差し引いた値を、前記アクチュエータの起動時点から所定時間経過した時点で前記計時ステップにて計測された前記変位時間によって除した値である特徴量を用いて、異常の有無を判定する判定ステップと、
を含む制御方法。
【請求項６】
請求項１から４のいずれか一項に記載の異常検出装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項７】
請求項６に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧力流体の供給により可動部が変位するアクチュエータの異常を検出する異常検出装置等に関する。
【背景技術】
【０００２】
従来、圧力流体の供給により可動部が変位するアクチュエータの異常を、前記可動部の変位時間を用いて検出する異常検出装置が知られている。例えば、下掲の特許文献１には、アクチュエータの一端と他端との間を移動するピストン等の可動部の移動時間を算出し、算出した移動時間と正常値との偏差に基づいて、アクチュエータの異常が発生したか否かを判定する異常検出装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１４９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術には、可動部の変位時間と正常値との偏差を用いてアクチュエータの異常を検出するには、アクチュエータの周囲の温度、アクチュエータの種類等に応じて、適切な正常値を設定しなければならないという問題がある。
【０００５】
すなわち、一般に、可動部の変位時間はアクチュエータの周囲の温度の影響を受け、例えば、周囲の温度が上昇すると変位時間は短くなる傾向があり、また、周囲の温度が下降すると変位時間は長くなる傾向がある。また、可動部の変位時間は、アクチュエータの種類、大きさ、使用目的、設置場所、これまでの使用時間等によっても変動する。
【０００６】
そのため、上述のような従来技術は、可動部の変位時間に影響する、アクチュエータの周囲の温度、アクチュエータの種類等の要因を考慮して、可動部の変位時間について、正常値を設定する必要がある。
【０００７】
本発明の一態様は、圧力流体の供給により可動部が変位するアクチュエータの異常を、前記アクチュエータの周囲の温度および前記アクチュエータの種類に関わらず、前記可動部の変位時間を用いて検出する異常検出装置等を実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様に係る異常検出装置は、圧力流体の供給により可動部が変位するアクチュエータの異常を、前記可動部の変位時間を用いて検出する異常検出装置であって、前記変位時間として、前記可動部が前記アクチュエータの一端にある状態で他端への変位の指令が開始された時刻から、前記可動部が前記他端へと到着した時刻までの時間を計測する計時部と、前記計時部によって現在までに計測された前記変位時間の最大値から、前記計時部によって現在までに計測された前記変位時間の最小値を差し引いた値を、前記アクチュエータの起動時点から所定時間経過した時点で前記計時部によって計測された前記変位時間によって除した値である特徴量を用いて、異常の有無を判定する判定部と、を備えている。
【０００９】
前記の構成によれば、前記異常検出装置は、現在までに計測した前記変位時間の最大値から最小値を差し引いた値を、前記起動時点から所定時間経過した時点で計測した前記変位時間によって除した値である特徴量を用いて、前記アクチュエータの異常の有無を判定する。
【００１０】
一般に、圧力流体の供給により可動部が変位するアクチュエータについて、前記可動部の前記変位時間は、前記アクチュエータの周囲の温度の影響を受ける。例えば、前記アクチュエータの周囲の温度が上昇すると前記変位時間は短くなる傾向があり、前記アクチュエータの周囲の温度が下降すると前記変位時間は長くなる傾向がある。また、前記変位時間は、前記アクチュエータの種類、負荷条件、設置位置、これまでの使用時間等によっても変動する。
【００１１】
そのため、前記変位時間について正常値を予め設定しておき、計測した前記変位時間と正常値とを比較して異常を判定する従来の方法には、以下の課題がある。すなわち、異常判定の精度を維持するためには、従来の方法は、前記アクチュエータの周囲の温度、前記アクチュエータの種類、負荷条件、設置位置、これまでの使用時間等といった種々の要因に応じて個別に、前記正常値を設定する必要がある。言い換えれば、従来の方法は、「周囲の温度、前記アクチュエータの種類等の条件」に応じて変動する前記変位時間に対応させて、「周囲の温度、前記アクチュエータの種類等の条件」に応じた適切な正常値を適宜設定しなければ、異常判定の精度を維持できない。
【００１２】
これに対して、前記異常検出装置は、前記アクチュエータの異常の有無を、「現在までに計測した前記変位時間の最大値から最小値を差し引いた値を、前記起動時点から所定時間経過した時点で計測した前記変位時間によって除した値」である前記特徴量を用いて判定する。
【００１３】
ここで、周囲の温度変化に伴う前記変位時間の変動の大きさは、故障等の異常の発生に伴う前記変位時間の変動の大きさに比べて、十分に小さいと想定することができる。つまり、異常の発生の影響による前記変位時間の変動の大きさは、周囲の温度変化の影響による前記変位時間の変動の大きさに比べて、十分に大きい。
【００１４】
したがって、異常が発生した時点で計時される変位時間は、直前までに計測された（つまり、異常の発生していない、せいぜい周囲の温度変化の影響を受けたに過ぎない）前記変位時間の前記最大値よりも大きくなり、または、直前までに計測された前記変位時間の前記最小値よりも小さくなる。つまり、異常が発生すると、現在時点（＝異常発生時点）で計時される変位時間が、前記最大値または前記最小値となり、前記最大値と前記最小値の差を用いて算出される前記特徴量に、異常の発生が影響する。そのため、前記異常検出装置は、前記最大値と前記最小値の差を用いて算出される前記特徴量によって、異常の発生の有無を判定することができる。
【００１５】
これに対して、周囲の温度変化の影響を受けた、現在の変位時間が、前記最大値以下、かつ、前記最小値以上である場合、前記最大値と前記最小値との差を用いる前記特徴量は、現在の変位時間によって変動しない。つまり、現在の変位時間が、前記最大値以下、かつ、前記最小値以上である場合、前記最大値と前記最小値との差を用いる前記特徴量において、周囲の温度変化の影響は無視される。
【００１６】
また、周囲の温度変化の影響を受けた、現在の変位時間が、前記最大値より大きく、または、前記最小値より小さい場合、前記最大値と前記最小値との差を用いる前記特徴量は、周囲の温度変化の影響を受けた、現在の変位時間によって変動する。しかしながら、周囲の温度変化の影響による前記特徴量の変動の大きさは、異常の発生の影響による前記特徴量の変動の大きさに比べて、十分に小さい。周囲の温度変化に伴う前記変位時間の変動の大きさは、故障等の異常の発生に伴う前記変位時間の変動の大きさに比べて、十分に小さいからである。
【００１７】
したがって、前記最大値と前記最小値との差を用いる前記特徴量において、周囲の温度変化の影響は、無視され、または、異常の発生の影響に比べて十分に小さなものとして無視することができる。
【００１８】
つまり、前記異常検出装置は、前記最大値と前記最小値との差を用いる前記特徴量によって、「異常を原因とする前記変位時間の変動」を、「周囲の温度変化を原因とする前記変位時間の変動」から区別して、捉えることができるとの効果を奏する。
【００１９】
前記異常検出装置は、「起動時点から所定時間経過した時点で計測した前記変位時間（つまり、初期値）」によって、「前記最大値と前記最小値との差分」を除して無次元化した値を、前記アクチュエータの異常判定に用いる前記特徴量とする。つまり、前記異常検出装置は、前記アクチュエータの種類等からの影響を受けない値を、前記アクチュエータの異常判定に用いる前記特徴量とする。
【００２０】
前記異常検出装置は、「前記最大値と前記最小値との差分」を、「前記初期値」によって除して無次元化することによって、「前記最大値と前記最小値との差分」への、前記アクチュエータの種類等からの影響を無効化する。
【００２１】
したがって、前記異常検出装置は、「前記最大値と前記最小値との差分」を、「前記初期値」によって除して無次元化した前記特徴量を用いることによって、同一の指標で、様々な種類の前記アクチュエータの異常を判定することができるとの効果を奏する。
【００２２】
本発明の一態様に係る異常検出装置において、前記可動部は、シリンダ内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、前記計時部は、前記変位時間として、前記可動部が前記アクチュエータの前記引戻方向側の端部にある状態で前記押出方向への変位の指令が開始された時刻から、前記可動部が前記アクチュエータの前記押出方向側の端部へと到着した時刻までの時間である押出時間を計測し、前記判定部は、前記押出時間に係る前記特徴量を用いて、少なくとも、前記可動部に連結されたロッドと前記シリンダとの間から前記圧力流体が漏れ出てしまうのを防ぐためのロッドパッキンの異常の有無を判定してもよい。
【００２３】
前記の構成によれば、前記異常検出装置は、前記押出時間に係る前記特徴量を用いて、少なくとも前記ロッドパッキンの異常の有無を判定する。ここで、前記ロッドパッキンに破損等の異常が発生すると、前記ロッドと前記シリンダとの間から前記圧力流体が漏れ出てしまうため、前記押出時間が短くなる（小さくなる）傾向がある。したがって、前記異常検出装置は、前記押出時間に係る前記特徴量を用いて、少なくとも前記ロッドパッキンの異常の有無を判定することができるとの効果を奏する。
【００２４】
本発明の一態様に係る異常検出装置において、前記可動部は、シリンダ内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、前記計時部は、前記変位時間として、前記可動部が前記アクチュエータの前記押出方向側の端部にある状態で前記引戻方向への変位の指令が開始された時刻から、前記可動部が前記アクチュエータの前記引戻方向側の端部へと到着した時刻までの時間である引戻時間を計測し、前記判定部は、前記引戻時間に係る前記特徴量を用いて、少なくとも、前記可動部と前記シリンダとの間から前記圧力流体が漏れ出てしまうのを防ぐためのピストンパッキンの異常の有無を判定してもよい。
【００２５】
前記の構成によれば、前記異常検出装置は、前記引戻時間に係る前記特徴量を用いて、少なくとも前記ピストンパッキンの異常の有無を判定する。ここで、前記ピストンパッキンに破損等の異常が発生すると、前記可動部と前記シリンダとの間から前記圧力流体が漏れ出てしまうため、前記引戻時間が長くなる（大きくなる）傾向がある。したがって、前記異常検出装置は、前記引戻時間に係る前記特徴量を用いて、少なくとも前記ピストンパッキンの異常の有無を判定することができるとの効果を奏する。
【００２６】
本発明の一態様に係る異常検出装置は、前記アクチュエータの起動時点から所定時間経過した時点で前記計時部によって計測された前記変位時間を、ユーザに通知する通知制御部をさらに備えてもよい。
【００２７】
前記の構成によれば、前記異常検出装置は、前記アクチュエータの起動時点から所定時間経過した時点で計測した前記変位時間（つまり、初期値）を、ユーザに通知することができるとの効果を奏する。
【００２８】
上記の課題を解決するために、本発明の一態様に係る制御方法は、圧力流体の供給により可動部が変位するアクチュエータの異常を、前記可動部の変位時間を用いて検出する異常検出装置の制御方法であって、前記変位時間として、前記可動部が前記アクチュエータの一端にある状態で他端への変位の指令が開始された時刻から、前記可動部が前記他端へと到着した時刻までの時間を計測する計時ステップと、前記計時ステップにて現在までに計測された前記変位時間の最大値から、前記計時ステップにて現在までに計測された前記変位時間の最小値を差し引いた値を、前記アクチュエータの起動時点から所定時間経過した時点で前記計時ステップにて計測された前記変位時間によって除した値である特徴量を用いて、異常の有無を判定する判定ステップと、を含んでいる。
【００２９】
前記の方法によれば、前記制御方法は、現在までに計測した前記変位時間の最大値から最小値を差し引いた値を、前記起動時点から所定時間経過した時点で計測した前記変位時間によって除した値である特徴量を用いて、前記アクチュエータの異常の有無を判定する。
【００３０】
一般に、圧力流体の供給により可動部が変位するアクチュエータについて、前記可動部の前記変位時間は、前記アクチュエータの周囲の温度の影響を受ける。例えば、前記アクチュエータの周囲の温度が上昇すると前記変位時間は短くなる傾向があり、前記アクチュエータの周囲の温度が下降すると前記変位時間は長くなる傾向がある。また、前記変位時間は、前記アクチュエータの種類、負荷条件、設置位置、これまでの使用時間等によっても変動する。
【００３１】
そのため、前記変位時間について正常値を予め設定しておき、計測した前記変位時間と正常値とを比較して異常を判定する従来の方法には、以下の課題がある。すなわち、異常判定の精度を維持するためには、従来の方法は、前記アクチュエータの周囲の温度、前記アクチュエータの種類、負荷条件、設置位置、これまでの使用時間等といった種々の要因に応じて個別に、前記正常値を設定する必要がある。言い換えれば、従来の方法は、「周囲の温度、前記アクチュエータの種類等の条件」に応じて変動する前記変位時間に対応させて、「周囲の温度、前記アクチュエータの種類等の条件」に応じた適切な正常値を適宜設定しなければ、異常判定の精度を維持できない。
【００３２】
これに対して、前記制御方法は、前記アクチュエータの異常の有無を、「現在までに計測した前記変位時間の最大値から最小値を差し引いた値を、前記起動時点から所定時間経過した時点で計測した前記変位時間によって除した値」である前記特徴量を用いて判定する。
【００３３】
ここで、周囲の温度変化に伴う前記変位時間の変動の大きさは、故障等の異常の発生に伴う前記変位時間の変動の大きさに比べて、十分に小さいと想定することができる。つまり、異常の発生の影響による前記変位時間の変動の大きさは、周囲の温度変化の影響による前記変位時間の変動の大きさに比べて、十分に大きい。
【００３４】
したがって、異常が発生した時点で計時される変位時間は、直前までに計測された（つまり、異常の発生していない、せいぜい周囲の温度変化の影響を受けたに過ぎない）前記変位時間の前記最大値よりも大きくなり、または、直前までに計測された前記変位時間の前記最小値よりも小さくなる。つまり、異常が発生すると、現在時点（＝異常発生時点）で計時される変位時間が、前記最大値または前記最小値となり、前記最大値と前記最小値の差を用いて算出される前記特徴量に、異常の発生が影響する。そのため、前記制御方法は、前記最大値と前記最小値の差を用いて算出される前記特徴量によって、異常の発生の有無を判定することができる。
【００３５】
これに対して、周囲の温度変化の影響を受けた、現在の変位時間が、前記最大値以下、かつ、前記最小値以上である場合、前記最大値と前記最小値との差を用いる前記特徴量は、現在の変位時間によって変動しない。つまり、現在の変位時間が、前記最大値以下、かつ、前記最小値以上である場合、前記最大値と前記最小値との差を用いる前記特徴量において、周囲の温度変化の影響は無視される。
【００３６】
また、周囲の温度変化の影響を受けた、現在の変位時間が、前記最大値より大きく、または、前記最小値より小さい、前記最大値と前記最小値との差を用いる前記特徴量は、周囲の温度変化の影響を受けた、現在の変位時間によって変動する。しかしながら、周囲の温度変化の影響による前記特徴量の変動の大きさは、異常の発生の影響による前記特徴量の変動の大きさに比べて、十分に小さい。周囲の温度変化に伴う前記変位時間の変動の大きさは、故障等の異常の発生に伴う前記変位時間の変動の大きさに比べて、十分に小さいからである。
【００３７】
したがって、前記最大値と前記最小値との差を用いる前記特徴量において、周囲の温度変化の影響は、無視され、または、異常の発生の影響に比べて十分に小さなものとして無視することができる。
【００３８】
つまり、前記制御方法は、前記最大値と前記最小値との差を用いる前記特徴量によって、「異常を原因とする前記変位時間の変動」を、「周囲の温度変化を原因とする前記変位時間の変動」から区別して、捉えることができるとの効果を奏する。
【００３９】
前記制御方法は、「起動時点から所定時間経過した時点で計測した前記変位時間（つまり、初期値）」によって、「前記最大値と前記最小値との差分」を除して無次元化した値を、前記アクチュエータの異常判定に用いる前記特徴量とする。つまり、前記制御方法は、前記アクチュエータの種類等からの影響を受けない値を、前記アクチュエータの異常判定に用いる前記特徴量とする。
【００４０】
前記制御方法は、「前記最大値と前記最小値との差分」を、「前記初期値」によって除して無次元化することによって、「前記最大値と前記最小値との差分」への、前記アクチュエータの種類等からの影響を無効化する。
【００４１】
したがって、前記制御方法は、「前記最大値と前記最小値との差分」を、「前記初期値」によって除して無次元化した前記特徴量を用いることによって、同一の指標で、様々な種類の前記アクチュエータの異常を判定することができるとの効果を奏する。
【発明の効果】
【００４２】
本発明の一態様によれば、周囲の温度およびアクチュエータの種類に関わらず、可動部の変位時間を用いて、アクチュエータの異常を検出することができるという効果を奏する。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態１に係る異常検出装置等の要部構成を示すブロック図である。
【図２】図１の異常検出装置を含む異常検出システムの概要を示す図である。
【図３】「ピストンの移動時間」の算出方法の一例を示す図である。
【図４】図１の異常検出装置が実行する処理の概要を示すフロー図である。
【図５】押出時間テーブル更新処理および引戻時間テーブル更新処理の概要を示すフロー図である。
【図６】移動時間と特徴量との関係を示す図である。
【発明を実施するための形態】
【００４４】
〔実施形態１〕
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、例えば異常検出装置１０を、異常検出装置の典型例として説明を行う。以下では先ず、異常検出装置１０の理解を容易にするために、異常検出装置１０を含む異常検出システム１の概要を、図２を用いて説明する。
【００４５】
§１．適用例
（制御システムの概要）
図２は、異常検出装置１０を含む異常検出システム１の概要を示す図である。異常検出システム１は、異常検出装置１０、ＰＬＣ（Programmable Logic Controller、プログラマブル・ロジック・コントローラ）２０、方向切替弁３０、アクチュエータ４０、第１スイッチ（スイッチitch、スイッチ）５１、および、第２スイッチ５２を含んでいる。
【００４６】
ＰＬＣ２０は、異常検出装置１０を介して、方向切替弁３０に制御信号（以下、「制御指令」ともいう。具体的には、Ｐｕｓｈ指令またはＰｕｌｌ指令）を出力して、方向切替弁３０に、アクチュエータ４０への圧力流体（例えば、圧力気体）の供給を指示する。ＰＬＣ２０は、異常検出装置１０を介して、Ｐｕｓｈ指令またはＰｕｌｌ指令を方向切替弁３０に出力し、シリンダ４１の第１端部４２と第２端部４３との間で、ピストン４６およびピストンロッド４７を一体的に、図２の紙面左右方向に往復移動させる。
【００４７】
具体的には、ピストン４６がシリンダ４１の第１端部４２に位置する状態において、ＰＬＣ２０は、Ｐｕｓｈ指令を出力することにより、ピストン４６の位置を、第１端部４２から第２端部４３へと変位させる。ピストン４６がシリンダ４１の第２端部４３に位置する状態において、ＰＬＣ２０は、Ｐｕｌｌ指令を出力することにより、ピストン４６の位置を、第２端部４３から第１端部４２へと変位させる。
【００４８】
ＰＬＣ２０は、ピストン４６およびピストンロッド４７をシリンダ４１の第１端部４２と第２端部４３との間で繰り返し往復させる。以下の説明においては、ピストン４６およびピストンロッド４７の１往復を「１Ｆｒａｍｅ（フレーム）」と称することがある。
【００４９】
また、ＰＬＣ２０は、第１スイッチ５１および第２スイッチ５２の各々の検知結果を示す検知信号を、つまり、第１検知信号および第２検知信号の各々を、異常検出装置１０を介して取得する。以下の説明および図面において、「スイッチ」は「ＳＷ」と略記することがある。
【００５０】
さらに、ＰＬＣ２０は、異常検出装置１０から、異常判定の判定結果を、つまり、アクチュエータ４０における異常（具体的には、ピストンパッキン４８およびロッドパッキン４９の少なくとも一方の破損）の発生の有無を示す信号を取得する。
【００５１】
方向切替弁３０は、周知の電磁弁により実現することができ、異常検出装置１０を介して、ＰＬＣ２０からの制御指令を取得し、取得した制御指令に従って、圧力流体をアクチュエータ４０の第１端部４２または第２端部４３に、選択的に供給する。
【００５２】
例えば、方向切替弁３０は、Ｐｕｓｈ指令（押出指令）を取得すると、第１ポート４４を介してシリンダ４１の第１端部４２側に圧力流体を供給すると共に、シリンダ４１の第２端部４３側の圧力流体を、第２ポート４５を介して外部に排気する。これにより、ピストン４６およびピストンロッド４７は、シリンダ４１の第１端部４２から第２端部４３に向かって、一体的に変位する。以下の説明において、ピストン４６およびピストンロッド４７が、ピストンロッド４７のピストン４６が備えられていない側へと、一体的に変位する場合のその変位方向を、「押出方向（図２において、紙面左側から右側への方向）」と表現する。
【００５３】
また、方向切替弁３０は、Ｐｕｌｌ指令（引戻指令）を取得すると、第２ポート４５を介してシリンダ４１の第２端部４３側に圧力流体を供給すると共に、シリンダ４１の第１端部４２側の圧力流体を、第１ポート４４を介して外部に排気する。これにより、ピストン４６およびピストンロッド４７は、シリンダ４１の第２端部４３から第１端部４２に向かって、一体的に変位する。以下の説明において、ピストン４６およびピストンロッド４７が、ピストンロッド４７のピストン４６が備えられている側へと、一体的に変位する場合のその変位方向を、「引戻方向（図２において、紙面右側から左側への方向）」と表現する。
【００５４】
アクチュエータ４０は、方向切替弁３０からの圧力流体（例えば、圧力気体）の供給によって、ピストンロッド４７に連結されたピストン４６（可動部）が、図２の左右方向（変位方向）に変位するアクチュエータであり、例えば、周知のエアシリンダである。アクチュエータ４０において、ピストンロッド４７に連結されたピストン４６は、シリンダ４１の第１端部４２と第２端部４３との間で、図２の左右方向に変位する。つまり、ピストン４６およびピストンロッド４７は、シリンダ４１の第１端部４２から第２端部４３に向かって（つまり、押出方向に）、または、第２端部４３から第１端部４２に向かって（つまり、引戻方向に）、一体的に変位する。
【００５５】
アクチュエータ４０は、シリンダ４１とピストン４６との間から圧力流体が漏れ出てしまうのを防ぐためのピストンパッキン４８と、シリンダ４１とピストンロッド４７との間から圧力流体が漏れ出てしまうのを防ぐためのロッドパッキン４９とを備えている。
【００５６】
第１スイッチ５１は、シリンダ４１の第１端部４２に変位したピストン４６を検知するセンサであり、第２スイッチ５２は、シリンダ４１の第２端部４３に変位したピストン４６を検知するセンサである。例えば、第１スイッチ５１は、アクチュエータ４０を構成する流体圧シリンダであるシリンダ４１の第１端部４２側の外周面に配設され、第２スイッチ５２は、シリンダ４１の第２端部４３側の外周面に配設される。第１スイッチ５１および第２スイッチ５２の各々は、例えば、リミットスイッチまたは磁気式スイッチである。
【００５７】
第１スイッチ５１および第２スイッチ５２の各々は、ピストン４６が第１スイッチ５１および第２スイッチ５２の各々に対向する位置に変位したときに、ピストン４６を検知し、その旨を示す検知信号を異常検出装置１０に出力する。また、ピストン４６が変位して第１スイッチ５１および第２スイッチ５２の各々と対向しなくなると、第１スイッチ５１および第２スイッチ５２の各々は、検知信号の出力を停止する。
【００５８】
すなわち、第１スイッチ５１は、ピストン４６が第１スイッチ５１に対向する位置に変位したときにピストン４６を検知し、つまり、シリンダ４１の第１端部４２に変位したピストン４６を検知し、第１検知信号を異常検出装置１０に出力する（第１検知信号＝１）。また、第１スイッチ５１は、ピストン４６が変位して第１スイッチ５１と対向しなくなると、第１検知信号の出力を停止する（第１検知信号＝０）。
【００５９】
同様に、第２スイッチ５２は、ピストン４６が第２スイッチ５２に対向する位置に変位したときにピストン４６を検知し、つまり、シリンダ４１の第２端部４３に変位したピストン４６を検知し、第２検知信号を異常検出装置１０に出力する（第２検知信号＝１）。また、第２スイッチ５２は、ピストン４６が変位して第２スイッチ５２と対向しなくなると、第２検知信号の出力を停止する（第２検知信号＝０）。
【００６０】
図２に示すように、異常検出システム１は、さらにＨＭＩ６０を含んでいてもよい。図２に示す例において、ＰＬＣ２０には、例えばＵＳＢ（Universal Serial Bus）ケーブルである通信ケーブルを介して、ＨＭＩ（Human Machine Interface）６０が接続している。ＨＭＩ６０は、異常検出システム１に対して各種のパラメータ（特に、異常検出装置１０等が用いるパラメータ）を設定したり、ユーザに通知したりする（例えば、表示したりする）ための情報処理装置である。ＨＭＩ６０は、例えば、汎用のコンピュータで構成される。ＨＭＩ６０は、異常検出装置１０に接続されていてもよい。
【００６１】
ＨＭＩ６０は、ＰＬＣ２０から介して異常検出装置１０から取得する各種の情報を、ユーザに通知し、例えば、各種の情報を表示する。ＨＭＩ６０は、異常検出装置１０による異常判定の結果を、ＰＬＣ２０から介して異常検出装置１０から取得し、取得した異常判定の結果を表示する。ＨＭＩ６０は、「制御指令（Ｐｕｓｈ指令またはＰｕｌｌ指令）の開始時点」と、「ピストン４６が、シリンダ４１の第１端部４２または第２端部４３へと到着した時点」との差分である移動時間の初期値（Ｔ１０およびＴ２０）を、異常検出装置１０から取得する。ＨＭＩ６０は、取得した移動時間の初期値（Ｔ１０およびＴ２０）を、ユーザに、編集可能に表示する。ＨＭＩ６０は、異常検出装置１０が異常判定に用いる基準値（ＴＨ１およびＴＨ２）を、ＰＬＣ２０から介して異常検出装置１０から取得し、取得した基準値を、ユーザに、編集可能に表示する。
【００６２】
また、異常検出システム１は、方向切替弁３０へのＰｕｓｈ指令およびＰｕｌｌ指令の各々の入力を検知する、不図示の第１切替センサおよび第２切替センサをさらに含んでいてもよい。すなわち、異常検出システム１は、方向切替弁３０に対する制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令の各々）の開始を検知する、第１切替センサおよび第２切替センサをさらに含んでいてもよい。
【００６３】
例えば、第１切替センサは、方向切替弁３０の「Ｐｕｓｈ指令を取得することで励磁され、第１ポート４４を介してシリンダ４１の第１端部４２側に圧力流体を供給する第１ソレノイド」に設けられ、Ｐｕｓｈ指令の入力を検知する。具体的には、第１切替センサは、第１ソレノイドが取得するＰｕｓｈ指令がローレベル（例えば、「０」）からハイレベル（例えば、「１」）に変化するのを検知する。第１切替センサは、「Ｐｕｓｈ指令の入力」として、Ｐｕｓｈ指令による第１ソレノイドの励磁を検知してもよい。
【００６４】
例えば、第２切替センサは、方向切替弁３０の「Ｐｕｌｌ指令を取得することで励磁され、第２ポート４５を介してシリンダ４１の第２端部４３側に圧力流体を供給する第２ソレノイド」に設けられ、Ｐｕｌｌ指令の入力を検知する。具体的には、第２切替センサは、第２ソレノイドが取得するＰｕｌｌ指令がローレベル（例えば、「０」）からハイレベル（例えば、「１」）に変化するのを検知する。第２切替センサは、「Ｐｕｌｌ指令の入力」として、Ｐｕｌｌ指令による第２ソレノイドの励磁を検知してもよい。
【００６５】
異常検出装置１０は、ＰＬＣ２０から制御指令を取得し、取得した制御指令を方向切替弁３０へと出力し、また、第１スイッチ５１および第２スイッチ５２の各々から検知信号を取得し、取得した検知信号をＰＬＣ２０へと出力する。
【００６６】
異常検出装置１０は、ＰＬＣ２０から取得する制御指令によって、「方向切替弁３０が制御指令を取得する時点」を、つまり、「ＰＬＣ２０による、方向切替弁３０への、アクチュエータ４０におけるピストン４６の変位（移動）の指令の開始時点」を、取得する。
【００６７】
また、異常検出装置１０は、第１スイッチ５１および第２スイッチ５２の各々から取得する検知信号によって、「ピストン４６が、シリンダ４１の第１端部４２または第２端部４３へと到着した時点」を取得する。
【００６８】
異常検出装置１０は、「ＰＬＣ２０による、方向切替弁３０への、アクチュエータ４０におけるピストン４６の変位（移動）の指令の開始時点」と、「ピストン４６が、シリンダ４１の第１端部４２または第２端部４３へと到着した時点」とから、ピストン４６の移動時間（変位時間）を算出する。
【００６９】
具体的には、異常検出装置１０は、移動時間として、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」から、「ピストン４６が第２端部４３へと到着した時刻」までの時間である押出時間Ｔ１を算出する。また、異常検出装置１０は、移動時間として、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」から、「ピストン４６が第１端部４２へと到着した時刻」までの時間である引戻時間Ｔ２を算出する。
【００７０】
異常検出装置１０は、算出した移動時間を用いて、ピストンパッキン４８およびロッドパッキン４９の少なくとも一方の破損等の、アクチュエータ４０における異常の発生の有無を判定し、判定結果を示す信号を、ＰＬＣ２０へと出力する。
【００７１】
すなわち、異常検出装置１０は、繰り返し移動時間を算出し、例えば、ＰＬＣ２０から制御指令（Ｐｕｓｈ指令またはＰｕｌｌ指令）を取得するたびに、移動時間（押出時間Ｔ１または引戻時間Ｔ２）を算出する。異常検出装置１０は、現在までに算出した移動時間の最大値から、現在までに算出した移動時間の最小値を差し引いた値を、移動時間の初期値によって除することによって、特徴量を算出する。言い換えれば、異常検出装置１０は、現在までに算出した移動時間の最大値を、現在までに算出した移動時間の最小値によって減算した値を、移動時間の初期値によって除して、特徴量を算出する。異常検出装置１０は、算出した特徴量と基準値とを比較することにより、ピストンパッキン４８およびロッドパッキン４９の少なくとも一方の破損等の異常の発生の有無を判定し、判定結果を示す信号を、ＰＬＣ２０へと出力する。
【００７２】
ここで、アクチュエータ４０を起動させた直後の時点である動作初期時点（起動時点）においては、ピストン４６の移動時間が安定しない。そのため、異常検出装置１０は、「アクチュエータ４０を起動させた後、所定時間が経過した（または、所定の回数のフレームが完了した）」時点で計時した移動時間を、「移動時間の初期値」として取得する。異常検出装置１０が「移動時間の初期値」を取得する際に用いる「所定時間（または、所定の回数）」は、ユーザがＨＭＩ６０を操作して設定できるようにしておいてもよいし、異常検出装置１０の工場出荷段階で決められていてもよい。異常検出装置１０は、「アクチュエータ４０を起動させた後、所定時間が経過した（または、所定の回数のフレームが完了した）」時点で、「移動時間の初期値」を取得し、また、特徴量と基準値との比較による異常判定を開始する。
【００７３】
さらに、異常検出装置１０は、移動時間の初期値を、具体的には、「押出時間Ｔ１の初期値Ｔ１０」および「引戻時間Ｔ２の初期値Ｔ２０」を、ＰＬＣ２０を介してＨＭＩ６０に出力し、ＨＭＩ６０に、移動時間の初期値を、ユーザによって編集可能に表示させる。異常検出装置１０は、基準値についても、ＨＭＩ６０に、ユーザによって編集可能に表示させてもよい。
【００７４】
§２．構成例
（コントローラの詳細）
図１は、異常検出装置１０等の要部構成を示すブロック図である。図１に示すように、異常検出装置１０は、記憶部１７０以外の機能ブロックとして、指令取得部１１０、検知信号取得部１２０、計時部１３０、更新制御部１４０、判定部１５０、および、通知制御部１６０を備えている。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、異常検出装置１０は、当該省略された構成を備えてもよい。図１に例示した各機能ブロックは、例えば、ＣＰＵ（central processing unit）等が、ＲＯＭ（read only memory）、ＮＶＲＡＭ（non-Volatile random access memory）等で実現された記憶装置（記憶部１７０）に記憶されているプログラムを不図示のＲＡＭ（random access memory）等に読み出して実行することで実現できる。以下、異常検出装置１０における各機能ブロックについて説明する。
【００７５】
（記憶部以外の機能ブロックの詳細）
指令取得部１１０は、ＰＬＣ２０から制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令）を取得し、取得した制御指令を方向切替弁３０および計時部１３０の各々へと出力する機能ブロックであり、第１指令取得部１１１と第２指令取得部１１２とを含む。第１指令取得部１１１は、ＰＬＣ２０からＰｕｓｈ指令を取得し、取得したＰｕｓｈ指令を方向切替弁３０および計時部１３０の各々へと出力する。第２指令取得部１１２は、ＰＬＣ２０からＰｕｌｌ指令を取得し、取得したＰｕｌｌ指令を方向切替弁３０および計時部１３０の各々へと出力する。
【００７６】
検知信号取得部１２０は、第１スイッチ５１および第２スイッチ５２の各々から検知信号（第１検知信号および第２検知信号）を取得し、取得した検知信号をＰＬＣ２０および計時部１３０の各々へと出力する機能ブロックである。検知信号取得部１２０は、第１検知信号取得部１２１と第２検知信号取得部１２２とを含む。第１検知信号取得部１２１は、第１スイッチ５１から第１検知信号を取得し、取得した第１検知信号をＰＬＣ２０および計時部１３０の各々へと出力する。第２検知信号取得部１２２は、第２スイッチ５２から第２検知信号を取得し、取得した第２検知信号をＰＬＣ２０および計時部１３０の各々へと出力する。
【００７７】
計時部１３０は、指令取得部１１０から取得した制御指令によって、「方向切替弁３０が制御指令を取得する時点」を、つまり、「ＰＬＣ２０による、ピストン４６の変位（移動）を指示する制御指令の開始時点」を、取得する。計時部１３０は、検知信号取得部１２０から取得した検知信号によって、「ピストン４６が、シリンダ４１の第１端部４２または第２端部４３へと到着した時点」を取得する。計時部１３０は、「ピストン４６の変位（移動）を指示する制御指令の開始時点」と、「ピストン４６が、シリンダ４１の第１端部４２または第２端部４３へと到着した時点」とから、ピストン４６の移動時間（変位時間）を算出する。計時部１３０は、算出した移動時間（変位時間）を、更新制御部１４０に通知する。計時部１３０は、第１計時部１３１と第２計時部１３２とを含む。
【００７８】
第１計時部１３１は、移動時間として、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」から、「ピストン４６が第２端部４３へと到着した時刻」までの時間である押出時間Ｔ１を算出する。第１計時部１３１は、算出した押出時間Ｔ１を、更新制御部１４０に通知する。
【００７９】
第２計時部１３２は、移動時間として、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」から、「ピストン４６が第１端部４２へと到着した時刻」までの時間である引戻時間Ｔ２を算出する。第２計時部１３２は、算出した引戻時間Ｔ２を、更新制御部１４０に通知する。
【００８０】
更新制御部１４０は、計時部１３０から通知された移動時間を用いて、移動時間テーブル１８０の更新処理（押出時間テーブル更新処理および引戻時間テーブル更新処理）を実行する機能ブロックであり、第１更新制御部１４１と第２更新制御部１４２とを含む。具体的には、更新制御部１４０は、移動時間テーブル１８０について、移動時間の初期値を設定する処理（初期値設定）、移動時間の最大値を更新する処理（最大値設定）、および、移動時間の最小値を更新する処理（最小値設定）を実行する。
【００８１】
更新制御部１４０は、移動時間の初期値を設定する処理として、以下の処理を実行する。すなわち、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）に初期値が格納されていないと、計時部１３０から通知された移動時間を、初期値として移動時間テーブル１８０に格納する。
【００８２】
更新制御部１４０は、移動時間の最大値を更新する処理として、以下の２つの処理を実行する。すなわち、更新制御部１４０は、移動時間テーブル１８０に移動時間の最大値が格納されていないと、計時部１３０から通知された移動時間を、移動時間の最大値として移動時間テーブル１８０に格納する。更新制御部１４０は、計時部１３０から通知された移動時間の値が、移動時間テーブル１８０に格納されている移動時間の最大値よりも大きいと、計時部１３０から通知された移動時間の値で、移動時間テーブル１８０に格納されている移動時間の最大値を更新する。
【００８３】
更新制御部１４０は、移動時間の最小値を更新する処理として、以下の２つの処理を実行する。すなわち、更新制御部１４０は、移動時間テーブル１８０に移動時間の最小値が格納されていないと、計時部１３０から通知された移動時間を、移動時間の最小値として移動時間テーブル１８０に格納する。更新制御部１４０は、計時部１３０から通知された移動時間の値が、移動時間テーブル１８０に格納されている移動時間の最小値よりも小さいと、計時部１３０から通知された移動時間の値で、移動時間テーブル１８０に格納されている移動時間の最小値を更新する。
【００８４】
更新制御部１４０の実行する「移動時間の最大値を更新する処理」によって、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）には常に、計時部１３０によって現在までに計測された移動時間の最大値が格納される。更新制御部１４０の実行する「移動時間の最小値を更新する処理」によって、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）には常に、計時部１３０によって現在までに計測された移動時間の最小値が格納される。以下、第１更新制御部１４１および第２更新制御部１４２の各々による、移動時間の初期値を設定する処理（初期値設定）、移動時間の最大値を更新する処理（最大値設定）、および、移動時間の最小値を更新する処理（最小値設定）の詳細を説明する。
【００８５】
第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１を用いて押出時間テーブル１８１に格納されている値を更新する処理である押出時間テーブル更新処理を実行する。
【００８６】
すなわち、押出時間テーブル１８１に押出時間Ｔ１の初期値Ｔ１０が格納されていないと、第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１を、初期値Ｔ１０として押出時間テーブル１８１に格納する（初期値設定）。
【００８７】
押出時間テーブル１８１に押出時間Ｔ１の最大値Ｔ１ＭＡＸが格納されていないと、第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１を、最大値Ｔ１ＭＡＸとして押出時間テーブル１８１に格納する（最大値設定）。第１計時部１３１から通知される押出時間Ｔ１が、押出時間テーブル１８１に格納されている最大値Ｔ１ＭＡＸよりも大きいと、第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１で、最大値Ｔ１ＭＡＸを更新する（最大値設定）。
【００８８】
押出時間テーブル１８１に押出時間Ｔ１の最小値Ｔ１ｍｉｎが格納されていないと、第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１を、最小値Ｔ１ｍｉｎとして押出時間テーブル１８１に格納する（最小値設定）。第１計時部１３１から通知される押出時間Ｔ１が、押出時間テーブル１８１に格納されている最小値Ｔ１ｍｉｎよりも小さいと、第１更新制御部１４１は、第１計時部１３１から通知される押出時間Ｔ１で、最小値Ｔ１ｍｉｎを更新する（最小値設定）。
【００８９】
第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２を用いて引戻時間テーブル１８２に格納されている値を更新する処理である引戻時間テーブル更新処理を実行する。
【００９０】
すなわち、引戻時間テーブル１８２に引戻時間Ｔ２の初期値Ｔ２０が格納されていないと、第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２を、初期値Ｔ２０として引戻時間テーブル１８２に格納する（初期値設定）。
【００９１】
引戻時間テーブル１８２に引戻時間Ｔ２の最大値Ｔ２ＭＡＸが格納されていないと、第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２を、最大値Ｔ２ＭＡＸとして引戻時間テーブル１８２に格納する（最大値設定）。第２計時部１３２から通知される引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最大値Ｔ２ＭＡＸよりも大きいと、第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２で、最大値Ｔ２ＭＡＸを更新する（最大値設定）。
【００９２】
引戻時間テーブル１８２に引戻時間Ｔ２の最小値Ｔ２ｍｉｎが格納されていないと、第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２を、最小値Ｔ２ｍｉｎとして引戻時間テーブル１８２に格納する（最小値設定）。第２計時部１３２から通知される引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最小値Ｔ２ｍｉｎよりも小さいと、第２更新制御部１４２は、第２計時部１３２から通知される引戻時間Ｔ２で、最小値Ｔ２ｍｉｎを更新する（最小値設定）。
【００９３】
判定部１５０は、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）を参照して、移動時間（押出時間Ｔ１および引戻時間Ｔ２）の初期値、最大値、および、最小値を用いて特徴量（Ｗ１およびＷ２）を算出する。具体的には、判定部１５０は、移動時間テーブル１８０に格納されている最大値から、移動時間テーブル１８０に格納されている最小値を差し引いた値を、移動時間テーブル１８０に格納されている初期値によって除することによって、特徴量を算出する。
【００９４】
判定部１５０は、算出した特徴量（Ｗ１およびＷ２）と基準値（ＴＨ１およびＴＨ２）とを比較して、ピストンパッキン４８およびロッドパッキン４９の少なくとも一方の破損等の異常の発生の有無を判定する。
【００９５】
基準値ＴＨ１および基準値ＴＨ２の各々は、「０」よりも大きな数値として、例えばユーザによって設定され、記憶部１７０に格納されている。異常検出装置１０の開発者が実験を重ねて得た知見では、基準値ＴＨ１および基準値ＴＨ２の各々は、「０」よりも大きく「０．５」以下の数値であるのが望ましく、「０」よりも大きく「０．３」以下の数値であるのがより望ましい。基準値ＴＨ１および基準値ＴＨ２の各々は、例えば「０．２５」である。基準値ＴＨ１の値と基準値ＴＨ２の値とは、同じ数値であってもよいし、異なる数値であってもよい。
【００９６】
判定部１５０は、異常の発生の有無に係る判定の結果を、通知制御部１６０に通知する。判定部１５０は、第１判定部１５１と第２判定部１５２とを含む。
【００９７】
第１判定部１５１は、押出時間テーブル１８１を参照して、押出時間Ｔ１の初期値Ｔ１０、押出時間Ｔ１の最大値Ｔ１ＭＡＸ、および、押出時間Ｔ１の最小値Ｔ１ｍｉｎを取得する。第１判定部１５１は、最大値Ｔ１ＭＡＸから最小値Ｔ１ｍｉｎを差し引いた値を、初期値Ｔ１０によって除することによって、特徴量Ｗ１を算出し、つまり、
【００９８】
【数１】
2020045924.tif 000003
【００９９】
により、特徴量Ｗ１を算出する。第１判定部１５１は、算出した特徴量Ｗ１と基準値ＴＨ１とを比較して、異常の発生の有無を判定する。
【０１００】
第１判定部１５１は、特徴量Ｗ１が基準値ＴＨ１よりも大きいと、少なくともロッドパッキン４９について、破損等の異常が発生していると判定し、特徴量Ｗ１が、基準値ＴＨ１以下であると、異常は発生していないと判定する。そして、第１判定部１５１は、この判定結果を、通知制御部１６０に通知する。
【０１０１】
ロッドパッキン４９に破損等の異常が発生すると、シリンダ４１とピストンロッド４７との間から圧力流体がシリンダ４１の外部に漏れ出てしまうため、押出時間Ｔ１が短くなる（小さくなる）。そこで、第１判定部１５１は、特徴量Ｗ１が基準値ＴＨ１よりも大きいと、少なくともロッドパッキン４９について、破損等の異常が発生していると判定する。
【０１０２】
第２判定部１５２は、引戻時間テーブル１８２を参照して、引戻時間Ｔ２の初期値Ｔ２０、引戻時間Ｔ２の最大値Ｔ２ＭＡＸ、および、引戻時間Ｔ２の最小値Ｔ２ｍｉｎを取得する。第２判定部１５２は、最大値Ｔ２ＭＡＸから最小値Ｔ２ｍｉｎを差し引いた値を、初期値Ｔ２０によって除することによって、特徴量Ｗ２を算出し、つまり、
【０１０３】
【数２】
2020045924.tif 000004
【０１０４】
により、特徴量Ｗ２を算出する。第２判定部１５２は、算出した特徴量Ｗ２と基準値ＴＨ２とを比較して、異常の発生の有無を判定する。
【０１０５】
第２判定部１５２は、特徴量Ｗ２が基準値ＴＨ２よりも大きいと、少なくともピストンパッキン４８について、破損等の異常が発生していると判定し、特徴量Ｗ２が、基準値ＴＨ２以下であると、異常は発生していないと判定する。そして、第２判定部１５２は、この判定結果を、通知制御部１６０に通知する。
【０１０６】
ピストンパッキン４８に破損等の異常が発生すると、シリンダ４１とピストンパッキン４８との間から圧力流体が第２端部４３側から第１端部４２側へと漏れ出てしまうため、引戻時間Ｔ２が長くなる（大きくなる）。そこで、第２判定部１５２は、特徴量Ｗ２が基準値ＴＨ２よりも大きいと、少なくともピストンパッキン４８について、破損等の異常が発生していると判定する。
【０１０７】
通知制御部１６０は、判定部１５０（第１判定部１５１および第２判定部１５２の各々）から通知された判定結果をＰＬＣ２０へと出力する。また、通知制御部１６０は、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）を参照し、移動時間の初期値（Ｔ１０およびＴ２０）を、ＰＬＣ２０を介してＨＭＩ６０に出力し、移動時間の初期値をＨＭＩ６０に表示させる。通知制御部１６０は、基準値（ＴＨ１およびＴＨ２）を、ＰＬＣ２０を介してＨＭＩ６０に出力し、基準値をＨＭＩ６０に表示させる。
【０１０８】
（記憶部の詳細）
記憶部１７０は、異常検出装置１０が使用する各種データを格納する記憶装置である。なお、記憶部１７０は、異常検出装置１０が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）異常検出装置１０が有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。上記の（１）〜（４）のデータは、例えば、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。異常検出装置１０は、図示しない一時記憶部を備えていてもよい。一時記憶部は、異常検出装置１０が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、ＲＡＭ（Random Access Memory）等の揮発性記憶装置で構成される。どのデータをどの記憶装置に記憶するのかについては、異常検出装置１０の使用目的、利便性、コスト、または、物理的な制約等から適宜決定される。記憶部１７０はさらに移動時間テーブル１８０を格納している。
【０１０９】
移動時間テーブル１８０には、更新制御部１４０によって、移動時間（押出時間Ｔ１および引戻時間Ｔ２）の初期値（Ｔ１０およびＴ２０）、最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）、最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）が格納される。移動時間テーブル１８０は、押出時間テーブル１８１と引戻時間テーブル１８２とを含む。
【０１１０】
押出時間テーブル１８１には、第１更新制御部１４１によって、押出時間Ｔ１の初期値Ｔ１０、押出時間Ｔ１の最大値Ｔ１ＭＡＸ、および、押出時間Ｔ１の最小値Ｔ１ｍｉｎが格納される。引戻時間テーブル１８２には、第２更新制御部１４２によって、引戻時間Ｔ２の初期値Ｔ２０、引戻時間Ｔ２の最大値Ｔ２ＭＡＸ、および、引戻時間Ｔ２の最小値Ｔ２ｍｉｎが格納される。
【０１１１】
（異常検出装置についての整理）
これまでに図１を用いて構成を説明してきた異常検出装置１０について、その理解を容易にするため、以下のように整理しておく。すなわち、異常検出装置１０は、圧力流体の供給によりピストン４６（可動部）が変位するアクチュエータ４０の異常を、ピストン４６の移動時間（変位時間）を用いて検出する異常検出装置であって、計時部１３０と判定部１５０とを備えている。計時部１３０は、移動時間（具体的には、押出時間Ｔ１および引戻時間Ｔ２）として、「ピストン４６がアクチュエータ４０の第１端部４２または第２端部４３（一端）にある状態で、第２端部４３または第１端部４２（他端）への変位の制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令）が開始された時刻」から、「ピストン４６が第２端部４３または第１端部４２へと到着した時刻」までの時間を計測する。判定部１５０は、「計時部１３０によって現在までに計測された前記移動時間の最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）」から、「計時部１３０によって現在までに計測された前記移動時間の最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）」を差し引いた値を、「アクチュエータ４０の起動時点から所定時間経過した時点で計時部１３０によって計測された前記移動時間（つまり、初期値（Ｔ１０およびＴ２０））」によって除した値である特徴量（Ｗ１およびＷ２）を用いて、異常の有無を判定する。
【０１１２】
前記の構成によれば、異常検出装置１０は、最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）から最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）を差し引いた値を、初期値（Ｔ１０およびＴ２０）によって除した値である特徴量（Ｗ１およびＷ２）を用いて、アクチュエータ４０の異常の有無を判定する。
【０１１３】
一般に、圧力流体の供給によりピストン４６が変位するアクチュエータ４０について、ピストン４６の前記移動時間は、アクチュエータ４０の周囲の温度の影響を受ける。例えば、アクチュエータ４０の周囲の温度が上昇すると前記移動時間は短くなる傾向があり、アクチュエータ４０の周囲の温度が下降すると前記移動時間は長くなる傾向がある。また、前記移動時間は、アクチュエータ４０の種類、負荷条件、設置位置、これまでの使用時間等によっても変動する。
【０１１４】
そのため、前記移動時間について正常値を予め設定しておき、計測した前記移動時間と正常値とを比較して異常を判定する従来の方法には、以下の課題がある。すなわち、異常判定の精度を維持するためには、従来の方法は、アクチュエータ４０の周囲の温度、アクチュエータ４０の種類、負荷条件、設置位置、これまでの使用時間等といった種々の要因に応じて個別に、前記正常値を設定する必要がある。言い換えれば、従来の方法は、「周囲の温度、アクチュエータ４０の種類等の条件」に応じて変動する前記移動時間に対応させて、「周囲の温度、アクチュエータ４０の種類等の条件」に応じた適切な正常値を適宜設定しなければ、異常判定の精度を維持できない。
【０１１５】
これに対して、異常検出装置１０はアクチュエータ４０の異常の有無を、最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）から最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）を差し引いた値を、初期値（Ｔ１０およびＴ２０）によって除した値である特徴量（Ｗ１およびＷ２）を用いて判定する。
【０１１６】
ここで、周囲の温度変化に伴う前記移動時間の変動の大きさは、故障等の異常の発生に伴う前記移動時間の変動の大きさに比べて、十分に小さいと想定することができる。つまり、異常の発生の影響による前記移動時間の変動の大きさは、周囲の温度変化の影響による前記移動時間の変動の大きさに比べて、十分に大きい。
【０１１７】
したがって、異常が発生した時点で計時される移動時間は、直前までに計測された（つまり、異常の発生していない、せいぜい周囲の温度変化の影響を受けたに過ぎない）移動時間の最大値（つまり、移動時間テーブル１８０に格納されている最大値）よりも大きくなり、または、直前までに計測された移動時間の最小値（つまり、移動時間テーブル１８０に格納されている最小値）よりも小さくなる。つまり、異常が発生すると、現在時点（＝異常発生時点）で計時される移動時間が、最大値または最小値となり、言い換えれば、現在時点（＝異常発生時点）で計時される移動時間によって、移動時間テーブル１８０の最大値または最小値が更新される。したがって、移動時間テーブル１８０の最大値と最小値の差を用いて算出される特徴量に、異常の発生が影響する。そのため、異常検出装置１０は、移動時間テーブル１８０の最大値と最小値の差を用いて算出される特徴量によって、異常の発生の有無を判定することができる。
【０１１８】
これに対して、周囲の温度変化の影響を受けた、現在の移動時間が、移動時間テーブル１８０の最大値以下、かつ、最小値以上である場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量は、現在の移動時間によって変動しない。言い換えれば、移動時間テーブル１８０の最大値および最小値は、現在時点で計時される移動時間によって更新されず、したがって、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量も変動しない。つまり、現在の移動時間が、移動時間テーブル１８０の最大値以下、かつ、最小値以上である場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量において、周囲の温度変化の影響は無視される。
【０１１９】
また、周囲の温度変化の影響を受けた、現在の移動時間が、移動時間テーブル１８０の最大値より大きく、または、前記最小値より小さい場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量は、現在の移動時間によって変動する。しかしながら、周囲の温度変化の影響による特徴量の変動の大きさは、異常の発生の影響による特徴量の変動の大きさに比べて、十分に小さい。周囲の温度変化に伴う移動時間の変動の大きさは、故障等の異常の発生に伴う移動時間の変動の大きさに比べて、十分に小さいからである。
【０１２０】
したがって、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量において、周囲の温度変化の影響は、無視され、または、異常の発生の影響に比べて十分に小さなものとして無視することができる。
【０１２１】
つまり、異常検出装置１０は、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量によって、「異常を原因とする移動時間の変動」を、「周囲の温度変化を原因とする移動時間の変動」から区別して、捉えることができるとの効果を奏する。
【０１２２】
異常検出装置１０は、初期値（Ｔ１０およびＴ２０）によって「最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）と最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）との差分」を除して無次元化した値を、アクチュエータ４０の異常判定に用いる特徴量とする。つまり、異常検出装置１０は、アクチュエータ４０の種類等からの影響を受けない値を、アクチュエータ４０の異常判定に用いる特徴量とする。
【０１２３】
異常検出装置１０は、「移動時間テーブル１８０の最大値と最小値との差分」を、移動時間テーブル１８０の初期値によって除して無次元化することによって、「最大値と最小値との差分」への、アクチュエータ４０の種類等からの影響を無効化する。
【０１２４】
したがって、異常検出装置１０は、「最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）と最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）との差分」を初期値（Ｔ１０およびＴ２０）によって除して無次元化した特徴量を用いることによって、同一の指標で、様々な種類のアクチュエータ４０の異常を判定することができるとの効果を奏する。
【０１２５】
異常検出装置１０において、ピストン４６は、シリンダ４１内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、計時部１３０は、前記移動時間として、「ピストン４６がアクチュエータ４０の第１端部４２（前記引戻方向側の端部）にある状態で、Ｐｕｓｈ指令（前記押出方向への変位の指令）が開始された時刻」から、「ピストン４６がアクチュエータ４０の第２端部４３（前記押出方向側の端部）へと到着した時刻」までの時間である押出時間Ｔ１を計測し、判定部１５０は、押出時間Ｔ１に係る特徴量Ｗ１を用いて、少なくとも、ピストン４６に連結されたピストンロッド４７とシリンダ４１との間から前記圧力流体が漏れ出てしまうのを防ぐためのロッドパッキン４９の異常の有無を判定する。
【０１２６】
前記の構成によれば、異常検出装置１０は、押出時間Ｔ１に係る特徴量Ｗ１を用いて、少なくともロッドパッキン４９の異常の有無を判定する。ここで、ロッドパッキン４９に破損等の異常が発生すると、ピストンロッド４７とシリンダ４１との間から前記圧力流体が漏れ出てしまうため、押出時間Ｔ１が短くなる（小さくなる）傾向がある。したがって、異常検出装置１０は、押出時間Ｔ１に係る特徴量Ｗ１を用いて、少なくともロッドパッキン４９の異常の有無を判定することができるとの効果を奏する。
【０１２７】
異常検出装置１０において、ピストン４６は、シリンダ４１内を、押出方向、または、前記押出方向の逆方向である引戻方向に変位し、計時部１３０は、前記移動時間として、「ピストン４６がアクチュエータ４０の第２端部４３にある状態で、Ｐｕｌｌ指令（前記引戻方向への変位の指令）が開始された時刻」から、「ピストン４６がアクチュエータ４０の第１端部４２へと到着した時刻」までの時間である引戻時間Ｔ２を計測し、判定部１５０は、引戻時間Ｔ２に係る特徴量Ｗ２を用いて、少なくとも、ピストン４６とシリンダ４１との間から前記圧力流体が漏れ出てしまうのを防ぐためのピストンパッキン４８の異常の有無を判定する。
【０１２８】
前記の構成によれば、異常検出装置１０は、引戻時間Ｔ２に係る特徴量Ｗ２を用いて、少なくともピストンパッキン４８の異常の有無を判定する。ここで、ピストンパッキン４８に破損等の異常が発生すると、ピストン４６とシリンダ４１との間から前記圧力流体が漏れ出てしまうため、引戻時間Ｔ２が長くなる（大きくなる）傾向がある。したがって、異常検出装置１０は、引戻時間Ｔ２に係る特徴量Ｗ２を用いて、少なくともピストンパッキン４８の異常の有無を判定することができるとの効果を奏する。
【０１２９】
異常検出装置１０は、アクチュエータ４０の起動時点から所定時間経過した時点で計時部１３０によって計測された前記移動時間（つまり、初期値（Ｔ１０およびＴ２０））を、ユーザに通知する通知制御部１６０をさらに備えている。前記の構成によれば、異常検出装置１０は、初期値（Ｔ１０およびＴ２０）を、ユーザに通知することができるとの効果を奏する。
【０１３０】
（移動時間について）
図３は、異常検出装置１０（特に、計時部１３０）による「ピストン４６の移動時間」の算出方法の一例を示す図であり、具体的には、押出時間Ｔ１および引戻時間Ｔ２の各々の算出方法の一例を示す図である。図３の縦軸は、スイッチ（第１スイッチ５１および第２スイッチ５２の各々）からの検知信号（第１検知信号および第２検知信号）、および、指令（Ｐｕｓｈ指令およびＰｕｌｌ指令の各々）のＬｅｖｅｌを示している。また、図３の横軸は、時間（Ｔｉｍｅ）を示しており、単位はｍｓ（ミリ秒）である。
【０１３１】
（押出時間について）
第１計時部１３１は、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」として、例えば図３に示すように、Ｐｕｓｈ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知する。第１計時部１３１は、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」として、第１指令取得部１１１からＰｕｓｈ指令を通知された時刻を検知してもよい。言い換えれば、第１計時部１３１は、第１指令取得部１１１から通知されるＰｕｓｈ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。また、第１計時部１３１は、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」として、第１指令取得部１１１が方向切替弁３０にＰｕｓｈ指令を出力する時刻を検知してもよい。言い換えれば、第１計時部１３１は、第１指令取得部１１１が方向切替弁３０に出力するＰｕｓｈ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。
【０１３２】
第１計時部１３１は、「ピストン４６が第２端部４３へと到着した時刻」として、例えば図３に示すように、第２スイッチ５２からの第２検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知する。第１計時部１３１は、「ピストン４６が第２端部４３へと到着した時刻」として、第２検知信号取得部１２２から第２検知信号を通知された時刻（または、第２検知信号取得部１２２が第２検知信号を取得した時刻）を検知してもよい。言い換えれば、第１計時部１３１は、第２検知信号取得部１２２から通知される（または、第２検知信号取得部１２２が第２スイッチ５２から取得する）第２検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。
【０１３３】
第１計時部１３１は、押出時間Ｔ１を、図３に示すように、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」から、「ピストン４６が第２端部４３へと到着した時刻」までの時間として、算出する。
【０１３４】
（引戻時間について）
第２計時部１３２は、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」として、例えば図３に示すように、Ｐｕｌｌ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知する。第２計時部１３２は、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」として、第２指令取得部１１２からＰｕｌｌ指令を通知された時刻を検知してもよい。言い換えれば、第２計時部１３２は、第２指令取得部１１２から通知されるＰｕｌｌ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。また、第２計時部１３２は、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」として、第２指令取得部１１２が方向切替弁３０にＰｕｌｌ指令を出力する時刻を検知してもよい。言い換えれば、第２計時部１３２は、第２指令取得部１１２が方向切替弁３０に出力するＰｕｌｌ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。
【０１３５】
第２計時部１３２は、「ピストン４６が第１端部４２へと到着した時刻」として、例えば図３に示すように、第１スイッチ５１からの第１検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知する。第２計時部１３２は、「ピストン４６が第１端部４２へと到着した時刻」として、第１検知信号取得部１２１から第１検知信号を通知された時刻（または、第１検知信号取得部１２１が第１検知信号を取得した時刻）を検知してもよい。言い換えれば、第２計時部１３２は、第１検知信号取得部１２１から通知される（または、第１検知信号取得部１２１が第１スイッチ５１から取得する）第１検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を検知してもよい。
【０１３６】
第２計時部１３２は、引戻時間Ｔ２を、図３に示すように、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」から、「ピストン４６が第１端部４２へと到着した時刻」までの時間として、算出する。
【０１３７】
§３．動作例
（異常検出装置の実行する処理の全体概要）
図４は、異常検出装置１０が実行する処理の概要を示すフロー図である。指令取得部１１０は、ＰＬＣ２０から制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令）を取得し、つまり、第１指令取得部１１１がＰｕｓｈ指令を取得し、また、第２指令取得部１１２がＰｕｌｌ指令を取得する（Ｓ１１０）。指令取得部１１０は、取得した制御指令を計時部１３０に通知し、つまり、第１指令取得部１１１がＰｕｓｈ指令を計時部１３０に通知し、また、第２指令取得部１１２がＰｕｌｌ指令を計時部１３０に通知する。
【０１３８】
検知信号取得部１２０は、第１スイッチ５１および第２スイッチ５２の各々から検知信号（第１検知信号および第２検知信号）を取得する。つまり、第１検知信号取得部１２１が、第２スイッチ５２から第２検知信号を取得し、また、第２検知信号取得部１２２が、第１スイッチ５１から第１検知信号を取得する（Ｓ１２０）。検知信号取得部１２０は、取得した検知信号を計時部１３０に通知し、つまり、第１検知信号取得部１２１が第２検知信号を計時部１３０に通知し、また、第２検知信号取得部１２２が第１検知信号を計時部１３０に通知する。
【０１３９】
計時部１３０は、指令取得部１１０から通知された制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令）により、「ピストン４６の移動を指示する制御指令の開始時点」を算出する。また、計時部１３０は、検知信号取得部１２０から通知された検知信号（第１検知信号および第２検知信号）により、「ピストン４６が、第１端部４２または第２端部４３へと到着した時点」を算出する。計時部１３０は、算出した「ピストン４６の移動を指示する制御指令の開始時点」と「ピストン４６が、第１端部４２または第２端部４３へと到着した時点」とから、移動時間（押出時間Ｔ１および引戻時間Ｔ２）を算出する。
【０１４０】
すなわち、第１計時部１３１は、「ピストン４６が第１端部４２に位置している状態において、ＰＬＣ２０が出力するＰｕｓｈ指令の開始時刻」から、「ピストン４６が第２端部４３へと到着した時刻」までの時間である押出時間Ｔ１を算出する。第２計時部１３２は、「ピストン４６が第２端部４３に位置している状態において、ＰＬＣ２０が出力するＰｕｌｌ指令の開始時刻」から、「ピストン４６が第１端部４２へと到着した時刻」までの時間である引戻時間Ｔ２を算出する（Ｓ１３０）。計時部１３０（第１計時部１３１、および、第２計時部１３２）は、算出した移動時間（押出時間Ｔ１および引戻時間Ｔ２）を、更新制御部１４０に通知する。
【０１４１】
更新制御部１４０は、移動時間テーブル１８０の更新処理を実行し、つまり、第１更新制御部１４１が押出時間テーブル更新処理を、第２更新制御部１４２が引戻時間テーブル更新処理を、実行する（Ｓ１４０）。押出時間テーブル更新処理および引戻時間テーブル更新処理の詳細については、図５を用いて後述する。
【０１４２】
判定部１５０は、移動時間テーブル１８０（押出時間テーブル１８１および引戻時間テーブル１８２）を参照して、移動時間（押出時間Ｔ１および引戻時間Ｔ２）の初期値、最大値、および、最小値を用いて特徴量（Ｗ１およびＷ２）を算出する。
【０１４３】
すなわち、第１判定部１５１は、押出時間テーブル１８１を参照して、数式１によって、つまり、最大値Ｔ１ＭＡＸから最小値Ｔ１ｍｉｎを差し引いた値を、初期値Ｔ１０によって除することによって、特徴量Ｗ１を算出する。第２判定部１５２は、引戻時間テーブル１８２を参照して、数式２によって、つまり、最大値Ｔ２ＭＡＸから最小値Ｔ２ｍｉｎを差し引いた値を、初期値Ｔ２０によって除することによって、特徴量Ｗ２を算出する（Ｓ１５０）。
【０１４４】
判定部１５０は、算出した特徴量（Ｗ１およびＷ２）と基準値（ＴＨ１およびＴＨ２）とを比較して、アクチュエータ４０の破損等の異常の発生の有無を判定する（Ｓ１６０）。
【０１４５】
すなわち、第１判定部１５１は、特徴量Ｗ１が基準値ＴＨ１以下であることを確認すると（Ｓ１６０でＹｅｓ）、異常は発生していないと判定し、この判定結果を通知制御部１６０に通知する。通知制御部１６０は、第１判定部１５１から通知された「異常は発生していない」との判定結果をＰＬＣ２０に通知する（Ｓ１７０）。
【０１４６】
第１判定部１５１は、特徴量Ｗ１が基準値ＴＨ１よりも大きいことを確認すると（Ｓ１６０でＮｏ）、少なくともロッドパッキン４９について、破損等の異常が発生していると判定し、この判定結果を通知制御部１６０に通知する。通知制御部１６０は、第１判定部１５１から通知された「少なくともロッドパッキン４９について、破損等の異常が発生している」との判定結果をＰＬＣ２０に通知する（Ｓ１８０）。
【０１４７】
第２判定部１５２は、特徴量Ｗ２が基準値ＴＨ２以下であることを確認すると（Ｓ１６０でＹｅｓ）、異常は発生していないと判定し、この判定結果を通知制御部１６０に通知する。通知制御部１６０は、第２判定部１５２から通知された「異常は発生していない」との判定結果をＰＬＣ２０に通知する（Ｓ１７０）。
【０１４８】
第２判定部１５２は、特徴量Ｗ２が基準値ＴＨ２よりも大きいことを確認すると（Ｓ１６０でＮｏ）、少なくともピストンパッキン４８について、破損等の異常が発生していると判定し、この判定結果を通知制御部１６０に通知する。通知制御部１６０は、第２判定部１５２から通知された「少なくともピストンパッキン４８について、破損等の異常が発生している」との判定結果をＰＬＣ２０に通知する（Ｓ１８０）。
【０１４９】
これまで図４を参照しながら説明してきた「異常検出装置１０が実行する処理」は、以下のように整理することができる。すなわち、「異常検出装置１０が実行する処理」は、圧力流体の供給によりピストン４６（可動部）が変位するアクチュエータ４０の異常を、ピストン４６の移動時間（変位時間）を用いて検出する異常検出装置の制御方法であって、計時ステップ（Ｓ１３０）と、判定ステップ（Ｓ１６０）と、を含んでいる。計時ステップ（Ｓ１３０）において、前記移動時間（具体的には、押出時間Ｔ１および引戻時間Ｔ２）として、「ピストン４６がアクチュエータ４０の第１端部４２または第２端部４３（一端）にある状態で、第２端部４３または第１端部４２（他端）への変位の制御指令（Ｐｕｓｈ指令およびＰｕｌｌ指令）が開始された時刻」から、「ピストン４６が第２端部４３または第１端部４２へと到着した時刻」までの時間が計測される。判定ステップ（Ｓ１６０）は、「計時ステップ（Ｓ１３０）にて現在までに計測された前記移動時間の最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）」から、「計時ステップ（Ｓ１３０）にて現在までに計測された前記移動時間の最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）」を差し引いた値を、「アクチュエータ４０の起動時点から所定時間経過した時点で計時ステップ（Ｓ１３０）にて計測された前記移動時間（つまり、初期値（Ｔ１０およびＴ２０））」によって除した値である特徴量（Ｗ１およびＷ２）を用いて、異常の有無を判定する。
【０１５０】
前記の方法によれば、前記制御方法は、最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）から最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）を差し引いた値を、初期値（Ｔ１０およびＴ２０）によって除した値である特徴量（Ｗ１およびＷ２）を用いて、アクチュエータ４０の異常の有無を判定する。
【０１５１】
一般に、圧力流体の供給によりピストン４６が変位するアクチュエータ４０について、ピストン４６の前記移動時間は、アクチュエータ４０の周囲の温度の影響を受ける。例えば、アクチュエータ４０の周囲の温度が上昇すると前記移動時間は短くなる傾向があり、アクチュエータ４０の周囲の温度が下降すると前記移動時間は長くなる傾向がある。また、前記移動時間は、アクチュエータ４０の種類、負荷条件、設置位置、これまでの使用時間等によっても変動する。
【０１５２】
そのため、前記移動時間について正常値を予め設定しておき、計測した前記移動時間と正常値とを比較して異常を判定する従来の方法には、以下の課題がある。すなわち、異常判定の精度を維持するためには、従来の方法は、アクチュエータ４０の周囲の温度、アクチュエータ４０の種類、負荷条件、設置位置、これまでの使用時間等といった種々の要因に応じて個別に、前記正常値を設定する必要がある。言い換えれば、従来の方法は、「周囲の温度、アクチュエータ４０の種類等の条件」に応じて変動する前記移動時間に対応させて、「周囲の温度、アクチュエータ４０の種類等の条件」に応じた適切な正常値を適宜設定しなければ、異常判定の精度を維持できない。
【０１５３】
これに対して、前記制御方法は、アクチュエータ４０の異常の有無を、最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）から最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）を差し引いた値を、初期値（Ｔ１０およびＴ２０）によって除した値である特徴量（Ｗ１およびＷ２）を用いて判定する。
【０１５４】
ここで、周囲の温度変化に伴う前記移動時間の変動の大きさは、故障等の異常の発生に伴う前記移動時間の変動の大きさに比べて、十分に小さいと想定することができる。つまり、異常の発生の影響による前記移動時間の変動の大きさは、周囲の温度変化の影響による前記移動時間の変動の大きさに比べて、十分に大きい。
【０１５５】
したがって、異常が発生した時点で計時される移動時間は、直前までに計測された（つまり、異常の発生していない、せいぜい周囲の温度変化の影響を受けたに過ぎない）移動時間の最大値（つまり、移動時間テーブル１８０に格納されている最大値）よりも大きくなり、または、直前までに計測された移動時間の最小値（つまり、移動時間テーブル１８０に格納されている最小値）よりも小さくなる。つまり、異常が発生すると、現在時点（＝異常発生時点）で計時される移動時間が、最大値または最小値となり、言い換えれば、現在時点（＝異常発生時点）で計時される移動時間によって、移動時間テーブル１８０の最大値または最小値が更新される。したがって、移動時間テーブル１８０の最大値と最小値の差を用いて算出される特徴量に、異常の発生が影響する。そのため、異常検出装置１０は、移動時間テーブル１８０の最大値と最小値の差を用いて算出される特徴量によって、異常の発生の有無を判定することができる。
【０１５６】
これに対して、周囲の温度変化の影響を受けた、現在の移動時間が、移動時間テーブル１８０の最大値以下、かつ、最小値以上である場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量は、現在の移動時間によって変動しない。言い換えれば、移動時間テーブル１８０の最大値および最小値は、現在時点で計時される移動時間によって更新されず、したがって、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量も変動しない。つまり、現在の移動時間が、移動時間テーブル１８０の最大値以下、かつ、最小値以上である場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量において、周囲の温度変化の影響は無視される。
【０１５７】
また、周囲の温度変化の影響を受けた、現在の移動時間が、移動時間テーブル１８０の最大値より大きく、または、前記最小値より小さい場合、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量は、現在の移動時間によって変動する。しかしながら、周囲の温度変化の影響による特徴量の変動の大きさは、異常の発生の影響による特徴量の変動の大きさに比べて、十分に小さい。周囲の温度変化に伴う移動時間の変動の大きさは、故障等の異常の発生に伴う移動時間の変動の大きさに比べて、十分に小さいからである。
【０１５８】
したがって、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量において、周囲の温度変化の影響は、無視され、または、異常の発生の影響に比べて十分に小さなものとして無視することができる。
【０１５９】
つまり、前記制御方法は、移動時間テーブル１８０の最大値と最小値との差を用いる特徴量によって、「異常を原因とする移動時間の変動」を、「周囲の温度変化を原因とする移動時間の変動」から区別して、捉えることができるとの効果を奏する。
【０１６０】
前記制御方法は、初期値（Ｔ１０およびＴ２０）によって「最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）と最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）との差分」を除して無次元化した値を、アクチュエータ４０の異常判定に用いる特徴量とする。つまり、前記制御方法は、アクチュエータ４０の種類等からの影響を受けない値を、アクチュエータ４０の異常判定に用いる特徴量とする。
【０１６１】
前記制御方法は、「移動時間テーブル１８０の最大値と最小値との差分」を、移動時間テーブル１８０の初期値によって除して無次元化することによって、「最大値と最小値との差分」への、アクチュエータ４０の種類等からの影響を無効化する。
【０１６２】
したがって、前記制御方法は、「最大値（Ｔ１ＭＡＸおよびＴ２ＭＡＸ）と最小値（Ｔ１ｍｉｎおよびＴ２ｍｉｎ）との差分」を初期値（Ｔ１０およびＴ２０）によって除して無次元化した特徴量を用いることによって、同一の指標で、様々な種類のアクチュエータ４０の異常を判定することができるとの効果を奏する。
【０１６３】
（押出時間テーブル更新処理および引戻時間テーブル更新処理）
図５は、異常検出装置１０が実行する押出時間テーブル更新処理および引戻時間テーブル更新処理の概要を示すフロー図である。押出時間テーブル更新処理は、第１更新制御部１４１によって実行され、引戻時間テーブル更新処理は、第２更新制御部１４２によって実行される。
【０１６４】
更新制御部１４０は、移動時間テーブル１８０を参照して、初期値が格納済であるかを判定する。つまり、第１更新制御部１４１は、押出時間テーブル１８１に初期値Ｔ１０が格納済であるかを判定し、第２更新制御部１４２は、引戻時間テーブル１８２に初期値Ｔ２０が格納済であるかを判定する（Ｓ１４１０）。
【０１６５】
移動時間テーブル１８０に初期値が格納されていないことを確認すると（Ｓ１４１０でＮｏ）、更新制御部１４０は、計時部１３０の算出した移動時間を、移動時間テーブル１８０に、初期値として格納する。つまり、押出時間テーブル１８１に初期値Ｔ１０が格納されていないことを確認すると、第１更新制御部１４１は、第１計時部１３１の算出した押出時間Ｔ１を、押出時間テーブル１８１に、初期値Ｔ１０として格納する（Ｓ１４２０）。また、引戻時間テーブル１８２に初期値Ｔ２０が格納されていないことを確認すると、第２更新制御部１４２は、第２計時部１３２の算出した引戻時間Ｔ２を、引戻時間テーブル１８２に、初期値Ｔ２０として格納する（Ｓ１４２０）。
【０１６６】
更新制御部１４０は、「計時部１３０の算出した移動時間が、移動時間テーブル１８０に格納されている最大値以下であるか」を判定する。つまり、第１更新制御部１４１は、「第１計時部１３１の算出した押出時間Ｔ１が、押出時間テーブル１８１に格納されている最大値Ｔ１ＭＡＸ以下であるか」を判定する（Ｓ１４３０）。また、第２更新制御部１４２は、「第２計時部１３２の算出した引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最大値Ｔ２ＭＡＸ以下であるか」を判定する（Ｓ１４３０）。
【０１６７】
移動時間テーブル１８０に最大値が格納されていない場合、更新制御部１４０は、「計時部１３０の算出した移動時間は、移動時間テーブル１８０に格納されている最大値以下ではない（例えば、最大値より大きい）」と判定する。つまり、押出時間テーブル１８１に最大値Ｔ１ＭＡＸが格納されていない場合、第１更新制御部１４１は、「第１計時部１３１の算出した押出時間Ｔ１は、押出時間テーブル１８１に格納されている最大値Ｔ１ＭＡＸ以下ではない」と判定する。また、引戻時間テーブル１８２に最大値Ｔ２ＭＡＸが格納されていない場合、第２更新制御部１４２は、「第２計時部１３２の算出した引戻時間Ｔ２は、引戻時間テーブル１８２に格納されている最大値Ｔ２ＭＡＸ以下ではない」と判定する。
【０１６８】
「計時部１３０の算出した移動時間が、移動時間テーブル１８０に格納されている最大値より大きい」と判定すると（Ｓ１４３０でＮｏ）、更新制御部１４０は、計時部１３０の算出した移動時間によって、移動時間テーブル１８０の最大値を更新する。つまり、「第１計時部１３１の算出した押出時間Ｔ１が、押出時間テーブル１８１に格納されている最大値Ｔ１ＭＡＸより大きい」と判定すると（Ｓ１４３０でＮｏ）、第１更新制御部１４１は、以下の処理を実行する。すなわち、第１更新制御部１４１は、第１計時部１３１の算出した押出時間Ｔ１によって、押出時間テーブル１８１の最大値Ｔ１ＭＡＸを更新する（Ｓ１４４０）。また、「第２計時部１３２の算出した引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最大値Ｔ２ＭＡＸより大きい」と判定すると（Ｓ１４３０でＮｏ）、第２更新制御部１４２は、以下の処理を実行する。すなわち、第２更新制御部１４２は、第２計時部１３２の算出した引戻時間Ｔ２によって、引戻時間テーブル１８２の最大値Ｔ２ＭＡＸを更新する（Ｓ１４４０）。
【０１６９】
押出時間テーブル１８１に最大値Ｔ１ＭＡＸが格納されていない場合、第１更新制御部１４１は、第１計時部１３１の算出した押出時間Ｔ１を、押出時間テーブル１８１に、最大値Ｔ１ＭＡＸとして格納する。また、引戻時間テーブル１８２に最大値Ｔ２ＭＡＸが格納されていない場合、第２更新制御部１４２は、第２計時部１３２の算出した引戻時間Ｔ２を、引戻時間テーブル１８２に、最大値Ｔ２ＭＡＸとして格納する。
【０１７０】
更新制御部１４０は、「計時部１３０の算出した移動時間が、移動時間テーブル１８０に格納されている最小値以上であるか」を判定する。つまり、第１更新制御部１４１は、「第１計時部１３１の算出した押出時間Ｔ１が、押出時間テーブル１８１に格納されている最小値Ｔ１ｍｉｎ以上であるか」を判定する（Ｓ１４５０）。また、第２更新制御部１４２は、「第２計時部１３２の算出した引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最小値Ｔ２ｍｉｎ以上であるか」を判定する（Ｓ１４５０）。
【０１７１】
移動時間テーブル１８０に最小値が格納されていない場合、更新制御部１４０は、「計時部１３０の算出した移動時間は、移動時間テーブル１８０に格納されている最小値以上ではない（例えば、最大値より小さい）」と判定する。つまり、押出時間テーブル１８１に最小値Ｔ１ｍｉｎが格納されていない場合、第１更新制御部１４１は、「第１計時部１３１の算出した押出時間Ｔ１は、押出時間テーブル１８１に格納されている最小値Ｔ１ｍｉｎ以上ではない」と判定する。また、引戻時間テーブル１８２に最小値Ｔ２ｍｉｎが格納されていない場合、第２更新制御部１４２は、「第２計時部１３２の算出した引戻時間Ｔ２は、引戻時間テーブル１８２に格納されている最小値Ｔ２ｍｉｎ以上ではない」と判定する。
【０１７２】
「計時部１３０の算出した移動時間が、移動時間テーブル１８０に格納されている最小値より小さい」と判定すると（Ｓ１４５０でＮｏ）、更新制御部１４０は、計時部１３０の算出した移動時間によって、移動時間テーブル１８０の最小値を更新する。つまり、「第１計時部１３１の算出した押出時間Ｔ１が、押出時間テーブル１８１に格納されている最小値Ｔ１ｍｉｎより小さい」と判定すると（Ｓ１４５０でＮｏ）、第１更新制御部１４１は、以下の処理を実行する。すなわち、第１更新制御部１４１は、第１計時部１３１の算出した押出時間Ｔ１によって、押出時間テーブル１８１の最小値Ｔ１ｍｉｎを更新する（Ｓ１４６０）。また、「第２計時部１３２の算出した引戻時間Ｔ２が、引戻時間テーブル１８２に格納されている最小値Ｔ２ｍｉｎより小さい」と判定すると（Ｓ１４５０でＮｏ）、第２更新制御部１４２は、以下の処理を実行する。すなわち、第２更新制御部１４２は、第２計時部１３２の算出した引戻時間Ｔ２によって、引戻時間テーブル１８２の最小値Ｔ２ｍｉｎを更新する（Ｓ１４６０）。
【０１７３】
押出時間テーブル１８１に最小値Ｔ１ｍｉｎが格納されていない場合、第１更新制御部１４１は、第１計時部１３１の算出した押出時間Ｔ１を、押出時間テーブル１８１に、最小値Ｔ１ｍｉｎとして格納する。また、引戻時間テーブル１８２に最小値Ｔ２ｍｉｎが格納されていない場合、第２更新制御部１４２は、第２計時部１３２の算出した引戻時間Ｔ２を、引戻時間テーブル１８２に、最小値Ｔ２ｍｉｎとして格納する。
【０１７４】
（移動時間と特徴量との関係について）
図６は、移動時間と特徴量との関係を示す図であり、特に、引戻時間Ｔ２と特徴量Ｗ２との関係を示す図である。押出時間Ｔ１と特徴量Ｗ１との関係も、図６に示すのと同様となる。図６の横軸は、ピストン４６およびピストンロッド４７の往復回数（Ｆｒａｍｅ回数）を示し、縦軸は、紙面左側の縦軸が引戻時間Ｔ２（の値）を示しており、単位はμｓ（μ秒）である。紙面右側の縦軸は特徴量を示している。以下、図６を参照して、移動時間と特徴量との関係について説明し、また、アクチュエータ４０の周囲の温度による移動時間への影響と、アクチュエータ４０の故障等の異常による移動時間への影響との区別について説明する。
【０１７５】
（周辺の温度変化による移動時間への影響）
アクチュエータ４０において、方向切替弁３０から供給される圧力流体（例えば、圧力気体）は熱膨張し、また、シリンダ４１およびピストン４６等も熱膨張するため、アクチュエータ４０の動作は、アクチュエータ４０の周囲の温度からの影響を受ける。すなわち、図６に示すように、アクチュエータ４０に故障等の異常が発生していない段階でも、ピストン４６（可動部）の移動時間（変位時間）である引戻時間Ｔ２（押出時間Ｔ１）は、アクチュエータ４０の周囲の温度によって変動している。
【０１７６】
アクチュエータ４０の周囲の温度が変化しないという条件下では、すなわち、恒温条件下では、ピストン４６の移動時間のみを監視して、アクチュエータ４０の破損等の異常を検知することができるが、実際には、アクチュエータ４０の周囲の温度は変化する。日時、季節、アクチュエータ４０の周囲の装置の稼働状況等の影響によりアクチュエータ４０の周囲の温度が変化する条件下では、ピストン４６の移動時間の変動が、周囲の温度変化によるものか、アクチュエータ４０の故障等の異常によるものかを区別できない。
【０１７７】
異常検出装置１０は、「異常を原因とする移動時間の変動量Ｄｅｒ」が「周囲の温度変化を原因とする移動時間の変動量Ｄｔｅ」よりも大きいという条件の下で、移動時間の特徴量Ｗ２（Ｗ１）を用いることにより、変動量Ｄｅｒと変動量Ｄｔｅとを区別する。異常検出装置１０は、測定期間中に計時した、つまり、異常判定を開始してから現在までの間に計時した、移動時間の最大値と最小値の差を特徴量として用いることによって、変動量Ｄｅｒと変動量Ｄｔｅとを区別する。以下、変動量Ｄｅｒと変動量Ｄｔｅとの区別が可能となる理由について、詳細を説明する。
【０１７８】
図６に示すように、「異常を原因とする移動時間の変動量Ｄｅｒ」は、「周囲の温度変化を原因とする移動時間の変動量Ｄｔｅ」に比べて、十分に大きい。そして、移動時間の最大値と最小値の差を用いて算出される特徴量において、変動量Ｄｔｅは無視できるほど小さいのに対して、変動量Ｄｅｒは十分に大きい。
【０１７９】
すなわち、アクチュエータ４０の故障等の異常が発生した場合に計時される移動時間は、変動量Ｄｅｒが十分に大きいため、異常発生前に計時された移動時間の最大値よりも大きくなり、または、異常発生前に計時された移動時間の最小値よりも小さくなる。そのため、異常が発生すると、移動時間の最大値または最小値は、異常が発生した場合に計時される移動時間によって更新され、つまり、異常発生時点（＝現在時点）で計時される移動時間によって更新される。そして、変動量Ｄｅｒは十分に大きいため、更新後の「最大値から最小値を差し引いた値」は、更新前の（つまり、異常発生前の）「最大値から最小値を差し引いた値」に比べて、十分に大きい。つまり、「異常を原因とする移動時間の変動量Ｄｅｒ」は、移動時間の最大値と最小値の差を用いて算出される特徴量においても無視されない。
【０１８０】
これに対して、移動時間の最大値と最小値の差を用いて算出される特徴量において、「周囲の温度変化を原因とする移動時間の変動量Ｄｔｅ」は、十分に小さく、無視することができる。
【０１８１】
例えば、現在時点で計時された移動時間（恒温条件下で計時されるであろう移動時間に、変動量Ｄｔｅが加算された移動時間）が、現在時点までの最大値以下、かつ、最小値以上である場合、現在時点の移動時間によって最大値および最小値が更新されることはない。そのため、移動時間の最大値と最小値の差を用いて算出される特徴量は変動せず、つまり、特徴量において変動量Ｄｔｅは無視される。
【０１８２】
また、変動量Ｄｔｅが加算された現在時点の移動時間によって最大値または最小値が更新される場合であっても、移動時間の最大値と最小値の差を用いて算出される特徴量について、更新前と更新後との間の変動は十分に小さい。すなわち、変動量Ｄｔｅが加算された移動時間によって最大値または最小値が更新された場合の、更新前後での特徴量の変動は、変動量Ｄｅｒが加算された移動時間によって最大値または最小値が更新された場合の、更新前後での特徴量の変動に比べて、十分小さい。「異常を原因とする移動時間の変動量Ｄｅｒ」は、「周囲の温度変化を原因とする移動時間の変動量Ｄｔｅ」に比べて、十分に大きいからである。
【０１８３】
したがって、適切な基準値ＴＨ２（ＴＨ１）を設定することによって、変動量Ｄｔｅの加算による特徴量の変動は無視して、変動量Ｄｅｒの加算による特徴量の変動のみを捉えることができる。つまり、移動時間の最大値と最小値の差を用いて算出される特徴量において、変動量Ｄｔｅの影響を無視しつつ、変動量Ｄｅｒの影響を確実に捉えることができる。異常検出装置１０は、移動時間の最大値と最小値の差を用いて算出される特徴量によって、「異常を原因とする移動時間の変動」を、「周囲の温度変化を原因とする移動時間の変動」から区別して、捉えることができる。
【０１８４】
（アクチュエータの種類等と移動時間との関係）
ピストン４６（可動部）の移動時間（変位時間）は、シリンダ４１の径の大きさおよび長さなど、アクチュエータ４０の種類等によって異なり、また、アクチュエータ４０の負荷条件等によっても異なる。
【０１８５】
そこで、異常検出装置１０は、「移動時間の初期値」によって「移動時間の最大値と最小値の差分」を除して無次元化した値を、つまり、アクチュエータ４０の種類等からの影響を受けない値を、アクチュエータ４０の異常判定に用いる特徴量とする。「移動時間の最大値と最小値の差分」を、「移動時間の初期値」によって除して無次元化することによって、異常検出装置１０は、「移動時間の最大値と最小値の差分」への、アクチュエータ４０の種類等からの影響を無効化する。
【０１８６】
異常検出装置１０は、「移動時間の最大値と最小値の差分」を、「移動時間の初期値」によって除して無次元化した値である特徴量を、異常判定に用いる指標とすることによって、同一の指標で、様々な種類のアクチュエータ４０の異常を判定することができる。
【０１８７】
§４．変形例
（制御指令の開始時点の取得について）
異常検出装置１０がＰＬＣ２０からＰｕｓｈ指令およびＰｕｌｌ指令の各々を取得することは必須ではなく、異常検出装置１０は、方向切替弁３０がＰｕｓｈ指令およびＰｕｌｌ指令の各々を取得する時点を取得できればよい。例えば、方向切替弁３０において、Ｐｕｓｈ指令を取得する第１ソレノイド、および、Ｐｕｌｌ指令を取得する第２ソレノイドの各々に不図示のセンサ（第１切替センサおよび第２切替センサ）を設ける。そして、第１切替センサおよび第２切替センサの各々に、「第１ソレノイドおよび第２ソレノイドの各々による、Ｐｕｓｈ指令およびＰｕｌｌ指令の各々を取得」を検知させる。異常検出装置１０は、第１切替センサおよび第２切替センサの各々の検知結果から、方向切替弁３０がＰｕｓｈ指令およびＰｕｌｌ指令の各々を取得する時点を取得してもよい。すなわち、異常検出装置１０は、第１切替センサの検知結果から、Ｐｕｓｈ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を取得してもよい。異常検出装置１０は、第２切替センサの検知結果から、Ｐｕｌｌ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻を取得してもよい。
【０１８８】
（異常検知システムの構成について）
これまで、ＰＬＣ２０が、異常検出装置１０を介して、方向切替弁３０、第１スイッチ５１、および、第２スイッチ５２の各々と接続する構成を説明してきたが、このような接続構成は、異常検出装置１０およびＰＬＣ２０の各々にとって必須ではない。ＰＬＣ２０が、方向切替弁３０、第１スイッチ５１、および、第２スイッチ５２の各々と直接接続してもよい。また、異常検出装置１０は、ＰＬＣ２０を介して、方向切替弁３０（または、第１切替センサおよび第２切替センサの各々）、第１スイッチ５１、および、第２スイッチ５２の各々に接続してもよい。
【０１８９】
例えば、異常検出装置１０が、ＰＬＣ２０を介して、方向切替弁３０、第１スイッチ５１、および、第２スイッチ５２の各々と接続する構成を採用してもよい。異常検出装置１０は、ＰＬＣ２０から、Ｐｕｓｈ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻、および、Ｐｕｌｌ指令のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻の各々を取得してもよい。異常検出装置１０は、ＰＬＣ２０を介して、第２検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻、および、第１検知信号のＬｅｖｅｌが「０（ロー）」から「１（ハイ）」に変化する時刻の各々を取得してもよい。
【０１９０】
（異常検出装置の構成について）
これまで、異常検出装置１０と、ＰＬＣ２０とが別個の装置である例を説明してきたが、異常検出装置１０を、ＰＬＣ２０から独立した装置として構成することは必須ではなく、異常検出装置１０を、ＰＬＣ２０に一体の装置として構成してもよい。
【０１９１】
〔ソフトウェアによる実現例〕
異常検出装置１０の制御ブロック（特に、指令取得部１１０、検知信号取得部１２０、計時部１３０、更新制御部１４０、判定部１５０、および、通知制御部１６０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（CenＴｒal Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１９２】
後者の場合、異常検出装置１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）等を備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１９３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１９４】
１０  異常検出装置
４０  アクチュエータ
４１  シリンダ
４２  第１端部（一端、他端、引戻方向側の端部）
４３  第２端部（一端、他端、押出方向側の端部）
４６  ピストン（可動部）
４７  ピストンロッド（ロッド）
４８  ピストンパッキン
４９  ロッドパッキン
１３０  計時部
１３１  第１計時部（計時部）
１３２  第２計時部（計時部）
１５０  判定部
１５１  第１判定部（判定部）
１５２  第２判定部（判定部）
１６０  通知制御部
Ｔ１  押出時間（変位時間）
Ｔ１０  初期値（起動時点から所定時間経過した時点の変位時間）
Ｔ２０  初期値（起動時点から所定時間経過した時点の変位時間）
Ｔ１ＭＡＸ  最大値
Ｔ２ＭＡＸ  最大値
Ｔ１ｍｉｎ  最小値
Ｔ２ｍｉｎ  最小値
Ｔ２  引戻時間（変位時間）
Ｗ１  特徴量
Ｗ２  特徴量
Ｓ１３０  計時ステップ
Ｓ１６０  判定ステップ
【図１】
2020045924.tif 000005
【図２】
2020045924.tif 000006
【図３】
2020045924.tif 000007
【図４】
2020045924.tif 000008
【図５】
2020045924.tif 000009
【図６】
2020045924.tif 000010