以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
[第1の実施形態]
図1は、第1の実施形態に係る故障診断システム100の構成の一例を示す図である。
図1に示すように、本実施形態に係る故障診断システム100は、燃料電池コージェネレーションシステム(以下、単に「CGS」という。)40と、故障診断装置10と、メンテナンス用端末70と、を備えている。故障診断システム100は、CGS40の故障を診断するためのシステムとして構成される。
CGS40は、例えば、エネファーム(登録商標)であり、ユーザ宅30に設置されている。故障診断装置10は、CGS40の故障を診断するための装置であり、CGS40とネットワークNを介して接続されている。故障診断装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用される。ネットワークNには、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のネットワークが適用される。
メンテナンス用端末70は、CGS40のメンテナンス作業を行う作業担当者60が所有する端末である。メンテナンス用端末70は、ネットワークNを介して故障診断装置10と接続されている。メンテナンス用端末70には、例えば、携帯可能なタブレット端末、スマートフォン、ノート型PC等が適用される。
本実施形態に係る故障診断装置10は、CGS40のリトライ動作により複数回の動作の異常(以下、「エラー」という。)が検知された場合に、複数回のエラー検知時の各々の動作履歴データを別々に故障診断モデルに入力して故障診断を行う。
具体的には、図1において、CGS40は、リトライ動作によってエラーを確定した後に、エラーを発報する。このとき、自動的に故障診断装置10に対して、自システムの動作履歴データを送信する。動作履歴データとは、例えば、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの動作履歴に関するデータである。動作履歴データは、例えば、各種センサの検出値、補機類(例えば、弁、ポンプ等)の動作状態を表すデータ、エラーの種別を表すエラーコード等が含まれる。
故障診断装置10は、記憶部に故障診断モデルを予め格納している。故障診断モデルは、CGS40の機能部毎に故障を診断するための数理モデルである。機能部は、少なくとも1つの部品(例えば、ポンプ、弁、配管、タンク等)を含んでいる。CGS40の故障診断モデルは、過去に得られた動作履歴データ群を、機能部に対応付けて多変量解析あるいは機械学習することにより生成されるモデルである。多変量解析には、一例として、ロジスティック回帰等が挙げられる。機械学習には、一例として、ランダムフォレスト、ニューラルネットワーク、サポートベクターマシン等が挙げられる。故障診断モデルは、機能部毎に故障の有無を判定する2クラス分類でもよいし、多クラス分類でもよい。故障診断装置10は、CGS40から取得した動作履歴データをそのまま、あるいは、故障診断モデルに入力可能なデータに加工し、加工したデータを故障診断モデルに入力する。故障診断モデルは、機能部毎に「故障有り(故障)」又は「故障なし(健全)」を出力する。具体的に、データが示す指標値が閾値以上の場合に「故障有り」を出力し、データが示す指標値が閾値未満の場合に「故障なし」を出力する。故障診断装置10は、機能部毎の故障診断の診断結果を保持する。
作業担当者(メンテナンス員)60は、メンテナンス用端末70から故障診断装置10にアクセスし、診断結果が示す故障個所を確認する。そして、作業担当者60は、故障診断装置10から得られる診断結果に基づいて、現場にて部品交換作業等を実施する。
図2は、第1の実施形態に係るCGS40の構成の一例を示すブロック図である。
図2に示すように、本実施形態に係るCGS40は、大きく分けて、制御装置41と、CGS本体部49と、を備えている。制御装置41は、CGS本体部49と一体的に構成されてもよいし、CGS本体部49とは別体で構成されてもよい。
制御装置41は、CGS40のコントローラとして機能する。制御装置41は、CPU(Central Processing Unit)42と、ROM(Read Only Memory)43と、RAM(Random Access Memory)44と、入出力インターフェース(I/O)45と、記憶部46と、通信部47と、機器インターフェース(以下、「機器I/F」という。)48と、を備えている。
CPU42、ROM43、RAM44、及びI/O45は、バスを介して各々接続されている。I/O45には、記憶部46と、通信部47と、機器I/F48と、を含む各機能部が接続されている。これらの各機能部は、I/O45を介して、CPU42と相互に通信可能とされる。
記憶部46としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部46には、CGS本体部49の動作を制御するための制御プログラム46Aが記憶される。なお、この制御プログラム46Aは、ROM43に記憶されていてもよい。
制御プログラム46Aは、例えば、制御装置41に予めインストールされていてもよい。制御プログラム46Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、制御装置41に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
通信部47は、インターネット、LAN、WAN等のネットワークNに接続されており、外部の故障診断装置10との間でネットワークNを介して通信が可能とされる。
機器I/F48には、CGS本体部49が接続されている。すなわち、CGS本体部49に含まれる各種電装部品は、機器I/F48を介して、CPU42と通信可能に接続される。
CGS本体部49は、公知の構成である。具体的に、CGS本体部49は、燃料電池ユニット50を備える。燃料電池ユニット50には、燃料電池モジュール51、燃料電池モジュール51に接続されたガス経路52、改質水経路53、及び空気経路54が設けられている。CGS本体部49は、上述したように、複数の機能部を備える。この機能部は、少なくとも1つの部品を含んでいる。この機能部は、例えば、ガス経路52を構成する複数の部品、改質水経路53を構成する複数の部品、又は、空気経路54を構成する複数の部品としてもよい。この機能部は、CGS本体部49を構成する個々の部品としてもよい。この部品には、例えば、ポンプ、弁、配管、タンク等が含まれる。
燃料電池モジュール51は、燃料電池スタック51A及び改質器51Bを備える。改質器51Bは、炭化水素原料を含むガス(例えば、都市ガス)を改質する。燃料電池スタック51Aは、電解質層、燃料極、及び空気極を有する複数の燃料電池セルが積層されている。燃料電池スタック51Aは、改質器51Bにより都市ガスから改質された改質ガス中の水素と、空気中の酸素とを反応させて電気及び水を発生させるように構成されている。燃料電池ユニット50は、改質ガス及び空気の供給量を調整するための弁及びポンプ等の補機類と、燃料電池スタック51Aによる発電で発生した熱を伝熱媒体(例えば、水等)との間で熱交換するための熱交換器と、を備えている。
CGS本体部49は、貯湯タンクを備える。CGS本体部49では、貯湯タンクに給水されると、貯湯タンクから燃料電池ユニット50の熱交換器に水が供給され、この熱交換器で水が燃料電池スタック51Aの熱で加熱される。熱交換器で水が加熱されると、水が湯となる。この湯は、貯湯タンクに供給され、この貯湯タンクに貯められる。貯湯タンクは、燃料電池ユニット50との間で水及び湯を行き来させるための弁及びポンプや、貯湯タンクに貯めた湯を排湯させるための弁及びポンプ等の補機類を備える。
また、ガス経路52は、都市ガスが流れる経路である。ガス経路52には、都市ガスの供給量を調整するための弁及びポンプ等の補機類が含まれる。改質水経路53は、改質水が流れる経路である。改質水経路53には、改質水の供給量を調整するための弁及びポンプ等の補機類が含まれる。空気経路54は、空気が流れる経路である。空気経路54には、空気の供給量を調整するための弁及びポンプ等の補機類が含まれる。
制御装置41は、CGS本体部49に備えられた補機類を制御するコントローラである。制御装置41は、CGS本体部49に対して、補機類を制御するための制御信号をそれぞれ出力する。また、CGS本体部49は、制御装置41に対して、CGS本体部49の運転状況を表す運転データを出力する。この運転データは、特徴量として、補機類の動作状態を表すデータ(例えば、電圧値、電流値等)、CGS本体部49に設けられた各種センサの検出値等が含まれる。具体的に、補機類の動作状態を表すデータとは、例えば、ポンプの場合にはポンプの操作量を表すデータであり、弁の場合には弁の開閉状態を表すデータである。また、各種センサの検出値とは、例えば、配管の場合には都市ガス、改質水、及び空気のそれぞれの流量を表す値であり、タンクの場合には水位を表す値である。
制御装置41は、CGS本体部49から取得した時系列の運転データを記憶部46に記憶する。制御装置41は、CGS本体部49から取得した運転データに基づいて、CGS本体部49のエラーを検知する機能を有する。なお、エラーの検知は、例えば、運転データから得られる特徴量と対応する閾値との比較により行われる。また、制御装置41は、リトライ動作機能を有する。このリトライ動作機能とは、エラーを検知した場合にCGS40の再起動を行い、再度エラーの有無を検知する機能である。なお、CGS40を再起動することなく、CGS40を一定期間アイドリング状態(発電しない状態)に移行させてから、再度エラーの有無を検知するようにしてもよい。制御装置41は、リトライ動作機能によって複数回のエラーが検知された場合にエラーを確定する。リトライ動作の回数は、例えば、エラーの種別を表すエラーコードに応じて予め定められている。
ここで、図3を参照して、本実施形態に係る制御装置41によるエラー発報処理について具体的に説明する。なお、このエラー発報処理は、制御装置41が備える制御プログラム46Aによって実行される。
図3は、第1の実施形態に係る制御プログラム46Aによる処理の流れの一例を示すフローチャートである。なお、図3の例では、エラー確定までの異常値検知回数を2回(リトライ動作は1回)としているが、異常値検知回数は3回以上(リトライ動作2回以上)としてもよい。
まず、CPU42により記憶部46に記憶されている制御プログラム46Aが起動され、以下に示す各ステップが実行される。
図3のステップS101では、CPU42が、CGS本体部49から時系列で取得した運転データを記憶部46に記憶すると共に、取得した運転データに基づいて、エラーの発生を示す異常値を検知したか否かを判定する。異常値を検知したと判定した場合(肯定判定の場合)、ステップS102に移行し、異常値を検知しないと判定した場合(否定判定の場合)、ステップS101で待機となる。
ステップS102では、CPU42が、記憶部46に記憶した時系列の運転データの中から、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの運転データを動作履歴データとして抽出し、抽出した動作履歴データを記憶部46に保持する。この動作履歴データには、上述したように、例えば、各種センサの検出値、補機類の動作状態を表すデータ、エラーコード等が含まれる。記憶部46に保持した動作履歴データを「データ1」と称する。
ステップS103では、CPU42が、CGS40を再起動してリトライ動作を行う。
ステップS104では、CPU42が、CGS本体部49から時系列で取得した運転データを記憶部46に記憶すると共に、取得した運転データに基づいて、CGS40の再起動後所定時間内(例えば、24時間以内)で異常値を再検知したか否かを判定する。異常値を再検知したと判定した場合(肯定判定の場合)、ステップS105に移行し、異常値を再検知しないと判定した場合(否定判定の場合)、ステップS101に戻り処理を繰り返す。
ステップS105では、CPU42が、記憶部46に記憶した時系列の運転データの中から、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの運転データを動作履歴データとして抽出し、抽出した動作履歴データを記憶部46に保持する。記憶部46に保持した動作履歴データを「データ2」と称する。
ステップS106では、CPU42が、リトライ動作によって複数回のエラーを検知したため、エラーを確定する。
ステップS107では、CPU42が、通信部47を介して、ステップS102で保持したデータ1及びステップS105で保持したデータ2を故障診断装置10に送信し、本制御プログラム46Aによる一連の処理を終了する。なお、データ1及びデータ2を含む1つのデータファイルを故障診断装置10に送信するようにしてもよい。この場合、故障診断装置10がデータファイルからデータ1及びデータ2を個別に抽出する構成としてもよい。
図4は、第1の実施形態に係る故障診断装置10の電気的な構成の一例を示すブロック図である。
図4に示すように、本実施形態に係る故障診断装置10は、CPU11と、ROM12と、RAM13と、I/O14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
記憶部15としては、例えば、HDD、SSD、フラッシュメモリ等が用いられる。記憶部15には、CGS40の故障を診断するための故障診断プログラム15Aが記憶される。なお、この故障診断プログラム15Aは、ROM12に記憶されていてもよい。
故障診断プログラム15Aは、例えば、故障診断装置10に予めインストールされていてもよい。故障診断プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、故障診断装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM、光磁気ディスク、HDD、DVD-ROM、フラッシュメモリ、メモリカード等が想定される。
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部16は、タッチパネルを一体的に有していてもよい。操作部17には、例えば、キーボード、マウス等の操作入力用のデバイスが設けられている。表示部16及び操作部17は、故障診断装置10のユーザから各種の指示を受け付ける。表示部16は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
通信部18は、インターネット、LAN、WAN等のネットワークNに接続されており、CGS40、メンテナンス用端末70との間でネットワークNを介して通信が可能とされる。
本実施形態に係る故障診断装置10のCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、図5に示す各部として機能する。
図5は、第1の実施形態に係る故障診断装置10の機能的な構成の一例を示すブロック図である。
図5に示すように、本実施形態に係る故障診断装置10のCPU11は、取得部11A、推定部11B、学習部11C、及び出力部11Dとして機能する。
また、記憶部15には、上述したように、機能部毎の故障診断モデル15Bが予め格納されている。つまり、1つの機能部(又は部品)に対して1つの故障診断モデル15Bが対応している。故障診断モデル15Bは、上述したように、多変量解析あるいは機械学習により得られる、CGS40の機能部毎に故障を診断するための数理モデルである。また、記憶部15には、第1データテーブル15C及び第2データテーブル15Dが記憶されている。
取得部11Aは、上述のCGS40から送信された複数の動作履歴データを取得する。例えば、複数の動作履歴データとしてデータ1及びデータ2を取得する。
推定部11Bは、取得部11Aにより取得された複数の動作履歴データを、故障診断モデル15Bに入力可能な複数のデータに加工し、加工して得られた複数のデータを、記憶部15に格納されている機能部毎の故障診断モデル15Bに対して別々に入力する。なお、動作履歴データを加工することなくそのまま故障診断モデル15Bに対して入力してもよい。そして、推定部11Bは、故障診断モデル15Bから別々に出力される複数の判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。具体的には、例えば、第1データテーブル15C又は第2データテーブル15Dを用いて故障の有無を推定する。
学習部11Cは、過去に得られた動作履歴データ群を学習用データとして機械学習を行うことにより故障診断モデル15Bを生成する。学習部11Cにより生成された故障診断モデル15Bが記憶部15に格納される。なお、故障診断モデル15Bの格納場所は、記憶部15に限定されない。例えば、外部の記憶装置に格納されていてもよい。また、本実施形態では、自装置で機械学習する構成としているが、外部装置で機械学習を行う構成としてもよい。また、機械学習に代えて、多変量解析を用いて故障診断モデル15Bを生成してもよい。
出力部11Dは、推定部11Bにより推定された機能部毎の最終的な診断結果を、例えば、記憶部15に出力して保持する。また、出力部11Dは、メンテナンス用端末70からのアクセスに応じて、記憶部15に保持した最終的な診断結果をメンテナンス用端末70に送信する。なお、この最終的な診断結果には、機能部毎(あるいは部品毎)に、診断結果(故障、健全、故障疑い)及び取るべき対応等が含まれている。
図6は、本実施形態に係る第1データテーブル15Cの一例を示す図である。
図6に示す第1データテーブル15Cは、CGS40のエラー確定までの異常値検知回数が2回(リトライ回数が1回)の場合における、判定パターンと最終的な診断結果との対応関係を示すデータテーブルである。なお、図6の例では、CGS40から動作履歴データとしてデータ1及びデータ2を取得し、データ1及びデータ2の各々を加工して得られたデータを機能部毎の故障診断モデル15Bに入力する場合について示している。
判定パターン1は、データ1の判定結果が「故障」、データ2の判定結果が「故障」である場合のパターンを示す。この判定パターン1では、最終的な診断結果(出力)が「故障」であり、作業担当者60が取るべき対応が「部品交換」であることを表している。また、判定パターン2は、データ1の判定結果が「故障」、データ2の判定結果が「健全」である場合のパターンを示す。この判定パターン2では、最終的な診断結果(出力)が「故障疑い」であり、作業担当者60が取るべき対応が「部品動作確認」であることを表している。また、判定パターン3は、データ1の判定結果が「健全」、データ2の判定結果が「故障」である場合のパターンを示す。この判定パターン3では、最終的な診断結果(出力)が「故障疑い」であり、作業担当者60が取るべき対応が「部品動作確認」であることを表している。また、判定パターン4は、データ1の判定結果が「健全」、データ2の判定結果が「健全」である場合のパターンを示す。この判定パターン4では、最終的な診断結果(出力)が「健全」であり、作業担当者60が取るべき対応が「なし」であることを表している。
つまり、推定部11Bは、故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果がいずれも故障、つまり、判定パターン1である場合に、一例として、図6の第1データテーブル15Cを参照し、故障診断モデルに対応付けられた機能部を故障と推定する。また、推定部11Bは、故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果がいずれも健全、つまり、判定パターン4である場合に、一例として、図6の第1データテーブル15Cを参照し、故障診断モデル15Bに対応付けられた機能部を健全と推定する。また、推定部11Bは、故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果の一方が故障、他方が健全、つまり、判定パターン2又は判定パターン3である場合に、一例として、図6の第1データテーブル15Cを参照し、故障診断モデル15Bに対応付けられた機能部を故障疑いと推定する。
図7は、本実施形態に係る第2データテーブル15Dの一例を示す図である。
図7に示す第2データテーブル15Dは、CGS40のエラー確定までの異常値検知回数がN回(N≧3、リトライ回数は2回以上)の場合における、判定パターンと最終的な診断結果との対応関係を示すデータテーブルである。なお、図7の例では、CGS40から動作履歴データとしてデータ1、・・・、データNを取得し、データ1、・・・、データNの各々を加工して得られたデータを機能部毎の故障診断モデル15Bに入力する場合について示している。
この場合、判定パターン数は2(故障又は健全)のN乗分存在し、全てが故障又は健全となる2通り以外は故障と健全とが混在する。このため、最終的な診断結果(出力)となる故障、故障疑い、及び健全の決め方として、例えば、次の3種類の方法が考えられる。
(1)故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果である故障及び健全の判定回数に基づいて、故障診断モデル15Bに対応付けられた機能部を故障又は健全又は故障疑いとして推定する。つまり、故障及び健全の判定回数の多い方(又は判定回数の差分が閾値より大きい方)を最終的な診断結果(出力)とし、故障及び健全の判定回数が同数(又は判定回数の差分が閾値以下)の場合に故障疑いとする。
(2)故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果と、故障診断モデル15Bの故障判定時の適合率とから導出される故障スコアに基づいて、故障診断モデル15Bに対応付けられた機能部を故障又は健全又は故障疑いとして推定する。つまり、故障診断モデル15Bの故障判定時の適合率より故障スコアを求め、最終的な診断結果(出力)を決定する。例えば、故障判定時の適合率が70%の場合、故障スコアは下記のように求まる。なお、故障スコアは、故障確率(%表記)として表してもよい。
N回中0回故障と判定 → 故障スコア=0
N回中1回故障と判定 → 故障スコア=1-(1-0.7)=0.7
N回中2回故障と判定 → 故障スコア=1-(1-0.7)2=0.91
最終的な診断結果(出力)を故障と判定するための閾値(閾値1)と、健全と判定するための閾値(閾値2)をそれぞれ決めておき、故障スコアが閾値1以上であれば故障、閾値2以下であれば健全、閾値2より大きく閾値1未満(中間値)であれば故障疑いとする。なお、上記の例では故障判定時の適合率を用いているが、健全判定時の適合率又は故障検出の再現率を用いて判定しても良い。この場合、上記判定結果と、健全判定時の適合率又は故障検出の再現率とから導出される健全スコアが用いられる。
(3)故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果と、故障診断モデル15Bの故障判定時の適合率とから導出される故障スコア、及び、故障診断モデル15Bに別々に入力した複数のデータの各々に対する判定結果と、故障診断モデル15Bの健全判定時の適合率又は故障検出の再現率とから導出される健全スコアに基づいて、故障診断モデル15Bに対応付けられた機能部を故障又は健全又は故障疑いとして推定する。つまり、故障判定時の適合率、健全判定時の適合率(又は故障検出の再現率)の両方を用いてスコアを算出し、最終的な診断結果(出力)を決定する。例えば、N=3、故障判定時の適合率が90%、健全判定時の適合率が70%の場合、故障スコア及び健全スコアは下記のように求まる。
3回中0回が故障、3回が健全と判定 → 故障スコア=0、健全スコア=1-(1-0.7)3=0.973
3回中1回が故障、2回が健全と判定 → 故障スコア=1-(1-0.9)=0.9、健全スコア=1-(1-0.7)2=0.91
3回中2回が故障、1回が健全と判定 → 故障スコア=1-(1-0.9)2=0.99、健全スコア=1-(1-0.7)=0.7
3回中3回が故障、0回が健全と判定 → 故障スコア=1-(1-0.9)3=0.999、健全スコア=0
ここで、総合スコア=故障スコア-健全スコア、とする。この場合、最終的な診断結果(出力)は、総合スコアが正値のときは故障、負値のときは健全、0のときは故障疑いと判定する。あるいは、故障疑いの判定用に閾値を設け、総合スコアが±閾値以内(例えば±0.1)のときは、最終的な診断結果(出力)を故障疑いとしてもよい。
次に、図8を参照して、上述の適合率について具体的に説明する。
図8は、本実施形態に係る適合率の説明に供する図である。
図8に示す表は、部品Aの故障診断モデルについて、予測と実態との対応関係を示している。枠内はデータ数を示す。つまり、予測が健全、実態が健全である場合のデータ数は28(=A)である。予測が故障、実態が健全である場合のデータ数は1(=B)である。予測が健全、実態が故障である場合のデータ数は12(=C)である。予測が故障、実態が故障である場合のデータ数は9(=D)である。
この場合、故障判定時の適合率=D/(B+D)=9/10=90%、と求まる。つまり、この場合、適合率とは、故障と予測された全データ数に対する実態が故障であったデータ数の割合とされる。また、健全判定時の適合率=A/(A+C)=28/40=70%、と求まる。つまり、この場合、適合率とは、健全と予測された全データ数に対する実態が健全であったデータ数の割合とされる。
なお、図8の例では、健全と判定されるデータの方が多いため、データ数が増える程健全判定時の適合率が高くなりやすい。従って、上述の(3)の判定方法は、最終的な診断結果(出力)の確度を下げる可能性がある。通常の場合、エラー確定までの異常値検知回数が少ないことが多いため、基本的には上述の(2)の判定方法が最も有効と考えられる。
また、上述の適合率に代えて、再現率を用いるようにしてもよい。再現率は、故障を見つける割合を表し、図8の例では、再現率=D/(C+D)、と表される。つまり、再現率とは、実態が故障であった全データ数に対する故障と予測されたデータ数の割合とされる。この再現率が高いほど、健全とされる。この再現率を用いて、データ数がN個の判定結果から故障を見逃すリスクが十分に小さいときに、最終的な診断結果(出力)を健全と決定してもよい。このとき、故障は適合率から計算、健全は再現率から計算されることになる。なお、適合率及び再現率の両方共に高い場合は故障疑いとする、等の工夫を行うようにしてもよい。
また、故障診断モデル15Bが各データに対して故障又は健全を出力する前の確率値(又は予測値)から、N個のデータの最終的な診断結果(出力)を決定するようにしてもよい。例えば、確率値(又は予測値)の平均等が用いられる。
次に、図9を参照して、第1の実施形態に係る故障診断装置10の作用について説明する。
図9は、第1の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。なお、図9の例では、CGS40のリトライ動作で取得するデータ数を2個としているが、データ数は3個以上としてもよい。
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
図9のステップS111では、CPU11が、CGS40の制御装置41から送信された複数の動作履歴データ(ここではデータ1及びデータ2)を取得する。
ステップS112では、CPU11が、ステップS111で取得したデータ1を、機能部毎の故障診断モデル15Bに入力可能なデータに加工する。ここでいう加工とは、データ1に対して、データの一部を削除、データの一部を抽出、新規データの追加等を行うことを意味する。また、加工には、データ1のデータ形式を、個々の故障診断モデルに適した形式に加工することも含まれる。なお、動作履歴データをそのまま用いる場合には加工は省略される。
ステップS113では、CPU11が、ステップS112で加工したデータ1を、機能部毎の故障診断モデル15Bの各々に入力する。
ステップS114では、CPU11が、機能部毎の故障診断モデル15Bの各々から出力される判定結果を記憶部15に保持する。
ステップS115では、CPU11が、ステップS111で取得したデータ2を、機能部毎の故障診断モデル15Bに入力可能なデータに加工する。なお、動作履歴データをそのまま用いる場合には加工は省略される。
ステップS116では、CPU11が、ステップS115で加工したデータ2を、機能部毎の故障診断モデル15Bの各々に入力する。
ステップS117では、CPU11が、機能部毎の故障診断モデル15Bの各々から出力される判定結果を記憶部15に保持する。
ステップS118では、CPU11が、ステップS114で記憶部15に保持したデータ1の判定結果、及び、ステップS117で記憶部15に保持したデータ2の判定結果から判定パターンを特定する。
ステップS119では、CPU11が、ステップS118で特定した判定パターンに基づいて、一例として、上述の図6に示す第1データテーブル15Cを参照し、判定パターンに応じた最終的な診断結果を、例えば、記憶部15に出力し、本故障診断プログラム15Aによる一連の処理を終了する。
次に、図10を参照して、第1の実施形態に係る故障診断装置10による学習処理について具体的に説明する。
図10は、第1の実施形態に係る故障診断プログラム15Aによる学習処理の流れの一例を示すフローチャートである。
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
図10のステップS121では、CPU11が、過去の動作履歴データを学習用データとして取得する。
ステップS122では、CPU11が、ステップS121で学習用データとして取得した動作履歴データを学習モデルに入力可能なデータに加工する。なお、動作履歴データをそのまま用いる場合には加工は省略される。
ステップS123では、CPU11が、ステップS122で加工して得られたデータを正解データ(例えば、故障、健全、故障疑い)と共に、機能部毎の学習モデルに入力する。
ステップS124では、CPU11が、所定数のデータについて機械学習が終了したか否かを判定する。機械学習が終了したと判定した場合(肯定判定の場合)、ステップS125に移行し、機械学習が終了していないと判定した場合(否定判定の場合)、ステップS121に戻り処理を繰り返す。
ステップS125では、CPU11が、機械学習により生成された学習済みモデルを故障診断モデル15Bとして記憶部15に格納し、本故障診断プログラム15Aによる一連の処理を終了する。
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
このように本実施形態によれば、CGS40のリトライ動作により複数回のエラーが検知された場合に、複数回のエラー検知時の各々の動作履歴データが別々に故障診断モデルに入力されて故障診断が実行される。このため、診断精度が向上し、誤判定が抑制される。
[第2の実施形態]
上記第1の実施形態では、CGS40から得られた複数の動作履歴データを、機能部毎の故障診断モデル15Bの全てに入力する形態について説明した。本実施形態では、CGS40のエラーの種別に応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性のある経路を絞り込み、絞り込んだ経路に関する故障診断モデル15Bのみを選択的に用いる形態について説明する。
図11は、第2の実施形態に係る故障診断装置10Aの機能的な構成の一例を示すブロック図である。
図11に示すように、本実施形態に係る故障診断装置10AのCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、取得部11A、推定部11B、学習部11C、出力部11D、及び経路診断部11Eとして機能する。なお、上記第1の実施形態で説明した故障診断装置10と同じ構成要素には同じ符号を付し、その繰り返しの説明は省略する。
経路診断部11Eは、燃料電池ユニット50のエラーを検知した場合に、CGS40からの動作履歴データに含まれるエラーコードに応じた経路診断を特定する。そして、経路診断部11Eは、特定したエラーコードに応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性がある経路を絞り込む。なお、ガス経路52、改質水経路53、及び空気経路54は、上述したように、燃料電池ユニット50に設けられ、燃料電池モジュール51に接続された経路である。
推定部11Bは、記憶部15に格納されている機能部毎の故障診断モデル15Bの中から、経路診断部11Eにより絞り込んだ経路に関する故障診断モデル15Bを選択する。そして、推定部11Bは、選択した故障診断モデル15Bに対して、取得部11Aにより取得された複数の動作履歴データ又は複数の動作履歴データを加工して得られる複数のデータを別々に入力する。そして、推定部11Bは、故障診断モデル15Bから別々に出力される複数の判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。
また、経路診断部11Eは、経路診断による経路の絞り込みの結果を、エラーの種別を表すエラーコードと共に通知する制御を行うようにしてもよい。なお、エラーコードの通知先は、例えば、作業担当者60が持つメンテナンス用端末70とされる。
また、経路診断部11Eは、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対する経路診断を、燃料電池ユニット50の温度帯に応じた方法を用いて行う。
ここで、本実施形態に係る記憶部15には、第3データテーブル15Eと、第4データテーブル15Fとが記憶されている。これらの第3データテーブル15E及び第4データテーブル15Fは、経路診断部11Eにより参照可能とされる。
図12は、本実施形態に係る第3データテーブル15Eの一例を示す図である。
図12に示す第3データテーブル15Eは、エラー種別(エラーコードA~H)毎に故障の可能性がある経路を予め指定して区分けしたデータテーブルである。エラーコードAは、ガス経路52、改質水経路53、及び空気経路54を対象とするコードであり、第1エラーコードの一例である。エラーコードBは、ガス経路52及び改質水経路53を対象とするコードであり、第2エラーコードの一例である。エラーコードCは、ガス経路52及び空気経路54を対象とするコードであり、第3エラーコードの一例である。エラーコードEは、改質水経路53及び空気経路54を対象とするコードであり、第4エラーコードの一例である。これらのエラーコードA、B、C、Eはいずれも2つ以上の経路を対象としている。これらのエラーコードA、B、C、Eには経路を絞り込むための経路診断方法が対応付けられている。具体的に、エラーコードAには経路診断Aが対応付けられ、エラーコードBには経路診断Bが対応付けられ、エラーコードCには経路診断Cが対応付けられ、エラーコードEには経路診断Eが対応付けられている。なお、これらの経路診断A、B、C、Eの具体的な経路診断方法については後述する。
なお、エラーコードDでは、ガス経路52のみが対象とされているため、エラー原因がガス経路52と特定される。同様に、エラーコードFでは改質水経路53のみが対象とされているため、エラー原因が改質水経路53と特定され、エラーコードGでは空気経路54のみが対象とされているため、エラー原因が空気経路54と特定される。また、エラーコードHは、ガス、改質水、及び空気の各経路とは無関係のエラーである。図12の例では、これらのエラーコードD、F、G、Hについての経路診断は行われないが、エラーコードD、F、Gについては経路診断を行うようにしてもよい。
図13は、本実施形態に係る第4データテーブル15Fの一例を示す図である。
図13に示す第4データテーブル15Fは、温度帯の区分けと各温度帯における改質水、ガス、及び空気の経路診断方法を規定したデータテーブルである。燃料電池ユニット50の温度帯は、第1温度帯の一例である温度帯[イ]、第2温度帯の一例である温度帯[ロ]、第3温度帯の一例である温度帯[ハ]、及び、第4温度帯の一例である温度帯[ニ]を含んでいる。
燃料電池モジュール51の最高温度を最高温度T1[℃]とし、改質器51B(改質触媒)へのガス導入により炭素析出が生じる温度(例えば、500℃)を炭素析出温度T2[℃]とし、燃料電池スタック51Aへの空気導入により燃料電池セルの再酸化が生じる温度(例えば、300℃)を再酸化温度T3[℃]とし、改質器51Bに導入される改質水が気化する温度(例えば、100℃)を気化温度T4[℃]とした場合、温度帯[イ]は、炭素析出温度T2より高く、最高温度T1以下の温度帯である。温度帯[ロ]は、再酸化温度T3より高く、炭素析出温度T2以下の温度帯である。温度帯[ハ]は、気化温度T4より高く、再酸化温度T3以下の温度帯である。温度帯[ニ]は、気化温度T4以下の温度帯である。
ガス経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]である場合に、改質水及びガスを導入し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]である場合に、ガスを導入する方法である。温度帯[イ]で改質水を導入するのは、炭素の析出を防止するためである。なお、温度帯[ロ]及び温度帯[ハ]では、改質水及びガスを導入してもよい。なお、燃料電池ユニット50の温度には、燃料電池スタック51Aの温度であるスタック温度及び改質器51Bの温度である改質温度の少なくとも一方が用いられる。例えば、スタック温度及び改質温度のうち、より高温な温度を燃料電池ユニット50の温度としてもよいし、スタック温度及び改質温度の平均温度を燃料電池ユニット50の温度としてもよい。また、燃料電池ユニット50の温度情報は、CGS40の制御装置41から取得される。燃料電池ユニット50の温度情報は、例えば、制御装置41から故障診断装置10Aに送信される動作履歴データに含めておけばよい。
改質水経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]である場合に、改質水を導入し、燃料電池ユニット50の温度が温度帯[ニ]である場合に、診断不可とする方法である。
空気経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]である場合に、改質水、ガス、及び空気を導入し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]である場合に、空気を導入する方法である。温度帯[イ]又は温度帯[ロ]で改質水、ガス、及び空気を導入するのは、セルの再酸化を防止するためである。なお、温度帯[イ]では、改質水及び空気を導入してもよい。温度帯[ロ]では、改質水及び空気、又は、ガス及び空気を導入してもよい。温度帯[ハ]では、改質水、ガス、及び空気、又は、改質水及び空気、又は、ガス及び空気を導入してもよい。
次に、図14を参照して、第2の実施形態に係る故障診断装置10Aの作用について説明する。
図14は、第2の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
図14のステップS131では、CPU11が、CGS40の制御装置41から送信された複数の動作履歴データ(ここではデータ1及びデータ2)を取得する。
ステップS132では、CPU11が、ステップS131で取得したデータ1及びデータ2から共通のエラーコードを抽出する。
ステップS133では、CPU11が、ステップS132で抽出したエラーコードがエラーコードAであるか否かを判定する。エラーコードAであると判定した場合(肯定判定の場合)、ステップS134に移行し、エラーコードAではないと判定した場合(否定判定の場合)、ステップS135に移行する。
ステップS134では、CPU11が、一例として、上述の図12に示す第3データテーブル15Eを参照し、エラーコードAに対応付けられた経路診断Aを実施し、故障の可能性がある経路の絞り込みを行い、ステップS141に移行する。なお、この経路診断Aの具体的な方法については後述する。
一方、ステップS135では、CPU11が、ステップS132で抽出したエラーコードがエラーコードBであるか否かを判定する。エラーコードBであると判定した場合(肯定判定の場合)、ステップS136に移行し、エラーコードBではないと判定した場合(否定判定の場合)、ステップS137に移行する。
ステップS136では、CPU11が、一例として、上述の図12に示す第3データテーブル15Eを参照し、エラーコードBに対応付けられた経路診断Bを実施し、ステップS141に移行する。なお、この経路診断Bの具体的な方法については後述する。
一方、ステップS137では、CPU11が、ステップS132で抽出したエラーコードがエラーコードCであるか否かを判定する。エラーコードCであると判定した場合(肯定判定の場合)、ステップS138に移行し、エラーコードCではないと判定した場合(否定判定の場合)、ステップS139に移行する。
ステップS138では、CPU11が、一例として、上述の図12に示す第3データテーブル15Eを参照し、エラーコードCに対応付けられた経路診断Cを実施し、ステップS141に移行する。なお、この経路診断Cの具体的な方法については後述する。
一方、ステップS139では、CPU11が、ステップS132で抽出したエラーコードがエラーコードEであるか否かを判定する。エラーコードEであると判定した場合(肯定判定の場合)、ステップS140に移行し、エラーコードEではないと判定した場合(否定判定の場合)、エラーコードA、B、C、E以外のエラーコードD、F、G、Hにつて経路診断を行うことなく、ステップS141に移行する。
ステップS140では、CPU11が、一例として、上述の図12に示す第3データテーブル15Eを参照し、エラーコードEに対応付けられた経路診断Eを実施し、ステップS141に移行する。なお、この経路診断Eの具体的な方法については後述する。
ステップS141では、CPU11が、ステップS134又はステップS136又はステップS138又はステップS140の経路診断による絞り込みの結果である故障経路を特定する、あるいは、エラーコードA、B、C、E以外のエラーコードD、F、G、Hに対応する故障経路を特定する。
ステップS142では、CPU11が、記憶部15に記憶されている機能部毎の故障診断モデル15Bの中から、ステップS141で特定した故障経路に関する故障診断モデル15Bを選択し、選択した故障診断モデル15Bのみを用いて故障診断を行い、本故障診断プログラム15Aによる一連の処理を終了する。
次に、図15を参照して、図14のステップS134に係る経路診断Aの具体的な方法について説明する。
図15は、第2の実施形態に係る経路診断Aの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Aでは、一例として、改質水経路53、ガス経路52、及び空気経路54の順番で経路診断が実施される。
図15のステップS151では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。なお、燃料電池ユニット50の温度には、上述したように、スタック温度及び改質温度の少なくとも一方が用いられる。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS152に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS153に移行する。
ステップS152では、CPU11が、CGS40に対して、改質水経路53に改質水を導入する制御を行い、ステップS154に移行する。
一方、ステップS153では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS159に移行する。
ステップS154では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS155に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS156に移行する。
ステップS155では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS158に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS159に移行する。
一方、ステップS156では、CPU11が、改質水経路53に対して経路異常タグを付与する。
ステップS157では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS159に移行する。
ステップS158では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS160に移行する。
一方、ステップS159では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS160に移行する。
ステップS160では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS161に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS165に移行する。
ステップS161では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS162に移行し、改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS164に移行する。
ステップS162では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機する。
ステップS163では、CPU11が、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
一方、ステップS164では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS168に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS169に移行する。
一方、ステップS165では、CPU11が、ガス経路52に対して経路異常タグを付与する。
ステップS166では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS164に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS167に移行する。
ステップS167では、CPU11が、燃料電池ユニット50の温度が温度帯[ハ]以下になるまで待機し、ステップS169に移行する。
ステップS168では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
一方、ステップS169では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
ステップS170では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS172に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS171に移行する。
ステップS171では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS172に移行する。
ステップS172では、CPU11が、エラーを確定、つまり、改質水経路53、ガス経路52、及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、図14のステップS141にリターンする。
次に、図16を参照して、図14のステップS136に係る経路診断Bの具体的な方法について説明する。
図16は、第2の実施形態に係る経路診断Bの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Bでは、一例として、改質水経路53及びガス経路52の順番で経路診断が実施される。
図16のステップS181では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS182に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS183に移行する。
ステップS182では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS184に移行する。
一方、ステップS183では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS189に移行する。
ステップS184では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS185に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS186に移行する。
ステップS185では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS188に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS189に移行する。
一方、ステップS186では、CPU11が、改質水経路53に対して経路異常タグを付与する。
ステップS187では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS189に移行する。
ステップS188では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
一方、ステップS189では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
ステップS190では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS192に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS191に移行する。
ステップS191では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS192に移行する。
ステップS192では、CPU11が、エラーを確定、つまり、改質水経路53及びガス経路52のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、図14のステップS141にリターンする。
次に、図17を参照して、図14のステップS138に係る経路診断Cの具体的な方法について説明する。
図17は、第2の実施形態に係る経路診断Cの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Cでは、一例として、ガス経路52及び空気経路54の順番で経路診断が実施される。
図17のステップS201では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS202に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS203に移行する。
ステップS202では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS204に移行する。
一方、ステップS203では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS204に移行する。
ステップS204では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS205に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS206に移行する。
ステップS205では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS207に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS208に移行する。
一方、ステップS206では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS205に移行する。
ステップS207では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS209に移行する。
一方、ステップS208では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS209に移行する。
ステップS209では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS211に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS210に移行する。
ステップS210では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS211に移行する。
ステップS211では、CPU11が、エラーを確定、つまり、ガス経路52及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、図14のステップS141にリターンする。
次に、図18を参照して、図14のステップS140に係る経路診断Eの具体的な方法について説明する。
図18は、第2の実施形態に係る経路診断Eの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Eでは、一例として、改質水経路53及び空気経路54の順番で経路診断が実施される。
図18のステップS221では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS222に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS223に移行する。
ステップS222では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS224に移行する。
一方、ステップS223では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS228に移行する。
ステップS224では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS225に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS226に移行する。
ステップS225では、CPU11が、一例として、上述の図13に示す第4データテーブル15Fを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS227に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS228に移行する。
一方、ステップS226では、CPU11が、改質水経路53に対して経路異常タグを付与し、ステップS228に移行する。
ステップS227では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS229に移行する。
一方、ステップS228では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS229に移行する。
ステップS229では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS231に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS230に移行する。
ステップS230では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS231に移行する。
ステップS231では、CPU11が、エラーを確定、つまり、改質水経路53及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、図14のステップS141にリターンする。
なお、本実施形態では、故障診断装置10Aを外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10AはCGS40の制御装置41として実現してもよい。
このように本実施形態によれば、故障経路を絞り込み、絞り込んだ故障経路に関する故障診断モデルのみを適用すればよい。このため、故障診断を効率的に、かつ、精度良く行うことができる。
以上、上記実施形態として、故障診断装置及び故障診断システムを例示して説明したが、実施形態は、故障診断装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
その他、上記実施形態で説明した故障診断装置及び故障診断システムの構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。