(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】故障診断装置、故障診断システム、及び故障診断プログラム
(51)【国際特許分類】
H01M 8/04 20160101AFI20231218BHJP
H01M 8/04664 20160101ALI20231218BHJP
H01M 8/00 20160101ALI20231218BHJP
H01M 8/0612 20160101ALI20231218BHJP
H01M 8/10 20160101ALI20231218BHJP
H01M 8/0432 20160101ALI20231218BHJP
G05B 23/02 20060101ALI20231218BHJP
G06Q 10/20 20230101ALI20231218BHJP
【FI】
H01M8/04 Z
H01M8/04664
H01M8/00 Z
H01M8/0612
H01M8/10
H01M8/0432
G05B23/02 T
G05B23/02 302R
G06Q10/20
(21)【出願番号】P 2020150114
(22)【出願日】2020-09-07
【審査請求日】2023-03-02
(73)【特許権者】
【識別番号】000220262
【氏名又は名称】東京瓦斯株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】香田 淳也
(72)【発明者】
【氏名】木村 駿介
(72)【発明者】
【氏名】高須 俊樹
【審査官】大内 俊彦
(56)【参考文献】
【文献】特開2006-339123(JP,A)
【文献】特表2019-521491(JP,A)
【文献】特開2003-223917(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01M 8/00-8/2495
G05B 23/02
G06Q 10/20
(57)【特許請求の範囲】
【請求項1】
燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、
過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて多変量解析又は機械学習することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する、複数種類の故障診断モデルの各々に対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記複数種類の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
を備えた故障診断装置。
【請求項2】
前記複数種類の故障診断モデルは、第1故障診断モデル、及び、前記第1故障診断モデルとは生成手法が異なる第2故障診断モデルを含み、
前記推定部は、前記入力したデータに対する前記第1故障診断モデル及び前記第2故障診断モデルの各々の判定結果が両方共に故障である場合に、前記第1故障診断モデル及び前記第2故障診断モデルに対応付けられた機能部を故障と推定し、前記入力したデータに対する前記第1故障診断モデル及び前記第2故障診断モデルの各々の判定結果が両方共に健全である場合に、前記第1故障診断モデル及び前記第2故障診断モデルに対応付けられた機能部を健全と推定し、前記入力したデータに対する前記第1故障診断モデル及び前記第2故障診断モデルのいずれか一方の判定結果が故障であり他方の判定結果が健全である場合に、前記第1故障診断モデル及び前記第2故障診断モデルに対応付けられた機能部を故障疑いと推定する
請求項1に記載の故障診断装置。
【請求項3】
前記第1故障診断モデル及び前記第2故障診断モデルは、ニューラルネットワーク、ランダムフォレスト、及びサポートベクターマシンのうちのいずれか2つの組み合わせである
請求項2に記載の故障診断装置。
【請求項4】
前記推定部は、前記複数種類の故障診断モデルの各々から出力される判定結果を用いることに代えて、前記複数種類の故障診断モデルのうちのいずれか1つの故障診断モデルを選択し、選択した故障診断モデルに対して複数の異なる閾値を設定し、設定した複数の異なる閾値及び前記入力したデータに基づいて、前記選択した故障診断モデルに対応付けられた機能部を故障又は健全又は故障疑いと推定する
請求項1~請求項3の何れか1項に記載の故障診断装置。
【請求項5】
前記複数の異なる閾値は、故障と予測された全データ数に対する実態が故障であったデータ数の割合である適合率が90%以上100%以下となる閾値と、実態が故障であった全データ数に対する故障と予測されたデータ数の割合である再現率が90%以上100%以下となる閾値と、を含む
請求項4に記載の故障診断装置。
【請求項6】
前記燃料電池コージェネレーションシステムは、発電を行う燃料電池モジュールが設けられ、かつ、前記燃料電池モジュールに接続されたガス経路、改質水経路、及び空気経路が設けられた燃料電池ユニットを含み、
前記燃料電池ユニットの動作の異常を検知した場合に、前記異常の種別に応じた経路診断を、前記ガス経路、前記改質水経路、及び前記空気経路の少なくとも1つに対して行い、故障の可能性がある経路を絞り込む経路診断部を更に備え、
前記推定部は、前記経路診断部で絞り込まれた経路により特定される機能部の複数種類の故障診断モデルのみを選択的に用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する
請求項1~請求項3の何れか1項に記載の故障診断装置。
【請求項7】
前記動作履歴データは、前記異常の種別を表すエラーコードを含み、
前記エラーコードは、前記ガス経路、前記改質水経路、及び前記空気経路を対象とする第1エラーコード、前記ガス経路及び前記改質水経路を対象とする第2エラーコード、前記ガス経路及び前記空気経路を対象とする第3エラーコード、及び、前記改質水経路及び前記空気経路を対象とする第4エラーコードのいずれかである
請求項6に記載の故障診断装置。
【請求項8】
前記経路診断部は、前記ガス経路、前記改質水経路、及び前記空気経路の少なくとも1つに対する前記経路診断を、前記燃料電池ユニットの温度帯に応じた方法を用いて行う
請求項6又は請求項7に記載の故障診断装置。
【請求項9】
前記燃料電池モジュールは、電解質層、燃料極、及び空気極を有する複数の燃料電池セルが積層された燃料電池スタックと、炭化水素原料を含むガスを改質する改質器と、を含み、
前記燃料電池ユニットの温度帯は、前記改質器へのガス導入により炭素析出が生じる温度である炭素析出温度より高く、前記燃料電池モジュールの最高温度以下の第1温度帯と、前記燃料電池スタックへの空気導入により燃料電池セルの再酸化が生じる温度である再酸化温度より高く、前記炭素析出温度以下の第2温度帯と、前記改質器に導入される改質水が気化する温度である気化温度より高く、前記再酸化温度以下の第3温度帯と、前記気化温度以下の第4温度帯と、を含み、
前記ガス経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯である場合に、改質水及びガスを導入し、前記燃料電池ユニットの温度が前記第2温度帯又は前記第3温度帯又は前記第4温度帯である場合に、ガスを導入する方法であり、
前記改質水経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯又は前記第2温度帯又は前記第3温度帯である場合に、改質水を導入し、前記燃料電池ユニットの温度が前記第4温度帯である場合に、診断不可とする方法であり、
前記空気経路に対する前記経路診断の方法は、前記燃料電池ユニットの温度が前記第1温度帯である場合に、少なくとも改質水及び空気を導入し、前記燃料電池ユニットの温度が前記第2温度帯である場合に、改質水及びガスの少なくとも一方と空気とを導入し、前記燃料電池ユニットの温度が前記第3温度帯又は前記第4温度帯である場合に、空気を導入する方法である
請求項8に記載の故障診断装置。
【請求項10】
燃料電池コージェネレーションシステムと、
前記燃料電池コージェネレーションシステムと接続された故障診断装置と、
を備え、
前記燃料電池コージェネレーションシステムは、
自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、
前記故障診断装置は、
前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、
過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて多変量解析又は機械学習することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する、複数種類の故障診断モデルの各々に対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記複数種類の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
を備えた故障診断システム。
【請求項11】
コンピュータを、請求項1~請求項9の何れか1項に記載の故障診断装置が備える各部として機能させるための故障診断プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、故障診断装置、故障診断システム、及び故障診断プログラムに関し、詳しくは、燃料電池コージェネレーションシステムの故障を診断する故障診断装置、故障診断システム、及び故障診断プログラムに関する。
【背景技術】
【0002】
従来の故障個所診断システムは、ロジスティック回帰モデルを用いて、発電システムの運転情報を表す複数の説明変数から、発電システムの複数個所のうち所定個所が故障しており他の個所が故障していない確率を表す目的変数を特定するようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術によれば、ロジスティック回帰モデルを用いて故障診断を行うため、高精度なロジスティック回帰モデルを用いることができれば、現場にて故障診断作業を行う必要がなくなる場合がある。しかしながら、1つのロジスティック回帰モデルを用いて故障診断を行うため、診断精度が十分とは言えない。特に、燃料電池システムのように部品点数の多い機器では、本来健全である部品が故障と誤判定されることで修理部品が増え、作業担当者の現場での作業の負荷が増大する。
【0005】
本発明は、上記事情に鑑みてなされたものであって、燃料電池コージェネレーションシステムの故障診断を、作業担当者の現場での負担を軽減させつつ、精度良く行うことができる故障診断装置、故障診断システム、及び故障診断プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様に係る故障診断装置は、燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて多変量解析又は機械学習することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する、複数種類の故障診断モデルの各々に対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記複数種類の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、を備えている。
【0007】
また、本発明の一態様に係る故障診断システムは、燃料電池コージェネレーションシステムと、前記燃料電池コージェネレーションシステムと接続された故障診断装置と、を備え、前記燃料電池コージェネレーションシステムが、自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、前記故障診断装置が、前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて多変量解析又は機械学習することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する、複数種類の故障診断モデルの各々に対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記複数種類の故障診断モデルの各々から出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、を備えている。
【0008】
また、本発明の一態様に係る故障診断プログラムは、コンピュータを、上記故障診断装置が備える各部として機能させる。
【発明の効果】
【0009】
以上詳述したように、本発明によれば、燃料電池コージェネレーションシステムの故障診断を、作業担当者の現場での負担を軽減させつつ、精度良く行うことができる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施形態に係る故障診断システムの構成の一例を示す図である。
【
図2】第1の実施形態に係るCGSの構成の一例を示すブロック図である。
【
図3】第1の実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
【
図4】第1の実施形態に係る故障診断装置の電気的な構成の一例を示すブロック図である。
【
図5】第1の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図6】第1の実施形態に係る故障診断プログラムによる処理の流れの一例を示すフローチャートである。
【
図7】(A)は第1故障診断モデルの判定結果の一例を示すグラフである。(B)は第2故障診断モデルの判定結果の一例を示すグラフである。(C)は第1故障診断モデル及び第2故障診断モデルを用いた場合の判定結果の一例を示すグラフである。
【
図8】第1の実施形態に係る故障診断プログラムによる学習処理の流れの一例を示すフローチャートである。
【
図9】第2の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図10】第2の実施形態に係る適合率及び再現率の説明に供する図である。
【
図11】第1故障診断モデルの判定結果の一例を示すグラフである。
【
図12】第2の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図13】実施形態に係る第1データテーブルの一例を示す図である。
【
図14】実施形態に係る第2データテーブルの一例を示す図である。
【
図15】第3の実施形態に係る故障診断プログラムによる処理の流れの一例を示すフローチャートである。
【
図16】第3の実施形態に係る経路診断Aの処理の流れの一例を示すフローチャートである。
【
図17】第3の実施形態に係る経路診断Bの処理の流れの一例を示すフローチャートである。
【
図18】第3の実施形態に係る経路診断Cの処理の流れの一例を示すフローチャートである。
【
図19】第3の実施形態に係る経路診断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から取得した動作履歴データをそのまま、あるいは、故障診断モデルに入力可能なデータに加工し、加工したデータを複数種類の故障診断モデルの各々に入力する。複数種類の故障診断モデルの各々は、機能部毎に「故障有り(故障)」又は「故障なし(健全)」を出力する。具体的に、データが示す指標値が閾値以上の場合に「故障有り」を出力し、データが示す指標値が閾値未満の場合に「故障なし」を出力する。故障診断装置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として機能する。
【0051】
また、記憶部15には、上述したように、機能部毎に複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cが予め格納されている。つまり、1つの機能部(又は部品)に対して複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cが対応している。これら第1故障診断モデル15B及び第2故障診断モデル15Cの各々は、上述したように、多変量解析あるいは機械学習により得られる、CGS40の機能部毎に故障を診断するための数理モデルである。第1故障診断モデル15Bと、第2故障診断モデル15Cとは、モデルの生成手法、つまり、生成ロジックが異なっている。第1故障診断モデル15B及び第2故障診断モデル15Cは、例えば、ニューラルネットワーク、ランダムフォレスト、及びサポートベクターマシンのうちのいずれか2つの組み合わせとされる。第1故障診断モデル15Bは、例えば、ニューラルネットワークであり、第2故障診断モデル15Cは、例えば、ランダムフォレストである。なお、1つの機能部(又は部品)に対して3つ以上の異なる故障診断モデルを対応させてもよい。
【0052】
取得部11Aは、上述のCGS40から送信された動作履歴データを取得する。例えば、動作履歴データとしてデータ1を取得する。
【0053】
推定部11Bは、取得部11Aにより取得された動作履歴データを、第1故障診断モデル15B及び第2故障診断モデル15Cの各々に入力可能なデータに加工し、加工して得られたデータを、第1故障診断モデル15B及び第2故障診断モデル15Cの各々に対して入力する。なお、動作履歴データを加工することなくそのまま第1故障診断モデル15B及び第2故障診断モデル15Cの各々に対して入力してもよい。そして、推定部11Bは、第1故障診断モデル15B及び第2故障診断モデル15Cの各々から出力される判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。なお、第1故障診断モデル15B及び第2故障診断モデル15Cの各々は、例えば、判定結果として、故障又は健全を出力する2クラス分類を行うモデルとされる。
【0054】
具体的に、推定部11Bは、入力したデータに対する第1故障診断モデル15B及び第2故障診断モデル15Cの各々の判定結果が両方共に故障である場合に、第1故障診断モデル15B及び第2故障診断モデル15Cに対応付けられた機能部を故障と推定する。また、推定部11Bは、入力したデータに対する第1故障診断モデル15B及び第2故障診断モデル15Cの各々の判定結果が両方共に健全である場合に、第1故障診断モデル15B及び第2故障診断モデル15Cに対応付けられた機能部を健全と推定する。また、推定部11Bは、入力したデータに対する第1故障診断モデル15B及び第2故障診断モデル15Cのいずれか一方の判定結果が故障であり他方の判定結果が健全である場合に、第1故障診断モデル15B及び第2故障診断モデル15Cに対応付けられた機能部を故障疑いと推定する。
【0055】
学習部11Cは、過去に得られた動作履歴データ群を学習用データとして機械学習を行うことにより第1故障診断モデル15B及び第2故障診断モデル15Cの各々を生成する。学習部11Cにより生成された第1故障診断モデル15B及び第2故障診断モデル15Cは、出力部11Dを介して、記憶部15に格納される。なお、これら第1故障診断モデル15B及び第2故障診断モデル15Cの格納場所は、記憶部15に限定されない。例えば、外部の記憶装置に格納されていてもよい。また、本実施形態では、自装置で機械学習する構成としているが、外部装置で機械学習を行う構成としてもよい。また、機械学習に代えて、多変量解析を用いて第1故障診断モデル15B及び第2故障診断モデル15Cの各々を生成してもよい。
【0056】
出力部11Dは、推定部11Bにより推定された機能部毎の最終的な診断結果を、例えば、記憶部15に出力して保持する。また、出力部11Dは、メンテナンス用端末70からのアクセスに応じて、記憶部15に保持した最終的な診断結果をメンテナンス用端末70に送信する。なお、この最終的な診断結果には、機能部毎(あるいは部品毎)に、診断結果(故障、健全、故障疑い)及び取るべき対応等が含まれている。例えば、データ1の判定結果が「故障」であれば、作業担当者60が取るべき対応は「部品交換」となる。また、データ1の判定結果が「故障疑い」であれば、作業担当者60が取るべき対応は「部品動作確認」となる。また、データ1の判定結果が「健全」であれば、作業担当者60が取るべき対応は「なし」となる。
【0057】
次に、
図6を参照して、第1の実施形態に係る故障診断装置10の作用を説明する。
【0058】
図6は、第1の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。なお、本実施形態における機能部は1つの部品として表されるものとする。
【0059】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0060】
図6のステップS111では、CPU11が、CGS40の制御装置41から送信された動作履歴データ(ここではデータ1)を取得する。
【0061】
ステップS112では、CPU11が、ステップS111で取得したデータ1を、機能部毎(ここでは部品毎)の第1故障診断モデル15B及び第2故障診断モデル15Cの各々に入力可能なデータに加工する。ここでいう加工とは、データ1に対して、データの一部を削除、データの一部を抽出、新規データの追加等を行うことを意味する。また、加工には、データ1のデータ形式を、個々の故障診断モデルに適した形式に加工することも含まれる。なお、動作履歴データをそのまま用いる場合には加工は省略される。
【0062】
ステップS113では、CPU11が、ステップS112で加工したデータ1を、第1故障診断モデル15Bに入力する。
【0063】
ステップS114では、CPU11が、第1故障診断モデル15Bから出力される判定結果を記憶部15に保持する。
【0064】
ステップS115では、CPU11が、ステップS112で加工したデータ1を、第2故障診断モデル15Cに入力する。
【0065】
ステップS116では、CPU11が、第2故障診断モデル15Cから出力される判定結果を記憶部15に保持する。
【0066】
ステップS117では、CPU11が、ステップS114で保持した第1故障診断モデル15Bの判定結果及びステップS116で保持した第2故障診断モデル15Cの判定結果に基づいて、最終的な診断結果を、例えば、記憶部15に出力し、本故障診断プログラム15Aによる一連の処理を終了する。なお、データ1に対する故障診断処理は、予め定められた複数の機能部の数だけ繰り返し行われる。
【0067】
次に、
図7(A)~
図7(C)を参照して、第1の実施形態に係る第1故障診断モデル15B及び第2故障診断モデル15Cを用いた故障診断処理について具体的に説明する。
【0068】
図7(A)は、第1故障診断モデル15Bの判定結果の一例を示すグラフである。
図7(B)は、第2故障診断モデル15Cの判定結果の一例を示すグラフである。
図7(C)は、第1故障診断モデル15B及び第2故障診断モデル15Cを用いた場合の判定結果の一例を示すグラフである。
【0069】
図7(A)~
図7(C)において、黒丸はある部品Aが実際に故障したときのデータ、白丸はその部品Aが実際に故障していないときのデータである。縦軸と横軸は各データ項目(温度、電圧等)を示し、実際は多次元であるが、説明を簡単にするため、模式的に2次元グラフとして示している。
【0070】
図7(A)に示すように、境界線TH1は、任意の生成ロジックで生成した第1故障診断モデル15B(例えば、ニューラルネットワーク)の閾値を表している。第1故障診断モデル15Bは、データがこの境界線TH1のどちら側にプロットされるかで故障の有無を判定する。例えば、領域R1は故障有りと判定する領域を示し、領域R2は故障無し(健全)と判定する領域を示す。
図7(A)のプロットを見ると、境界線TH1の周辺を境に故障の有無を大別することができる。しかし、境界線TH1の付近には両方のプロットが混在する曖昧な領域があり、データだけで正確な診断を下すことは難しい。例えば、機械学習モデルの生成時におけるパラメータを強くすることで複雑な境界線TH1を描くことは可能である。しかし、複雑な境界線TH1を描くには膨大なデータ数が必要であり、特に収集データ数に限りのあるCGS40において曖昧な領域の正確な診断は困難であると言える。
【0071】
図7(B)に示すように、
図7(A)に示す第1故障診断モデル15Bとは別の生成ロジックで生成した第2故障診断モデル15C(例えば、ランダムフォレスト)を用意する。境界線TH2は、第2故障診断モデル15Cの閾値を表している。例えば、領域R3は故障有りと判定する領域を示し、領域R4は故障無し(健全)と判定する領域を示す。上述の通り、第2故障診断モデル15Cについても、第1故障診断モデル15Bと同様に正確な診断を行うことはできない。しかし、境界線TH2の作成方法が第1故障診断モデル15Bとは異なるため、似た精度で異なる境界線を作成することができる。
【0072】
図7(C)に示すように、診断精度を向上させるために、第1故障診断モデル15Bの境界線TH1及び第2故障診断モデル15Cの境界線TH2の両方を使用して、故障の判定を行う。例えば、領域R5は故障有りと判定する領域を示し、領域R6は故障無し(健全)と判定する領域を示し、領域R7は故障疑いと判定する領域を示す。すなわち、判定結果は、以下の(1)~(3)のように分類される。
【0073】
(1)第1故障診断モデル15B及び第2故障診断モデル15Cが共に故障有りと判定した場合 → 部品Aは故障有りとし、部品Aの交換を行う。
(2)第1故障診断モデル15Bの判定結果と第2故障診断モデル15Cの判定結果とが異なる場合 → 部品Aは故障疑いとし、部品Aの現地確認を行う。
(3)第1故障診断モデル15B及び第2故障診断モデル15Cが共に故障無し(健全)と判定した場合 → 部品Aは故障無し(健全)とする。
【0074】
図7(A)に示すように、第1故障診断モデル15Bのみを用いた場合には8プロットが誤判定である。また、
図7(B)に示すように、第2故障診断モデル15Cのみを用いた場合には9プロットが誤判定である。これに対して、
図7(C)に示すように、複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cでは、複数の境界線TH1及び境界線TH2の組み合わせで曖昧な領域(
図7(C)の例では領域R7)を故障疑いとして定め、この故障疑いについては現地で故障診断作業を行う。このため、誤判定は5プロットまで低減されている。
【0075】
次に、
図8を参照して、第1の実施形態に係る故障診断装置10による学習処理について具体的に説明する。
【0076】
図8は、第1の実施形態に係る故障診断プログラム15Aによる学習処理の流れの一例を示すフローチャートである。
【0077】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0078】
図8のステップS121では、CPU11が、過去の動作履歴データを学習用データとして取得する。
【0079】
ステップS122では、CPU11が、ステップS121で学習用データとして取得した動作履歴データを学習モデルに入力可能なデータに加工する。なお、動作履歴データをそのまま用いる場合には加工は省略される。
【0080】
ステップS123では、CPU11が、ステップS122で加工して得られたデータを正解データ(例えば、故障、健全)と共に、機能部毎に複数種類の学習モデルに入力する。
【0081】
ステップS124では、CPU11が、所定数のデータについて機械学習が終了したか否かを判定する。機械学習が終了したと判定した場合(肯定判定の場合)、ステップS125に移行し、機械学習が終了していないと判定した場合(否定判定の場合)、ステップS121に戻り処理を繰り返す。
【0082】
ステップS125では、CPU11が、機械学習により生成された複数種類の学習済みモデルを複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cとして記憶部15に格納し、本故障診断プログラム15Aによる一連の処理を終了する。
【0083】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0084】
このように本実施形態によれば、CGSのエラーが検知された場合に、CGSの機能部毎の故障診断を複数種類の故障診断モデルを用いて行う。このため、故障診断の誤判定を抑制し、故障診断を精度良く行うことができる。
【0085】
[第2の実施形態]
上記第1の実施形態では、複数種類の故障診断モデルを用いて故障診断を行う形態について説明した。第2の実施形態では、複数種類の故障診断モデルのうちのいずれか1つの故障診断モデルを選択的に用いて曖昧な領域を決める形態について説明する。
【0086】
図9は、第2の実施形態に係る故障診断装置10Aの機能的な構成の一例を示すブロック図である。
【0087】
図9に示すように、本実施形態に係る故障診断装置10AのCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、取得部11A、推定部11E、学習部11C、及び出力部11Dとして機能する。なお、上記第1の実施形態で説明した故障診断装置10と同じ構成要素には同じ符号を付し、その繰り返しの説明は省略する。
【0088】
推定部11Eは、複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cのうちのいずれか1つの故障診断モデルを選択し、選択した故障診断モデル(例えば、第1故障診断モデル15B)に対して複数の異なる閾値を設定する。そして、推定部11Eは、設定した複数の異なる閾値及び入力データに基づいて、選択した第1故障診断モデル15Bに対応付けられた機能部(又は部品)を故障又は健全又は故障疑いと推定する。ここで、複数の異なる閾値には、例えば、適合率が、90%以上100%以下となる閾値と、再現率が90%以上100%以下となる閾値とが含まれる。適合率とは、故障と予測された全データ数に対する実態が故障であったデータ数の割合であり、再現率とは、実態が故障であった全データ数に対する故障と予測されたデータ数の割合である。なお、適合率100%とした場合、故障有りを健全と判定しないための閾値とされ、再現率100%とした場合、故障有りを見逃さないための閾値とされる。
【0089】
図10は、第2の実施形態に係る適合率及び再現率の説明に供する図である。
【0090】
図10に示す表は、部品Aの故障診断モデルについて、予測と実態との対応関係を示している。枠内はデータ数を示す。つまり、予測が健全、実態が健全である場合のデータ数は28(=A)である。予測が故障、実態が健全である場合のデータ数は1(=B)である。予測が健全、実態が故障である場合のデータ数は12(=C)である。予測が故障、実態が故障である場合のデータ数は9(=D)である。
【0091】
この場合、適合率(故障判定時)=D/(B+D)=9/10=90%、と求められる。また、再現率は、故障を見つける割合を表しており、再現率=D/(C+D)=9/21≒43%、と求められる。これより、適合率が90%以上100%以下になるように閾値を調整し、再現率が90%以上100%以下になるように閾値を調整すればよい。
【0092】
図11は、第1故障診断モデル15Bの判定結果の一例を示すグラフである。
【0093】
図11において、黒丸は部品Aが実際に故障したときのデータ、白丸は部品Aが実際に故障していないときのデータである。縦軸と横軸は各データ項目(温度、電圧等)を示し、実際は多次元であるが、説明を簡単にするため、模式的に2次元グラフとして示している。
【0094】
図11に示すように、境界線TH3は、第1故障診断モデル15Bの適合率が一例として100%となる閾値を表し、境界線TH4は、第1故障診断モデル15Bの再現率が一例として100%となる閾値を表している。例えば、領域R8は故障有りと判定する領域を示し、領域R9は故障無し(健全)と判定する領域を示し、領域R10は故障疑いと判定する領域を示す。すなわち、判定結果は、以下の(1)~(3)のように分類される。
【0095】
(1)境界線TH3及び境界線TH4により共に故障有りと判定した場合 → 部品Aは故障有りとし、部品Aの交換を行う。
(2)境界線TH3での判定結果と境界線TH4での判定結果とが異なる場合 → 部品Aは故障疑いとし、部品Aの現地確認を行う。
(3)境界線TH3及び境界線TH4により共に故障無し(健全)と判定した場合 → 部品Aは故障無し(健全)とする。
【0096】
なお、本実施形態では、故障診断装置10Aを外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10AはCGS40の制御装置41として実現してもよい。
【0097】
このように本実施形態によれば、CGSのエラーが検知された場合に、CGSの機能部毎の故障診断を1つの故障診断モデルの複数の異なる閾値を用いて行う。このため、故障診断の誤判定を抑制し、故障診断を精度良く行うことができる。
【0098】
[第3の実施形態]
第3の実施形態では、CGS40のエラーの種別に応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性のある経路を絞り込み、絞り込んだ経路に関する複数種類の故障診断モデルを選択的に用いる形態について説明する。
【0099】
図12は、第3の実施形態に係る故障診断装置10Bの機能的な構成の一例を示すブロック図である。
【0100】
図12に示すように、本実施形態に係る故障診断装置10BのCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、取得部11A、推定部11B、学習部11C、出力部11D、及び経路診断部11Fとして機能する。なお、上記第1の実施形態で説明した故障診断装置10と同じ構成要素には同じ符号を付し、その繰り返しの説明は省略する。
【0101】
経路診断部11Fは、燃料電池ユニット50のエラーを検知した場合に、CGS40からの動作履歴データに含まれるエラーコードに応じた経路診断を特定する。そして、経路診断部11Fは、特定したエラーコードに応じた経路診断を、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対して行い、故障の可能性がある経路を絞り込む。なお、ガス経路52、改質水経路53、及び空気経路54は、上述したように、燃料電池ユニット50に設けられ、燃料電池モジュール51に接続された経路である。
【0102】
推定部11Bは、記憶部15に格納されている複数の故障診断モデルの中から、経路診断部11Fにより絞り込んだ経路によって特定される機能部の複数種類の故障診断モデル(例えば、機能部Aの第1故障診断モデル15B及び第2故障診断モデル15C)を選択する。そして、推定部11Bは、選択した複数種類の第1故障診断モデル15B及び第2故障診断モデル15Cの各々に対して、取得部11Aにより取得された動作履歴データ又は動作履歴データを加工して得られるデータを入力する。そして、推定部11Bは、第1故障診断モデル15B及び第2故障診断モデル15Cの各々から出力される判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。
【0103】
また、経路診断部11Fは、経路診断による経路の絞り込みの結果を、エラーの種別を表すエラーコードと共に通知する制御を行うようにしてもよい。なお、エラーコードの通知先は、例えば、作業担当者60が持つメンテナンス用端末70とされる。
【0104】
また、経路診断部11Fは、ガス経路52、改質水経路53、及び空気経路54の少なくとも1つに対する経路診断を、燃料電池ユニット50の温度帯に応じた方法を用いて行う。
【0105】
ここで、本実施形態に係る記憶部15には、第1データテーブル15Dと、第2データテーブル15Eとが記憶されている。これらの第1データテーブル15D及び第2データテーブル15Eは、経路診断部11Fにより参照可能とされる。
【0106】
図13は、本実施形態に係る第1データテーブル15Dの一例を示す図である。
【0107】
図13に示す第1データテーブル15Dは、エラー種別(エラーコード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の具体的な経路診断方法については後述する。
【0108】
なお、エラーコードDでは、ガス経路52のみが対象とされているため、エラー原因がガス経路52と特定される。同様に、エラーコードFでは改質水経路53のみが対象とされているため、エラー原因が改質水経路53と特定され、エラーコードGでは空気経路54のみが対象とされているため、エラー原因が空気経路54と特定される。また、エラーコードHは、ガス、改質水、及び空気の各経路とは無関係のエラーである。
図13の例では、これらのエラーコードD、F、G、Hについての経路診断は行われないが、エラーコードD、F、Gについては経路診断を行うようにしてもよい。
【0109】
図14は、本実施形態に係る第2データテーブル15Eの一例を示す図である。
【0110】
図14に示す第2データテーブル15Eは、温度帯の区分けと各温度帯における改質水、ガス、及び空気の経路診断方法を規定したデータテーブルである。燃料電池ユニット50の温度帯は、第1温度帯の一例である温度帯[イ]、第2温度帯の一例である温度帯[ロ]、第3温度帯の一例である温度帯[ハ]、及び、第4温度帯の一例である温度帯[ニ]を含んでいる。
【0111】
燃料電池モジュール51の最高温度を最高温度T1[℃]とし、改質器51B(改質触媒)へのガス導入により炭素析出が生じる温度(例えば、500℃)を炭素析出温度T2[℃]とし、燃料電池スタック51Aへの空気導入により燃料電池セルの再酸化が生じる温度(例えば、300℃)を再酸化温度T3[℃]とし、改質器51Bに導入される改質水が気化する温度(例えば、100℃)を気化温度T4[℃]とした場合、温度帯[イ]は、炭素析出温度T2より高く、最高温度T1以下の温度帯である。温度帯[ロ]は、再酸化温度T3より高く、炭素析出温度T2以下の温度帯である。温度帯[ハ]は、気化温度T4より高く、再酸化温度T3以下の温度帯である。温度帯[ニ]は、気化温度T4以下の温度帯である。
【0112】
ガス経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]である場合に、改質水及びガスを導入し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]である場合に、ガスを導入する方法である。温度帯[イ]で改質水を導入するのは、炭素の析出を防止するためである。なお、温度帯[ロ]及び温度帯[ハ]では、改質水及びガスを導入してもよい。なお、燃料電池ユニット50の温度には、燃料電池スタック51Aの温度であるスタック温度及び改質器51Bの温度である改質温度の少なくとも一方が用いられる。例えば、スタック温度及び改質温度のうち、より高温な温度を燃料電池ユニット50の温度としてもよいし、スタック温度及び改質温度の平均温度を燃料電池ユニット50の温度としてもよい。また、燃料電池ユニット50の温度情報は、CGS40の制御装置41から取得される。燃料電池ユニット50の温度情報は、例えば、制御装置41から故障診断装置10Bに送信される動作履歴データに含めておけばよい。
【0113】
改質水経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]である場合に、改質水を導入し、燃料電池ユニット50の温度が温度帯[ニ]である場合に、診断不可とする方法である。
【0114】
空気経路診断方法は、燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]である場合に、改質水、ガス、及び空気を導入し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]である場合に、空気を導入する方法である。温度帯[イ]又は温度帯[ロ]で改質水、ガス、及び空気を導入するのは、セルの再酸化を防止するためである。なお、温度帯[イ]では、改質水及び空気を導入してもよい。温度帯[ロ]では、改質水及び空気、又は、ガス及び空気を導入してもよい。温度帯[ハ]では、改質水、ガス、及び空気、又は、改質水及び空気、又は、ガス及び空気を導入してもよい。
【0115】
次に、
図15を参照して、第3の実施形態に係る故障診断装置10Bの作用について説明する。
【0116】
図15は、第3の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。
【0117】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0118】
図15のステップS131では、CPU11が、CGS40の制御装置41から送信された動作履歴データ(ここではデータ1)を取得する。
【0119】
ステップS132では、CPU11が、ステップS131で取得したデータ1からエラーコードを抽出する。
【0120】
ステップS133では、CPU11が、ステップS132で抽出したエラーコードがエラーコードAであるか否かを判定する。エラーコードAであると判定した場合(肯定判定の場合)、ステップS134に移行し、エラーコードAではないと判定した場合(否定判定の場合)、ステップS135に移行する。
【0121】
ステップS134では、CPU11が、一例として、上述の
図13に示す第1データテーブル15Dを参照し、エラーコードAに対応付けられた経路診断Aを実施し、故障の可能性がある経路の絞り込みを行い、ステップS141に移行する。なお、この経路診断Aの具体的な方法については後述する。
【0122】
一方、ステップS135では、CPU11が、ステップS132で抽出したエラーコードがエラーコードBであるか否かを判定する。エラーコードBであると判定した場合(肯定判定の場合)、ステップS136に移行し、エラーコードBではないと判定した場合(否定判定の場合)、ステップS137に移行する。
【0123】
ステップS136では、CPU11が、一例として、上述の
図13に示す第1データテーブル15Dを参照し、エラーコードBに対応付けられた経路診断Bを実施し、ステップS141に移行する。なお、この経路診断Bの具体的な方法については後述する。
【0124】
一方、ステップS137では、CPU11が、ステップS132で抽出したエラーコードがエラーコードCであるか否かを判定する。エラーコードCであると判定した場合(肯定判定の場合)、ステップS138に移行し、エラーコードCではないと判定した場合(否定判定の場合)、ステップS139に移行する。
【0125】
ステップS138では、CPU11が、一例として、上述の
図13に示す第1データテーブル15Dを参照し、エラーコードCに対応付けられた経路診断Cを実施し、ステップS141に移行する。なお、この経路診断Cの具体的な方法については後述する。
【0126】
一方、ステップS139では、CPU11が、ステップS132で抽出したエラーコードがエラーコードEであるか否かを判定する。エラーコードEであると判定した場合(肯定判定の場合)、ステップS140に移行し、エラーコードEではないと判定した場合(否定判定の場合)、エラーコードA、B、C、E以外のエラーコードD、F、G、Hにつて経路診断を行うことなく、ステップS141に移行する。
【0127】
ステップS140では、CPU11が、一例として、上述の
図13に示す第1データテーブル15Dを参照し、エラーコードEに対応付けられた経路診断Eを実施し、ステップS141に移行する。なお、この経路診断Eの具体的な方法については後述する。
【0128】
ステップS141では、CPU11が、ステップS134又はステップS136又はステップS138又はステップS140の経路診断による絞り込みの結果である故障経路を特定する、あるいは、エラーコードA、B、C、E以外のエラーコードD、F、G、Hに対応する故障経路を特定する。
【0129】
ステップS142では、CPU11が、記憶部15に記憶されている複数の故障診断モデルの中から、ステップS141で特定した故障経路によって特定される機能部の複数種類の故障診断モデルを選択する。
【0130】
ステップS143では、CPU11が、ステップS142で選択した複数種類の故障診断モデルのみを用いて故障診断を行い、本故障診断プログラム15Aによる一連の処理を終了する。
【0131】
次に、
図16を参照して、
図15のステップS134に係る経路診断Aの具体的な方法について説明する。
【0132】
図16は、第3の実施形態に係る経路診断Aの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Aでは、一例として、改質水経路53、ガス経路52、及び空気経路54の順番で経路診断が実施される。
【0133】
図16のステップS151では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。なお、燃料電池ユニット50の温度には、上述したように、スタック温度及び改質温度の少なくとも一方が用いられる。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS152に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS153に移行する。
【0134】
ステップS152では、CPU11が、CGS40に対して、改質水経路53に改質水を導入する制御を行い、ステップS154に移行する。
【0135】
一方、ステップS153では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS159に移行する。
【0136】
ステップS154では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS155に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS156に移行する。
【0137】
ステップS155では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS158に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS159に移行する。
【0138】
一方、ステップS156では、CPU11が、改質水経路53に対して経路異常タグを付与する。
【0139】
ステップS157では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS159に移行する。
【0140】
ステップS158では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS160に移行する。
【0141】
一方、ステップS159では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS160に移行する。
【0142】
ステップS160では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS161に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS165に移行する。
【0143】
ステップS161では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS162に移行し、改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS164に移行する。
【0144】
ステップS162では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機する。
【0145】
ステップS163では、CPU11が、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
【0146】
一方、ステップS164では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS168に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS169に移行する。
【0147】
一方、ステップS165では、CPU11が、ガス経路52に対して経路異常タグを付与する。
【0148】
ステップS166では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS164に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS167に移行する。
【0149】
ステップS167では、CPU11が、燃料電池ユニット50の温度が温度帯[ハ]以下になるまで待機し、ステップS169に移行する。
【0150】
ステップS168では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
【0151】
一方、ステップS169では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS170に移行する。
【0152】
ステップS170では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS172に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS171に移行する。
【0153】
ステップS171では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS172に移行する。
【0154】
ステップS172では、CPU11が、エラーを確定、つまり、改質水経路53、ガス経路52、及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図15のステップS141にリターンする。
【0155】
次に、
図17を参照して、
図15のステップS136に係る経路診断Bの具体的な方法について説明する。
【0156】
図17は、第3の実施形態に係る経路診断Bの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Bでは、一例として、改質水経路53及びガス経路52の順番で経路診断が実施される。
【0157】
図17のステップS181では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS182に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS183に移行する。
【0158】
ステップS182では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS184に移行する。
【0159】
一方、ステップS183では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS189に移行する。
【0160】
ステップS184では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS185に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS186に移行する。
【0161】
ステップS185では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS188に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS189に移行する。
【0162】
一方、ステップS186では、CPU11が、改質水経路53に対して経路異常タグを付与する。
【0163】
ステップS187では、CPU11が、燃料電池ユニット50の温度が温度帯[ロ]以下になるまで待機し、ステップS189に移行する。
【0164】
ステップS188では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
【0165】
一方、ステップS189では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS190に移行する。
【0166】
ステップS190では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS192に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS191に移行する。
【0167】
ステップS191では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS192に移行する。
【0168】
ステップS192では、CPU11が、エラーを確定、つまり、改質水経路53及びガス経路52のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図15のステップS141にリターンする。
【0169】
次に、
図18を参照して、
図15のステップS138に係る経路診断Cの具体的な方法について説明する。
【0170】
図18は、第3の実施形態に係る経路診断Cの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Cでは、一例として、ガス経路52及び空気経路54の順番で経路診断が実施される。
【0171】
図18のステップS201では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]であると判定した場合(イの場合)、ステップS202に移行し、燃料電池ユニット50の温度が温度帯[ロ]又は温度帯[ハ]又は温度帯[ニ]であると判定した場合(ロ、ハ、ニの場合)、ステップS203に移行する。
【0172】
ステップS202では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入する制御を行い、ステップS204に移行する。
【0173】
一方、ステップS203では、CPU11が、ガス経路52にガスを導入する制御を行い、ステップS204に移行する。
【0174】
ステップS204では、CPU11が、所定の判定基準に従って、ガス経路52が正常であるか否かを判定する。ガス経路52が正常であると判定した場合(肯定判定の場合)、ステップS205に移行し、ガス経路52が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS206に移行する。
【0175】
ステップS205では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS207に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS208に移行する。
【0176】
一方、ステップS206では、CPU11が、ガス経路52に対して経路異常タグを付与し、ステップS205に移行する。
【0177】
ステップS207では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS209に移行する。
【0178】
一方、ステップS208では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS209に移行する。
【0179】
ステップS209では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS211に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS210に移行する。
【0180】
ステップS210では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS211に移行する。
【0181】
ステップS211では、CPU11が、エラーを確定、つまり、ガス経路52及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図15のステップS141にリターンする。
【0182】
次に、
図19を参照して、
図15のステップS140に係る経路診断Eの具体的な方法について説明する。
【0183】
図19は、第3の実施形態に係る経路診断Eの処理の流れの一例を示すフローチャートである。なお、本実施形態に係る経路診断Eでは、一例として、改質水経路53及び空気経路54の順番で経路診断が実施される。
【0184】
図19のステップS221では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]又は温度帯[ハ]であると判定した場合(イ、ロ、ハの場合)、ステップS222に移行し、燃料電池ユニット50の温度が温度帯[ニ]であると判定した場合(ニの場合)、ステップS223に移行する。
【0185】
ステップS222では、CPU11が、改質水経路53に改質水を導入する制御を行い、ステップS224に移行する。
【0186】
一方、ステップS223では、CPU11が、改質水経路53に対して経路判定不能タグを付与し、ステップS228に移行する。
【0187】
ステップS224では、CPU11が、所定の判定基準に従って、改質水経路53が正常であるか否かを判定する。改質水経路53が正常であると判定した場合(肯定判定の場合)、ステップS225に移行し、改質水経路53が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS226に移行する。
【0188】
ステップS225では、CPU11が、一例として、上述の
図14に示す第2データテーブル15Eを参照し、燃料電池ユニット50の温度が、温度帯[イ]、[ロ]、[ハ]、[ニ]のいずれであるかを判定する。燃料電池ユニット50の温度が温度帯[イ]又は温度帯[ロ]であると判定した場合(イ、ロの場合)、ステップS227に移行し、燃料電池ユニット50の温度が温度帯[ハ]又は温度帯[ニ]であると判定した場合(ハ、ニの場合)、ステップS228に移行する。
【0189】
一方、ステップS226では、CPU11が、改質水経路53に対して経路異常タグを付与し、ステップS228に移行する。
【0190】
ステップS227では、CPU11が、改質水経路53に改質水を導入し、ガス経路52にガスを導入し、空気経路54に空気を導入する制御を行い、ステップS229に移行する。
【0191】
一方、ステップS228では、CPU11が、空気経路54に空気を導入する制御を行い、ステップS229に移行する。
【0192】
ステップS229では、CPU11が、所定の判定基準に従って、空気経路54が正常であるか否かを判定する。空気経路54が正常であると判定した場合(肯定判定の場合)、ステップS231に移行し、空気経路54が正常ではない、つまり、異常であると判定した場合(否定判定の場合)、ステップS230に移行する。
【0193】
ステップS230では、CPU11が、空気経路54に対して経路異常タグを付与し、ステップS231に移行する。
【0194】
ステップS231では、CPU11が、エラーを確定、つまり、改質水経路53及び空気経路54のうち、経路異常タグが付与された経路を、故障の可能性がある経路として確定し、
図15のステップS141にリターンする。
【0195】
なお、本実施形態では、故障診断装置10Bを外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10BはCGS40の制御装置41として実現してもよい。
【0196】
このように本実施形態によれば、エラー種別によって故障経路を絞り込み、絞り込んだ故障経路によって特定される機能部の複数種類の故障診断モデルのみを選択的に用いて故障診断が行われる。このため、故障診断を効率的に、かつ、精度良く行うことができる。
【0197】
以上、上記実施形態として、故障診断装置及び故障診断システムを例示して説明したが、実施形態は、故障診断装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【0198】
その他、上記実施形態で説明した故障診断装置及び故障診断システムの構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0199】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0200】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0201】
10、10A、10B 故障診断装置
11、42 CPU
11A 取得部
11B、11E 推定部
11C 学習部
11D 出力部
11F 経路診断部
12、43 ROM
13、44 RAM
14、45 I/O
15、46 記憶部
15A 故障診断プログラム
15B 第1故障診断モデル
15C 第2故障診断モデル
15D 第1データテーブル
15E 第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 故障診断システム