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