本発明の実施形態に係る流体循環装置100について、図面を参照しながら説明する。流体循環装置100は、冷媒回路を循環する流体である冷媒の温度を熱交換により変化させることで熱を移動させる冷凍装置である。
(1)流体循環装置の全体構成
図1は、流体循環装置100の回路図である。流体循環装置100は、主として、圧縮機構101と、第1熱交換器102と、膨張機構103と、第2熱交換器104と、センサ105a〜105cと、制御部106と、本体107と、送風ファン108と、流体ポンプ109とを備える。流体循環装置100は、タンク200および工作機械300と接続されている。工作機械300は、例えば、研削盤およびマシニングセンタである。
流体循環装置100は、工作機械300が使用した工作液を冷却するための冷凍装置である。工作液は、例えば、研削用の工作機械300に用いられる研削液、および、工作機械300の主軸等の摺動部に供給される潤滑油である。流体循環装置100は、圧縮機構101、第1熱交換器102、膨張機構103および第2熱交換器104が環状に接続された冷媒回路を備える。流体循環装置100は、第2熱交換器104によって工作液を冷却する。図1において、実線の矢印は、冷媒の流れを表し、点線の矢印は、工作液の流れを表す。
流体循環装置100の冷媒回路を循環する冷媒の流れについて説明する。流体循環装置100に用いられる冷媒は、冷媒回路を循環する過程で凝縮および蒸発する物質である。最初に、圧縮機構101は、低圧のガス冷媒を吸引して圧縮し、高温高圧のガス冷媒を吐出する。次に、第1熱交換器102は、圧縮機構101から吐出された高温高圧のガス冷媒と、第1熱交換用流体とを熱交換させる。第1熱交換用流体は、例えば、流体循環装置100の外部の空気である。第1熱交換器102において、高温高圧のガス冷媒は凝縮して、高圧の液冷媒となる。次に、膨張機構103は、第1熱交換器102を通過した高圧の液冷媒を膨張させる。膨張機構103は、例えば、電子膨張弁である。高圧の液冷媒は、膨張機構103を通過して、低温低圧の気液混合状態の冷媒となる。次に、第2熱交換器104は、膨張機構103を通過した低温低圧の気液混合状態の冷媒と、第2熱交換用流体とを熱交換させる。第2熱交換用流体は、流体循環装置100の冷却対象である工作液である。第2熱交換器104において、低温低圧の気液混合状態の冷媒は蒸発して、低圧のガス冷媒となる。第2熱交換器104を通過した低圧のガス冷媒は、圧縮機構101に吸引される。
圧縮機構101、第1熱交換器102、膨張機構103および第2熱交換器104は、本体107に収納されている。本体107の内部には、さらに、送風ファン108および流体ポンプ109が配置されている。送風ファン108は、第1熱交換用流体である空気を第1熱交換器102に供給する。流体ポンプ109は、第2熱交換用流体である工作液を第2熱交換器104に供給する。
運転中の工作機械300から排出された高温の工作液は、タンク200に供給される。タンク200は、流体循環装置100によって冷却される前の高温の工作液を貯留する。タンク200に貯留されている工作液は、流体循環装置100内部の流体ポンプ109によって流体循環装置100に吸入されて、第2熱交換器104に流入する。第2熱交換器104では、冷媒回路の配管を流れる冷媒と、専用の配管を流れる工作液との間で熱交換が行われて、工作液が冷却される。第2熱交換器104で冷却された工作液は、流体循環装置100から吐出されて、工作機械300に供給される。
流体循環装置100の冷媒回路の冷媒配管には、図1に示されるように、センサ105a〜105cが取り付けられている。具体的には、センサ105a〜105cは、吐出温度サーミスタ105aと、凝縮温度サーミスタ105bと、膨張温度サーミスタ105cとから構成される。吐出温度サーミスタ105aは、圧縮機構101の吐出管に取り付けられ、圧縮機構101で圧縮された直後の冷媒の温度を測定する。凝縮温度サーミスタ105bは、第1熱交換器102に取り付けられ、第1熱交換器102で熱交換される冷媒の温度を測定する。膨張温度サーミスタ105cは、膨張機構103の出口管に取り付けられ、膨張機構103を通過して膨張した直後の冷媒の温度を測定する。
制御部106は、流体循環装置100の組み込みシステムである。制御部105は、主として、運転制御機能と、運転監視機能と、故障原因推定機能とを有する。運転制御機能は、流体循環装置100の運転中に、圧縮機構101の運転周波数、および、膨張機構103の開度等を制御して、流体循環装置100の冷却対象である工作液の温度を調節する機能である。運転監視機能は、運転中の流体循環装置100の状態を監視して、流体循環装置100に発生した故障を検知する機能である。故障原因推定機能は、流体循環装置100が故障した場合に、故障原因を自動的に推定する機能である。
制御部106は、吐出温度サーミスタ105a、凝縮温度サーミスタ105bおよび膨張温度サーミスタ105cに接続されている。制御部106の故障原因推定機能は、吐出温度サーミスタ105a、凝縮温度サーミスタ105bおよび膨張温度サーミスタ105cの測定データに基づいて、故障原因を推定する。
以下において、流体循環装置100の特徴である、制御部106の故障原因推定機能について詳細に説明する。
(2)制御部の構成
図2は、流体循環装置100の制御部106の構成を示すブロック図である。制御部106は、主として、入力部111と、処理部112と、表示部113と、通信部114と、記憶部115とから構成される。
入力部111は、例えば、流体循環装置100の本体107に設けられるボタンおよびスイッチである。流体循環装置100のユーザは、入力部111を操作して、流体循環装置100の起動および停止等の制御を行う。
処理部112は、主として、CPU112aと、ROM112bと、RAM112cと、バス112dと、入出力インターフェイス112eとから構成される。CPU112a、ROM112b、RAM112cおよび入出力インターフェイス112eは、バス112dを介して相互に接続されている。処理部112では、ROM112bに記憶されているプログラム、および、記憶部115からRAM112cにロードされたプログラムに基づいて、CPU112aが種種の処理を実行する。入出力インターフェイス112eは、入力部111、表示部113、通信部114および記憶部115との間のインターフェイス機能を提供する。
表示部113は、例えば、流体循環装置100の本体107に設けられる液晶ディスプレイ装置である。表示部113は、流体循環装置100の故障原因等の種種のデータを画面上に表示して、流体循環装置100のユーザに提供する。
通信部114は、例えば、モデムおよびLANカードである。通信部114は、インターネットおよびLAN等のネットワークを介する通信処理を行う。通信部114は、ネットワークを介して接続されている他のコンピュータおよび記憶メディア等と、データおよびプログラムの送受信を行うことができる。
記憶部115は、例えば、種種のデータおよびプログラムを記憶するためのハードディスクである。しかし、記憶部115は、磁気ディスク、光ディスク、光磁気ディスクおよび半導体メモリ等のリムーバブルメディアであってもよい。
処理部112は、記憶部115に記憶されているプログラムを実行して、記憶部115に記憶されているデータを処理する。記憶部115は、少なくとも、状態量取得部10と、故障原因推定部20と、故障原因表示部30とをプログラムとして記憶する。
次に、記憶部115に記憶されているプログラムである状態量取得部10、故障原因推定部20および故障原因表示部30について詳細に説明する。
(2−1)状態量取得部
状態量取得部10は、センサ105a〜105cから測定データを受信し、受信した測定データに基づいて複数の状態量を取得するプログラムである。状態量取得部10が取得した状態量は、記憶部115に記憶され、後述する状態量ベクトルSの生成に用いられる。
具体的には、状態量取得部10は、吐出温度サーミスタ105a、凝縮温度サーミスタ105bおよび膨張温度サーミスタ105cのそれぞれの測定データに基づいて、状態量s1〜s3を取得する。状態量s1は、吐出温度サーミスタ105aの測定データである、圧縮機構101で圧縮された直後の冷媒の温度Taを正規化した値である。状態量s2は、凝縮温度サーミスタ105bの測定データである、第1熱交換器102で熱交換される冷媒の温度Tbを正規化した値である。状態量s3は、膨張温度サーミスタ105cの測定データである、膨張機構103を通過して膨張した直後の冷媒の温度Tcを正規化した値である。ここで、「正規化」とは、センサ105a〜105cのそれぞれの測定データに対して所定の規則に基づく演算を行うことで、各測定データを互いに比較できるように無次元量化する処理である。例えば、測定データを代表値で割る演算を行うことで、測定データを正規化した値が求められる。以下において、状態量取得部10が取得する状態量は、上記の3つの状態量s1〜s3のみであるとする。
(2−2)故障原因推定部
故障原因推定部20は、制御部106の故障原因推定機能を実現するメインのプログラムである。故障原因推定部20は、状態量ベクトルSおよび故障原因推定行列Cから、故障原因ベクトルFを算出するプログラムである。故障原因推定部20は、算出した故障原因ベクトルFに基づいて、流体循環装置100の故障原因を推定する。
最初に、状態量ベクトルS、故障原因基礎ベクトルF0および故障原因推定基礎行列C0について説明する。故障原因基礎ベクトルF0に関連する故障原因ベクトルF、および、故障原因推定基礎行列C0に関連する故障原因推定行列Cについては後述する。
状態量ベクトルSは、状態量取得部10が取得した複数の状態量のそれぞれを要素として含むベクトルである。状態量ベクトルSは、状態量の数をnとすると、n行1列の行列(n次元列ベクトル)として表される。以下、状態量ベクトルSは、状態量取得部10が取得した3つの状態量s1〜s3を要素として含む3次元列ベクトルであるとする。この場合、状態量ベクトルSは、次の式(1)のように表される。
故障原因基礎ベクトルF0は、流体循環装置100の特定の運転状態における、流体循環装置100の複数の故障原因のそれぞれの発生の程度を要素として含むベクトルである。故障原因基礎ベクトルF0は、流体循環装置100の全ての故障原因の種類の数(以下、「故障原因の数」と記載する。)をmとすると、m行1列の行列(m次元列ベクトル)として表される。以下、故障原因基礎ベクトルF0は、流体循環装置100の全5種類の故障原因のそれぞれの発生頻度f1〜f5を要素として含む5次元列ベクトルであるとする。この場合、故障原因基礎ベクトルF0は、次の式(2)のように表される。
故障原因基礎ベクトルF0の要素である発生頻度f1〜f5は、例えば、対応する故障原因が発生する確率を、状態量s1〜s3と同様に正規化した値である。発生頻度f1〜f5が正の値であり、かつ、その値が大きいほど、その発生頻度f1〜f5に対応する故障原因が発生している可能性は高い。
流体循環装置100の5種類の故障原因は、具体的には、以下の通りである。発生頻度f1に対応する故障原因は、第1熱交換器102の熱交換効率の異常な低下である。発生頻度f2に対応する故障原因は、第2熱交換器104の熱交換効率の異常な低下である。発生頻度f3に対応する故障原因は、流体循環装置100の冷媒回路に存在する冷媒の量の異常な減少である。発生頻度f4に対応する故障原因は、圧縮機構101の容積効率の異常な低下である。発生頻度f5に対応する故障原因は、膨張機構103の開度の異常である。
以下において、流体循環装置100の故障原因の数は、状態量取得部10が取得する状態量の数よりも大きいと仮定する。故障原因の数が状態量の数と同じ場合、および、故障原因の数が状態量の数よりも少ない場合については、変形例Dとして後述する。なお、故障原因の数、および、状態量の数は、流体循環装置100の構成等に合わせて任意に設定される。
故障原因推定基礎行列C0は、状態量の数をnとし、かつ、故障原因の数をmとすると、n行m列の行列である。故障原因の数mは、状態量の数nより大きいので、故障原因推定基礎行列C0は、正方行列ではない。以下、故障原因推定基礎行列C0の第i行目かつ第j列目の要素をcijと記載する。例えば、故障原因推定基礎行列C0の第2行目かつ第3列目の要素は、c23と記載される。故障原因推定基礎行列C0は、流体循環装置100の各故障原因が所定の発生頻度で発生した場合における各状態量の変化を表す行列である。例えば、第1熱交換器102の熱交換効率の異常な低下という故障原因が発生頻度f1で発生した場合、状態量s1、s2、s3のそれぞれの変化量は、c11、c21、c31である。他の故障原因の発生頻度f2〜f5に関しても、同様である。この場合、故障原因推定基礎行列C0は、次の式(3)のように表される。
状態量ベクトルS、故障原因基礎ベクトルF0および故障原因推定基礎行列C0は、次の式(4)で表される関係式を満たす。
故障原因推定基礎行列C0は、制御部106の運転監視機能によって記録された、流体循環装置100の過去の運転状況に関するデータに基づいて決定され、記憶部115に記憶される。例えば、制御部106は、第1熱交換器102の熱交換効率の異常な低下(発生頻度f1に対応する故障原因)が発生した場合における状態量s1〜s3の変化量を自動的に計測し、状態量s1〜s3のそれぞれの変化量を、故障原因推定基礎行列C0の要素c11、c21、c31として記録しておく。また、制御部106は、状態量s1〜s3の変化量を計測する代わりに、シミュレーションを実行することによって、故障原因推定基礎行列C0の各要素を算出してもよい。
故障原因推定基礎行列C0は、流体循環装置100の運転状況に関するデータの蓄積、および、シミュレーションの再実行等によって、定期的に更新される。しかし、故障原因推定基礎行列C0は、流体循環装置100の運転中には更新されない。すなわち、後述するように、故障原因推定部20は、故障原因推定基礎行列C0を利用して、運転中の流体循環装置100の故障原因を推定するが、故障原因を推定する処理を実行している間は、故障原因推定基礎行列C0は更新されない。
次に、故障原因推定行列Cおよび故障原因ベクトルFについて説明する。式(4)において、故障原因推定基礎行列C0は、所定の行列であり、状態量ベクトルSは、センサ105a〜105cの測定データから取得される列ベクトルである。そのため、式(4)を利用することで、理論的には、状態量ベクトルSおよび故障原因推定基礎行列C0に基づいて、故障原因基礎ベクトルF0が求められる。しかし、故障原因推定基礎行列C0は正方行列ではないので、故障原因推定基礎行列C0の逆行列を求めることはできない。すなわち、式(4)に基づいて、故障原因推定基礎行列C0の逆行列を状態量ベクトルSに左側から掛ける演算によって、故障原因基礎ベクトルF0を求めることはできない。従って、故障原因基礎ベクトルF0は、流体循環装置100の故障原因を推定するために役立つデータであるにも関わらず、式(4)に基づいて効率的に算出することが難しい。
故障原因推定行列Cおよび故障原因ベクトルFは、上記の問題点を解決するために利用されるデータである。故障原因推定行列Cは、故障原因推定基礎行列C0から生成される行列であり、かつ、故障原因推定基礎行列C0の部分行列である。状態量の数をnとし、かつ、故障原因の数をmとすると、故障原因推定行列Cは、n行m列の故障原因推定基礎行列C0から特定のn列を抽出することで得られる部分行列である。故障原因推定行列Cは、n行n列の正方行列であるので、逆行列を有する可能性がある。以下において、故障原因推定行列Cは、逆行列を有する正方行列である正則行列であるとする。
故障原因推定行列Cは、流体循環装置100の一部の故障原因が所定の発生頻度で発生した場合における各状態量の変化を表す行列である。例えば、状態量の数が3であり、かつ、故障原因の数が5である場合、故障原因推定基礎行列C0は、式(3)のように表される3行5列の非正方行列である。ここで、5種類の故障原因の中から、状態量の数と同じ3種類の故障原因を選択すると仮定する。選択された3種類の故障原因が、発生頻度f1、f3、f5に対応する故障原因である場合、故障原因推定行列Cは、式(3)で表される故障原因推定基礎行列C0から、発生頻度f1、f3、f5に対応する第1列、第3列および第5列を抽出して生成された行列である。なぜなら、故障原因推定基礎行列C0の第1列、第3列および第5列は、発生頻度f1、f3、f5に対応する故障原因が発生した場合における状態量s1〜s3の変化量を要素として含むからである。この場合、故障原因推定行列Cは、次の式(5)のように表される。
故障原因推定基礎行列C0から生成可能な故障原因推定行列Cの数は、全ての故障原因から、状態量と同数の故障原因を選択する組み合わせの数と同じである。式(3)で表される故障原因推定基礎行列C0の場合、5種類の故障原因から、状態量の数と同じ3種類の故障原因を選択する10通りの組み合わせのそれぞれについて、故障原因推定行列Cが存在する。
故障原因ベクトルFは、全ての故障原因の少なくとも一部のそれぞれの発生頻度を要素として含む列ベクトルである。故障原因ベクトルFの要素数は、状態量ベクトルSの要素数と等しい。例えば、状態量ベクトルSが式(1)で表される場合、故障原因ベクトルFは、状態量ベクトルSと同じ3次元列ベクトルである。
故障原因ベクトルFは、故障原因推定基礎行列C0から生成された故障原因推定行列Cごとに異なる。具体的には、故障原因ベクトルFは、故障原因推定基礎行列C0から特定の故障原因推定行列Cを生成するために選択された故障原因の発生頻度を要素として含む。例えば、式(5)で表される故障原因推定行列Cの場合、選択された故障原因の発生頻度はf1、f3、f5であるので、対応する故障原因ベクトルFは、発生頻度f1、f3、f5を要素とする3次元列ベクトルである。この場合、故障原因ベクトルFは、次の式(6)のように表される。
状態量ベクトルS、故障原因ベクトルFおよび故障原因推定行列Cは、次の式(7)で表される関係式を満たす。
故障原因推定行列Cが式(5)で表される場合、式(7)は、次の式(8)ように展開できる。
式(3)で表される故障原因推定基礎行列C0から生成される故障原因推定行列Cの他の例として、5種類の故障原因から選択された3種類の故障原因が、発生頻度f2、f4、f5に対応する故障原因である場合、式(7)は、次の式(9)ように展開できる。
式(7)において、故障原因推定行列Cは、全ての故障原因から、状態量と同数の故障原因を選択する組み合わせによって決定される所定の行列であり、状態量ベクトルSは、センサ105a〜105cの測定データから取得される列ベクトルである。故障原因推定行列Cは、正則行列であり、逆行列C−1を求めることができる。状態量ベクトルSは、故障原因推定行列Cと次元が同じ列ベクトルである。そのため、次の式(10)を利用して、状態量ベクトルSおよび故障原因推定行列Cから、故障原因ベクトルFを求めることができる。
故障原因推定部20は、式(10)に基づいて、故障原因推定行列Cの逆行列C−1を左側から状態量ベクトルSと掛け合わせることで、故障原因ベクトルFを算出する。故障原因推定部20は、故障原因推定基礎行列C0から生成される全ての故障原因推定行列Cのそれぞれに対して、故障原因ベクトルFを算出する。故障原因推定基礎行列C0が式(3)で表される場合、故障原因推定基礎行列C0から10個の故障原因推定行列Cが生成可能であるので、故障原因推定部20は、10個の故障原因ベクトルFを算出する。
さらに、故障原因推定部20は、複数の故障原因ベクトルFを算出した場合に、その中から1つの故障原因ベクトルFを選択する。故障原因推定部20によって選択された1つの故障原因ベクトルFは、流体循環装置100の故障原因を推定するために用いられる。故障原因推定部20は、選択された故障原因ベクトルFに含まれる各要素(発生頻度)に対応する故障原因を、流体循環装置100の故障原因として推定する。
具体的には、故障原因推定部20は、算出された複数の故障原因ベクトルFの中から、各要素が全て正の値であり、かつ、各要素の合計値が最大である故障原因ベクトルFを1つ選択する。この場合、故障原因推定部20は、各要素の合計値が最大である故障原因ベクトルFが複数存在する場合には、その中から、最大の値の要素を含む故障原因ベクトルFを1つ選択してもよい。また、故障原因推定部20は、各要素が全て正の値である故障原因ベクトルFが存在しない場合には、正の値の要素の数が最も多い故障原因ベクトルFを1つ選択してもよい。この場合、故障原因推定部20は、正の値の要素の数が最も多い故障原因ベクトルFが複数存在する場合には、その中から、最大の値の要素を含む故障原因ベクトルFを1つ選択してもよい。
故障原因推定部20が故障原因ベクトルFを1つ選択するための上記の条件は、次の仮定に基づく。故障原因推定部20によって算出される故障原因ベクトルFは、故障原因の数が状態量の数より大きい場合、全ての故障原因の中から、状態量と同数だけ選択された故障原因の発生頻度のみを要素として含む。すなわち、全ての故障原因の中から選択されなかった故障原因の発生頻度は、故障原因ベクトルFの要素として含まれない。しかし、流体循環装置100が故障した時に、全ての故障原因が同時に発生することはほとんどないため、故障原因ベクトルFの要素数は、状態量の数と同じと仮定しても問題はない。また、流体循環装置100の長期間の稼動によって、流体循環装置100の構成部品は徐々に劣化するので、故障原因の発生頻度は、通常は増加する傾向を示し、減少することはほとんどない。そのため、基本的には、故障原因の発生頻度は、正の値であるので、故障原因ベクトルFの各要素は、全て正の値である。従って、故障原因推定部20は、各要素の合計値が最大である故障原因ベクトルFを1つ選択することで、実際に発生した故障原因の発生頻度に近い値を得ることができる。
(2−3)故障原因表示部
故障原因表示部30は、故障原因推定部20によって推定された流体循環装置100の故障原因を表示部113に表示するプログラムである。故障原因表示部30は、故障原因推定部20によって選択された1つの故障原因ベクトルFに基づいて、推定された複数の故障原因を所定の順番で表示する機能を有する。例えば、故障原因表示部30は、推定された複数の故障原因を、発生頻度が高い順に表示部113に表示する機能を有する。故障原因推定部20によって推定された複数の故障原因の発生頻度の大小関係は、故障原因推定部20によって選択された故障原因ベクトルFの各要素の値の大小関係と同じである。
(3)故障原因推定部の具体的な動作
次に、具体的なデータを用いて、故障原因推定部20の動作について説明する。ここで、流体循環装置100の制御部106は、流体循環装置100の状態を監視している時に、流体循環装置100に故障が発生したことを検知したと仮定する。この場合、制御部106は、状態量取得部10のプログラムを実行して、センサ105a〜105cの測定データに基づく状態量を取得し、故障原因推定部20のプログラムを実行して、流体循環装置100の故障原因を推定し、故障原因表示部30のプログラムを実行して、推定した故障原因を表示部113に表示する。
状態量取得部10が取得する状態量は、上述の3つの状態量s1〜s3のみである。故障原因推定部20が推定できる故障原因は、上述の発生頻度f1〜f5それぞれに対応する5種類の故障原因のみである。故障原因推定部20が故障原因の推定に用いる故障原因推定基礎行列C0は、以下の式(11)で表される行列として、記憶部115に記憶されている。故障原因推定部20が故障原因を推定する処理を行っている間、故障原因推定基礎行列C0は不変である。
状態量取得部10が取得する状態量s1〜s3から生成される状態量ベクトルSは、以下の式(12)で表される列ベクトルとして、記憶部115に記憶されている。
このとき、式(11)の故障原因推定基礎行列C0、式(12)の状態量ベクトルS、および、式(4)の関係式に基づいて、式(2)の故障原因基礎ベクトルF0を直接求めることで、流体循環装置100の故障原因を推定できることが理想である。しかし、上述の理由により、故障原因基礎ベクトルF0を直接求めることは容易ではない。そこで、故障原因推定部20は、上述したように、式(11)の故障原因推定基礎行列C0から、10個の故障原因推定行列Cを生成し、各故障原因推定行列Cに対して故障原因ベクトルFを算出し、算出された10個の故障原因ベクトルFから1つの故障原因ベクトルFを選択して、流体循環装置100の故障原因を推定する。次に、この処理について説明する。
最初に、故障原因推定部20は、式(11)の故障原因推定基礎行列C0から10個の故障原因推定行列Cを生成する。式(11)の故障原因推定基礎行列C0から生成可能な故障原因推定行列Cの数は、5種類の故障原因から、状態量の数と同じ3種類の故障原因を選択する組み合わせの数である10に等しい。生成された10個の故障原因推定行列Cは、以下の式(13−1)〜式(13−10)で表される。以下において、例えば、5種類の故障原因から選択された3種類の故障原因が、発生頻度f1、f2、f3に対応する故障原因である場合、対応する故障原因推定行列Cは、式(13−1)のようにCf1、f2、f3と記載する。
次に、故障原因推定部20は、式(13−1)〜式(13−10)で表される10個の故障原因推定行列Cのそれぞれに対して、故障原因ベクトルFを求める。具体的には、故障原因推定部20は、式(12)の状態量ベクトルS、および、式(13−1)〜式(13−10)のいずれかの故障原因推定行列Cの逆行列C−1を式(10)に代入して、故障原因ベクトルFを算出する。例えば、式(13−1)で表される故障原因推定行列Cf1、f2、f3の場合、故障原因推定部20は、式(10)に基づいて、以下の式(14)の計算を行って、対応する故障原因ベクトルFf1、f2、f3を算出する。
故障原因推定部20によって算出された故障原因ベクトルFf1、f2、f3は、故障原因の発生頻度f1、f2、f3のそれぞれを要素として含む列ベクトルである。故障原因ベクトルFf1、f2、f3の第1行目の値は、故障原因の発生頻度f1であり、故障原因ベクトルFf1、f2、f3の第2行目の値は、故障原因の発生頻度f2であり、故障原因ベクトルFf1、f2、f3の第3行目の値は、故障原因の発生頻度f3である。
式(13−1)〜式(13−10)で表される10個の故障原因推定行列Cのそれぞれに対して、故障原因推定部20が算出した故障原因ベクトルFは、以下の式(15−1)〜式(15−10)で表される。式(15−1)〜式(15−10)において、故障原因ベクトルFの添え字は、対応する故障原因推定行列Cの添え字と同じである。例えば、式(13−4)で表される故障原因推定行列Cf1、f3、f4に対応する故障原因ベクトルFは、式(15−4)で表される故障原因ベクトルFf1、f3、f4である。式(15−1)〜式(15−10)で表される故障原因ベクトルFの各要素の値は、有効数字6桁で記載されている。
次に、故障原因推定部20は、式(15−1)〜式(15−10)で表される10個の故障原因ベクトルFから、流体循環装置100の故障原因を推定するために用いられる1つの故障原因ベクトルFを選択する。具体的には、故障原因推定部20は、式(15−1)〜式(15−10)で表される10個の故障原因ベクトルFの中から、各要素が全て正の値であり、かつ、各要素の合計値が最大である故障原因ベクトルFを1つ選択する。式(15−1)〜式(15−10)で表される10個の故障原因ベクトルFのうち、各要素が全て正の値である故障原因ベクトルFは、式(15−1)で表されるFf1、f2、f3、および、式(15−7)で表されるFf2、f3、f4の2つである。故障原因ベクトルFf1、f2、f3の各要素の合計値は、約0.85であり、故障原因ベクトルFf2、f3、f4の各要素の合計値は、1.8である。従って、故障原因推定部20は、流体循環装置100の故障原因を推定するために用いられる故障原因ベクトルFとして、式(15−7)で表されるFf2、f3、f4を選択する。そのため、故障原因推定部20は、流体循環装置100の故障原因は、発生頻度f2、f3、f4のそれぞれに対応する3種類の故障原因であると推定する。また、選択された故障原因ベクトルFf2、f3、f4の要素である、3種類の故障原因の発生頻度f2、f3、f4の大小関係は、f2>f4>f3である。そのため、故障原因推定部20は、発生頻度f2に対応する故障原因である、第2熱交換器104の熱交換効率の異常な低下を主要な故障原因であると推定し、かつ、発生頻度f4に対応する故障原因である、圧縮機構101の容積効率の異常な低下を副次的な故障原因であると推定する。
ここで、式(11)の故障原因推定基礎行列C0、および、式(12)の状態量ベクトルSに関して、式(4)の関係式を満たす故障原因基礎ベクトルF0は、以下の式(16)で表される列ベクトルである。
すなわち、式(16)で表される故障原因基礎ベクトルF0から判断すると、全5種類の故障原因の発生頻度f1〜f5の大小関係は、f2>f4>f3>f1=f5である。故障原因基礎ベクトルF0において発生頻度が高い上位3種類の故障原因の発生頻度f2、f3、f4の大小関係は、f2>f4>f3であり、式(15−1)〜式(15−10)で表される10個の故障原因ベクトルFから故障原因推定部20が選択した故障原因ベクトルFf2、f3、f4の要素である発生頻度f2、f3、f4の大小関係と一致する。また、故障原因基礎ベクトルF0、および、故障原因推定部20が選択した故障原因ベクトルFf2、f3、f4の両方において、発生頻度が最も高い故障原因の発生頻度f2の値は、発生頻度が2番目に高い故障原因の発生頻度f4の値の約2倍である。従って、故障原因推定部20が選択した故障原因ベクトルFf2、f3、f4は、故障原因基礎ベクトルF0の良好な近似である。
(4)特徴
流体循環装置100では、故障原因推定部20は、式(10)に示されるように、状態量取得部10が取得した状態量s1〜s3を要素として含む状態量ベクトルSに、所定の故障原因推定行列Cの逆行列C−1を左側から掛け合わせる演算を行うことで、流体循環装置100の各故障原因の発生頻度f1〜f5の少なくとも一部を要素として含む故障原因ベクトルFを算出する。これにより、故障原因推定部20は、運転中の流体循環装置100に故障が発生した時に、状態量ベクトルSおよび故障原因推定行列Cを用いて算出した故障原因ベクトルFに基づいて、複数の故障原因の候補の中から、最も可能性が高い故障原因の組み合わせを推定することができる。従って、流体循環装置100は、故障原因推定行列Cの逆行列C−1を用いる演算によって、運転中に発生した故障の原因を自動的かつ効率的に推定することができる。
また、流体循環装置100では、故障原因推定部20は、故障原因の数が状態量の数より多い場合に、状態量の数と同じ数の故障原因の全ての組み合わせのそれぞれに対して故障原因推定行列Cを生成し、各故障原因推定行列Cに対して故障原因ベクトルFを算出する。そして、故障原因推定部20は、複数の故障原因推定行列Cのそれぞれに対して算出された複数の故障原因ベクトルFの中から、所定の条件に基づいて、1つの故障原因ベクトルFを選択する。所定の条件は、例えば、各故障原因の発生頻度に基づく条件である。故障原因推定部20が選択した1つの故障原因ベクトルFは、最も可能性が高い故障原因の組み合わせに対応する故障原因ベクトルFである。従って、流体循環装置100は、故障原因の数が状態量の数より多い場合でも、最も可能性が高い故障原因を自動的かつ効率的に推定することができる。
また、流体循環装置100では、故障原因表示部30は、故障原因推定部20によって推定された故障原因が複数ある場合に、例えば、故障原因の発生の可能性が高い順に、故障原因をディスプレイ等に表示させる機能を有する。従って、流体循環装置100は、最も可能性が高い故障原因をユーザに自動的に通知することができる。
(5)変形例
(5−1)変形例A
実施形態では、状態量取得部10は、圧縮機構101で圧縮された直後の冷媒の温度Ta、第1熱交換器102で熱交換される冷媒の温度Tb、および、膨張機構103を通過して膨張した直後の冷媒の温度Tcをそれぞれ正規化した値を、状態量s1〜s3として取得する。しかし、状態量取得部10は、他のパラメータを状態量としてさらに取得してもよい。
例えば、状態量取得部10は、流体循環装置100の消費電力Pを正規化した値を、状態量としてさらに取得してもよい。この場合、流体循環装置100は、圧縮機構101のモータ等に取り付けられる電流計を備えてもよい。この電流計は、流体循環装置100の消費電力Pを算出するために用いられる。
(5−2)変形例B
実施形態では、故障原因推定部20は、流体循環装置100の故障原因の発生頻度f1〜f5に対応する5種類の故障原因の中から、最も可能性が高い故障原因の組み合わせを推定する。しかし、流体循環装置100の故障原因の種類は、これらの5種類の故障原因に限られない。例えば、他の故障原因として、送風ファン108のフィルターの汚れによる詰まり、圧縮機構101の機械効率の異常な低下、および、圧縮機構101の異常な発熱等が挙げられる。また、発生頻度f5に対応する、膨張機構103の開度の異常に関する故障原因は、膨張機構103の電子膨張弁の開方向のズレ、および、電子膨張弁の閉方向のズレを、それぞれ別の故障原因として取り扱ってもよい。
(5−3)変形例C
実施形態では、故障原因推定部20は、故障原因の数が状態量の数より多い場合に、状態量の数と同じ数の故障原因の全ての組み合わせのそれぞれに対して故障原因推定行列Cを生成し、各故障原因推定行列Cに対して故障原因ベクトルFを算出する。しかし、故障原因推定部20は、故障原因の数が状態量の数と同じである場合、または、故障原因の数が状態量の数より少ない場合にも、故障原因ベクトルFを算出することができる。
故障原因推定基礎行列C0は、状態量の数をnとし、かつ、故障原因の数をmとすると、n行m列の行列である。そのため、故障原因の数が状態量の数と同じである場合、故障原因推定基礎行列C0は、正方行列となる。この場合、故障原因推定基礎行列C0は、逆行列C0 −1を求めることができる。従って、故障原因推定部20は、式(4)に基づいて、故障原因推定基礎行列C0の逆行列C0 −1を状態量ベクトルSに左側から掛ける演算によって、故障原因基礎ベクトルF0を直接求めることができる。故障原因基礎ベクトルF0は、故障原因ベクトルFと同様に、流体循環装置100の故障原因を推定するために用いることができる。
また、故障原因推定部20は、故障原因の数が状態量の数より少ない場合において、故障原因推定基礎行列C0を正方行列とすることができる。具体的には、状態量の数nと故障原因の数mとの差n−mをdとすると、故障原因推定基礎行列C0は、n行d列の零成分を含むn行n列の正方行列である。また、故障原因推定基礎行列C0に対応する故障原因基礎ベクトルF0は、零成分をd個含む、n次の列ベクトルである。例えば、状態量の数が5であり、故障原因の数が3である場合、状態量ベクトルS、故障原因推定基礎行列C0および故障原因基礎ベクトルF0は、それぞれ、次の式(17)、式(18)および式(19)で表される。
式(18)で表される故障原因推定基礎行列C0は、5行2列の零成分を最も右側に含む5行5列の正方行列である。式(19)で表される故障原因基礎ベクトルF0は、2個の零成分を最も下側に含む5次の列ベクトルである。故障原因推定基礎行列C0は、正方行列であるので、故障原因推定部20は、式(4)に基づいて、故障原因推定基礎行列C0の逆行列C0 −1を状態量ベクトルSに左側から掛ける演算によって、故障原因基礎ベクトルF0を算出することができる。
(5−4)変形例D
実施形態では、流体循環装置100は、工作機械300が使用した工作液を冷却するための冷凍装置である。流体循環装置100の第2熱交換器104では、冷媒回路の配管を流れる冷媒と、専用の配管を流れる工作液との間で熱交換が行われて、工作液が冷却される。しかし、流体循環装置100は、他の機構によって、冷媒と工作液との間の熱交換を行い、工作液を冷却してもよい。
例えば、流体循環装置100は、工作液に浸漬された熱交換器によって工作液を冷却してもよい。この場合、例えば、実施形態の第2熱交換器104に相当する熱交換器が、タンク等に貯留されている工作液に浸漬されている。工作液に浸漬されている熱交換器は、例えば、螺旋状に巻かれた冷媒配管である。
また、流体循環装置100は、工作機械300が使用した冷却液を冷却するための冷凍装置であってもよい。冷却液は、工作機械300の主軸およびモータ等の冷却に用いられる液体である。冷却液は、例えば、水である。この場合、流体循環装置100は、冷媒回路の配管を流れる冷媒と、専用の配管を流れる冷却液との間の熱交換を行うことにより、冷却液を冷却する。
また、流体循環装置100は、空調機等に用いられる冷凍装置であってもよい。
(5−5)変形例E
実施形態では、流体循環装置100は、工作機械300が使用した工作液を冷却するための冷凍装置である。しかし、本発明の流体循環装置は、流体を循環する機能を有する装置であれば、他の用途に用いられる装置であってもよい。例えば、本発明の流体循環装置は、油圧ユニットであってもよい。以下、本発明の流体循環装置の他の適用例である油圧ユニット600について説明する。図3は、本変形例に係る油圧ユニット600の回路図である。油圧ユニット600は、作動油の一部を循環させる機能を有する。図3において、作動油の流れは、点線の矢印で示されている。
油圧ユニット600は、研磨盤およびマシニングセンタ等の工作機械700に接続されている。工作機械700は、ワークおよび工具を固定するための複数の油圧アクチュエータを備える。油圧ユニット600は、工作機械700の油圧アクチュエータを駆動する。
油圧ユニット600は、主として、油タンク601と、油圧ポンプ602と、ポンプモータ603と、絞り通路604と、ラジエータ605と、ラジエータファン606と、制御部607とを備える。
油圧ポンプ602は、油タンク601に貯留されている作動油を吸入して吐出する流体ポンプである。油圧ポンプ602は、例えば、ピストンポンプ等の固定容量型ポンプである。
油圧ポンプ602の吸入側には、オイルフィルタ602aが取り付けられている。油圧ポンプ602の吐出側に接続される吐出配管602bには、油圧ポンプ602の吐出圧力が所定圧力を超えないようにするための安全弁602cが取り付けられている。吐出配管602bには、油圧ポンプ602の吐出圧力を検出するための圧力センサ602dが取り付けられている。吐出配管602bは、方向切換弁(図示せず)を介して工作機械700の油圧アクチュエータに接続されている。
ポンプモータ603は、油圧ポンプ602に接続されている。ポンプモータ603は、油圧ポンプ602を駆動するための可変速モータである。ポンプモータ603には、ポンプモータ603の温度を検出するためのモータ温度サーミスタ603aが取り付けられている。ポンプモータ603には、ポンプモータ603の回転速度に応じたパルス信号を出力するパルスジェネレータ603bが取り付けられている。
絞り通路604は、油タンク601と吐出配管602bとを接続するバイパス通路である。絞り通路604には、流量調整弁である可変絞り弁604aが取り付けられている。絞り通路604は、常時、油圧ポンプ602から吐出された作動油の一部が油タンク601に戻るように構成されている。油タンク601に戻る作動油の量は、可変絞り弁604aの開度によって調節される。
ラジエータ605は、絞り通路604において、可変絞り弁604aの下流側に設けられている。ラジエータファン606は、ラジエータ605の近傍に設置されている。ラジエータファン606は、ラジエータ605を通過する作動油を冷却する。これにより、油タンク601に貯留されている作動油の温度が低下する。すなわち、ラジエータファン606は、油タンク601に貯留される作動油を冷却して、工作機械700の油圧アクチュエータに供給される作動油の温度上昇を抑制する機能を有する。
制御部607は、モータ温度サーミスタ603a、パルスジェネレータ603b、圧力センサ602d、および、制御部温度サーミスタ607aに接続されている。制御部温度サーミスタ607aは、制御部607に取り付けられ、制御部607の温度を検出する。また、制御部607は、油圧ユニット600の主回路の電圧、および、ポンプモータ603の電流等を測定する機能を有する。
油圧ユニット600は、作動油の一部が循環する回路を有している。具体的には、油タンク601に貯留されている作動油は、油圧ポンプ602に吸入された後、一部が絞り通路604に流入する。絞り通路604に流入した作動油は、可変絞り弁604aを通過した後に、ラジエータ605で冷却されて、油タンク601に戻される。すなわち、油圧ユニット600は、実施形態の流体循環装置100と同様に、流体である作動油を循環する機能を有する。
油圧ユニット600の制御部607は、実施形態の流体循環装置100の制御部106と同じ故障原因推定機能を有する。すなわち、制御部607は、実施形態の状態量取得部10、故障原因推定部20および故障原因表示部30に相当するプログラムを記憶している。これにより、制御部607は、油圧ユニット600の故障が発生した時に、状態量ベクトルSおよび故障原因推定行列Cを用いて算出した故障原因ベクトルFに基づいて、複数の故障原因の候補の中から、最も可能性が高い故障原因の組み合わせを推定することができる。従って、油圧ユニット600は、故障原因推定行列Cの逆行列C−1を用いる演算によって、運転中に発生した故障の原因を自動的かつ効率的に推定することができる。
油圧ユニット600の制御部607の故障原因推定機能と、実施形態の流体循環装置100の制御部106の故障原因推定機能との間の相違点は、実質的に、状態量および故障原因の種類のみである。
油圧ユニット600では、実施形態の状態量取得部10に相当するプログラムは、油圧ユニット600の主回路の電圧、ポンプモータ603の電流、ポンプモータ603の温度、ポンプモータ603の回転速度、制御部607の温度、油圧ポンプ602から吐出される作動油の圧力等を、状態量として取得する。油圧ユニット600の制御部607は、モータ温度サーミスタ603a、パルスジェネレータ603b、圧力センサ602d、および、制御部温度サーミスタ607aから、これらの状態量を取得する。
油圧ユニット600では、実施形態の故障原因推定部20に相当するプログラムは、作動油の劣化、油圧ポンプ602の異物の噛み込み、油圧ポンプ602の劣化(摺動部の磨耗、および、リーク量の増加等)、ポンプモータ603の回路の短絡および断線、ポンプモータ603用エンコーダの故障、制御部607の故障、油圧ユニット600の主回路の電圧異常、油圧ユニット600の主回路のコンデンサの劣化、油圧ユニット600の周囲の温度異常等を、故障原因として推定する。なお、故障原因として、制御部607の故障、および、油圧ユニット600の主回路の電圧異常は、同時には発生しない。