(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】故障診断装置、故障診断システム、及び故障診断プログラム
(51)【国際特許分類】
H01M 8/04992 20160101AFI20240308BHJP
H01M 8/04664 20160101ALI20240308BHJP
H01M 8/04 20160101ALI20240308BHJP
H01M 8/04746 20160101ALI20240308BHJP
H01M 8/0432 20160101ALI20240308BHJP
H01M 8/00 20160101ALI20240308BHJP
G05B 23/02 20060101ALI20240308BHJP
【FI】
H01M8/04992
H01M8/04664
H01M8/04 Z
H01M8/04746
H01M8/0432
H01M8/00 Z
G05B23/02 T
(21)【出願番号】P 2020193810
(22)【出願日】2020-11-20
【審査請求日】2023-05-26
(73)【特許権者】
【識別番号】000220262
【氏名又は名称】東京瓦斯株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】香田 淳也
(72)【発明者】
【氏名】木村 駿介
(72)【発明者】
【氏名】高須 俊樹
【審査官】笹岡 友陽
(56)【参考文献】
【文献】特開2020-170596(JP,A)
【文献】特表2012-530925(JP,A)
【文献】特開2007-123007(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01M 8/04992
H01M 8/04664
H01M 8/04
H01M 8/04746
H01M 8/0432
H01M 8/00
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、
前記取得部により取得された動作履歴データに対して、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する複数の故障診断モデルに共通の第1加工を行い、前記第1加工を行って得られたデータに対して、前記複数の故障診断モデルの各々に個別の第2加工を行う加工部と、
前記複数の故障診断モデルの各々に対して、前記加工部により前記第1加工及び前記第2加工が行われたデータを入力し、前記複数の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
を備えた故障診断装置。
【請求項2】
前記第1加工は、全ての機能部で使用頻度が所定値よりも低いデータ項目を削除すること、時間的変化を表すデータ項目及び統計量を表すデータ項目の少なくとも一方を追加すること、少なくとも一部の機能部への有効性が予め確認されているデータ項目を追加すること、数値データ以外の質的データのダミー変数を設定すること、及び、相関関係のある複数のデータ項目を合成して新たなデータ項目として追加すること、の少なくとも1つを含み、
前記第2加工は、機能部の故障の有無との相関性が一定未満となるデータ項目を削除することを含む
請求項1に記載の故障診断装置。
【請求項3】
前記加工部は、前記相関関係の強さを、主成分分析法を用いて導出し、前記第1加工として、前記相関関係の強さが一定以上となる複数のデータ項目を合成して新たなデータ項目として追加する
請求項2に記載の故障診断装置。
【請求項4】
前記故障診断モデルは、機能部毎に、複数の異なる学習ロジックで生成された複数のモデル候補の中で性能が最も高いモデルである
請求項1~請求項3の何れか1項に記載の故障診断装置。
【請求項5】
前記燃料電池コージェネレーションシステムは、発電を行う燃料電池モジュールが設けられ、かつ、前記燃料電池モジュールに接続されたガス経路、改質水経路、及び空気経路が設けられた燃料電池ユニットを含み、
前記燃料電池ユニットの動作の異常を検知した場合に、前記異常の種別に応じた経路診断を、前記ガス経路、前記改質水経路、及び前記空気経路の少なくとも1つに対して行い、故障の可能性がある経路を絞り込む経路診断部を更に備え、
前記推定部は、前記経路診断部で絞り込まれた経路により特定される機能部の故障診断モデルのみを選択的に用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する
請求項1~請求項4の何れか1項に記載の故障診断装置。
【請求項6】
前記動作履歴データは、前記異常の種別を表すエラーコードを含み、
前記エラーコードは、前記ガス経路、前記改質水経路、及び前記空気経路を対象とする第1エラーコード、前記ガス経路及び前記改質水経路を対象とする第2エラーコード、前記ガス経路及び前記空気経路を対象とする第3エラーコード、及び、前記改質水経路及び前記空気経路を対象とする第4エラーコードのいずれかである
請求項5に記載の故障診断装置。
【請求項7】
前記経路診断部は、前記ガス経路、前記改質水経路、及び前記空気経路の少なくとも1つに対する前記経路診断を、前記燃料電池ユニットの温度帯に応じた方法を用いて行う
請求項5又は請求項6に記載の故障診断装置。
【請求項8】
前記燃料電池モジュールは、電解質層、燃料極、及び空気極を有する複数の燃料電池セルが積層された燃料電池スタックと、炭化水素原料を含むガスを改質する改質器と、を含み、
前記燃料電池ユニットの温度帯は、前記改質器へのガス導入により炭素析出が生じる温度である炭素析出温度より高く、前記燃料電池モジュールの最高温度以下の第1温度帯と、前記燃料電池スタックへの空気導入により燃料電池セルの再酸化が生じる温度である再酸化温度より高く、前記炭素析出温度以下の第2温度帯と、前記改質器に導入される改質水が気化する温度である気化温度より高く、前記再酸化温度以下の第3温度帯と、前記気化温度以下の第4温度帯と、を含み、
前記ガス経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯である場合に、改質水及びガスを導入し、前記燃料電池ユニットの温度が前記第2温度帯又は前記第3温度帯又は前記第4温度帯である場合に、ガスを導入する方法であり、
前記改質水経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯又は前記第2温度帯又は前記第3温度帯である場合に、改質水を導入し、前記燃料電池ユニットの温度が前記第4温度帯である場合に、診断不可とする方法であり、
前記空気経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯である場合に、少なくとも改質水及び空気を導入し、前記燃料電池ユニットの温度が前記第2温度帯である場合に、改質水及びガスの少なくとも一方と空気とを導入し、前記燃料電池ユニットの温度が前記第3温度帯又は前記第4温度帯である場合に、空気を導入する方法である
請求項7に記載の故障診断装置。
【請求項9】
燃料電池コージェネレーションシステムと、
前記燃料電池コージェネレーションシステムと接続された故障診断装置と、
を備え、
前記燃料電池コージェネレーションシステムは、
自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、
前記故障診断装置は、
前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、
前記取得部により取得された動作履歴データに対して、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する複数の故障診断モデルに共通の第1加工を行い、前記第1加工を行って得られたデータに対して、前記複数の故障診断モデルの各々に個別の第2加工を行う加工部と、
前記複数の故障診断モデルの各々に対して、前記加工部により前記第1加工及び前記第2加工が行われたデータを入力し、前記複数の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
を備えた故障診断システム。
【請求項10】
コンピュータを、請求項1~請求項8の何れか1項に記載の故障診断装置が備える各部として機能させるための故障診断プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、故障診断装置、故障診断システム、及び故障診断プログラムに関し、詳しくは、燃料電池コージェネレーションシステムの故障を診断する故障診断装置、故障診断システム、及び故障診断プログラムに関する。
【背景技術】
【0002】
従来の故障個所診断システムは、ロジスティック回帰モデルを用いて、発電システムの運転情報を表す複数の説明変数から、発電システムの複数個所のうち所定個所が故障しており他の個所が故障していない確率を表す目的変数を特定するようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術によれば、ロジスティック回帰モデルを用いて故障診断を行うため、現場にて故障診断作業を行う必要がない。しかしながら、ロジスティック回帰モデルに入力されるデータは、当該モデルに適したデータに加工されていないため、余分なデータが含まれている、あるいは重要な説明変数を生成できない可能性がある。このため診断精度が十分とは言えない。特に、燃料電池システムのように部品点数の多い機器では、本来健全である部品が故障と誤判定されることで修理部品が増え、作業担当者の現場での作業の負荷が増大する。
【0005】
本発明は、上記事情に鑑みてなされたものであって、燃料電池コージェネレーションシステムの故障診断を、作業担当者の現場での負荷を軽減させつつ、精度良く行うことができる故障診断装置、故障診断システム、及び故障診断プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様に係る故障診断装置は、燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、前記取得部により取得された動作履歴データに対して、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する複数の故障診断モデルに共通の第1加工を行い、前記第1加工を行って得られたデータに対して、前記複数の故障診断モデルの各々に個別の第2加工を行う加工部と、前記複数の故障診断モデルの各々に対して、前記加工部により前記第1加工及び前記第2加工が行われたデータを入力し、前記複数の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、を備えている。
【0007】
また、本発明の一態様に係る故障診断システムは、燃料電池コージェネレーションシステムと、前記燃料電池コージェネレーションシステムと接続された故障診断装置と、を備え、前記燃料電池コージェネレーションシステムは、自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、前記故障診断装置は、前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、前記取得部により取得された動作履歴データに対して、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する複数の故障診断モデルに共通の第1加工を行い、前記第1加工を行って得られたデータに対して、前記複数の故障診断モデルの各々に個別の第2加工を行う加工部と、前記複数の故障診断モデルの各々に対して、前記加工部により前記第1加工及び前記第2加工が行われたデータを入力し、前記複数の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、を備えている。
【0008】
また、本発明の一態様に係る故障診断プログラムは、コンピュータを、上記故障診断装置が備える各部として機能させる。
【発明の効果】
【0009】
以上詳述したように、本発明によれば、燃料電池コージェネレーションシステムの故障診断を、作業担当者の現場での負荷を軽減させつつ、精度良く行うことができる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施形態に係る故障診断システムの構成の一例を示す図である。
【
図2】第1の実施形態に係るCGSの構成の一例を示すブロック図である。
【
図3】第1の実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
【
図4】第1の実施形態に係る故障診断装置の電気的な構成の一例を示すブロック図である。
【
図5】第1の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図6】第1の実施形態に係る故障診断プログラムによる処理の流れの一例を示すフローチャートである。
【
図7】第1の実施形態に係る故障診断プログラムによるモデル生成処理の流れの一例を示すフローチャートである。
【
図8】実施形態に係るPRAUC法の概念を説明するための図である。
【
図9】実施形態に係る適合率及び再現率の説明に供する図である。
【
図10】第2の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図11】実施形態に係る第1データテーブルの一例を示す図である。
【
図12】実施形態に係る第2データテーブルの一例を示す図である。
【
図13】第2の実施形態に係る故障診断プログラムによる処理の流れの一例を示すフローチャートである。
【
図14】第2の実施形態に係る経路診断Aの処理の流れの一例を示すフローチャートである。
【
図15】第2の実施形態に係る経路診断Bの処理の流れの一例を示すフローチャートである。
【
図16】第2の実施形態に係る経路診断Cの処理の流れの一例を示すフローチャートである。
【
図17】第2の実施形態に係る経路診断Eの処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【0012】
[第1の実施形態]
図1は、第1の実施形態に係る故障診断システム100の構成の一例を示す図である。
【0013】
図1に示すように、本実施形態に係る故障診断システム100は、燃料電池コージェネレーションシステム(以下、単に「CGS」という。)40と、故障診断装置10と、メンテナンス用端末70と、を備えている。故障診断システム100は、CGS40の故障を診断するためのシステムとして構成される。
【0014】
CGS40は、例えば、エネファーム(登録商標)であり、ユーザ宅30に設置されている。故障診断装置10は、CGS40の故障を診断するための装置であり、CGS40とネットワークNを介して接続されている。故障診断装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用される。ネットワークNには、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のネットワークが適用される。
【0015】
メンテナンス用端末70は、CGS40のメンテナンス作業を行う作業担当者60が所有する端末である。メンテナンス用端末70は、ネットワークNを介して故障診断装置10と接続されている。メンテナンス用端末70には、例えば、携帯可能なタブレット端末、スマートフォン、ノート型PC等が適用される。
【0016】
本実施形態に係る故障診断装置10は、CGS40が動作の異常(以下、「エラー」という。)を検知した場合に、故障診断モデルに対して、エラー検知時の動作履歴データを加工して得られたデータを入力して故障診断を行う。
【0017】
具体的には、
図1において、CGS40は、エラーを検知した場合に、エラーを発報する。このとき、CGS40は、自動的に故障診断装置10に対して、自システムの動作履歴データを送信する。動作履歴データとは、例えば、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの動作履歴に関するデータである。動作履歴データは、例えば、各種センサの検出値、補機類(例えば、弁、ポンプ等)の動作状態を表すデータ、エラーコード等が含まれる。
【0018】
故障診断装置10は、記憶部に、CGS40が備える複数の機能部の各々について故障診断モデルを予め格納している。故障診断モデルは、CGS40の機能部毎に故障を診断するための数理モデルである。機能部は、少なくとも1つの部品(例えば、ポンプ、弁、配管、タンク等)を含んでいる。CGS40の故障診断モデルは、過去に得られた動作履歴データ群を、機能部に対応付けて機械学習することにより生成されるモデルである。機械学習には、一例として、ランダムフォレスト、ニューラルネットワーク、サポートベクターマシン等が挙げられる。なお、故障診断モデルには多変量解析を適用してもよい。多変量解析には、一例として、ロジスティック回帰等が挙げられる。故障診断モデルには、例えば、機能部毎に故障の有無を判定する2クラス分類が用いられる。故障診断装置10は、CGS40から取得した動作履歴データをモデル共通、モデル個別の2段階で加工して得られたデータを故障診断モデルの各々に入力する。故障診断モデルの各々は、機能部毎に、例えば、「故障有り(故障)」又は「故障なし(健全)」を出力する。具体的に、データが示す指標値が閾値以上の場合に「故障有り」を出力し、データが示す指標値が閾値未満の場合に「故障なし」を出力する。故障診断装置10は、故障診断モデルの各々から出力される判定結果を用いて、機能部毎に故障の有無を推定し、推定により得られた故障診断の診断結果を保持する。
【0019】
作業担当者(メンテナンス員)60は、メンテナンス用端末70から故障診断装置10にアクセスし、診断結果が示す故障個所を確認する。そして、作業担当者60は、故障診断装置10から得られる診断結果に基づいて、現場にて部品交換作業等を実施する。
【0020】
図2は、第1の実施形態に係るCGS40の構成の一例を示すブロック図である。
【0021】
図2に示すように、本実施形態に係るCGS40は、大きく分けて、制御装置41と、CGS本体部49と、を備えている。制御装置41は、CGS本体部49と一体的に構成されてもよいし、CGS本体部49とは別体で構成されてもよい。
【0022】
制御装置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と、を備えている。
【0023】
CPU42、ROM43、RAM44、及びI/O45は、バスを介して各々接続されている。I/O45には、記憶部46と、通信部47と、機器I/F48と、を含む各機能部が接続されている。これらの各機能部は、I/O45を介して、CPU42と相互に通信可能とされる。
【0024】
記憶部46としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部46には、CGS本体部49の動作を制御するための制御プログラム46Aが記憶される。なお、この制御プログラム46Aは、ROM43に記憶されていてもよい。
【0025】
制御プログラム46Aは、例えば、制御装置41に予めインストールされていてもよい。制御プログラム46Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、制御装置41に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0026】
通信部47は、インターネット、LAN、WAN等のネットワークNに接続されており、外部の故障診断装置10との間でネットワークNを介して通信が可能とされる。
【0027】
機器I/F48には、CGS本体部49が接続されている。すなわち、CGS本体部49に含まれる各種電装部品は、機器I/F48を介して、CPU42と通信可能に接続される。
【0028】
CGS本体部49は、公知の構成である。具体的に、CGS本体部49は、燃料電池ユニット50を備える。燃料電池ユニット50には、燃料電池モジュール51、燃料電池モジュール51に接続されたガス経路52、改質水経路53、及び空気経路54が設けられている。CGS本体部49は、上述したように、複数の機能部を備える。この機能部は、少なくとも1つの部品を含んでいる。この機能部は、例えば、ガス経路52を構成する複数の部品、改質水経路53を構成する複数の部品、又は、空気経路54を構成する複数の部品としてもよい。この機能部は、CGS本体部49を構成する個々の部品としてもよい。この部品には、例えば、ポンプ、弁、配管、タンク等が含まれる。
【0029】
燃料電池モジュール51は、燃料電池スタック51A及び改質器51Bを備える。改質器51Bは、炭化水素原料を含むガス(例えば、都市ガス)を改質する。燃料電池スタック51Aは、電解質層、燃料極、及び空気極を有する複数の燃料電池セルが積層されている。燃料電池スタック51Aは、改質器51Bにより都市ガスから改質された改質ガス中の水素と、空気中の酸素とを反応させて電気及び水を発生させるように構成されている。燃料電池ユニット50は、改質ガス及び空気の供給量を調整するための弁及びポンプ等の補機類と、燃料電池スタック51Aによる発電で発生した熱を伝熱媒体(例えば、水等)との間で熱交換するための熱交換器と、を備えている。
【0030】
CGS本体部49は、貯湯タンクを備える。CGS本体部49では、貯湯タンクに給水されると、貯湯タンクから燃料電池ユニット50の熱交換器に水が供給され、この熱交換器で水が燃料電池スタック51Aの熱で加熱される。熱交換器で水が加熱されると、水が湯となる。この湯は、貯湯タンクに供給され、この貯湯タンクに貯められる。貯湯タンクは、燃料電池ユニット50との間で水及び湯を行き来させるための弁及びポンプや、貯湯タンクに貯めた湯を排湯させるための弁及びポンプ等の補機類を備える。
【0031】
また、ガス経路52は、都市ガスが流れる経路である。ガス経路52には、都市ガスの供給量を調整するための弁及びポンプ等の補機類が含まれる。改質水経路53は、改質水が流れる経路である。改質水経路53には、改質水の供給量を調整するための弁及びポンプ等の補機類が含まれる。空気経路54は、空気が流れる経路である。空気経路54には、空気の供給量を調整するための弁及びポンプ等の補機類が含まれる。
【0032】
制御装置41は、CGS本体部49に備えられた補機類を制御するコントローラである。制御装置41は、CGS本体部49に対して、補機類を制御するための制御信号をそれぞれ出力する。また、CGS本体部49は、制御装置41に対して、CGS本体部49の運転状況を表す運転データを出力する。この運転データには、特徴量として、補機類の動作状態を表すデータ(例えば、電圧値、電流値等)、CGS本体部49に設けられた各種センサの検出値等が含まれる。具体的に、補機類の動作状態を表すデータとは、例えば、ポンプの場合にはポンプの操作量を表すデータであり、弁の場合には弁の開閉状態を表すデータである。また、各種センサの検出値とは、例えば、配管の場合には都市ガス、改質水、及び空気のそれぞれの流量を表す値であり、タンクの場合には水位を表す値である。
【0033】
制御装置41は、CGS本体部49から取得した時系列の運転データを記憶部46に記憶する。制御装置41は、CGS本体部49から取得した運転データに基づいて、CGS本体部49のエラーを検知する機能を有する。なお、エラーの検知は、例えば、運転データから得られる特徴量と対応する閾値との比較により行われる。
【0034】
ここで、
図3を参照して、本実施形態に係る制御装置41によるエラー発報処理について具体的に説明する。なお、このエラー発報処理は、制御装置41が備える制御プログラム46Aによって実行される。
【0035】
図3は、第1の実施形態に係る制御プログラム46Aによる処理の流れの一例を示すフローチャートである。
【0036】
まず、CPU42により記憶部46に記憶されている制御プログラム46Aが起動され、以下に示す各ステップが実行される。
【0037】
図3のステップS101では、CPU42が、CGS本体部49から時系列で取得した運転データを記憶部46に記憶すると共に、取得した運転データに基づいて、エラーの発生を示す異常値を検知したか否かを判定する。異常値を検知したと判定した場合(肯定判定の場合)、ステップS102に移行し、異常値を検知しないと判定した場合(否定判定の場合)、ステップS101で待機となる。
【0038】
ステップS102では、CPU42が、記憶部46に記憶した時系列の運転データの中から、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの運転データを動作履歴データとして抽出し、抽出した動作履歴データを記憶部46に保持する。この動作履歴データには、上述したように、例えば、各種センサの検出値、補機類の動作状態を表すデータ、エラーコード等が含まれる。記憶部46に保持した動作履歴データを「データ1」と称する。
【0039】
ステップS103では、CPU42が、ステップS102でのデータ1の保持をもってエラーを確定する。
【0040】
ステップS104では、CPU42が、通信部47を介して、ステップS102で保持したデータ1を故障診断装置10に送信し、本制御プログラム46Aによる一連の処理を終了する。
【0041】
図4は、第1の実施形態に係る故障診断装置10の電気的な構成の一例を示すブロック図である。
【0042】
図4に示すように、本実施形態に係る故障診断装置10は、CPU11と、ROM12と、RAM13と、I/O14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。
【0043】
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
【0044】
記憶部15としては、例えば、HDD、SSD、フラッシュメモリ等が用いられる。記憶部15には、CGS40の故障を診断するための故障診断プログラム15Aが記憶される。なお、この故障診断プログラム15Aは、ROM12に記憶されていてもよい。
【0045】
故障診断プログラム15Aは、例えば、故障診断装置10に予めインストールされていてもよい。故障診断プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、故障診断装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM、光磁気ディスク、HDD、DVD-ROM、フラッシュメモリ、メモリカード等が想定される。
【0046】
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部16は、タッチパネルを一体的に有していてもよい。操作部17には、例えば、キーボード、マウス等の操作入力用のデバイスが設けられている。表示部16及び操作部17は、故障診断装置10のユーザから各種の指示を受け付ける。表示部16は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
【0047】
通信部18は、インターネット、LAN、WAN等のネットワークNに接続されており、CGS40、メンテナンス用端末70との間でネットワークNを介して通信が可能とされる。
【0048】
本実施形態に係る故障診断装置10のCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、
図5に示す各部として機能する。
【0049】
図5は、第1の実施形態に係る故障診断装置10の機能的な構成の一例を示すブロック図である。
【0050】
図5に示すように、本実施形態に係る故障診断装置10のCPU11は、取得部11A、加工部11B、推定部11C、学習部11D、及び出力部11Eとして機能する。
【0051】
また、記憶部15には、上述したように、機能部毎に故障診断モデル15Bが予め格納されている。つまり、1つの機能部(又は部品)に対して1つの故障診断モデル15Bが対応している。故障診断モデル15Bは、上述したように、例えば、機械学習により得られる、CGS40の機能部毎に故障を診断するための数理モデルである。
【0052】
取得部11Aは、上述のCGS40から送信された動作履歴データを取得する。例えば、動作履歴データとしてデータ1を取得する。
【0053】
加工部11Bは、取得部11Aにより取得された動作履歴データに対して、複数の故障診断モデル15Bに共通の第1加工を行い、第1加工を行って得られたデータに対して、複数の故障診断モデル15Bの各々に個別の第2加工を行う。
【0054】
推定部11Cは、複数の故障診断モデル15Bの各々に対して、加工部11Bにより第1加工及び第2加工が行われたデータを入力する。そして、推定部11Cは、複数の故障診断モデル15Bの各々から出力される判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。なお、故障診断モデル15Bは、判定結果として、例えば、故障又は健全を出力する2クラス分類を行うモデルとされる。
【0055】
学習部11Dは、過去に得られた動作履歴データ群を学習用データとして機械学習を行うことにより故障診断モデル15Bを生成する。学習部11Dにより生成された故障診断モデル15Bが記憶部15に格納される。なお、故障診断モデル15Bの格納場所は、記憶部15に限定されない。例えば、外部の記憶装置に格納されていてもよい。また、本実施形態では、自装置で機械学習する構成としているが、外部装置で機械学習を行う構成としてもよい。また、機械学習に代えて、多変量解析を用いて故障診断モデル15Bを生成してもよい。
【0056】
出力部11Eは、推定部11Cにより推定された機能部毎の最終的な診断結果を、例えば、記憶部15に出力して保持する。また、出力部11Eは、メンテナンス用端末70からのアクセスに応じて、記憶部15に保持した最終的な診断結果をメンテナンス用端末70に送信する。なお、この最終的な診断結果には、機能部毎(あるいは部品毎)に、診断結果(故障、健全)及び取るべき対応等が含まれている。例えば、データ1の判定結果が「故障」であれば、作業担当者60が取るべき対応は「部品交換」となる。また、データ1の判定結果が「健全」であれば、作業担当者60が取るべき対応は「なし」となる。
【0057】
具体的に、故障診断装置10は、CGS40のエラー発報時に、エラー発生前後の運転データを動作履歴データとして取得する。このとき、各機能部についての動作履歴データ及び診断結果に基づいて教師あり学習を行い、機能部毎に故障診断モデル15Bを生成する。この故障診断モデル15Bを用いることで、現場作業を行うことなく、故障部品を特定することができる。なお、CGS40の場合は、ハード・ソフトのランニングチェンジも多いため、1つのモデルで全部品の性能を維持し続けるのは困難である。このため、1つのモデルで1つの機能部(又は部品)に対応するようにしている。
【0058】
各機能部の故障診断モデル15Bの出力は、例えば、「故障」又は「健全」のいずれかであり、故障診断モデル15Bに設定された閾値と、加工後の動作履歴データの値の大小によって判定される。例えば、故障診断モデル15Bの生成時に、閾値に対する、適合率、再現率の関係(後述)を導出する。これにより、要求する適合率、再現率に合わせて自動的に閾値を設定することができる。
【0059】
また、故障診断装置10は、故障診断モデル15Bの判定精度を高めるため、上述の加工部11Bを備える。CGS40の場合、取得できるデータ項目が多数であり、更に同一部品の故障データ数が限られることが多く、過学習(汎化性能が低く、新たな運転データに対する診断精度が低い)になりやすい。このため、より重要な特徴量だけを残すデータ加工が必須である。なお、ここでいう汎化性能とは、未知のデータに対する性能のことを意味する。汎化性能の評価方法としては、例えば、ホールドアウト法、k交差検証法等の公知の手法が挙げられる。加工部11Bは、例えば、下記に示す機能を有する。
【0060】
(1)動作履歴データの内、故障診断モデルの作成に不要なデータ項目を削除する機能。例:現在時刻、発電/停止等燃料電池の運転スケジュール、給湯設定温度等のリモコン設定値、目的変数との相関が一定以下であるデータ項目、等。
(2)動作履歴データの1つの特徴量についての時間的変化や、統計量(平均・最大・最小・分散・出現頻度など)を算出し、新たな特徴量として追加する機能。もとになる特徴量は複数でも良い。例:エラー発生前後の時間的な温度変化、ポンプ回転数X以下の出現回数、等。
(3)複数の特徴量を組み合わせて新たな特徴量にまとめる機能(組合せに使用した特徴量は削除する)。例:電流・電圧→電力、ガス流量・電流→燃料利用率、ブロワデュティ・回転数→ブロワの回転抵抗、等。
(4)質的データのダミー変数を設定する機能。例:制御シーケンス(1:起動、2:発電、3:停止)等のように連続値として扱えないデータ項目。
(5)時系列データの中から特定の時刻のデータだけを抽出する機能。例:エラーが発報された瞬間のデータ、等。
【0061】
次に、
図6を参照して、第1の実施形態に係る故障診断装置10の作用を説明する。
【0062】
図6は、第1の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。なお、本実施形態における機能部は1つの部品として表されるものとする。
【0063】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0064】
図6のステップS111では、CPU11が、CGS40の制御装置41から送信された動作履歴データ(ここではデータ1)を取得する。
【0065】
ステップS112では、CPU11が、ステップS111で取得したデータ1に対して、機能部毎(ここでは部品毎)の複数のモデルに共通の第1加工を行う、第1加工では、例えば、以下の処理A1~A5を行う。
【0066】
A1:全ての部品で使用頻度が所定値よりも低い不要なデータ項目の削除(例えば、時刻、運転スケジュール等)。なお、所定値は、例えば、0以上10以下の範囲で適宜設定される。
A2:任意期間の温度・電圧等の時間的変化を表すデータ項目、及び、統計量(平均・最大・最小・分散等)を表すデータ項目の少なくとも一方の追加。
A3:出現頻度など、事前調査で一部の部品の診断への有効性が確認されているデータ項目の追加(例えば、”電圧<閾値の出現回数”、”ポンプ回転数ゼロの出現回数”等)。
A4:制御シーケンス等の質的データ(=数値データ以外)のダミー変数の設定。
A5:相関関係のある複数のデータ項目を合成して新たなデータ項目として追加。具体的には、主成分分析法(PCA:Principal Component Analysis、以下、「PCA」という。)を用いてデータ項目を合成し、相関の無い少数の主成分を新たなデータ項目として追加する。
【0067】
ここで、相関が強いデータ項目のPCAの具体例について説明する。例えば、ガス流量とガスブロワ回転数の場合、ブロワの回転数が多いほど流量が大きくなる。ガス流量とガスブロワ回転数についてPCAを行うと、第1主成分は流量と回転数の比例方向(正常動作の方向)になる。この第1主成分を2つのデータ項目の代わりに学習に用いることで、両方のデータの意味を残しつつ変数を減じることができる。
【0068】
また、第2主成分は第1主成分の直交成分になり、例えば、「動作誤差」や「ガス経路圧損」のように解釈でき、動作・経路の正常性を意味するパラメータになり得る。第2主成分をデータ項目として加えることで、部品故障に敏感で機械学習にとってわかりやすいパラメータを作成することができる。
【0069】
なお、第1主成分及び第2主成分は独立しているため、相関性のあるガス流量とガスブロワ回転数をそのまま使用するよりも精度が向上する。
【0070】
このほか、例えば、「電流、電圧、ガス流量、空気流量、改質水量、ホットモジュール内温度」といった発電関連項目、「貯湯タンク内温度、ラジエータ回転数/デュティ、熱媒循環ポンプ回転数/デュティ」といった熱回収関連項目などは、相関性が高くなりやすい。このため、上記PCAの利用が望ましい。
【0071】
上記第1加工では、例えば、上記A1~A5の1つ以上の処理を行い、CGS40で使用する又は使用する可能性のある全ての項目が記載されたデータを生成する。
【0072】
次に、ステップS113では、CPU11が、部品Aの故障診断モデル15Bが有るか否かを判定する。部品Aの故障診断モデル15Bが無いと判定した場合(否定判定の場合)、ステップS114に移行し、部品Aの故障診断モデル15Bが有ると判定した場合(肯定判定の場合)、ステップS115に移行する。
【0073】
ステップS114では、CPU11が、判定結果を「モデル無し」として、ステップS118に移行する。
【0074】
ステップS115では、CPU11が、ステップS112で第1加工を行ったデータに対して、部品Aのモデル個別の第2加工を行う。第2加工では、例えば、以下の処理B1を行う。
【0075】
B1:該当部品の故障有無と各データ項目との相関性を計測し、相関性が一定未満のデータ項目の削除。
【0076】
例えば、上記B1の処理を行い、該当部品にとって重要なデータ項目のみを残す。つまり、データ加工(共通)では、データ項目の全てを出し切り、データ加工(個別)では、データ加工(共通)で出し切った全てのデータ項目から、個々の部品に必要なデータ項目のみを抽出する。
【0077】
なお、データ加工(共通)で行う処理に関しては、予め重要なデータが判っていない限り、故障診断モデル15Bの生成時には自動化させることが難しい。このため、故障診断モデル15Bの生成時はある程度手作業が発生する。一方、故障診断モデル15Bの生成後は同じ加工手順を辿れば良いため、完全に自動化することができる。このため、
図6のフローを完全自動化させるためには、共通及び個別のデータ処理手順を記憶しておけばよい。
【0078】
データ加工(共通)を自動化する場合には、例えば、次の手順で実施する。
(1)機械学習への寄与度によらず、ありとあらゆる変数を出し切る(上記A1~A5の処理)。
(2)変数増加法により最も性能が改善する変数を1つずつ追加しながらモデル作成、パラメータ最適化、及び性能評価を繰り返し、変数を追加しても性能がほとんど変化しなくなる、あるいは、一定以上の性能に到達するまで実施する。
【0079】
なお、上記(1)で適切な変数を全ての部品に対して事前に出し切ることは現実には難しく、予め重要な変数が判っていない限りは全自動化が難しく、一部の部品では手動チューニングが発生する。また、一般的に変数が多いデータを扱う場合は過学習になりやすい傾向があり、性能向上のために変数削減が求められる。上記(1)の処理を行ったデータは変数が多い状態となるため、上記(2)による変数選定は重要である。
【0080】
ステップS116では、CPU11が、上記第1加工及び第2加工による加工後のデータを部品Aの故障診断モデル15Bに入力する。
【0081】
ステップS117では、CPU11が、部品Aの故障診断モデル15Bから出力される判定結果を取得する。
【0082】
ステップS118では、CPU11が、ステップS114又はステップS117で取得した判定結果を記憶部15に記憶し、ステップS131に移行する。
【0083】
一方、ステップS119では、CPU11が、部品Bの故障診断モデル15Bが有るか否かを判定する。部品Bの故障診断モデル15Bが無いと判定した場合(否定判定の場合)、ステップS120に移行し、部品Bの故障診断モデル15Bが有ると判定した場合(肯定判定の場合)、ステップS121に移行する。
【0084】
ステップS120では、CPU11が、判定結果を「モデル無し」として、ステップS124に移行する。
【0085】
ステップS121では、CPU11が、ステップS112で第1加工を行ったデータに対して、部品Bのモデル個別の第2加工を行う。第2加工では、例えば、上述の処理B1を行う。
【0086】
ステップS122では、CPU11が、上記第1加工及び第2加工による加工後のデータを部品Bの故障診断モデル15Bに入力する。
【0087】
ステップS123では、CPU11が、部品Bの故障診断モデル15Bから出力される判定結果を取得する。
【0088】
ステップS124では、CPU11が、ステップS120又はステップS123で取得した判定結果を記憶部15に記憶し、ステップS131に移行する。
【0089】
一方、ステップS125では、CPU11が、部品Cの故障診断モデル15Bが有るか否かを判定する。部品Cの故障診断モデル15Bが無いと判定した場合(否定判定の場合)、ステップS126に移行し、部品Cの故障診断モデル15Bが有ると判定した場合(肯定判定の場合)、ステップS127に移行する。
【0090】
ステップS126では、CPU11が、判定結果を「モデル無し」として、ステップS130に移行する。
【0091】
ステップS127では、CPU11が、ステップS112で第1加工を行ったデータに対して、部品Cのモデル個別の第2加工を行う。第2加工では、例えば、上述の処理B1を行う。
【0092】
ステップS128では、CPU11が、上記第1加工及び第2加工による加工後のデータを部品Cの故障診断モデル15Bに入力する。
【0093】
ステップS129では、CPU11が、部品Cの故障診断モデル15Bから出力される判定結果を取得する。
【0094】
ステップS130では、CPU11が、ステップS126又はステップS129で取得した判定結果を記憶部15に記憶し、ステップS131に移行する。
【0095】
ステップS131では、CPU11が、ステップS118、ステップS124、及びステップS130で記憶部15に記憶した判定結果に基づいて、最終的な診断結果を出力し、本故障診断プログラム15Aによる一連の処理を終了する。
【0096】
すなわち、上述の
図6のフローに示すように、故障診断装置10は、CGS40の動作履歴データを取得し、各部品の故障診断モデル15Bに共通するデータ加工を行う。なお、
図6のフローでは、部品毎に故障/健全を判定しているが、複数の部品を含む機能部毎に故障/健全を判定してもよい。
【0097】
判定に際して、例えば、各部品について一定の性能を満たす故障診断モデル15Bが存在するか否かを判定する。故障診断モデル15Bが存在しない場合は、「モデル無し」を判定結果として記憶し、必要に応じて、作業担当者が現場作業などで故障診断作業を行う。故障診断モデル15Bが存在する場合は、部品毎に予め定められたモデル個別のデータ加工を行い、加工後のデータを各部品の故障診断モデル15Bに入力して故障診断を実施する。部品毎に同様のデータ加工及びモデル判定を実行し、最終的な診断結果を、例えば、燃料電池本体、端末画面、リモコン画面等に表示する。
【0098】
次に、
図7を参照して、第1の実施形態に係る故障診断装置10によるモデル生成処理について具体的に説明する。
【0099】
図7は、第1の実施形態に係る故障診断プログラム15Aによるモデル生成処理の流れの一例を示すフローチャートである。なお、上述の通り、本実施形態に係る故障診断装置10では、例えば、部品毎に故障判定を行うため、部品毎に故障診断モデル15Bを生成するものとする。
【0100】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0101】
図7のステップS141では、CPU11が、全ての過去の動作履歴データを学習用データとして読み込む。
【0102】
ステップS142では、CPU11が、部品Aの故障数が一定数(=n)以上有るか否かを判定する。部品Aの故障数が一定数(=n)以上有ると判定した場合(肯定判定の場合)、ステップS143に移行し、部品Aの故障数が一定数(=n)以上無い、つまり、一定数(=n)に満たないと判定した場合(否定判定の場合)、モデル生成処理を実施せずに、本故障診断プログラム15Aの処理を終了する。
【0103】
ここで、モデル生成のためには部品毎に一定数以上の故障数が必要とされる。このため、故障数が一定数に満たない場合には、モデル生成を実施せず、対象部品を故障診断システムの対象外とする。故障数が一定数以上ある場合は、データ加工を行う。
【0104】
ステップS143では、CPU11が、ステップS141で読み込んだ学習用データに対して、データ加工を行う。データ加工は、部品毎に重要となるデータ項目が異なるため、例えば、手動でチューニングを行いながら、トライ・アンド・エラーを繰り返して行う。
【0105】
ステップS144では、CPU11が、ステップS143で加工したデータを用いて部品Aの学習ロジック1のモデルを生成する。
【0106】
ステップS145では、CPU11が、ステップS143で加工したデータを用いて部品Aの学習ロジック2のモデルを生成する。
【0107】
ステップS146では、CPU11が、ステップS143で加工したデータを用いて部品Aの学習ロジック3のモデルを生成する。
【0108】
ステップS147では、CPU11が、部品Aの学習ロジック1のモデル、学習ロジック2のモデル、及び学習ロジック3のモデルの中から、最適モデルを決定する。
【0109】
ステップS148では、CPU11が、ステップS147で決定した最適モデルの性能を表す性能指標値(例えば、適合率、再現率等)が設定値よりも高いか否かを判定する。性能指標値が設定値よりも高いと判定した場合(肯定判定の場合)、ステップS149に移行し、性能指標値が設定値以下であると判定した場合(否定判定の場合)、本故障診断プログラム15Aの処理を終了する。
【0110】
ステップS149では、CPU11が、ステップS147で決定した、部品Aの最適モデルを記憶部15に格納し、本故障診断プログラム15Aによる一連の処理を終了する。
【0111】
一方、ステップS150では、CPU11が、部品Bの故障数が一定数(=n)以上有るか否かを判定する。部品Bの故障数が一定数(=n)以上有ると判定した場合(肯定判定の場合)、ステップS151に移行し、部品Bの故障数が一定数(=n)以上無い、つまり、一定数(=n)に満たないと判定した場合(否定判定の場合)、モデル生成処理を実施せずに、本故障診断プログラム15Aの処理を終了する。
【0112】
ステップS151では、CPU11が、ステップS141で読み込んだ学習用データに対して、データ加工を行う。データ加工は、部品毎に重要となるデータ項目が異なるため、例えば、手動でチューニングを行いながら、トライ・アンド・エラーを繰り返して行う。
【0113】
ステップS152では、CPU11が、ステップS151で加工したデータを用いて部品Bの学習ロジック1のモデルを生成する。
【0114】
ステップS153では、CPU11が、ステップS151で加工したデータを用いて部品Bの学習ロジック2のモデルを生成する。
【0115】
ステップS154では、CPU11が、ステップS151で加工したデータを用いて部品Bの学習ロジック3のモデルを生成する。
【0116】
ステップS155では、CPU11が、部品Bの学習ロジック1のモデル、学習ロジック2のモデル、及び学習ロジック3のモデルの中から、最適モデルを決定する。
【0117】
ステップS156では、CPU11が、ステップS155で決定した最適モデルの性能を表す性能指標値(例えば、適合率、再現率等)が設定値よりも高いか否かを判定する。性能指標値が設定値よりも高いと判定した場合(肯定判定の場合)、ステップS157に移行し、性能指標値が設定値以下であると判定した場合(否定判定の場合)、本故障診断プログラム15Aの処理を終了する。
【0118】
ステップS157では、CPU11が、ステップS155で決定した、部品Bの最適モデルを記憶部15に格納し、本故障診断プログラム15Aによる一連の処理を終了する。
【0119】
すなわち、各部品の故障診断モデル15Bとして格納される最適モデルは、複数の異なる学習ロジックで生成された複数のモデル候補の中で性能が最も高いモデルとされる。具体的に、上述の
図7のフローに示すように、加工したデータを用いて、例えば、ニューラルネットワーク、ランダムフォレスト、サポートベクターマシン等の複数の学習ロジックで機械学習を行い、最適な故障診断モデル及び閾値を決定する。ここでは、第一段階として、学習ロジック毎にパラメータの最適化を実施するため、学習ロジック数分の故障診断モデルが最適モデル候補として生成される。パラメータの内容は、学習ロジックによって異なるが、例えば、ランダムフォレストでは決定木の数と各決定木の深さ等が特に重要であり、サポートベクターマシンの場合はハイパーパラメータC等が特に重要と言われている。
【0120】
これらの最適モデル候補を比較し、最も性能が高い最適モデル候補を最適モデルとして決定する。この比較方法には、例えば、
図8に示すPRAUC(Precision Recall Area Under Curve)法が適している。
【0121】
図8は、本実施形態に係るPRAUC法の概念を説明するための図である。
【0122】
図8において、縦軸は故障判定時の適合率(Precision)を示し、横軸は故障検出の再現率(Recall)を示す。複数の最適モデル候補の故障/健全を判定する閾値を変化させたときの再現率及び適合率をプロットし、PR曲線を作成する。PR曲線の下に位置する領域の面積をAUC(Area Under Curve)という。
【0123】
このPRAUC法によれば、面積AUCが0以上1以下の範囲で大きいほど、モデルの性能が高いとされる。つまり、面積AUCが1のときのPR曲線が理想的なPR曲線とされる。このため、最適モデル候補の中で、面積AUCが最大となるモデル候補を最適モデルとする。そして、いずれかの動作点(閾値)における適合率又は再現率が、事前に設定したメンテナンス運用上要求される設定値より高い場合には、最適モデルの性能が一定水準に到達していると判定される。なお、適合率の設定値と、再現率の設定値とは異なるものとする。この場合には、得られた最適モデルを、故障診断システムの故障診断モデルとして実装する。
【0124】
なお、複数の最適モデル候補の中から1つの最適モデルを決定する以外にも、例えば、複数の最適モデル候補同士をアンサンブル学習により融合し、1つの最適モデルを生成する手法も有効である。また、最適モデルが要求される性能に満たない場合は、故障診断システムには実装されない。このため、上述の
図6のフローにおいて「モデル無し」と判定される。
【0125】
次に、
図9を参照して、故障診断モデル15Bの性能を表す指標について具体的に説明する。性能を表す指標には、上述したように、例えば、故障判定時の適合率及び故障検出の再現率の少なくとも一方が用いられる。
【0126】
図9は、本実施形態に係る適合率及び再現率の説明に供する図である。
【0127】
図9に示す表は、部品Aの故障診断モデル15Bについて、予測と実態との対応関係を示している。枠内はデータ数を示す。つまり、予測が健全、実態が健全である場合のデータ数は28(=A)である。予測が故障、実態が健全である場合のデータ数は1(=B)である。予測が健全、実態が故障である場合のデータ数は12(=C)である。予測が故障、実態が故障である場合のデータ数は9(=D)である。
【0128】
図9の例では、故障判定時の適合率=D/(B+D)=9/10=90%、と求まる。つまり、この場合、適合率とは、故障と予測された全データ数に対する実態が故障であったデータ数の割合とされる。
【0129】
また、故障検出の再現率は、故障を見つける割合を表し、
図9の例では、再現率=D/(C+D)、と表される。つまり、再現率とは、実態が故障であった全データ数に対する故障と予測されたデータ数の割合とされる。
【0130】
また、健全判定時の適合率を採用してもよい。
図9の例では、健全判定時の適合率=A/(A+C)、と表される。つまり、この場合、適合率とは、健全と予測された全データ数に対する実態が健全であったデータ数の割合とされる。
【0131】
また、故障診断モデル15Bの性能を表す指標には、正解率を用いてもよい。この正解率とは、予測した全データ数に対する正解したデータ数の割合とされる。
【0132】
上記において、適合率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、適合率が設定値より高い場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。また、再現率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、再現率が設定値より高い場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。また、正解率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、正解率が設定値より高い場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。
【0133】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0134】
このように本実施形態によれば、CGSのエラーが検知された場合に、エラー検知時の動作履歴データをモデル共通、モデル個別の2段階で加工した上で故障診断モデルに入力して故障診断が行われる。このため、CGSの故障診断を、作業担当者の現場での負荷を軽減させつつ、精度良く行うことができる。
【0135】
[第2の実施形態]
第2の実施形態では、CGS40のエラーの種別に応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性のある経路を絞り込み、絞り込んだ経路により特定される機能部の故障診断モデル15Bを選択的に用いる形態について説明する。
【0136】
図10は、第2の実施形態に係る故障診断装置10Aの機能的な構成の一例を示すブロック図である。
【0137】
図10に示すように、本実施形態に係る故障診断装置10AのCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、取得部11A、加工部11B、推定部11C、学習部11D、出力部11E、及び経路診断部11Fとして機能する。なお、上記第1の実施形態で説明した故障診断装置10と同じ構成要素には同じ符号を付し、その繰り返しの説明は省略する。
【0138】
経路診断部11Fは、燃料電池ユニット50のエラーを検知した場合に、CGS40からの動作履歴データに含まれるエラーコードに応じた経路診断を特定する。そして、経路診断部11Fは、特定したエラーコードに応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性がある経路を絞り込む。なお、ガス経路52、改質水経路53、及び空気経路54は、上述したように、燃料電池ユニット50に設けられ、燃料電池モジュール51に接続された経路である。
【0139】
加工部11Bは、上述したように、取得部11Aにより取得された動作履歴データをモデル共通、モデル個別の2段階に加工する。推定部11Cは、記憶部15に格納されている複数の故障診断モデル15Bの中から、経路診断部11Fにより絞り込んだ経路によって特定される機能部の故障診断モデル15Bを選択する。そして、推定部11Cは、選択した故障診断モデル15Bの各々に対して、加工部11Bによって加工されたデータを入力し、故障診断モデル15Bの各々から出力される判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。
【0140】
また、経路診断部11Fは、経路診断による経路の絞り込みの結果を、エラーの種別を表すエラーコードと共に通知する制御を行うようにしてもよい。なお、エラーコードの通知先は、例えば、作業担当者60が持つメンテナンス用端末70とされる。
【0141】
また、経路診断部11Fは、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対する経路診断を、燃料電池ユニット50の温度帯に応じた方法を用いて行う。
【0142】
ここで、本実施形態に係る記憶部15には、第1データテーブル15Cと、第2データテーブル15Dとが記憶されている。これらの第1データテーブル15C及び第2データテーブル15Dは、経路診断部11Fにより参照可能とされる。
【0143】
図11は、本実施形態に係る第1データテーブル15Cの一例を示す図である。
【0144】
図11に示す第1データテーブル15Cは、エラー種別(エラーコード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の具体的な経路診断方法については後述する。
【0145】
なお、エラーコードDでは、ガス経路52のみが対象とされているため、エラー原因がガス経路52と特定される。同様に、エラーコードFでは改質水経路53のみが対象とされているため、エラー原因が改質水経路53と特定され、エラーコードGでは空気経路54のみが対象とされているため、エラー原因が空気経路54と特定される。また、エラーコードHは、ガス、改質水、及び空気の各経路とは無関係のエラーである。
図11の例では、これらのエラーコードD、F、G、Hについての経路診断は行われないが、エラーコードD、F、Gについては経路診断を行うようにしてもよい。
【0146】
図12は、本実施形態に係る第2データテーブル15Dの一例を示す図である。
【0147】
図12に示す第2データテーブル15Dは、温度帯の区分けと各温度帯における改質水、ガス、及び空気の経路診断方法を規定したデータテーブルである。燃料電池ユニット50の温度帯は、第1温度帯の一例である温度帯[イ]、第2温度帯の一例である温度帯[ロ]、第3温度帯の一例である温度帯[ハ]、及び、第4温度帯の一例である温度帯[ニ]を含んでいる。
【0148】
燃料電池モジュール51の最高温度を最高温度T1[℃]とし、改質器51B(改質触媒)へのガス導入により炭素析出が生じる温度(例えば、500℃)を炭素析出温度T2[℃]とし、燃料電池スタック51Aへの空気導入により燃料電池セルの再酸化が生じる温度(例えば、300℃)を再酸化温度T3[℃]とし、改質器51Bに導入される改質水が気化する温度(例えば、100℃)を気化温度T4[℃]とした場合、温度帯[イ]は、炭素析出温度T2より高く、最高温度T1以下の温度帯である。温度帯[ロ]は、再酸化温度T3より高く、炭素析出温度T2以下の温度帯である。温度帯[ハ]は、気化温度T4より高く、再酸化温度T3以下の温度帯である。温度帯[ニ]は、気化温度T4以下の温度帯である。
【0149】
ガス経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]である場合に、改質水及びガスを導入し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]である場合に、ガスを導入する方法である。温度帯[イ]で改質水を導入するのは、炭素の析出を防止するためである。なお、温度帯[ロ]及び温度帯[ハ]では、改質水及びガスを導入してもよい。なお、燃料電池ユニット50の温度には、燃料電池スタック51Aの温度であるスタック温度及び改質器51Bの温度である改質温度の少なくとも一方が用いられる。例えば、スタック温度及び改質温度のうち、より高温な温度を燃料電池ユニット50の温度としてもよいし、スタック温度及び改質温度の平均温度を燃料電池ユニット50の温度としてもよい。また、燃料電池ユニット50の温度情報は、CGS40の制御装置41から取得される。燃料電池ユニット50の温度情報は、例えば、制御装置41から故障診断装置10Aに送信される動作履歴データに含めておけばよい。
【0150】
改質水経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]である場合に、改質水を導入し、燃料電池ユニット50の温度が温度帯[ニ]である場合に、診断不可とする方法である。
【0151】
空気経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]である場合に、改質水、ガス、及び空気を導入し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]である場合に、空気を導入する方法である。温度帯[イ]又は温度帯[ロ]で改質水、ガス、及び空気を導入するのは、セルの再酸化を防止するためである。なお、温度帯[イ]では、改質水及び空気を導入してもよい。温度帯[ロ]では、改質水及び空気、又は、ガス及び空気を導入してもよい。温度帯[ハ]では、改質水、ガス、及び空気、又は、改質水及び空気、又は、ガス及び空気を導入してもよい。
【0152】
次に、
図13を参照して、第2の実施形態に係る故障診断装置10Aの作用について説明する。
【0153】
図13は、第2の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。
【0154】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0155】
図13のステップS161では、CPU11が、CGS40の制御装置41から送信された動作履歴データ(ここではデータ1)を取得する。
【0156】
ステップS162では、CPU11が、ステップS161で取得したデータ1からエラーコードを抽出する。
【0157】
ステップS163では、CPU11が、ステップS162で抽出したエラーコードがエラーコードAであるか否かを判定する。エラーコードAであると判定した場合(肯定判定の場合)、ステップS164に移行し、エラーコードAではないと判定した場合(否定判定の場合)、ステップS165に移行する。
【0158】
ステップS164では、CPU11が、一例として、上述の
図11に示す第1データテーブル15Cを参照し、エラーコードAに対応付けられた経路診断Aを実施し、故障の可能性がある経路の絞り込みを行い、ステップS171に移行する。なお、この経路診断Aの具体的な方法については後述する。
【0159】
一方、ステップS165では、CPU11が、ステップS162で抽出したエラーコードがエラーコードBであるか否かを判定する。エラーコードBであると判定した場合(肯定判定の場合)、ステップS166に移行し、エラーコードBではないと判定した場合(否定判定の場合)、ステップS167に移行する。
【0160】
ステップS166では、CPU11が、一例として、上述の
図11に示す第1データテーブル15Cを参照し、エラーコードBに対応付けられた経路診断Bを実施し、ステップS171に移行する。なお、この経路診断Bの具体的な方法については後述する。
【0161】
一方、ステップS167では、CPU11が、ステップS162で抽出したエラーコードがエラーコードCであるか否かを判定する。エラーコードCであると判定した場合(肯定判定の場合)、ステップS168に移行し、エラーコードCではないと判定した場合(否定判定の場合)、ステップS169に移行する。
【0162】
ステップS168では、CPU11が、一例として、上述の
図11に示す第1データテーブル15Cを参照し、エラーコードCに対応付けられた経路診断Cを実施し、ステップS171に移行する。なお、この経路診断Cの具体的な方法については後述する。
【0163】
一方、ステップS169では、CPU11が、ステップS162で抽出したエラーコードがエラーコードEであるか否かを判定する。エラーコードEであると判定した場合(肯定判定の場合)、ステップS170に移行し、エラーコードEではないと判定した場合(否定判定の場合)、エラーコードA、B、C、E以外のエラーコードD、F、G、Hにつて経路診断を行うことなく、ステップS171に移行する。
【0164】
ステップS170では、CPU11が、一例として、上述の
図11に示す第1データテーブル15Cを参照し、エラーコードEに対応付けられた経路診断Eを実施し、ステップS171に移行する。なお、この経路診断Eの具体的な方法については後述する。
【0165】
ステップS171では、CPU11が、ステップS164又はステップS166又はステップS168又はステップS170の経路診断による絞り込みの結果である故障経路を特定する、あるいは、エラーコードA、B、C、E以外のエラーコードD、F、G、Hに対応する故障経路を特定する。
【0166】
ステップS172では、CPU11が、記憶部15に記憶されている複数の故障診断モデルの中から、ステップS171で特定した故障経路によって特定される機能部の故障診断モデルを選択する。
【0167】
ステップS173では、CPU11が、ステップS172で選択した故障診断モデルのみを用いて故障診断を行い、本故障診断プログラム15Aによる一連の処理を終了する。
【0168】
次に、
図14を参照して、
図13のステップS164に係る経路診断Aの具体的な方法について説明する。
【0169】
図14は、第2の実施形態に係る経路診断Aの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Aでは、一例として、改質水経路53、ガス経路52、及び空気経路54の順番で経路診断が実施される。
【0170】
図14のステップS181では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。なお、燃料電池ユニット50の温度には、上述したように、スタック温度及び改質温度の少なくとも一方が用いられる。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS182に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS183に移行する。
【0171】
ステップS182では、CPU11が、CGS40に対して、改質水経路53に改質水を導入する制御を行い、ステップS184に移行する。
【0172】
一方、ステップS183では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS189に移行する。
【0173】
ステップS184では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS185に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS186に移行する。
【0174】
ステップS185では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS188に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS189に移行する。
【0175】
一方、ステップS186では、CPU11が、改質水経路53に対して経路異常タグを付与する。
【0176】
ステップS187では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS189に移行する。
【0177】
ステップS188では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
【0178】
一方、ステップS189では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
【0179】
ステップS190では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS191に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS195に移行する。
【0180】
ステップS191では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS192に移行し、改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS194に移行する。
【0181】
ステップS192では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機する。
【0182】
ステップS193では、CPU11が、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS200に移行する。
【0183】
一方、ステップS194では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS198に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS199に移行する。
【0184】
一方、ステップS195では、CPU11が、ガス経路52に対して経路異常タグを付与する。
【0185】
ステップS196では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS194に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS197に移行する。
【0186】
ステップS197では、CPU11が、燃料電池ユニット50の温度が温度帯[ハ]以下になるまで待機し、ステップS199に移行する。
【0187】
ステップS198では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS200に移行する。
【0188】
一方、ステップS199では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS200に移行する。
【0189】
ステップS200では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS202に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS201に移行する。
【0190】
ステップS201では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS202に移行する。
【0191】
ステップS202では、CPU11が、エラーを確定、つまり、改質水経路53、ガス経路52、及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図13のステップS171にリターンする。
【0192】
次に、
図15を参照して、
図13のステップS166に係る経路診断Bの具体的な方法について説明する。
【0193】
図15は、第2の実施形態に係る経路診断Bの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Bでは、一例として、改質水経路53及びガス経路52の順番で経路診断が実施される。
【0194】
図15のステップS211では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS212に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS213に移行する。
【0195】
ステップS212では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS214に移行する。
【0196】
一方、ステップS213では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS219に移行する。
【0197】
ステップS214では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS215に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS216に移行する。
【0198】
ステップS215では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS218に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS219に移行する。
【0199】
一方、ステップS216では、CPU11が、改質水経路53に対して経路異常タグを付与する。
【0200】
ステップS217では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS219に移行する。
【0201】
ステップS218では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS220に移行する。
【0202】
一方、ステップS219では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS220に移行する。
【0203】
ステップS220では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS222に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS221に移行する。
【0204】
ステップS221では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS222に移行する。
【0205】
ステップS222では、CPU11が、エラーを確定、つまり、改質水経路53及びガス経路52のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図13のステップS171にリターンする。
【0206】
次に、
図16を参照して、
図13のステップS168に係る経路診断Cの具体的な方法について説明する。
【0207】
図16は、第2の実施形態に係る経路診断Cの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Cでは、一例として、ガス経路52及び空気経路54の順番で経路診断が実施される。
【0208】
図16のステップS231では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS232に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS233に移行する。
【0209】
ステップS232では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS234に移行する。
【0210】
一方、ステップS233では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS234に移行する。
【0211】
ステップS234では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS235に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS236に移行する。
【0212】
ステップS235では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS237に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS238に移行する。
【0213】
一方、ステップS236では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS235に移行する。
【0214】
ステップS237では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS239に移行する。
【0215】
一方、ステップS238では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS239に移行する。
【0216】
ステップS239では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS241に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS240に移行する。
【0217】
ステップS240では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS241に移行する。
【0218】
ステップS241では、CPU11が、エラーを確定、つまり、ガス経路52及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図13のステップS171にリターンする。
【0219】
次に、
図17を参照して、
図13のステップS170に係る経路診断Eの具体的な方法について説明する。
【0220】
図17は、第2の実施形態に係る経路診断Eの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Eでは、一例として、改質水経路53及び空気経路54の順番で経路診断が実施される。
【0221】
図17のステップS251では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS252に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS253に移行する。
【0222】
ステップS252では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS254に移行する。
【0223】
一方、ステップS253では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS258に移行する。
【0224】
ステップS254では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS255に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS256に移行する。
【0225】
ステップS255では、CPU11が、一例として、上述の
図12に示す第2データテーブル15Dを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS257に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS258に移行する。
【0226】
一方、ステップS256では、CPU11が、改質水経路53に対して経路異常タグを付与し、ステップS258に移行する。
【0227】
ステップS257では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS259に移行する。
【0228】
一方、ステップS258では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS259に移行する。
【0229】
ステップS259では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS261に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS260に移行する。
【0230】
ステップS260では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS261に移行する。
【0231】
ステップS261では、CPU11が、エラーを確定、つまり、改質水経路53及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図13のステップS171にリターンする。
【0232】
なお、本実施形態では、故障診断装置10Aを外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10AはCGS40の制御装置41として実現してもよい。
【0233】
このように本実施形態によれば、故障経路を絞り込み、絞り込んだ故障経路によって特定される機能部の故障診断モデルのみを選択的に用いて故障診断が行われる。このため、故障診断を効率的に、かつ、精度良く行うことができる。
【0234】
以上、上記各実施形態として、故障診断装置及び故障診断システムを例示して説明したが、各実施形態は、故障診断装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。各実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【0235】
その他、上記各実施形態で説明した故障診断装置及び故障診断システムの構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0236】
また、上記各実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0237】
また、上記各実施形態では、プログラムを実行することにより、各実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。各実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0238】
10、10A 故障診断装置
11、42 CPU
11A 取得部
11B 加工部
11C 推定部
11D 学習部
11E 出力部
11F 経路診断部
12、43 ROM
13、44 RAM
14、45 I/O
15、46 記憶部
15A 故障診断プログラム
15B 故障診断モデル
15C 第1データテーブル
15D 第2データテーブル
16 表示部
17 操作部
18、47 通信部
30 ユーザ宅
40 CGS
41 制御装置
46A 制御プログラム
48 機器I/F
49 CGS本体部
50 燃料電池ユニット
51 燃料電池モジュール
51A 燃料電池スタック
51B 改質器
52 ガス経路
53 改質水経路
54 空気経路
60 作業担当者
70 メンテナンス用端末
100 故障診断システム