(57)【特許請求の範囲】
【請求項１】
失火検知機能を有する複数気筒エンジンに失火が発生した場合の故障部位を、エンジン制御装置と通信する外部診断機により絞り込むエンジンの故障診断方法であって、
失火発生気筒を示す故障コードを前記エンジン制御装置から前記外部診断機に読み出す故障コード読出しステップと、
前記失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出する失火パターン検出ステップと、
当該失火パターンに対応させて前記故障部位を絞り込む故障部位絞り込みステップと
を有し、
前記失火パターン検出ステップでは、
前記外部診断機からの指令に応じて前記エンジンをアイドリング状態にさせて前記失火発生気筒での失火の再現を試み、
失火が再現する場合には、再現した失火パターンを検出し、
失火が再現しない場合には、前記故障コードが生成された時点でのエンジン運転データとして前記エンジン制御装置が記憶した、前記失火発生気筒における所定期間の失火発生回数に基づいて前記失火パターンを検出する
ことを特徴とするエンジンの故障診断方法。
【請求項２】
請求項１記載のエンジンの故障診断方法において、
前記外部診断機は、横軸を時間とし縦軸を失火回数の累積値とするグラフを前記失火パターンとして表示する
ことを特徴とするエンジンの故障診断方法。
【請求項３】
請求項１又は２記載のエンジンの故障診断方法において、
前記失火パターン検出ステップでは、
失火が再現しない場合には、前記故障コードが生成された時点で前記エンジン制御装置が記憶した前記エンジンの作動状況のデータに基づく運転によって運転状況の再現を試み、この運転によって失火が再現した場合には、この再現した失火パターンを検出する
ことを特徴とするエンジンの故障診断方法。
【請求項４】
請求項１〜３のいずれか１項に記載のエンジンの故障診断方法において、
前記外部診断機からの指令に応じて前記エンジンを再始動させて前記失火発生気筒での失火が再現する場合、
各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を検出し、前記変動値が所定値以下の気筒を圧縮圧力が不足している圧縮圧力不足気筒と判定すると共に、
無負荷状態で、各気筒に供給する燃料の空燃比を順次変更して前記各気筒の失火発生の程度で判別される空燃比不良の発生を判定することで
前記故障部位をさらに絞り込む
ことを特徴とするエンジンの故障診断方法。
【請求項５】
請求項１〜４のいずれか１項に記載のエンジンの故障診断方法において、
前記失火パターンは、単気筒及び複数気筒の連続失火、単気筒のランダム失火並びに複数気筒のランダム失火を含む
ことを特徴とするエンジンの故障診断方法。
【請求項６】
複数の気筒を有するエンジンにおける失火の発生を検出し、失火発生気筒を示す故障コードを記憶するエンジン制御装置と、
前記失火を発生させている故障部位を絞り込む外部診断機と
を備えるエンジンの故障診断システムであって、
前記外部診断機は、
前記エンジン制御装置から前記故障コードを取得し、当該故障コードに応じた診断作業を案内し、
前記失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出し、前記失火パターンに対応させて前記故障部位を絞り込んで表示し、
さらに、前記外部診断機は、前記失火パターンを検出する際、
前記エンジンをアイドリング状態にさせて前記失火発生気筒での失火の再現を試み、
失火が再現する場合には、再現した失火パターンを検出し、
失火が再現しない場合には、前記故障コードが生成された時点でのエンジン運転データとして前記エンジン制御装置が記憶した、前記失火発生気筒における所定期間の失火発生回数に基づいて前記失火パターンを検出する
ことを特徴とするエンジンの故障診断システム。
【請求項７】
請求項６記載のエンジンの故障診断システムにおいて、
前記外部診断機は、横軸を時間とし縦軸を失火回数の累積値とするグラフを前記失火パターンとして表示する
ことを特徴とするエンジンの故障診断システム。
【請求項８】
請求項６又は７記載のエンジンの故障診断システムにおいて、
前記外部診断機は、前記失火パターンを検出する際、
失火が再現しない場合には、前記故障コードが生成された時点で前記エンジン制御装置が記憶した前記エンジンの作動状況のデータに基づく運転によって運転状況の再現を試み、この運転によって失火が再現した場合には、この再現した失火パターンを検出する
ことを特徴とするエンジンの故障診断システム。
【請求項９】
請求項６〜８のいずれか１項に記載のエンジンの故障診断システムにおいて、
前記外部診断機は、前記エンジンを再始動させることで前記失火発生気筒での失火が再現する場合、
各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を検出し、前記変動値が所定値以下の気筒を圧縮圧力が不足している圧縮圧力不足気筒と判定すると共に、
無負荷状態で、各気筒に供給する燃料の空燃比を順次変更して前記各気筒の失火発生の程度で判別される空燃比不良の発生を判定することで
前記故障部位をさらに絞り込む
ことを特徴とするエンジンの故障診断システム。
【請求項１０】
請求項６〜９のいずれか１項に記載のエンジンの故障診断システムにおいて、
前記失火パターンは、単気筒及び複数気筒の連続失火、単気筒のランダム失火並びに複数気筒のランダム失火を含む
ことを特徴とするエンジンの故障診断システム。
【請求項１１】
複数の気筒を有するエンジンにおいて失火を発生させている故障部位を絞り込むエンジンの故障診断機であって、
失火発生気筒における失火発生の連続データを直接的又は間接的に車両側から取得し、失火発生の連続性の有無で分類した失火パターンを前記連続データに基づいて検出し、前記失火パターンに対応させて前記故障部位を絞り込み、
さらに、前記失火パターンを検出する際、
前記エンジンをアイドリング状態にさせて前記失火発生気筒での失火の再現を試み、
失火が再現する場合には、再現した失火パターンを検出し、
失火が再現しない場合には、故障コードが生成された時点でのエンジン運転データとしてエンジン制御装置が記憶した、前記失火発生気筒における所定期間の失火発生回数に基づいて前記失火パターンを検出する
ことを特徴とするエンジンの故障診断機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、失火検知機能を有する複数気筒エンジンに失火が発生した場合に故障の可能性がある部位を絞り込むエンジンの故障診断方法、故障診断システム及び故障診断機に関する。
【背景技術】
【０００２】
失火が発生したエンジンにおける故障部位を絞り込むためのテストを行う診断装置が提案されている（特許文献１）。特許文献１では、特定気筒について燃料噴射の停止前後での空燃比を検出し、その検出結果に応じて失火の原因が燃料噴射系又は点火系のいずれにあるのかを判別する（要約）。すなわち、特許文献１では、失火の原因が燃料噴射系にあり、燃料が噴射されていない場合、燃料噴射の停止前後で空燃比はほとんど変化しないが、失火の原因が点火系にあり、燃料が噴射されている場合、燃料噴射の停止前後で空燃比が変化するという知見に基づいて燃料噴射系又は点火系のいずれが故障しているかを判定する（段落［０００９］）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−２０２８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のように各部の作動状態を確認するテスト（ファンクションテスト）は、失火の原因となり得る部位に対して１つ１つ実行する必要があるため、大変手間がかかり作業効率が悪い。加えて、実際に失火が再現しない又は再現し難い場合、大変診断が難しいという問題がある。
【０００５】
この発明は、このような問題を考慮してなされたものであり、失火を発生させている故障部位を特定又は確認するための工数を大幅に削減することが可能なエンジンの故障診断方法、故障診断システム及び故障診断機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るエンジンの故障診断方法は、複数の気筒を有するエンジンに失火を発生させている故障部位を、エンジン制御装置と通信する外部診断機により絞り込むものであって、失火発生気筒を示す故障コードを前記エンジン制御装置から前記外部診断機に読み出す故障コード読出しステップと、前記失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出する失火パターン検出ステップと、当該失火パターンに対応させて前記故障部位を絞り込む故障部位絞り込みステップとを有することを特徴とする。
【０００７】
この発明によれば、実際に発生している又は過去に発生した失火について、失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出し、当該失火パターンに対応させて故障部位を絞り込む。このため、故障部位を特定又は確認するための工数を大幅に削減することが可能になる。
【０００８】
前記外部診断機は、横軸を時間とし縦軸を失火回数の累積値とするグラフを前記失火パターンとして表示してもよい。これにより、作業者は、当該グラフを目視確認することで失火パターンを簡単に判別することが可能となる。このため、作業者は、実際に起こっている失火発生の状況を容易に把握することができると共に、失火発生の連続性の有無を簡易に分類することが可能となる。従って、作業者は、実際に行われている診断作業（すなわち、失火発生の連続性の有無の判定）及びその結果（当該連続性の有無）を容易に把握することが可能となり、作業能率を高めることができると共に、経験の浅い作業者にとっての学習効果を高め、作業者のスキルアップを図ることができる。
【０００９】
前記失火パターン検出ステップでは、前記外部診断機からの指令に応じて前記エンジンをアイドリング状態にさせて前記失火発生気筒での失火の再現を試み、失火が再現する場合には、再現した失火パターンを検出し、失火が再現しない場合には、前記故障コードが生成された時点でのエンジン運転データとして前記エンジン制御装置が記憶した、前記失火発生気筒における所定期間の失火発生回数に基づいて前記失火パターンを検出してもよい。これにより、エンジンのアイドリングにより失火が再現しない場合であっても、故障コードの生成時点における失火発生の連続的なデータを利用して故障部位を絞り込むことが可能となる。
【００１０】
前記失火パターン検出ステップでは、前記外部診断機からの指令に応じて前記エンジンをアイドリング状態にさせて前記失火発生気筒での失火の再現を試み、失火が再現しない場合には、前記故障コードが生成された時点でのエンジン運転データとして前記エンジン制御装置が記憶した所定期間の失火発生回数に基づく運転によって運転状況の再現を試み、この運転によって失火が再現した場合には、この再現した失火パターンを検出してもよい。これにより、アイドリング状態では失火が再現し難い場合でも積極的に失火状態を再現させて故障部位を絞り込むことが可能となる。
【００１１】
前記外部診断機からの指令に応じて前記エンジンを再始動させて前記失火発生気筒での失火が再現する場合、各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を検出し、前記変動値が所定値以下の気筒を圧縮圧力が不足している圧縮圧力不足気筒と判定すると共に、無負荷状態で、各気筒に供給する燃料の空燃比を順次変更して前記各気筒の失火発生の程度で判別される空燃比不良の発生を判定することで前記故障部位をさらに絞り込んでもよい。これにより、失火パターンに対応させて絞り込んだ故障部位を、さらに、圧縮圧力不足気筒の判定と、空燃比不良の発生の判定とでかなりの限定的な箇所にまで絞り込むことが可能となる。従って、故障部位を特定又は確認するための工数を一層削減することが可能になる。
【００１２】
前記失火パターンは、例えば、単気筒及び複数気筒の連続失火、単気筒のランダム失火並びに複数気筒のランダム失火とすることができる。これにより、失火パターンを簡易に区分しつつ、故障部位を効率的に絞り込むことが可能となる。
【００１３】
この発明に係るエンジンの故障診断システムは、複数の気筒を有するエンジンにおける失火の発生を検出し、失火発生気筒を示す故障コードを記憶するエンジン制御装置と、前記失火を発生させている故障部位を絞り込む外部診断機とを備えるものであって、前記外部診断機は、前記エンジン制御装置から前記故障コードを取得し、当該故障コードに応じた診断作業を案内し、前記失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出し、前記失火パターンに対応させて前記故障部位を絞り込んで表示することを特徴とする。
【００１４】
この発明に係るエンジンの故障診断機は、複数の気筒を有するエンジンにおいて失火を発生させている故障部位を絞り込むものであって、失火発生気筒における失火発生の累積データを直接的又は間接的に車両側から取得し、前記失火発生の累積データにおける失火発生の連続性の有無で分類した失火パターンを前記連続的なデータに基づいて検出し、前記失火パターンに対応させて前記故障部位を絞り込むことを特徴とする。
【発明の効果】
【００１５】
この発明によれば、実際に発生している又は過去に発生した失火の症状として、失火発生気筒における失火発生の連続性の有無で分類した失火パターンを検出し、当該失火パターンに対応させて故障部位を絞り込む。このため、故障部位を特定又は確認するための工数を大幅に削減することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態に係る故障診断システムの概略的な構成を示すブロック図である。
【図２】エンジン内部の概略的な構成を示す図である。
【図３】車両の通常走行時（前記エンジンの通常運転時）において前記エンジンに失火が発生した場合の処理のフローチャートである。
【図４】失火の発生に伴う前記エンジンの診断時の処理を示す第１フローチャートである。
【図５】失火の発生に伴う前記エンジンの診断時の処理を示す第２フローチャートである。
【図６】前記エンジンの診断時において表示される作業案内画面の各領域の位置等を示す図である。
【図７】全体作業表示領域の表示の例を示す図である。
【図８】具体的作業表示領域に表示する複数の失火パターン並びにこれらに対応する失火状況及び故障可能性部位の例を示す図である。
【図９】前記具体的作業表示領域に表示する各テストの結果及び故障可能性部位の例を示す図である。
【図１０】クランキング回転時における各気筒のピストンの動作と、ピストンの動作に伴ってクランク軸に生じる負荷の大きさとの関係の例を、気筒が正常に動作しているときと圧縮圧力の不足が発生しているときとに分けて示す図である。
【図１１】クランキング回転状態において、各気筒が正常に動作している場合及び第１気筒に失火が発生している場合におけるクランク角及びクランク角速度と、各気筒における工程（吸入工程、圧縮工程、爆発工程及び排気工程）との関係の例を示す図である。
【図１２】図１１の例に対応するクランク角及び角速度変動と、各気筒の爆発工程との関係を示す図である。
【図１３】第１気筒が異常で、第２〜第４気筒が正常である場合において、第１気筒のタペットクリアランスが正常である場合、タペットクリアランスのずれが小である場合、タペットクリアランスのずれが大である場合、及び圧縮圧力がゼロである場合それぞれにおける個別平均値の一例を示す図である。
【図１４】図１３の各気筒の個別平均値に基づく全体平均値に対する個別平均値の割合を示す図である。
【図１５】図１４の一部を拡大して表示した図である。
【図１６】空燃比不良診断テストの実行時におけるエンジン回転数と、各気筒の空燃比と、各気筒の失火回数の累積値との関係を示すタイムチャートである。
【発明を実施するための形態】
【００１７】
Ａ．一実施形態
１．構成
（１）全体構成
図１は、この発明の一実施形態に係る故障診断システム１０（以下「システム１０」ともいう。）の概略的な構成を示すブロック図である。システム１０は、診断対象としてのエンジン１６を搭載した車両１２と、エンジン１６の診断を行う外部診断機１４（以下「診断機１４」ともいう。）とを有する。
【００１８】
（２）車両１２
（ａ）全体構成
車両１２は、エンジン１６に加え、エンジン１６からの排ガスを浄化する排ガスフィルタ１８（以下「フィルタ１８」ともいう。）と、エンジン１６の動作を制御するエンジン電子制御装置２０（以下「エンジンＥＣＵ２０」又は「ＥＣＵ２０」という。）と、イグニションスイッチ２２（以下「ＩＧＳＷ２２」という。）と、アクセルペダル２４と、アクセルペダル２４の操作量θａｐを検出する操作量センサ２６と、警告灯２８とを有する。
【００１９】
（ｂ）エンジン１６
図２には、エンジン１６内部の概略的な構成が示されている。図２に示すように、エンジン１６は、いわゆる直列４気筒エンジンである。エンジン１６は、吸気量センサ３０、スロットル弁３２、開度センサ３４、第１〜第４気筒３６ａ〜３６ｄ（以下「気筒３６」と総称する。）と、吸気バルブ３８と、排気バルブ４０と、燃料噴射弁４２と、点火プラグ４４と、空燃比センサ４６と、クランク軸４８と、ピストン５０と、スタータモータ５２と、クランク角センサ５４と、上死点センサ５６と、温度センサ５８とを有する。吸気バルブ３８、排気バルブ４０及び点火プラグ４４は、各気筒３６ａ〜３６ｄの燃焼室６０に面して配置されている。
【００２０】
吸気量センサ３０は、スロットル弁３２の開度θｔｈ［°］に応じてエンジン１６に吸入される空気量（以下「吸気量Ｑａｆ」という。）を検出し、エンジンＥＣＵ２０に出力する。スロットル弁３２は、インテークマニホールド６２内に配置されている。開度センサ３４は、スロットル弁３２の開度θｔｈを検出し、エンジンＥＣＵ２０に出力する。燃料噴射弁４２及び点火プラグ４４は、各気筒３６ａ〜３６ｄの燃焼室６０に面して配置されている。空燃比センサ４６は、図示しない酸素センサを含み、エキゾーストマニホールド６４内に配置されている。空燃比センサ４６は、エンジン１６全体の空燃比（以下「全体空燃比Ｒａｆ＿ｔｏｔａｌ」という。）を検出し、エンジンＥＣＵ２０に出力する。
【００２１】
スタータモータ５２は、図示しないバッテリから供給される電力に基づきクランク軸４８を駆動する。クランク角センサ５４は、クランク軸４８の回転角（以下「クランク角Ａｃ」という。）［°］を検出し、エンジンＥＣＵ２０に出力する。上死点センサ５６は、ピストン５０の上死点を検出し、エンジンＥＣＵ２０に出力する。温度センサ５８は、図示しないエンジン冷却水の温度Ｔｗ［℃］を検出し、ＥＣＵ２０に出力する。温度センサ５８が検出する温度は、図示しないエンジンオイルの温度Ｔｏ［℃］であってもよい。
【００２２】
（ｃ）排ガスフィルタ１８
排ガスフィルタ１８は、エキゾーストマニホールド６４の下流側（排気側）に配置され、エンジン１６からの排ガスを浄化して放出する。本実施形態におけるフィルタ１８は、排ガス浄化用の三元触媒を含む。
【００２３】
（ｄ）エンジンＥＣＵ２０
エンジンＥＣＵ２０は、エンジン１６の動作を制御するものであり、図１に示すように、入出力部７０、演算部７２及び記憶部７４を有する。
【００２４】
本実施形態におけるエンジンＥＣＵ２０は、例えば、エンジン回転数算出機能、失火発生回数カウント機能、スロットル弁制御機能、燃料噴射弁制御機能及び点火プラグ制御機能を実行する。
【００２５】
エンジン回転数算出機能は、各上死点センサ５６からの出力に基づいてエンジン１６の回転数（エンジン回転数ＮＥ）［ｒｐｍ］を算出する機能であり、本実施形態では、各上死点センサ５６と組み合わせることにより、エンジン回転数センサを構成する。代わりに、エンジンＥＣＵ２０とは独立のエンジン回転数センサを設け、その出力をエンジンＥＣＵ２０に送信してもよい。
【００２６】
失火発生回数カウント機能は、クランク角センサ５４からの出力に基づいて各気筒３６ａ〜３６ｄそれぞれにおける失火発生の有無を判別し、失火が発生したと判別された場合の各気筒３６ａ〜３６ｄそれぞれにおける失火発生回数をカウントする機能であり、本実施形態では、クランク角センサ５４と組み合わせることにより、失火カウンタを構成する。なお、失火発生の有無の判別は、例えば、所定クランク角での燃焼圧力を検出し、当該燃焼圧力が所定値以下である場合に失火が発生したと判定する、又は、所定クランク角でのクランク角速度が所定値以下である場合に失火が発生したと判定する等の公知の手段を用いることができる。
【００２７】
スロットル弁制御機能は、アクセルペダル２４の操作量θａｐなどに基づいてスロットル弁３２の開度θｔｈを制御することにより、エンジン１６の出力を制御する機能である。
【００２８】
燃料噴射弁制御機能は、アクセルペダル２４の操作量θａｐなどに基づいて燃料噴射弁４２からの燃料噴射量Ｑｆｉ（目標値）を制御することにより、エンジン１６の出力を制御する機能である。
【００２９】
点火プラグ制御機能は、アクセルペダル２４の操作量θａｐなどに基づいて各点火プラグ４４の点火タイミングを制御することにより、エンジン１６の出力を制御する機能である。
【００３０】
（３）外部診断機１４
外部診断機１４は、エンジン１６の故障を診断するものであり、図１に示すように、車両内データの入出力用として車両１２に設けられているデータリンクコネクタ８０を介してエンジンＥＣＵ２０に接続するためのケーブル８２と、ケーブル８２が連結される入出力部８４と、図示しないキーボードやタッチパッド等からなる操作部８６と、各部の制御及び各気筒３６ａ〜３６ｄの異常判定を行う演算部８８と、演算部８８で用いる制御プログラムや異常診断プログラムなどの各種プログラムやデータを記憶する記憶部９０と、各種の表示を行う表示部９２とを有する。
【００３１】
外部診断機１４のハードウェア構成としては、例えば、市販のノート型パーソナルコンピュータを用いることができる。
【００３２】
外部診断機１４を用いて各気筒３６ａ〜３６ｄの異常診断を行う際、ケーブル８２の一端を入出力部８４に接続した状態で、車両１２の図示しないインスツルメントパネルに設けられたデータリンクコネクタ８０にケーブル８２の他端を接続する。その後、操作部８６に対する作業者（ユーザ）からの操作に応じて、外部診断機１４は、各気筒３６ａ〜３６ｄの異常診断を行う。その際、外部診断機１４は、エンジンＥＣＵ２０を介してエンジン１６を作動させる。外部診断機１４が行う各気筒３６ａ〜３６ｄの異常診断の詳細は後述する。
【００３３】
２．失火発生時の診断
（１）失火発生時の処理
図３は、車両１２の通常走行時（エンジン１６の通常運転時）においてエンジン１６に失火が発生した場合の処理のフローチャートである。ステップＳ１において、エンジンＥＣＵ２０は、失火カウンタを用いてエンジン１６における失火の発生を検出する。
【００３４】
ステップＳ２において、エンジンＥＣＵ２０は、失火の発生及び当該失火が発生した気筒３６ａ〜３６ｄを示す故障コードと、失火発生時のデータを記憶部７４に記憶する。第１気筒３６ａに失火が発生した場合、故障コードとして「Ｐ０３０１」が記憶される。第２気筒３６ｂに失火が発生した場合、故障コードとして「Ｐ０３０２」が記憶される。第３気筒３６ｃに失火が発生した場合、故障コードとして「Ｐ０３０３」が記憶される。第４気筒３６ｄに失火が発生した場合、故障コードとして「Ｐ０３０４」が記憶される。気筒３６ａ〜３６ｄにおいて複数の気筒に失火が発生した場合、故障コードとして「Ｐ０３００」が記憶される。  失火発生時のデータは、エンジンＥＣＵ２０が、エンジン１６に失火が発生したと判定した直前１５秒間のデータを０．２秒間隔で取得したものである。当該データには、例えば、車速Ｖ［ｋｍ／ｈ］、エンジン回転数ＮＥ［ｒｐｍ］、エンジン１６の冷却水の温度Ｔｗ［℃］、アクセルペダル２４の操作量θａｐ、所定期間（後述する測定周期Ｐｍ）における各気筒３６ａ〜３６ｄでの失火発生回数が含まれる。
【００３５】
ステップＳ３において、エンジンＥＣＵ２０は、失火の発生を通知する警告灯２８を点灯させる等の警告を行って、エンジン１６に異常（失火）が発生した旨をユーザに通知する。当該警告を受けたユーザは、例えば、車両１２を修理工場等に持ち込む。
【００３６】
（２）失火の発生に伴うエンジン１６の診断時の処理
図４及び図５は、失火の発生に伴うエンジン１６の診断時の処理を示す第１及び第２フローチャートである。ステップＳ１１において、車両１２の警告灯２８の点灯を確認した作業者（テクニシャン）は、ケーブル８２及びデータリンクコネクタ８０を介して外部診断機１４をエンジンＥＣＵ２０に接続する。ステップＳ１２において、外部診断機１４の演算部８８は、作業者の操作に応じて記憶部９０から診断プログラムを読み出し、起動する。ステップＳ１３において、作業者は、外部診断機１４の操作部８６を操作して、エンジンＥＣＵ２０から外部診断機１４に故障コード（ＤＴＣ）及び故障発生時のデータを読み出す。
【００３７】
ステップＳ１４において、外部診断機１４は、読み出した故障コードに対応した診断作業の案内画面を表示する。図６は、エンジン１６の診断時において表示される作業案内画面１００の各領域の位置等を示す図である。図６に示すように、作業案内画面１００は、主として、ツールバー領域１０２、全体作業表示領域１０４及び具体的作業表示領域１０６から構成される。
【００３８】
ツールバー領域１０２は、「保存」、「印刷」等のアイコン等を含むツールバー（図示せず）を表示する領域である。全体作業表示領域１０４は、ステップＳ１３で読み出された故障コードに応じた全体作業フローチャート１１０（図７）を表示する領域である。具体的作業表示領域１０６は、全体作業フローチャート１１０中で選択された作業タイトル（作業項目）に応じた具体的作業内容を表示する領域である。
【００３９】
図７には、全体作業表示領域１０４の表示の例が示されている。図７に示すように、全体作業フローチャート１１０は、スタートボックス１１２と、第１〜第３作業タイトルボックス１１４ａ〜１１４ｃ（以下「作業タイトルボックス１１４」と総称する。）と、複数の垂直矢印１１６と、複数の水平矢印１１８と、第１〜第４点検結果ボックス１２０ａ〜１２０ｄ（以下「点検結果ボックス１２０」と総称する。）と、第１〜第３スキップボックス１２２ａ〜１２２ｃ（以下「スキップボックス１２２」と総称する。）と、第１スクロールバー１２４及び第２スクロールバー１２６（図６）とを有する。
【００４０】
スタートボックス１１２は、故障コード又は症状を表示する欄であり、本実施形態は、故障コード（ＤＴＣ）が「Ｐ０３００」、「Ｐ０３０１」、「Ｐ０３０２」、「Ｐ０３０３」、「Ｐ０３０４」（＝エンジン１６で失火発生）の場合である。
【００４１】
作業タイトルボックス１１４は、作業タイトル（作業項目）を表示する欄である。ここにいう作業タイトル（作業項目）には、診断作業項目及び検証作業項目が含まれる。診断作業項目は、故障部位を特定するための作業項目であり、検証作業項目は、特定した故障部位を修理又は交換するための作業項目である。図７では、５角形状の第１作業タイトルボックス１１４ａが、全体としての作業項目を示し、矩形状の第２及び第３作業タイトルボックス１１４ｂ、１１４ｃが個別の作業項目を示す。
【００４２】
垂直矢印１１６及び水平矢印１１８は、次に進む作業タイトルボックス１１４、スキップボックス１２２などを示す。
【００４３】
点検結果ボックス１２０は、点検の結果｛「ＯＫ」（再現又は正常）、「ＮＧ」（再現せず又は異常）など｝を表示する欄であり、背景及び枠が透明であるため、図７中では点検結果ボックス１２０内部の文字のみが示されている。
【００４４】
スキップボックス１２２は、ある作業タイトルボックス１１４などから別の作業タイトルボックス１１４などへのスキップを示す欄である。
【００４５】
第１スクロールバー１２４（図６）は、全体作業表示領域１０４中の表示を上下方向にスクロールさせるバーである。すなわち、図６の全体作業表示領域１０４において、全体作業フローチャート１１０の全体が表示されない場合、作業者は、第１スクロールバー１２４を用いて全体作業表示領域１０４中の表示を上下させることにより、全体作業フローチャート１１０の全体を見ることが可能である。
【００４６】
第２スクロールバー１２６（図６）は、具体的作業表示領域１０６中の表示を上下方向にスクロールさせるバーである。すなわち、図６の具体的作業表示領域１０６において、具体的作業内容の全体が表示されない場合、作業者は、第２スクロールバー１２６を用いて具体的作業内容（例えば、図８）の表示を上下させることにより、全体作業フローチャート１１０の全体を見ることが可能である。
【００４７】
なお、上下方向にスクロールさせる第１スクロールバー１２４及び第２スクロールバー１２６に加え、横方向にスクロールさせるスクロールバーを設けてもよい。
【００４８】
さらに、対象となっている作業タイトルボックス１１４（行うべき作業項目）については、枠を太くすることで、当該作業タイトルボックス１１４を強調表示する。例えば、第２作業タイトルボックス１１４ｂ（「１．再現テスト」）が対象となっている場合、第２作業タイトルボックス１１４ｂの枠を太くすることで強調表示する。或いは、作業案内画面１００全体をカラーで表示する場合、作業タイトルボックス１１４の背景色を変化させて（例えば、青色からオレンジ色に変化させて）、当該作業タイトルボックス１１４を強調表示することもできる。
【００４９】
図４に戻り、ステップＳ１５において、作業者は、読み出した故障コードが失火の発生を示すものであるか否かを判定する。故障コードが失火の発生を示すものでない場合（Ｓ１５：ＮＯ）、ステップＳ１６において、作業者は、故障コードに応じた診断作業を実行する。
【００５０】
故障コードが失火の発生を示すものである場合（Ｓ１５：ＹＥＳ）、ステップＳ１７において、外部診断機１４は、エンジン１６をアイドリング状態にして全ての気筒３６ａ〜３６ｄについて失火再現テストを行う。ステップＳ１７の失火再現テストでは、エンジン１６のアイドリング状態のときに、失火発生を示す警告灯２８が点灯すると、失火が再現したと判定される。作業者は、全体作業フロー１１０のスキップボックス１２２を選択することにより失火再現テストの結果を入力する。外部診断機１４は、当該入力に応じた作業を案内する。或いは、作業者による入力に代えて、外部診断機１４自身が、失火の再現の有無を判定してもよい。この場合、外部診断機１４は、エンジン１６をアイドリング状態にして各気筒３６ａ〜３６ｄについて失火カウンタで測定周期Ｐｍにおける失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎを計測する。「Ｔｍｆ＿ｃｙｌ＿ｎ」における「ｎ」は、各気筒３６ａ〜３６ｄの番号を示し、例えば、累積値Ｔｍｆ＿ｃｙｌ＿１は、第１気筒３６ａの累積値を示す。そして、少なくとも１つの気筒の累積値Ｔｍｆ＿ｃｙｌ＿ｎが、失火の発生を判定するための閾値を超えた場合に失火が再現したと判定する。
【００５１】
アイドリング状態で失火が再現した場合（Ｓ１８：ＹＥＳ）、ステップＳ２２に進む。アイドリング状態で失火が再現しなかった場合（Ｓ１８：ＮＯ）、ステップＳ１９において、外部診断機１４は、故障発生時の再現状態で全ての気筒３６ａ〜３６ｄについて失火再現テストを行う。ステップＳ１９の失火再現テストでは、アイドリング状態が、失火発生時の再現状態に変わった他は、同じ方法で行う。すなわち、外部診断機１４は、故障発生時の状況を再現して失火発生のデータを取得するよう要求するメッセージと、ステップＳ１３で読み出した故障発生時のデータとを具体的作業表示領域１０６に表示する。当該故障発生時のデータには、例えば、車速Ｖ、エンジン回転数ＮＥ、エンジン冷却水の温度Ｔｗ及びアクセルペダル２４の操作量θａｐが含まれる。作業者は、具体的作業表示領域１０６の表示内容に基づき、故障発生時の状況を再現する。この状態で失火が再現生した場合、失火発生を示す警告灯２８が点灯する。作業者は、警告灯２８の点灯状態に基づいて失火が再現したか否かを判定し、全体作業フローチャート１１０のスキップボックス１２２を選択することにより失火再現テストの結果を入力する。或いは、ステップＳ１７と同様、外部診断機１４自身が、失火の再現の有無を判定してもよい。
【００５２】
失火発生時の再現状態で失火が再現した場合（Ｓ２０：ＹＥＳ）、ステップＳ２２に進む。失火発生時の再現状態で失火が再現しなかった場合（Ｓ２０：ＮＯ）、ステップＳ２１において、外部診断機１４は、失火に関する過去の故障データを表示部９２に一覧表示すると共に、一覧表示の中から選択された過去の故障データの詳細を表示する。これにより、作業者は、過去の故障データに基づいて故障部位を特定可能となる。なお、失火に関する過去の故障データは、記憶部９０に予め記憶されている。
【００５３】
ステップＳ２２において、外部診断機１４は、各気筒３６ａ〜３６ｄの失火パターンを表示部９２に表示する。図８は、具体的作業表示領域１０６に表示する複数の失火パターン並びにこれらに対応する失火状況及び故障可能性部位の例を示す図である。
【００５４】
図８では、複数の失火パターンとして、単一の気筒が連続的に失火している失火パターン１（単気筒−連続失火）と、複数の気筒が連続的に失火している失火パターン２（複数気筒−連続失火）と、単一の気筒がランダム（不規則）に失火する失火パターン３（単気筒−ランダム失火）と、複数の気筒がランダムに失火する失火パターン４（複数気筒−ランダム失火）とが示されている。
【００５５】
また、失火パターン１（単気筒−連続失火）に関する「失火している状況（失火症状）」の欄には、「失火気筒が毎回失火し、連続的に失火カウンタがアップしている。（リニアにアップしている）」及び「１つの気筒だけ失火カウンタがアップする。」との記載と、横軸を時間軸（計測時間）とし縦軸を失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎ（失火カウンタ［回数］）とする失火パターン１（単気筒−連続失火）のグラフが表示される。また、失火パターン１に関する「故障可能性部位」の欄では、失火パターン１に伴って故障が発生している可能性のある部位として、イグニッション（ＩＧ）コイル、スパークプラグ、コンプレッション（圧縮不良）、タペットクリアランス（バルブクリアランス）及びインジェクタが表示される。
【００５６】
失火パターン２（複数気筒−連続失火）に関する「失火している状況（失火症状）」の欄には、「失火気筒が毎回失火し、連続的に失火カウンタがアップしている。（リニアにアップしている）」及び「複数の気筒の失火カウンタがアップする。」との記載と、横軸を時間軸とし縦軸を失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとする失火パターン２（複数気筒−連続失火）のグラフが表示される。また、失火パターン２に関する「故障可能性部位」の欄では、失火パターン２に伴って故障が発生している可能性のある部位として、ＩＧコイル、スパークプラグ、コンプレッション、タペットクリアランス及びインジェクタが表示される。
【００５７】
失火パターン３（単気筒−ランダム失火）に関する「失火している状況（失火症状）」の欄には、「失火気筒がランダムに（不規則に）失火したり、正常になったりと不規則に失火カウンタがアップする。」、「正常なときと失火カウントがアップするときとがある。」及び「１つの気筒だけ失火カウンタがアップする。」との記載と、横軸を時間軸とし縦軸を失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとする失火パターン３（単気筒−連続失火）のグラフが表示される。また、失火パターン３に関する「故障可能性部位」の欄では、失火パターン３に伴って故障が発生している可能性のある部位として、イグニッション（ＩＧ）コイル、クランクパルサ、クランクセンサ、ＶＴＥＣ（可変バルブタイミング・リフト機構）、コンプレッション及びタペットクリアランスが表示される。
【００５８】
失火パターン４（複数気筒−ランダム失火）に関する「失火している状況（失火症状）」の欄には、「失火気筒がランダムに（不規則に）失火したり、正常になったりと不規則に失火カウンタがアップする。」、「正常なときと失火カウントがアップするときとがある。」及び「全気筒や複数気筒の失火カウンタがアップする。」との記載と、横軸を時間軸とし縦軸を失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとする失火パターン４（複数気筒−連続失火）のグラフが表示される。また、失火パターン４に関する「故障可能性部位」の欄では、失火パターン４に伴って故障が発生している可能性のある部位として、クランクパルサ、クランクセンサ、ＥＧＲバルブ、ＶＴＥＣ、コンプレッション、タペットクリアランス、燃料室、燃料系（燃圧、ポンプ、フィルタ）及びエンジン本体が表示される。
【００５９】
なお、図８の表示は、作業者が失火パターンを判定するための指標であり、これとは別に、各気筒３６ａ〜３６ｄに関する今回の失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのグラフ（図８と同様のもの。図示せず）が具体的作業表示領域１０６に表示される。今回の失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎに関し、エンジン１６がアイドリング状態で失火が再現した場合（Ｓ１８：ＹＥＳ）、その際に取得されたデータが用いられ、エンジン１６がアイドリング状態で失火が再現しなかった場合（Ｓ１８：ＮＯ）、失火発生時のデータが用いられる。加えて、具体的作業表示領域１０６には、失火パターンの選択枝とが表示される。
【００６０】
作業者は、図８の表示及び今回の失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのグラフに基づいて、失火パターンの選択枝を操作部８６を用いて選択する。これにより、失火パターンが選択される。
【００６１】
図５のステップＳ２３において、外部診断機１４は、圧縮圧力異常判定テストを実行する。圧縮圧力異常判定テストは、各気筒３６ａ〜３６ｄにおける圧縮圧力の異常を判定するテストであり、機械系の故障が発生しているか否かを判定することができる（詳細は後述する。）。
【００６２】
ステップＳ２４において、外部診断機１４は、空燃比不良診断テストを実行する。空燃比不良診断テストは、各気筒３６ａ〜３６ｄにおける空燃比の不良を診断するテストであり、空燃比が過度に薄くなるリーン故障と空燃比が過度に濃くなるリッチ故障とを判定することができる（詳細は後述する。）。
【００６３】
ステップＳ２５において、外部診断機１４は、失火再現テスト（Ｓ１７、Ｓ１９）、圧縮圧力異常判定テスト（Ｓ２３）及び空燃比不良診断テスト（Ｓ２４）の結果に基づいて、故障が発生している可能性のある部位（以下「故障可能性部位」という。）を絞り込み、各テストの結果と共に表示する。
【００６４】
図９は、具体的作業表示領域１０６に表示する各テストの結果と故障可能性部位の例を示す。図９では、複数の失火パターン１〜４と、圧縮圧力異常判定テストの結果と、空燃比不良診断テストの結果とに応じて故障可能性部位を表示する。
【００６５】
具体的には、失火パターンが「１」（単気筒−連続失火）又は「２」（複数気筒−連続失火）であり、圧縮圧力異常判定テストの結果が不合格（機械系の故障あり）である場合、故障可能性部位としてコンプレッション及びタペットクリアランス（ズレ大）が表示される。失火パターンが「１」又は「２」であり、圧縮圧力異常判定テストの結果が合格（機械系の故障なし）であり、空燃比不良診断テストの結果がリーン故障である場合、故障可能性部位としてＩＧコイル、スパークプラグ及びインジェクタが表示される。失火パターンが「１」又は「２」であり、圧縮圧力異常判定テストの結果が合格（機械系の故障なし）であり、空燃比不良診断テストの結果がリッチ故障である場合、故障可能性部位としてインジェクタが表示される。
【００６６】
また、失火パターンが「３」（単気筒−連続失火）であり、圧縮圧力異常判定テストの結果が不合格（機械系の故障あり）である場合、故障可能性部位としてコンプレッション及びタペットクリアランス（ズレ大）が表示される。失火パターンが「３」であり、圧縮圧力異常判定テストの結果が合格（機械系の故障なし）であり、空燃比不良診断テストの結果がリーン故障である場合、故障可能性部位としてＩＧコイル、タペットクリアランス（ズレ小）及びインジェクタが表示される。失火パターンが「３」であり、圧縮圧力異常判定テストの結果が合格であり、空燃比不良診断テストの結果がリッチ故障である場合、故障可能性部位としてインジェクタが表示される。失火パターンが「３」であり、圧縮圧力異常判定テスト及び空燃比不良診断テストの結果が合格である場合、故障可能性部位としてＩＧコイル、クランクパルサ、クランクセンサ及びＶＴＥＣが表示される。
【００６７】
さらに、失火パターンが「４」（複数気筒−連続失火）であり、圧縮圧力異常判定テストの結果が不合格（機械系の故障あり）である場合、故障可能性部位としてコンプレッション及びタペットクリアランス（ズレ大）が表示される。失火パターンが「４」であり、圧縮圧力異常判定テストの結果が合格（機械系の故障なし）であり、空燃比不良診断テストの結果がリーン故障である場合、故障可能性部位としてタペットクリアランス（ズレ小）、燃料室、燃料系（燃圧、ポンプ、フィルタ）、ＥＧＲ開き故障及びＥＧＲリークが表示される。失火パターンが「４」であり、圧縮圧力異常判定テストの結果が合格であり、空燃比不良診断テストの結果がリッチ故障である場合、故障可能性部位としてインジェクタが表示される。失火パターンが「４」であり、圧縮圧力異常判定テスト及び空燃比不良診断テストの結果が合格である場合、故障可能性部位としてクランクパルサ、クランクセンサ、ＶＴＥＣ切換え遅れ及びＥＧＲ追従遅れが表示される。
【００６８】
図５に戻り、ステップＳ２６において、作業者は、各故障可能性部位の故障を判定する。例えば、図９における具体的な故障可能性部位（コンプレッション、ＩＧコイルなど）を、これらの具体的作業内容のデータとリンクさせておき、作業者が、いずれかの選択枝（故障可能性部位）を操作部８６を用いて入力する。これに応じて、外部診断機１４は、入力された選択枝（故障可能性部位）に応じた全体作業フローチャート１１０を表示すると共に、全体作業フローチャート１１０中で選択されている作業タイトルボックス１１４に応じた具体的作業内容を具体的作業表示領域１０６に表示する。そして、作業者は、これらの表示を参照して各故障可能性部位において実際に故障が発生しているか否かを確認し、故障が発生している場合に修理作業を行う。
【００６９】
次に、本実施形態での圧縮圧力異常判定テスト及び空燃比不良診断テストについて説明する。
【００７０】
（３）圧縮圧力異常判定テスト
上記のように、圧縮圧力異常判定テストは、各気筒３６ａ〜３６ｄにおける圧縮圧力の異常を判定するテストであり、各気筒３６ａ〜３６ｄにおける機械系の故障が発生しているか否かを判定することができる。圧縮圧力異常判定テストでは、各気筒３６ａ〜３６ｄにおける爆発を中止させつつクランク軸４８を回転させるクランキング回転状態を発生させ、クランク軸４８の角加速度変動Δω［ｒａｄ／ｓ］に基づいて圧縮圧力に異常が生じている気筒３６ａ〜３６ｄ（圧縮圧力異常気筒）を判定する。本実施形態のクランキング回転状態では、燃料供給系（燃料噴射弁４２等）及び点火系（点火プラグ４４等）の両方を停止する。
【００７１】
図１０には、クランキング回転時における各気筒３６ａ〜３６ｄのピストン５０の動作と、ピストン５０の動作に伴ってクランク軸４８に生じる負荷Ｌ１の大きさとの関係の例が、正常に動作しているときと圧縮圧力の不足が発生しているときとに分けてモデル的に示されている。ここでの負荷Ｌ１は、エンジン回転数ＮＥ［ｒｐｍ］の低下、すなわち、クランク角速度ω［ｒａｄ／ｓ］の低下を示す。また、クランキング回転時には各気筒３６ａ〜３６ｄにおける爆発を中止させるため、図１０における爆発工程は、実際には爆発を伴うものではない。換言すると、ここでの爆発工程とは、通常運転時における爆発工程とクランク角Ａｃの範囲を等しくする工程を指すことに留意されたい。
【００７２】
図１０の例では、正常に動作している場合と、圧縮異常が発生している場合とを比較して示しており、負荷Ｌ１の差は、吸入工程、爆発工程及び排気工程と比較して、圧縮工程が特に大きい。これは、気筒３６ａ〜３６ｄのいずれかの箇所において気体の漏れを生じている場合、圧縮負荷が小さくなるためである。
【００７３】
そして、複数の気筒３６ａ〜３６ｄで構成されたエンジン１６においては、それぞれの気筒３６ａ〜３６ｄの工程の位相をずらすことで規則性を持たせた角速度変動Δωとなるように設定されているので、正常動作では安定したクランキング回転が得られるように構成されている。ところが、いずれかの気筒３６ａ〜３６ｄで圧縮異常が発生すると、上記のように圧縮負荷がかからず角速度変動Δωに乱れが発生する。
【００７４】
本実施形態ではこの点に着目し、圧縮工程における負荷Ｌ１の差を直接用いるのではなく、爆発工程における角速度変動Δωを用いる。これは、圧縮圧力が不足している気筒３６ａ〜３６ｄを含むクランキング回転では、圧縮圧力不足気筒の圧縮工程ではクランク角速度ωが上昇するが、その反動で次工程（爆発工程）では角速度ωの低下が起こることを利用したものである。これにより、爆発工程における角速度ωの低下（変動）に基づいて圧縮圧力の不足の有無を判定することが可能である。従って、失火判定のためのロジックに角加速度変動Δωを用いていた場合、当該ロジックを圧縮圧力不足気筒の判定のためのロジックとして利用することが可能となる。
【００７５】
図１１には、クランキング回転状態において、各気筒３６ａ〜３６ｄが正常に動作している場合及び第１気筒３６に失火が発生している場合におけるクランク角Ａｃ及びクランク角速度ωと、各気筒３６ａ〜３６ｄにおける工程（吸入工程、圧縮工程、爆発工程及び排気工程）との関係の例がモデル的に示されている。図１１において、実線１３０は、各気筒３６ａ〜３６ｄが正常に動作している場合におけるクランク角Ａｃ及びクランク角速度ωの関係を示す。破線１３２は、第１気筒３６ａに失火が発生している場合におけるクランク角Ａｃ及びクランク角速度ωの関係を示す。
【００７６】
図１１の例では、第１気筒３６ａの圧縮工程の後の爆発行程での回転に乱れが発生して角速度ωが急減している。
【００７７】
図１２には、図１１の例に対応するクランク角Ａｃ及び角速度変動Δωと、各気筒３６ａ〜３６ｄの爆発工程との関係が示されている。図１２において、実線１４０は、各気筒３６ａ〜３６ｄが正常に動作している場合におけるクランク角Ａｃ及び角速度変動Δωの関係を示す。破線１４２は、第１気筒３６ａに失火が発生している場合におけるクランク角Ａｃ及び角速度変動Δωの関係を示す。図１１の例では、圧縮圧力不良が発生している状態をわかりやすく説明するために、第１気筒３６ａの圧縮工程において圧縮抜け（圧縮圧力がゼロの状態）が発生した場合を示しており、図１２の例では、第１気筒３６ａの爆発工程において角速度変動Δωが減少している。これは、第１気筒３６ａの圧縮工程において圧縮負荷がかからずその分だけ角速度変動Δωが増加し、その反動で第１気筒３６ａの爆発工程において角速度変動Δωが減少するためである。このようにして、爆発工程ごとの比較で第１気筒３６ａにおいて圧縮圧力の不足が発生していることを判定することができる。
【００７８】
より具体的には、外部診断機１４は、取得した角速度変動Δωに基づいて個別平均値ＡＶＥｒ、全体平均値ＡＶＥｔ及び割合Ｒ１を算出する。個別平均値ＡＶＥｒは、各気筒３６ａ〜３６ｄそれぞれについての爆発工程における角速度変動Δωの平均値である。全体平均値ＡＶＥｔは、全気筒３６ａ〜３６ｄの個別平均値ＡＶＥｒの平均値である。割合Ｒ１は、個別平均値ＡＶＥｒ／全体平均値ＡＶＥｔである。
【００７９】
外部診断機１４は、先に読み出した故障コード及び前記割合Ｒ１に基づいて各気筒３６ａ〜３６ｄについて機械的故障の有無を判定し、判定結果を表示部９２に表示する。
【００８０】
すなわち、外部診断機１４は、各気筒３６ａ〜３６ｄについての割合Ｒ１に基づき失火発生気筒における圧縮圧力不足の有無を判定する。具体的には、割合Ｒ１が、圧縮圧力不足の有無を判定するための閾値（圧縮圧力不足判定閾値ＴＨ２）を下回る場合、ＥＣＵ２０は、当該失火発生気筒に圧縮圧力不足が発生していると判定する。本実施形態において、閾値ＴＨ２は１００％である。
【００８１】
図１３には、気筒３６ａ〜３６ｄのうち第１気筒３６ａが異常で、第２〜第４気筒３６ｂ〜３６ｄが正常である場合において、第１気筒３６ａのタペットクリアランスＴＣが正常である場合（例えば、ＴＣ＝０．２３ｍｍ）、タペットクリアランスＴＣのずれが小である場合（例えば、ＴＣ＝０．１３ｍｍ）、タペットクリアランスＴＣのずれが大である場合（例えば、ＴＣ＝０．０５ｍｍ）、及び圧縮圧力がゼロである場合それぞれにおける個別平均値ＡＶＥの例が示されている。
【００８２】
すなわち、実線１５０は、タペットクリアランスＴＣが正常である場合（例えば、ＴＣ＝０．２３ｍｍ）の個別平均値ＡＶＥｒを示す。破線１５２は、タペットクリアランスＴＣのずれが小さい場合（例えば、ＴＣ＝０．１３ｍｍ）の個別平均値ＡＶＥｒを示す。一点鎖線１５４は、タペットクリアランスＴＣのずれが大きい場合（例えば、ＴＣ＝０．０５ｍｍ）の個別平均値ＡＶＥｒを示す。二点鎖線１５６は、圧縮圧力がゼロである場合の個別平均値ＡＶＥｒを示す。
【００８３】
図１４には、図１３の各気筒３６ａ〜３６ｄの個別平均値ＡＶＥｒに基づく全体平均値ＡＶＥｔに対する個別平均値ＡＶＥｒの割合Ｒ１（＝ＡＶＥｅ／ＡＶＥｔ）を示す図である。図１５は、図１４の一部を拡大して表示した図である。図１４及び図１５の実線１６０は第１気筒３６ａに対応し、破線１６２は第２気筒３６ｂに対応し、一点鎖線１６４は第３気筒３６ｃに対応し、二点鎖線１６６は第４気筒３６ｄに対応する。
【００８４】
以上のような方法により、外部診断機１４は、各気筒３６ａ〜３６ｄにおける圧縮圧力の異常を判定し、機械系の故障が発生しているか否かを判定する。
【００８５】
（４）空燃比不良診断テスト
上記のように、空燃比不良診断テストは、各気筒３６ａ〜３６ｄにおける空燃比の不良を診断するテストであり、空燃比が過度に薄くなるリーン故障と空燃比が過度に濃くなるリッチ故障とを判定することができる。
【００８６】
（ａ）本実施形態における空燃比制御
まず、本実施形態における空燃比制御について説明しておく。本実施形態では、エンジン１６を作動させる際に一般的に通常空燃比制御を用いる。通常空燃比制御は、エンジンＥＣＵ２０の燃料噴射弁制御機能で用いる制御であり、燃料噴射基本制御と空燃比フィードバック制御（以下「空燃比ＦＢ制御」という。）とを組み合わせたものである。
【００８７】
本実施形態における燃料噴射基本制御は、各気筒３６ａ〜３６ｄそれぞれに供給する混合気における燃料（ここでは、ガソリン）と空気の比（以下「気筒空燃比Ｒａｆ＿１〜Ｒａｆ＿４」又はこれらを総称して「気筒空燃比Ｒａｆ＿ｎ」若しくは「空燃比Ｒａｆ＿ｎ」という。）を理論空燃比（燃料：空気＝１：１４．７）とする制御である。
【００８８】
より具体的には、燃料噴射基本制御では、吸気量センサ３０が検出する吸気量Ｑａｆと燃料噴射弁４２の燃料噴射量Ｑｆｉの目標値との関係をマップ化して事前に設定しておき、検出された吸気量Ｑａｆに対応する燃料噴射量Ｑｆｉの目標値に応じて燃料噴射弁４２を制御する。
【００８９】
但し、各気筒３６ａ〜３６ｄの吸気バルブ３８及び排気バルブ４０の作動タイミング（タペットクリアランスＴＣ）のばらつきや燃料噴射弁４２の経年変化など種々の要因のため、必ずしも各気筒３６ａ〜３６ｄの空燃比Ｒａｆ＿ｎ及びエンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌは、理論空燃比と等しくならない。
【００９０】
本実施形態における空燃比ＦＢ制御は、全体空燃比Ｒａｆ＿ｔｏｔａｌが理論空燃比と等しくなるようにフィードバックする制御である。具体的には、空燃比センサ４６の検出値が理論空燃比でない場合、当該検出値が理論空燃比となるように、全ての燃料噴射弁４２の燃料噴射量Ｑｆｉを増減させることにより、理論空燃比を実現する。この際、補正値Ｐｃを用いて燃料噴射量Ｑｆｉを補正する。なお、補正値Ｐｃは、後述する各気筒３６ａ〜３６ｄの燃料噴射率Ｒｆｉ＿ｎ［％］（目標値）の補正値であるが、それ以外のもの（例えば、燃料噴射量Ｑｆｉ（目標値）又は全体空燃比Ｒａｆ＿ｔｏｔａｌについてのもの）であってもよい。
【００９１】
なお、本実施形態では、１つの空燃比センサ４６がエキゾーストマニホールド６４の下流側に設けられるのみであるため、各気筒３６ａ〜３６ｄの空燃比Ｒａｆ＿ｎは検出されない。従って、燃料噴射基本制御では、エンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌを理論空燃比に収束させることはできるが、各気筒３６ａ〜３６ｄの空燃比Ｒａｆ＿ｎを理論空燃比に収束させることはできない。
【００９２】
（ｂ）空燃比不良診断テスト
図１６は、空燃比不良診断テストの実行時におけるエンジン回転数ＮＥと、各気筒３６ａ〜３６ｄの空燃比（気筒空燃比Ｒａｆ＿ｎ）と、各気筒３６ａ〜３６ｄの失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎ［回］との関係を示すタイムチャートである。
【００９３】
図１６では、時点ｔ１から時点ｔ２までがエンジン１６の暖機運転期間であり、時点ｔ３から時点ｔ４までが第１気筒３６ａを対象とするテスト期間であり、時点ｔ４から時点ｔ５までが第２気筒３６ｂを対象とするテスト期間であり、時点ｔ５から時点ｔ６までが第３気筒３６ｃを対象とするテスト期間であり、時点ｔ６から時点ｔ７までが第４気筒３６ｄを対象とするテスト期間である。
【００９４】
図１６に示すように、空燃比不良診断テストでは、診断対象となる気筒３６ａ〜３６ｄ（以下「対象気筒」という。）について気筒空燃比Ｒａｆ＿ｎを段階的に変更しながら気筒３６ａ〜３６ｄを１つずつ作動させる。そして、この際の累積値Ｔｍｆ＿ｃｙｌ＿ｎを検出する。累積値Ｔｍｆ＿ｃｙｌ＿ｎは、測定周期Ｐｍ［ｓｅｃ］における対象気筒の失火発生回数の累積値である。また、「Ｔｍｆ＿ｃｙｌ＿ｎ」における「ｎ」は、各気筒３６ａ〜３６ｄの番号を示し、例えば、累積値Ｔｍｆ＿ｃｙｌ＿１は、第１気筒３６ａの累積値を示す。対象気筒以外の気筒３６ａ〜３６ｄについては燃料噴射基本制御を行う。
【００９５】
測定周期Ｐｍは、補正量Ｃｆｉ＿ｎを切り替える周期（すなわち、燃料噴射率Ｒｆｉ＿ｎ及び気筒空燃比Ｒａｆ＿ｎを切り替える周期）である（図１６参照）。このため、累積値Ｔｍｆ＿ｃｙｌ＿ｎは、補正量Ｃｆｉ＿ｎを切り替える毎の対象気筒の失火発生回数の累積値である。
【００９６】
気筒空燃比Ｒａｆ＿ｎに異常がなければ、気筒空燃比Ｒａｆ＿ｎが０％のときに累積値Ｔｍｆ＿ｃｙｌ＿ｎはゼロであり、０％から離れていくに連れて累積値Ｔｍｆ＿ｃｙｌ＿ｎが大きくなる。気筒空燃比Ｒａｆ＿ｎと累積値Ｔｍｆ＿ｃｙｌ＿ｎとの関係を気筒３６ａ〜３６ｄ毎に確認することにより、各気筒３６ａ〜３６ｄに空燃比不良が発生しているか否かを判定することができる。具体的には、気筒空燃比Ｒａｆ＿ｎが０％であるときよりも気筒空燃比Ｒａｆ＿ｎが負の値（例えば、−２０％）のときの方が失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが小さい場合、当該気筒３６ａ〜３６ｄは、燃料が濃く噴射され過ぎるリッチ故障であるといえる。一方、気筒空燃比Ｒａｆ＿ｎが０％であるとき既に失火が発生しており（例えば、失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが所定の閾値を上回り）、気筒空燃比Ｒａｆ＿ｎが負の値（例えば、−２０％）のときの方が失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが大きい場合、当該気筒３６ａ〜３６ｄが、燃料が薄く噴射され過ぎるリーン故障であるといえる。
【００９７】
従って、外部診断機１４は、気筒空燃比Ｒａｆ＿ｎと失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとの関係に基づいて各気筒３６ａ〜３６ｄのリッチ故障とリーン故障を判定することができる。
【００９８】
３．本実施形態の効果
以上のように、本実施形態によれば、実際に発生している又は過去に発生した失火についての失火パターンを検出し、当該失火パターンに対応させて故障部位を絞り込む（図８及び図９）。このため、故障部位を特定又は確認するための工数を大幅に削減することが可能になる。
【００９９】
本実施形態において、外部診断機１４は、横軸を時間とし縦軸を失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとするグラフを失火パターンとして表示する（図８）。これにより、作業者は、当該グラフを目視確認することで失火パターンを簡単に判別することが可能となる。このため、作業者は、実際に起こっている失火発生の状況を容易に把握することができると共に、失火発生の連続性の有無を簡易に分類することが可能となる。従って、作業者は、実際に行われている診断作業（すなわち、失火発生の連続性の有無の判定）及びその結果（当該連続性の有無）を容易に把握することが可能となり、作業能率を高めることができると共に、経験の浅い作業者にとっての学習効果を高め、作業者のスキルアップを図ることができる。
【０１００】
本実施形態では、外部診断機１４からの指令に応じてエンジン１６を再始動させて失火発生気筒での失火の再現を試み（図４のＳ１９）、失火が再現しない場合（Ｓ２０：ＮＯ）には、失火発生時のデータに基づいて失火パターンを検出する（Ｓ２１）。これにより、エンジン１６の再始動により失火が再現しない場合であっても、故障コードの生成時点における失火発生の連続的なデータを利用して故障部位を絞り込むことが可能となる。
【０１０１】
本実施形態では、外部診断機１４からの指令に応じてエンジン１６をアイドリング状態にさせて失火発生気筒での失火の再現を試み（図４のＳ１７）、失火が再現しない場合（Ｓ１８：ＮＯ）には、失火発生時のデータに基づいて失火発生時の状況を再現させて失火発生気筒において失火を再現させ、失火パターンを検出する（Ｓ１９）。これにより、アイドリング状態では失火が再現し難い場合でも積極的に失火状態を再現させて故障部位を絞り込むことが可能となる。
【０１０２】
本実施形態では、外部診断機１４からの指令に応じてエンジン１６を再始動させて失火発生気筒での失火が再現する場合（Ｓ１８：ＹＥＳ又はＳ２０：ＹＥＳ）、圧縮圧力異常判定テストにより圧縮圧力不足気筒を判定すると共に、空燃比不良診断テストにより空燃比不良の発生を判定することで故障部位をさらに絞り込む。これにより、失火パターンに対応させて絞り込んだ故障部位を、さらに、圧縮圧力不足気筒の判定と、空燃比不良の発生の判定とでかなりの限定的な箇所にまで絞り込むことが可能となる。従って、故障部位を特定又は確認するための工数を一層削減することが可能になる。
【０１０３】
本実施形態では、失火パターンは、単気筒及び複数気筒の連続失火、単気筒のランダム失火並びに複数気筒のランダム失火を含む（図８）。これにより、失火パターンを簡易に区分しつつ、故障部位を効率的に絞り込むことが可能となる。
【０１０４】
Ｂ．変形例
なお、この発明は、上記実施形態に限らず、この明細書の記載内容に基づき、種々の構成を採り得ることはもちろんである。例えば、以下に示す構成を採ることができる。
【０１０５】
１．外部診断機１４
上記実施形態では、外部診断機１４を車両１２のエンジン１６の診断に用いたが、これに限らず、内燃機関を有するその他の装置（例えば、船舶等の移動体）に用いることもできる。また、上記実施形態において、外部診断機１４は、車両１２の外部からエンジンＥＣＵ２０と通信するものとしたが、車両１２の内部に搭載してもよい。換言すると、エンジンＥＣＵ２０に外部診断機１４の機能を持たせることも可能である。
【０１０６】
２．エンジン１６
上記実施形態では、エンジン１６は、直列４気筒エンジンであったが、気筒３６の配置や数は、これに限らない。例えば、エンジン１６は、Ｖ型６気筒エンジンであってもよい。この場合は、６気筒の一連の工程（吸入→圧縮→爆発→排気）がクランク軸４８の２回転（７２０°）に対応する。従って、クランク角Ａｃが１２０°（＝７２０°／６）毎に各気筒の爆発工程を対応させる。
【０１０７】
３．空燃比センサ４６
上記実施形態では、エンジン１６全体で１つの空燃比センサ４６を設けたが、これに限らず、空燃比センサ４６を複数の気筒３６毎に設けてもよい。
【０１０８】
４．失火再現テスト
上記実施形態では、２種類の失火再現テスト（アイドリング状態及び失火発生時の状況再現）を実行可能としたが、これに限らず、いずれか一方のみ実行してもよい。
【０１０９】
上記実施形態では、失火パターンとして「単気筒−連続失火」、「複数気筒−連続失火」、「単気筒−ランダム失火」及び「複数気筒−ランダム失火」を設定したが、これに限らない。例えば、「連続失火」及び「ランダム失火」の２種類のみ、並びに「連続失火」、「単気筒−ランダム失火」及び「複数気筒−ランダム失火」の３種類のみとしてもよい。
【０１１０】
上記実施形態では、失火パターンの判定を作業者が行ったが、外部診断機１４が自動的に行ってもよい。その場合、例えば、失火不発生とランダム失火を区別するための第１失火閾値と、ランダム失火と連続失火を区別するための第２失火閾値とを事前に設定しておく。そして、各気筒３６ａ〜３６ｄに関する失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎと第１失火閾値及び第２失火閾値とを比較することにより、各気筒３６ａ〜３６ｄについて失火不発生、ランダム失火又は連続失火のいずれであるかを判定することができる。
【０１１１】
上記実施形態では、作業者が失火パターンを判定するための指標として図８の表示と、今回の失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのグラフの両方を具体的作業表示領域１０６に表示したが、今回の失火回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのグラフのみであってもよい。
【０１１２】
上記実施形態では、外部診断機１４は、失火発生のデータを車両１２側（エンジンＥＣＵ２０）から直接取得したが、これに限らず、何らかの中継装置を介して間接的に取得することができる。当該中継装置としては、エンジンＥＣＵ２０と有線通信し、外部診断機１４と無線通信する無線中継器を用いることができる。或いは、無線通信機能を有するカーナビゲーション装置又は携帯端末（スマートフォンなど）を介して外部診断機１４が失火発生のデータを取得することもできる。
【０１１３】
５．圧縮圧力異常判定テスト
上記実施形態では、クランキング回転状態の際、燃料供給系（燃料噴射弁４２等）及び点火系（点火プラグ４４等）の両方を停止したが、気筒３６ａ〜３６ｄにおける爆発を発生させなければよく、例えば、燃料供給系のみを停止させてもよい。
【０１１４】
上記実施形態では、爆発工程における角速度変動Δωを用いて圧縮圧力異常を判定したが、これに限らず、例えば、圧縮工程における角速度変動Δωを用いて圧縮圧力異常を判定してもよい。
【０１１５】
６．空燃比不良診断テスト
上記実施形態では、外部診断機１４の演算部８８は、エンジンＥＣＵ２０を介して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行ったが、これに限らず、演算部８８から燃料噴射弁４２を直接制御して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行ってもよい。或いは、エンジンＥＣＵ２０に外部診断機１４の機能を持たせることにより、エンジンＥＣＵ２０（外部診断機１４）が燃料噴射弁４２を直接制御して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行うこともできる。
【０１１６】
上記実施形態では、補正値Ｃｆｉ＿ｎを減少させることで各気筒３６の空燃比Ｒａｆ＿ｎを理論空燃比からリーン側に減少させていったが（図１６）、これに限らない。例えば、補正値Ｃｆｉ＿ｎを正から負に段階的に切り替えることで、気筒空燃比Ｒａｆ＿ｎをリッチ側からリーン側に段階的に切り替えることができる。或いは、補正値Ｃｆｉ＿ｎを負から正に段階的に切り替えることで、気筒空燃比Ｒａｆ＿ｎをリーン側からリッチ側に段階的に切り替えることもできる。これらの場合、補正値Ｃｆｉ＿ｎは、±０％、−１０％、−２０％、−３０％、−４０％の組合せのみではなく、適宜変更することができる。
【０１１７】
上記実施形態では、対象気筒以外の気筒３６ａ〜３６ｄについて燃料噴射基本制御を行いつつ、対象気筒について空燃比Ｒａｆ＿ｎ（補正値Ｃｆｉ＿ｎ）を徐々に変化させた。これに限らず、対象気筒以外の気筒３６ａ〜３６ｄについては、燃料噴射基本制御を停止し、燃料噴射及び点火を中止することもできる。
【０１１８】
７．その他
上記実施形態では、失火再現テスト、圧縮圧力異常判定テスト及び空燃比不良診断テストの結果を組み合わせて、故障可能性部位を絞り込んだが、これに限られない。例えば、失火再現テストに加えていずれか１つのみを用いて故障可能性部位を絞り込むことも可能である。
【符号の説明】
【０１１９】
１０…故障診断システム              １２…車両
１４…外部診断機                    １６…エンジン
２０…エンジンＥＣＵ（制御装置）    ３６ａ〜３６ｄ…気筒
４８…クランク軸
５４…クランク角センサ（クランク角検出手段）
ω…クランク角速度
Δω…角速度変動（クランク軸の角速度の変動値）
【図１】
0005265724.tif 000002
【図２】
0005265724.tif 000003
【図３】
0005265724.tif 000004
【図４】
0005265724.tif 000005
【図５】
0005265724.tif 000006
【図６】
0005265724.tif 000007
【図７】
0005265724.tif 000008
【図８】
0005265724.tif 000009
【図９】
0005265724.tif 000010
【図１０】
0005265724.tif 000011
【図１１】
0005265724.tif 000012
【図１２】
0005265724.tif 000013
【図１３】
0005265724.tif 000014
【図１４】
0005265724.tif 000015
【図１５】
0005265724.tif 000016
【図１６】
0005265724.tif 000017