複数の気筒を有するエンジンの運転中に失火が発生している失火発生気筒を判定し、当該失火発生気筒を示す故障コードを記憶する失火監視部に監視されるエンジンの故障診断方法であって、各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を気筒毎に検出し、圧縮圧力が不足している圧縮圧力不足気筒を前記変動値に基づいて判定し、前記故障コードが示す失火発生気筒と、前記クランキング回転状態において判定された圧縮圧力不足気筒とが一致する気筒を特定することを特徴とするエンジンの故障診断方法。請求項1記載のエンジンの故障診断方法において、前記エンジンの通常運転時には、爆発工程に対応する前記クランク軸の角速度の変動値を気筒毎に検出し、前記角速度の変動値が小さい気筒を前記失火発生気筒と判定し、前記クランキング回転時には、爆発工程に対応する前記クランク軸の角速度の変動値を気筒毎に検出し、前記角速度の変動値が小さい気筒を前記圧縮圧力不足気筒と判定することを特徴とするエンジンの故障診断方法。請求項1又は2記載のエンジンの故障診断方法において、前記クランキング回転状態において、各気筒個別の変動値の平均値である個別平均値と、全気筒の変動値の平均値である全体平均値とを比較し、前記全体平均値よりも前記個別平均値が小さい気筒が、前記圧縮圧力不足気筒であると判定することを特徴とするエンジンの故障診断方法。請求項3記載のエンジンの故障診断方法において、前記全体平均値よりも低い前記個別平均値について、前記全体平均値からの乖離の程度を複数段階に分けて表示することを特徴とするエンジンの故障診断方法。複数の気筒を有するエンジンの運転中に失火が発生している失火発生気筒を判定し、当該失火発生気筒を示す故障コードを記憶する失火監視部に監視されるエンジンの故障診断装置であって、各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を気筒毎に取得し、圧縮圧力が不足している圧縮圧力不足気筒を前記変動値に基づいて判定し、前記故障コードが示す失火発生気筒と、前記クランキング回転状態において判定された圧縮圧力不足気筒とが一致する気筒を特定することを特徴とするエンジンの故障診断装置。請求項5記載のエンジンの故障診断装置において、前記エンジンの通常運転時には、爆発工程に対応する前記クランクの角速度の変動値を気筒毎に取得し、前記角速度の変動値が小さい気筒を前記失火発生気筒と判定し、前記クランキング回転時には、爆発工程に対応する前記クランク軸の角速度の変動値を気筒毎に取得し、前記角速度の変動値が小さい気筒を前記圧縮圧力不足気筒と判定することを特徴とするエンジンの故障診断装置。請求項5又は6記載のエンジンの故障診断装置において、前記クランキング回転状態において、各気筒個別の変動値の平均値である個別平均値と、全気筒の変動値の平均値である全体平均値とを比較し、前記全体平均値よりも前記個別平均値が小さい気筒が、前記圧縮圧力不足気筒であると判定することを特徴とするエンジンの故障診断装置。請求項7記載のエンジンの故障診断装置において、前記全体平均値よりも低い前記個別平均値について、前記全体平均値からの乖離の程度を複数段階に分けて表示することを特徴とするエンジンの故障診断装置。特許文献1における警告灯の点灯のような警告に基づいて、サービス拠点で故障診断及び点検修理作業が行われるが、失火が発生する原因は多岐に亘るため、修理個所の特定には大変な労力を必要とする。例えば、複数気筒エンジンにおいて失火が発生した場合のトラブルシューティングの1つとして、エンジンの圧縮圧力に異常がないか否かを確認する点検項目を設ける場合、点火プラグを外して点火プラグの取付孔に圧力計を装着した状態でクランキング回転を行って各気筒の圧縮圧力を直接計測する方法や、各気筒のバルブクリアランス吸気バルブ及び排気バルブのクリアランスを全て点検する方法を採用すると、このような機械的な点検作業は分解や調整整備に多大な工数を必要とする。また、失火の発生原因は、電気的な故障と機械的な故障に大別されるが、特に機械的故障については分解整備作業が必要になるので大変手間がかかるという問題がある。一方、特許文献2のような圧縮圧力の異常検出については、気筒毎に圧縮圧力が多少相違しても、実際に失火が発生せずに正常運転が行われていて故障でない場合も存在する。また、クランキング回転の瞬時回転数の差分値は、圧縮圧力以外に気筒の構成要素におけるフリクションのばらつき等に影響され易く、相対的な差分値だけで修理が必要な異常であるか否かを判定するのは必ずしも容易ではない。この発明は、このような問題を考慮してなされたものであり、失火の発生が機械的な故障によるか否か及びいずれの気筒に機械的な故障が発生しているかを簡単に判定可能とし、診断工数を削減することができるエンジンの故障診断方法及び故障診断装置を提供することを目的とする。この発明に係るエンジンの故障診断方法は、複数の気筒を有するエンジンの運転中に失火が発生している失火発生気筒を判定し、当該失火発生気筒を示す故障コードを記憶する失火監視部に監視されるエンジンの故障診断方法であって、各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を気筒毎に検出し、圧縮圧力が不足している圧縮圧力不足気筒を前記変動値に基づいて判定し、前記故障コードが示す失火発生気筒と、前記クランキング回転状態において判定された圧縮圧力不足気筒とが一致する気筒を特定することを特徴とする。この発明によれば、故障コードが示す失火発生気筒と、クランキング回転状態において判定された圧縮圧力不足気筒が一致する気筒を特定することで、修理が必要な圧縮圧力の不足が発生している気筒と特定する。このため、失火発生原因の1つである圧縮圧力の不足機械的な故障の有無を、失火発生気筒を分解することなしに判定することが可能となり、エンジンの故障診断効率を向上することができる。前記エンジンの通常運転時には、爆発工程に対応する前記クランク軸の角速度の変動値を気筒毎に検出し、前記角速度の変動値が小さい気筒を前記失火発生気筒と判定し、前記クランキング回転時には、爆発工程に対応する前記クランク軸の角速度の変動値を気筒毎に検出し、前記角速度の変動値が小さい気筒を前記圧縮圧力不足気筒と判定してもよい。これにより、エンジンの通常運転時とクランキング回転時のいずれにおいても、爆発工程に対応するクランク軸の角速度の変動値を気筒毎に検出し、角速度の変動値が小さい気筒を失火発生気筒又は圧縮圧力不足気筒と判定する。このため、車両ECUが有している失火判定のためのロジックを圧縮圧力不足気筒の判定のためのロジックとして利用することが可能となる。従って、圧縮圧力不足気筒を判定するための構成判定ロジック等のソフトウェアを含む。を簡素化することができる。前記クランキング回転状態において、各気筒個別の変動値の平均値である個別平均値と、全気筒の変動値の平均値である全体平均値とを比較し、前記全体平均値よりも前記個別平均値が小さい気筒が、前記圧縮圧力不足気筒であると判定してもよい。これにより、各気筒の相対比較により圧縮圧力不足気筒を判定することができる。このため、クランク軸を駆動するモータ用のバッテリの電圧の変化、周囲温度の変化等がクランク軸の角速度の変動値に多少影響しても、圧縮圧力不足気筒の判定への影響を受け難くすることができる。前記全体平均値よりも低い前記個別平均値について、前記全体平均値からの乖離の程度を複数段階に分けて表示してもよい。個別平均値が全体平均値よりも低い場合、全体平均値に対する個別平均値の乖離の程度は、圧縮圧力の不足の程度を示す。圧縮圧力の不足の程度は、その原因例えば、気筒自体の圧縮圧力漏れ、気筒の吸気バルブ又は排気バルブのクリアランス等に応じたものとなる。このため、全体平均値に対する個別平均値の乖離の程度は、圧縮圧力の不足の原因を推定する指標とすることができる。従って、当該乖離の程度を表示することで圧縮圧力の不足の原因を推定することが可能となる。また、当該乖離の程度と併せて圧縮圧力の不足の推定原因を表示すれば、診断効率を向上することが可能となる。この発明に係るエンジンの故障診断装置は、複数の気筒を有するエンジンの運転中に失火が発生している失火発生気筒を判定し、当該失火発生気筒を示す故障コードを記憶する失火監視部に監視されるエンジンの故障診断装置であって、各気筒における爆発を中止させつつクランク軸を回転させるクランキング回転状態を発生させ、前記クランキング回転状態において、前記クランク軸の角速度の変動値を気筒毎に取得し、圧縮圧力が不足している圧縮圧力不足気筒を前記変動値に基づいて判定し、前記故障コードが示す失火発生気筒と、前記クランキング回転状態において判定された圧縮圧力不足気筒とが一致する気筒を特定することを特徴とする。この発明によれば、故障コードが示す失火発生気筒と、クランキング回転状態において判定された圧縮圧力不足気筒が一致する気筒を特定することで、修理が必要な圧縮圧力の不足が発生している気筒を特定する。このため、失火発生原因の1つである圧縮圧力の不足機械的な故障の有無を、失火発生気筒を分解することなしに判定することが可能となる。従って、失火発生原因の1つである圧縮圧力の不足機械的な故障の有無を、気筒を分解することなしに精度よく判定することが可能となり、エンジンの故障診断効率を向上することができる。A.一実施形態1.構成1全体構成図1は、この発明の一実施形態に係るエンジン故障診断装置14以下診断装置14ともいう。を有するエンジン診断システム10以下システム10ともいう。の概略的な構成を示すブロック図である。システム10は、診断対象としてのエンジン16を搭載した車両12と、エンジン16の診断を行う診断装置14とを有する。2車両12a全体構成車両12は、エンジン16に加え、エンジン16の動作を制御するエンジン電子制御装置18以下エンジンECU18又はECU18という。と、イグニションスイッチ20以下IGSW20という。とを有する。bエンジン16図1に示すように、エンジン16は、いわゆる直列4気筒エンジンであり、第1~第4気筒22a~22d以下気筒22と総称する。と、クランク軸24と、クランク角センサ26と、スタータモータ28と、バッテリ30と、電圧センサ32と、温度センサ34とを有する。図2には、1つの気筒22の内部の概略的な構成が示されている。各気筒22は、吸気バルブ40と、排気バルブ42と、燃料噴射弁44と、点火プラグ46と、ピストン48とを有する。吸気バルブ40、排気バルブ42及び点火プラグ46は、各気筒22の燃焼室50に面して配置されている。図3には、クランク角センサ26の外観が示されている。図4には、クランク角センサ26の出力信号Sa1の一例が示されている。クランク角センサ26は、クランク軸24に設けられたパルスロータ52の回転角以下クランク角Acという。[°]を検出し、エンジンECU18に出力する。すなわち、図4に示すように、クランク角センサ26の出力信号Sa1は、パルスロータ52が所定角度ここでは、6°回転する毎にパルス信号を出力する。クランク角センサ26から出力信号Sa1を受信したECU18は、出力信号Sa1の波形を整形して信号Sa2とする。そして、信号Sa2の立ち上がり周期P1を計測することにより、エンジン回転数NE及びクランク軸24の角速度以下クランク角速度ω又は角速度ωという。を検出する。スタータモータ28は、バッテリ30から供給される電力に基づきクランク軸24を駆動する。電圧センサ32は、バッテリ30の出力電圧Vb[V]を検出し、ECU18に出力する。温度センサ34は、図示しないエンジン冷却水の温度Tw[°C]を検出し、ECU18に出力する。後述するように、温度センサ34が検出する温度は、図示しないエンジンオイルの温度To[°C]であってもよい。cエンジンECU18エンジンECU18は、エンジン16の動作を制御するものであり、図1に示すように、入出力部60、演算部62及び記憶部64を有する。3診断装置14診断装置14は、エンジン16の故障を診断するものであり、図1に示すように、車両内データの入出力用として車両12に設けられているデータリンクコネクタ70を介してエンジンECU18に接続するためのケーブル72と、ケーブル72が連結される入出力部74と、図示しないキーボードやタッチパッド等からなる操作部76と、各部の制御及び各気筒22の異常判定を行う演算部78と、演算部78で用いる制御プログラムや異常診断プログラムなどの各種プログラムやデータを記憶する記憶部80と、各種の表示を行う表示部82とを有する。診断装置14のハードウェア構成としては、例えば、市販のノート型パーソナルコンピュータを用いることができる。診断装置14を用いて各気筒22の異常診断を行う際、ケーブル72の一端を入出力部74に接続した状態で、車両12の図示しないインスツルメントパネルに設けられたデータリンクコネクタ70にケーブル72の他端を接続する。その後、操作部76に対する作業者ユーザからの操作に応じて、診断装置14は、各気筒22の異常診断を行う。その際、診断装置14は、エンジンECU18を介してエンジン16を作動させる。診断装置14が行う各気筒22の異常診断の詳細は後述する。2.気筒22の異常診断1異常診断の概要本実施形態では、車両12の通常走行時エンジン16の通常運転時において、エンジンECU18が、気筒22a~22dにおける失火の発生の有無を判定する。また、エンジンECU18が失火の発生を検出した場合、どの気筒22a~22dに失火が発生したかを故障コードとして記憶するとともに、インスツルメントパネルの警告灯図示せずに表示する。失火発生が判定された場合に、作業者がECU18に診断装置14を接続して診断用運転を行うことにより、診断装置14は、気筒22a~22dにおける圧縮圧力の不足の有無を判定する。作業者は、診断装置14による判定結果に基づいて、その後の修理点検作業を行う。2失火判定a失火判定の概要図5は、車両12の通常走行時エンジン16の通常運転時において、エンジンECU18が、気筒22a~22dにおける失火の発生の有無を判定するフローチャートである。ステップS1において、ECU18は、各気筒22a~22dにおける失火の発生の有無を判定する。いずれの気筒22a~22dにおいても失火が発生していない場合S2:NO、ステップS1に戻る。いずれかの気筒22a~22dにおいて失火が発生した場合S2:YES、ステップS3において、ECU18は、失火が発生した旨と当該失火が発生した気筒22a~22dを示す故障コードDTCを記憶部64に記憶する。ステップS4において、ECU18は、図示しない警告灯を点灯させる等の警告を行って、エンジン16に異常が発生した旨をユーザに通知する。当該警告を受けたユーザは、例えば、車両12を修理工場等に持ち込む。b失火判定の原理図6には、エンジン16の通常運転時における各気筒22a~22dのピストン48の動作と、ピストン48の動作に伴ってクランク軸24に生じる負荷L1の大きさとの関係の例が、正常に動作しているときと失火が発生しているときとに分けてモデル的に示されている。ここでの負荷L1は、エンジン回転数NE[rpm]の低下、すなわち、クランク軸24の角速度ωの低下を意味する。図6の例では、吸気工程、圧縮工程及び排気工程においては、気筒22が正常に動作している場合と、失火が発生している場合とで負荷L1にほとんど差は生じない。一方、爆発工程においては、気筒22が正常に動作している場合、爆発により駆動トルクが発生してエンジン回転数NEが増加するため、負荷L1が小さくなる。従って、爆発工程における角速度ωが通常運転時よりも低下変動値の低下することに基づいて失火の発生を判定することが可能である。c失火判定の詳細図7は、ECU18による失火発生の判定のフローチャートである。ステップS11において、ECU18は、クランク角センサ26からクランク角Acを取得する。ステップS12において、ECU18は、取得したクランク角Acに基づいてクランク角速度ωを算出する。図8には、各気筒22a~22dが正常に動作している場合及び第1気筒22aに失火が発生している場合におけるクランク角Ac及びクランク角速度ωと、各気筒22a~22dにおける各工程吸気工程、圧縮工程、爆発工程及び排気工程との関係の例が示されている。図8において、実線90は、各気筒22a~22dが正常に動作している場合におけるクランク角Ac及びクランク角速度ωの関係を示す。破線92は、第1気筒22aに失火が発生している場合におけるクランク角Ac及びクランク角速度ωの関係を示す。図8の例では、第1気筒22aの爆発工程において角速度ωが急減している。このため、第1気筒22aに失火が発生していると判定できる。図7に戻り、ステップS13において、ECU18は、図示しないハイパスフィルタを用いて、車両12の加減速によるエンジン回転数NEの変動成分を除去する。ステップS14において、ECU18は、各気筒22の工程を分別する処理工程分別処理を行う。具体的には、クランク角Acを各気筒22a~22dの爆発工程に対応させて区分する。本実施形態ではエンジン16は4気筒であるため、各気筒22a~22dの一連の工程吸気→圧縮→爆発→排気は、クランク軸24の2回転720°に対応する。従って、クランク角Acが180°=720°/4毎に各気筒22a~22dの爆発工程を対応させる。ステップS15において、ECU18は、各気筒22の爆発工程における角速度変動Δωを算出する。例えば、各気筒22の爆発工程の開始時点における角速度ωと終了時点における角速度ωとの差を角速度変動Δωとすることができる。或いは、各気筒22a~22dの爆発工程における角速度ωの最大値と最小値の差を角速度変動Δωとしてもよい。図9には、図8の例に対応するクランク角Ac及び角速度変動Δωと、各気筒22a~22dの爆発工程との関係が示されている。図9において、実線100は、各気筒22a~22dが正常に動作している場合におけるクランク角Ac及び角速度変動Δωの関係を示す。破線102は、第1気筒22aに失火が発生している場合におけるクランク角Ac及び角速度変動Δωの関係を示しており、失火発生が発生した爆発行程の気筒位置で角速度変動Δωが負値を示している。図7に戻り、ステップS16において、ECU18は、各気筒22a~22dの爆発工程における角速度変動Δωに基づき各気筒22a~22dにおける失火発生の有無を判定する。具体的には、上述のように、角速度変動Δωが低下して負値となる場合に失火発生と判断し、負値となる位置に対応する爆発行程の気筒を失火発生気筒と判定する。d故障コード上記のように、本実施形態における故障コードは、失火が発生した旨と当該失火が発生した気筒22a~22dを示す。例えば、第1気筒22aに失火が発生した場合、故障コードとしてP0301が記憶される。第2気筒22bに失火が発生した場合、故障コードとしてP0302が記憶される。第3気筒22cに失火が発生した場合、故障コードとしてP0303が記憶される。第4気筒22dに失火が発生した場合、故障コードとしてP0304が記憶される。3圧縮圧力不足の判定a圧縮圧力不足の判定の概要図10は、エンジンECU18による失火発生の警告がされた場合において、気筒22a~22dに圧縮圧力の不良が発生しているかどうかを診断するフローチャートである。ステップS21において、作業者は、ケーブル72及びデータリンクコネクタ70を介して診断装置14をECU18に接続する。ステップS22において、作業者は、診断装置14の操作部76を操作して、ECU18から診断装置14に故障コードDTCを読み出す。ステップS23において、作業者は、読み出した故障コードが失火の発生を示すものであるか否かを判定する。故障コードが失火の発生を示すものでない場合S23:NO、作業者は、ステップS24において、故障コードに応じた診断作業を実行する。故障コードが失火の発生を示すものである場合S23:YES、ステップS25において、診断装置14は、故障コードが失火の発生を示す気筒22失火発生気筒について圧縮圧力の不足の有無を判定する。ここでの判定では、各気筒22a~22dにおける燃料供給及び点火を停止し、爆発が起きないようにさせつつクランク軸24を回転させるクランキング回転を用いる詳細は後述する。。失火発生気筒において圧縮圧力の不足が発生している場合S26:YES、ステップS27において、診断装置14は、失火発生気筒において失火が発生している原因は、機械的な故障であると判定し、その旨及びその後の点検作業及び修理作業を表示部82に表示する。作業者は、当該表示に従って点検作業及び修理作業を行う。失火発生気筒において圧縮圧力の不足が発生していない場合S26:NO、ステップS28において、診断装置14は、失火発生気筒において失火が発生している原因は、機械的な故障ではなく、例えば、電気的な故障であると判定し、その旨及びその後の点検作業及び修理作業を表示部82に表示する。作業者は、当該表示に従って点検作業及び修理作業を行う。b圧縮圧力不足の判定原理上記のように、本実施形態における圧縮圧力の不足の有無を判定では、各気筒22a~22dにおける爆発を中止させつつクランク軸24を回転させるクランキング回転を用いる。このように、各気筒22a~22dにおける爆発を中止させつつクランク軸24を回転させた場合、タペットクリアランス等のずれによりいずれかの気筒22a~22dにおいて圧縮圧力の低下が発生すると、クランキング回転時のエンジン回転数NE又はクランク角速度ωの変動が大きくなる。図11は、タペットクリアランスTCが正常である場合のエンジン回転数NEの変化の一例を示す。図12は、タペットクリアランスTCのずれが大である場合例えば、TC=0.2mmである場合のエンジン回転数NEの変化の一例を示す。図13は、圧縮圧力が発生していない圧縮圧力がゼロである場合のエンジン回転数NEの変化の一例を示す。なお、一般に、タペットクリアランスは、吸気バルブ又は吸気バルブのシャフトとカムシャフト又はロッカーアームとの隙間を指す。タペットクリアランスは、バルブの開閉ポイントであるバルブの開口タイミング、バルブの動作タイミングに影響する。図14には、クランキング回転時における各気筒22a~22dのピストン48の動作と、ピストン48の動作に伴ってクランク軸24に生じる負荷L1の大きさとの関係の例が、正常に動作しているときと圧縮圧力の不足が発生しているときとに分けてモデル的に示されている。ここでの負荷L1は、エンジン回転数NE[rpm]の低下、すなわち、クランク角速度ωの低下を示す。また、クランキング回転時には各気筒22a~22dにおける爆発を中止させるため、図14における爆発工程は、実際には爆発を伴うものではない。換言すると、ここでの爆発工程とは、通常運転時における爆発工程とクランク角Acの範囲を等しくする工程を指すことに留意されたい。図14の例では、正常に動作している場合と、圧縮異常が発生している場合とを比較して示しており、負荷L1の差は、吸気工程、爆発工程及び排気工程と比較して、圧縮工程が特に大きい。これは、気筒22のいずれかの箇所において気体の漏れを生じている場合、圧縮負荷が小さくなるためである。そして、複数の気筒22a~22dで構成されたエンジン16においては、それぞれの気筒22a~22dの工程の位相をずらすことで規則性を持たせた角速度変動Δωとなるように設定されているので、正常動作では安定したクランキング回転が得られるように構成されている。ところが、いずれかの気筒22a~22dで圧縮異常が発生すると、上記のように圧縮負荷がかからず角速度変動Δωに乱れが発生する。本発明ではこの点に着目し、圧縮工程における負荷L1の差を直接用いるのではなく、失火判定図9等の場合と同様、爆発工程における角速度変動Δωを用いる。これは、圧縮圧力が不足している気筒22a~22dを含むクランキング回転では、圧縮圧力不足気筒の圧縮工程ではクランク角速度ωが上昇するが、その反動で次工程爆発工程では角速度ωの低下が起こることを利用したものである。これにより、爆発工程における角速度ωの低下変動に基づいて圧縮圧力の不足の有無を判定することが可能である。従って、失火判定のためのロジックを圧縮圧力不足気筒の判定のためのロジックとして利用することが可能となる。c圧縮圧力不足の判定の詳細図15は、診断装置14による圧縮圧力不足の判定の第1フローチャートであり、図16は、診断装置14による圧縮圧力不足の判定の第2フローチャートである。図17は、図15及び図16のフローチャートを実行する際のタイムチャートの一例である。図15のステップS31において、診断装置14は、表示部82に暖機運転の要求を表示する。当該要求を見た作業者は、IGSW20をオンにして暖機運転を開始する時点t1。ここにいう暖機運転は、例えば、エンジン回転数NEを暖機用の所定値例えば、3000rpmまで上昇させることをいう。ステップS32において、診断装置14は、暖機が終了したか否かを判定する。具体的には、診断装置14は、ECU18を介して温度センサ34から温度Twを取得し、温度Twが、暖機運転の終了を示す閾値THw以上になったか否かを判定する。暖機が終了していない場合S32:NO、ステップS32を繰り返す。暖機が終了した場合S32:YES、ステップS33において、診断装置14は、表示部82に暖機運転の終了の要求を表示する。当該要求には、IGSW20をオフにした後、再度オンにすることの要求を含む。当該要求を見た作業者は、IGSW20をオフにし時点t2、測定開始するために、IGSW20を再オンする時点t3。IGSW20が再オンされた場合S34:YES、ステップS35において、診断装置14は、ECU18を介して電圧センサ32からバッテリ30の電圧Vbを取得し、電圧Vbが、電圧Vbに関する閾値バッテリ電圧閾値TH_Vb以上であるか否かを判定する。バッテリ電圧閾値TH_Vbは、スタータモータ28によるクランキング回転が不安定になるか否かを判定するための閾値である。電圧Vbがバッテリ電圧閾値TH_Vb未満である場合S35:NO、圧縮圧力不足の判定をこの時点で終了する。電圧Vbがバッテリ電圧閾値TH_Vb以上である場合S35:YES、図16のステップS36において、診断装置14は、ECU18に対し、各気筒22a~22dについて爆発工程における角速度変動Δωを要求する時点t4。当該要求には、各気筒22a~22dにおいて爆発を禁止燃料供給を停止及び点火信号をOFFに維持することが含まれる。ステップS37において、診断装置14は、ECU18に故障コードを要求する時点t5。当該要求を受けたECU18は、診断装置14に故障コードを送信する。診断装置14は、受信した故障コードを後の処理で用いる。ステップS38において、診断装置14は、作業者にクランキング運転を要求する旨を表示部82に表示する。当該要求を見た作業者は、図示しないスタータモータを回転させてクランキング運転を行う時点t6。ステップS39において、診断装置14は、ECU18を介して取得するエンジン回転数NEクランキング回転数が閾値TH_NE以上であるか否かを判定する。閾値TH_NEは、圧縮圧力不足の判定を安定して行うことができるエンジン回転数NEであるか否かを判定するための閾値であり、例えば、50rpmである。エンジン回転数NEが閾値TH_NE以上でない場合S39:NO、ステップS39を繰り返し、図示していないが、所定時間例えば、30秒が経過しても閾値TH_NE以上にならない場合にはクランキング要求をキャンセルして診断を終了する。エンジン回転数NEが閾値TH_NE以上である場合S39:YES、ステップS40において、診断装置14は、エンジン回転数NEが閾値TH_NE以上になってから所定時間例えば、1秒が経過したか否かを判定する。当該所定時間が経過していない場合S40:NO、ステップS39に戻る。当該所定時間が経過した場合S40:YES、ステップS41において、診断装置14は、ECU18から角速度変動Δωを取得する時点t7~t8。すなわち、ECU18は、図7のステップS11~S15と同様の処理により角速度変動Δωを検出し、診断装置14に送信する。なお、ECU18による角速度変動Δωの検出及び送信が終了すると、作業者は、診断装置14の表示部82の表示に応じてクランキングを終了するECU18による角速度変動Δωの検出の終了よりも後に終了してもよい。図18には、クランキング回転状態において、各気筒22a~22dが正常に動作している場合及び第1気筒22に失火が発生している場合におけるクランク角Ac及びクランク角速度ωと、各気筒22a~22dにおける工程吸気工程、圧縮工程、爆発工程及び排気工程との関係の例がモデル的に示されている。図18において、実線110は、各気筒22a~22dが正常に動作している場合におけるクランク角Ac及びクランク角速度ωの関係を示す。破線112は、第1気筒22aに失火が発生している場合におけるクランク角Ac及びクランク角速度ωの関係を示す。図18の例では、第1気筒22aの圧縮工程の後の爆発行程での回転に乱れが発生して角速度ωが急減している。図19には、図18の例に対応するクランク角Ac及び角速度変動Δωと、各気筒22の爆発工程との関係が示されている。図19において、実線120は、各気筒22が正常に動作している場合におけるクランク角Ac及び角速度変動Δωの関係を示す。破線122は、第1気筒22に失火が発生している場合におけるクランク角Ac及び角速度変動Δωの関係を示す。図18の例では、圧縮圧力不良が発生している状態をわかりやすく説明するために、第1気筒22aの圧縮工程において圧縮抜け圧縮圧力がゼロの状態が発生した場合を示しており、図19の例では、第1気筒22aの爆発工程において角速度変動Δωが減少している。これは、第1気筒22aの圧縮工程において圧縮負荷がかからずその分だけ角速度変動Δωが増加し、その反動で第1気筒22aの爆発工程において角速度変動Δωが減少するためである。このようにして、爆発工程ごとの比較で第1気筒22aにおいて圧縮圧力の不足が発生していることを判定することができる。図16に戻り、ステップS42において、診断装置14は、取得した角速度変動Δωに基づいて個別平均値AVEr、全体平均値AVEt及び割合R1を算出する時点t8~t9。個別平均値AVErは、各気筒22それぞれについての爆発工程における角速度変動Δωの平均値である。全体平均値AVEtは、全気筒22の個別平均値AVErの平均値である。割合R1は、個別平均値AVEr/全体平均値AVEtである。ステップS43において、診断装置14は、ステップS37で取得した故障コードDTC及びステップS42で算出した割合R1に基づいて各気筒22について機械的故障の有無を判定し、判定結果を表示部82に表示する時点t10~t11。すなわち、診断装置14は、各気筒22a~22dについての割合R1に基づき失火発生気筒における圧縮圧力不足の有無を判定する。具体的には、割合R1が、圧縮圧力不足の有無を判定するための閾値圧縮圧力不足判定閾値TH2を下回る場合、ECU18は、当該失火発生気筒に圧縮圧力不足が発生していると判定する。本実施形態において、閾値TH2は100である。図20には、気筒22a~22dのうち第1気筒22aが異常で、第2~第4気筒22b~22dが正常である場合において、第1気筒22aのタペットクリアランスTCが正常である場合例えば、TC=0.23mm、タペットクリアランスTCのずれが小である場合例えば、TC=0.13mm、タペットクリアランスTCのずれが大である場合例えば、TC=0.05mm、及び圧縮圧力がゼロである場合それぞれにおける個別平均値AVErの例が示されている。すなわち、実線130は、タペットクリアランスTCが正常である場合例えば、TC=0.23mmの個別平均値AVErを示す。破線132は、タペットクリアランスTCのずれが小さい場合例えば、TC=0.13mmの個別平均値AVErを示す。一点鎖線134は、タペットクリアランスTCのずれが大きい場合例えば、TC=0.05mmの個別平均値AVErを示す。二点鎖線136は、圧縮圧力がゼロである場合の個別平均値AVErを示す。図21には、図20の各気筒22a~22dの個別平均値AVErに基づく全体平均値AVEtに対する個別平均値AVErの割合R1=AVEr/AVEtを示す図である。図22は、図21の一部を拡大して表示した図である。図21及び図22の実線140は第1気筒22aに対応し、破線142は第2気筒22bに対応し、一点鎖線144は第3気筒22cに対応し、二点鎖線146は第4気筒22dに対応する。図23は、各気筒22についての角速度変動Δωと、個別平均値AVErと、割合R1=AVEr/AVEtと、診断装置14の判定結果との関係の一例を示す図である。図23の例では、第1気筒22aの個別平均値AVErが44.4[rad/s]であり、第2気筒22bの個別平均値AVErが54.0であり、第3気筒22cの個別平均値AVErが53.9であり、第4気筒22dの個別平均値AVErが55.8である。このため、全体平均値AVEtは、52.03[rad/s]となる。また、第1気筒22aの割合R1は85=44.4/52.03であり、第2気筒22bの割合R1は104=54.0/52.03であり、第3気筒22cの割合R1は104=53.9/52.03であり、第4気筒22dの割合R1は107=55.8/52.03である。従って、割合R1が閾値TH2本実施形態では、100を下回るのは、第1気筒22aであり、第1気筒22aは圧縮圧力不足気筒と判定される。ここで、ECU18に記憶されている故障コードが、第1気筒22aにおける失火発生を示すものであれば、第1気筒22aは、機械的故障のチェックを必要とする不可と判定される。一方、第2~第4気筒22b~22dは、割合R1が閾値TH2を下回っていないため、故障コードの内容にかかわらず、機械的故障のチェックを必要としない可と判定される。d診断装置14の判定結果図24は、失火発生気筒において失火が発生している原因は、機械的な故障であると診断装置14が判定し、その旨及びその後の点検作業及び修理作業を表示部82に表示する際に用いる指標の例を示しており、上述した割合R1の程度で3段階に表示する。すなわち、タペットクリアランスのずれ小、タペットクリアランスのずれ大及び圧縮不良である。ここにいう圧縮不良には、各気筒22a~22d内の傷、図示しないピストンリングの不良等が含まれる。割合R1が100より若干小さい場合、診断装置14は、タペットクリアランスTCのずれが小さい場合の点検作業及び修理作業を表示部82に表示する。割合R1が100よりかなり小さい場合、診断装置14は、タペットクリアランスTCのずれが大きい場合の点検作業及び修理作業を表示部82に表示する。割合R1が100より極めて小さい場合、診断装置14は、圧縮不良が発生している場合の点検作業及び修理作業を表示部82に表示する。図25~図30には、ECU18に記憶される故障コードと、診断装置14が算出した割合R1と、診断装置14の判定結果と、当該判定結果に基づき診断装置14が表示するエンジン16の点検項目及び確認部位の関係の第1例~第6例が示されている。図25では、故障コードは、第1気筒22aが失火発生気筒であると示しており、また、第1気筒22aは割合R1が閾値TH2=100を下回っていることから圧縮圧力不足気筒であると判定される。第1気筒22aは、失火発生気筒且つ圧縮圧力不足気筒であることから、診断装置14による診断結果は、機械的故障のチェックを必要とする不可となる。そして、診断装置14は、第1気筒22aの割合R1に応じて、第1気筒22aについての点検項目又は確認部位としてタペットクリアランス不良及び圧縮不良を表示する。一方、第2~第4気筒22b~22dは、失火発生気筒でも圧縮圧力不足気筒でもないことから、機械的故障のチェックを必要としない可と判定される。図26では、故障コードは、第1気筒22a及び第3気筒22cが失火発生気筒であると示しており、また、第1気筒22aは割合R1が閾値TH2=100を下回っていることから圧縮圧力不足気筒であると判定される。第1気筒22aは、失火発生気筒且つ圧縮圧力不足気筒であることから、診断装置14による診断結果は不可となる。そして、診断装置14は、第1気筒22aの割合R1に応じて、第1気筒22aについての点検項目又は確認部位としてタペットクリアランス不良及び圧縮不良を表示する。一方、第2気筒22b及び第4気筒22dは失火発生気筒でも圧縮圧力不足気筒でもなく、また、第3気筒22cは失火発生気筒であるものの圧縮圧力不足気筒ではないことから、第2~第4気筒22b~22dは可と判定される。図27では、第1気筒22aの割合R1が閾値TH2=100を下回っているものの、故障コードはいずれの気筒22a~22dについても失火発生気筒を示していない。このため、診断装置14は、いずれの気筒22a~22dについても可と判定する。図28では、故障コードは、第1~第3気筒22a~22cが失火発生気筒であると示しており、また、第1~第3気筒22a~22cは割合R1が閾値TH2=100を下回っていることから圧縮圧力不足気筒であると判定される。第1~第3気筒22a~22cは、失火発生気筒且つ圧縮圧力不足気筒であることから、診断装置14による診断結果は不可となる。そして、診断装置14は、割合R1に応じて、第1気筒22aについての点検項目又は確認部位として圧縮不良を、第2気筒22bについての点検項目又は確認部位としてタペットクリアランスずれ大を、第3気筒22cについての点検項目又は確認部位としてタペットクリアランスずれ小を表示する。一方、第4気筒22dは、失火発生気筒でも圧縮圧力不足気筒でもないことから、可と判定される。図29では、故障コードは、第1気筒22a及び第3気筒22cが失火発生気筒であると示しており、また、第1気筒22a及び第3気筒22cは割合R1が閾値TH2=100を下回っていることから圧縮圧力不足気筒であると判定される。第1気筒22a及び第3気筒22cは、失火発生気筒且つ圧縮圧力不足気筒であることから、診断装置14による診断結果は不可となる。そして、割合R1に応じて、診断装置14は、第1気筒22aについての点検項目又は確認部位として圧縮不良を、第3気筒22cについての点検項目又は確認部位としてタペットクリアランス不良を表示する。一方、第2気筒22b及び第4気筒22dは、失火発生気筒でも圧縮圧力不足気筒でもないことから、可と判定される。図30では、故障コードは、第4気筒22dが失火発生気筒であると示しており、また、第1~第3気筒22a~22cは割合R1が閾値TH2=100を下回っていることから圧縮圧力不足気筒であると判定される。第1~第3気筒22a~22cは圧縮圧力不足気筒であるものの失火発生気筒でなく、また、第4気筒22dは失火発生気筒であるものの圧縮圧力不足気筒でない。このため、診断装置14は、第1~第4気筒22a~22dをいずれも可と判定する。上記のような図25~図30の例からわかるように、本実施形態では、故障コードで示される失火発生気筒と、割合R1が閾値TH2=100を下回る圧縮圧力不足気筒とが一致する場合にのみ、機械的故障が発生していると判定し、割合R1に応じた点検項目又は確認部位が示される。3.本実施形態の効果以上のように、本実施形態によれば、故障コードが示す失火発生気筒について割合R1が100を下回った場合、換言すると、故障コードが示す失火発生気筒と、クランキング回転状態において判定された圧縮圧力不足気筒が一致する気筒22を特定することで、修理が必要な圧縮圧力の不足が発生している気筒を特定する。このため、失火発生原因の1つである圧縮圧力の不足機械的な故障の有無を、失火発生気筒を分解することなしに判定することが可能となる。従って、失火発生原因の1つである圧縮圧力の不足機械的な故障の有無を、気筒22a~22dを分解することなしに精度よく判定することが可能となり、エンジン16の故障診断効率を向上することができる。本実施形態では、エンジン16の通常運転時には、爆発工程に対応する角速度変動Δωを気筒22a~22d毎に検出し、角速度変動Δωが小さい気筒22a~22dを失火発生気筒と判定し、クランキング回転時には、爆発工程に対応する角速度変動Δω値を気筒22a~22d毎に検出し、角速度変動Δωが小さい気筒22a~22dを圧縮圧力不足気筒と判定する。これにより、エンジン16の通常運転時とクランキング回転時のいずれにおいても、爆発工程に対応する角速度変動Δωを気筒22a~22d毎に検出し、角速度変動Δωが小さい気筒22a~22dを失火発生気筒又は圧縮圧力不足気筒と判定する。このため、ECU18が有している失火判定のためのロジックを圧縮圧力不足気筒の判定のためのロジックとして利用することが可能となる。従って、圧縮圧力不足気筒を判定するための構成判定ロジック等のソフトウェアを含む。を簡素化することができる。本実施形態では、クランキング回転状態において、個別平均値AVErと全体平均値AVEtとを比較し、全体平均値AVEtよりも個別平均値AVErが小さい気筒22a~22dが圧縮圧力不足気筒であると判定する。これにより、各気筒22a~22dの相対比較により圧縮圧力不足気筒を判定することができる。このため、クランク軸24を駆動するスタータモータ28用のバッテリ30の電圧Vbの変化、周囲温度温度Tw等の変化等が角速度変動Δωに多少影響しても、圧縮圧力不足気筒の判定への影響を受け難くすることができる。本実施形態では、全体平均値AVEtよりも低い個別平均値AVErについて、全体平均値AVEtからの乖離の程度を複数段階に分けて表示する図25。個別平均値AVErが全体平均値AVEtよりも低い場合、全体平均値AVEtに対する個別平均値AVErの乖離の程度は、圧縮圧力の不足の程度を示す。圧縮圧力の不足の程度は、その原因例えば、気筒22a~22d自体の圧縮圧力漏れ、吸気バルブ40又は排気バルブ42のクリアランス等に応じたものとなる。このため、全体平均値AVEtに対する個別平均値AVErの乖離の程度は、圧縮圧力の不足の原因を推定する指標とすることができる。従って、当該乖離の程度を表示することで圧縮圧力の不足の原因を推定することが可能となる。また、当該乖離の程度と併せて圧縮圧力の不足の推定原因を表示すれば、診断効率を向上することが可能となる。B.変形例なお、この発明は、上記実施形態に限らず、この明細書の記載内容に基づき、種々の構成を採り得ることはもちろんである。例えば、以下に示す構成を採ることができる。上記実施形態では、診断装置14を車両12のエンジン16の診断に用いたが、これに限らず、エンジンを有するその他の装置例えば、船舶等の移動体に用いることもできる。また、上記実施形態において、診断装置14は、車両12の外部からエンジンECU18と通信するものとしたが、車両12の内部に搭載してもよい。換言すると、エンジンECU18に診断装置14の機能を持たせることも可能である。上記実施形態では、エンジン16は、直列4気筒エンジンであったが、気筒22の配置や数は、これに限らない。例えば、エンジン16は、V型6気筒エンジンであってもよい。この場合は、6気筒の一連の工程吸気→圧縮→爆発→排気がクランク軸24の2回転720°に対応する。従って、クランク角Acが120°=720°/6毎に各気筒の爆発工程を対応させる。上記実施形態では、失火発生の判定及び圧縮圧力の不足の判定のいずれにおいても、爆発工程における角速度変動Δωを用いたが、これに限らない。例えば、圧縮圧力の不足の判定においては、圧縮工程における角速度変動Δωを用いることも可能である。