(57)【特許請求の範囲】
【請求項１】
車両に搭載された内燃機関の実出力トルクが要求トルクに対して小さい出力不足となっているか否かの故障診断を行うためのデータを記録する内燃機関のデータ記録装置であって、
アクセル開度が増加して該アクセル開度が第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となったときに異常時間の積算を開始し、その後、前記異常状態となっていることを条件として異常時間を積算していく計時手段と、
前記異常時間が予め設定した時間以上になっており、且つアクセル開度が前記第１の所定開度よりも大きな第２の所定開度以上であるときに、内燃機関が出力不足となっているか否かの故障診断が必要と判定する判定手段と、
前記判定手段によって前記故障診断が必要と判定された場合に、内燃機関が出力不足となっているか否かの故障診断のための所定のデータである吸気量、燃料供給量、点火時期、バルブタイミングを含むデータを記録手段に記録させる制御手段と、を備えることを特徴とする内燃機関のデータ記録装置。
【請求項２】
請求項１に記載の内燃機関のデータ記録装置において、
前記要求トルクに対する実出力トルクの比率に関する所定値を、大気圧が低いほど小さな値に変更するか、前記異常時間に関して予め設定された時間を、大気圧が低いほど長い時間に変更するか、の少なくとも一方の補正制御を行う、内燃機関のデータ記録装置。
【請求項３】
請求項１に記載の内燃機関のデータ記録装置において、
前記計時手段は、前記アクセル開度が前記第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となっている場合において、前記アクセル開度が小さくなる状況で且つ前記アクセル開度の時間微分値である増加率が所定の負の値である閾値未満である積算中断条件が成立しておれば前記異常時間の積算を中断し、前記積算中断条件が成立していなければ前記異常時間を積算する、内燃機関のデータ記録装置。
【請求項４】
請求項３に記載の内燃機関のデータ記録装置において、
前記計時手段は、前記アクセル開度が前記第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となっている場合において、前記積算中断条件が成立したとき、そのときまでに積算した前記異常時間が所定時間以上であれば、この異常時間を保持する一方、所定時間未満であれば前記異常時間をクリアする、内燃機関のデータ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されて内燃機関の故障診断のためのデータを記録する装置に関し、特に、運転者が力不足を感じるような故障の診断に有益なものに係る。
【背景技術】
【０００２】
従来より自動車などの車両において、内燃機関の故障の早期発見や原因究明のために、運転データが正常でない（即ち、異常な）状態を検出する手法が種々、検討されている。一例として特許文献１には、車両の走行中に運転データを逐次取得し、時系列に変化する運転データのパターン（運転シーンともいう）に区分けした上で、それぞれのパターンの特徴を抽出し、この特徴に基づいて異常の判定の基準値を設定することが開示されている。
【０００３】
すなわち、例えばアクセルペダルの踏み込みに対して車速が正常に応答しない異常が、車両の発進時にのみ発生しており、このときのアクセル開度および車速のそれぞれの値は、減速後の加速時などにおいて通常、検出されるようなものであるとする。このような場合に同じ基準値で異常を判定しようとすると、車両の発進時においては異常を見逃すおそれがあり、また、減速後の加速時などにおいては正常であるにもかかわらず、異常と誤判定するおそれがある。
【０００４】
つまり、車両の発進時と減速後の加速時という異なる走行シーンにおいては、それぞれ異なる基準値に基づいて異常を判定しなくてはならない。そこで、特許文献１の装置では、種々の運転シーンにおける運転データ、例えばアクセル開度および車速の関係を表す時系列のデータを区分けして、それぞれのパターンに対応するよう適切な基準値を設定するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２３４１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら前記従来例の装置では、まず、幅広い運転シーンにおける車両の運転データを逐次取得し、時刻の情報と共に記憶した上で、時系列に変化する運転データのパターンに区分けして、それぞれのパターンの特徴を二重文節構造解析などによって抽出する。そして、それぞれのパターン特徴に基づいて統計的手法により異常の判定基準値を適切に設定するというものであり、これら一連の処理が複雑で、演算の負荷が重くならざるを得ない。
【０００７】
このような実情を考慮して本発明の目的は、前記のような複雑な処理を行わず、演算の負荷も抑えながら、内燃機関が出力不足となる故障の診断のためのデータを記録できるようにすることにある。
【課題を解決するための手段】
【０００８】
前記の目的を達成すべく本発明では、内燃機関の出力が不足しているだけでなく、それを感じた運転者がアクセルを踏み増したときに、故障の診断が必要と判定するようにしている。すなわち、本発明は、車両に搭載された内燃機関の実出力トルクが要求トルクに対して小さい出力不足となっているか否かの故障診断を行うためのデータを記録する内燃機関のデータ記録装置を対象として、アクセル開度が増加して該アクセル開度が第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となったときに異常時間の積算を開始し、その後、前記異常状態となっていることを条件として異常時間を積算していく計時手段と、その異常時間が予め設定した時間以上になっており、且つアクセル開度が前記第１の所定開度よりも大きな第２の所定開度以上であるときに、内燃機関が出力不足となっているか否かの故障診断が必要と判定する判定手段と、この判定手段によって前記故障診断が必要と判定された場合に、内燃機関が出力不足となっているか否かの故障診断のための所定のデータである吸気量、燃料供給量、点火時期、バルブタイミングを含むデータを記録手段に記録させる制御手段と、を備えている。
【０００９】
前記の構成により、まず、車両の走行中に運転者がアクセルペダルを踏み操作して、アクセル開度が第１の所定開度以上になっているにもかかわらず、このアクセル開度に対応する要求トルクに対して、内燃機関の実出力トルクが十分に大きくならないとする。すなわち、要求トルクは、例えば内燃機関と自動変速機との協調制御によって、運転者が車両に求める駆動力を実現できるようなトルクであり、一般的にその駆動力に対して内燃機関や動力伝達系の摩擦などの損失分を加えて算出される。
【００１０】
よって、要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満であれば、内燃機関の出力不足の異常が起きていて、運転者が不快に感じている可能性が高いので、このような異常状態となったときに異常時間の積算を開始し、その後、前記異常状態となっていることを条件として異常時間を計時手段によって積算していく。そして、積算される異常時間が予め設定した時間以上になって、且つアクセル開度が前記第１の所定開度よりも大きな第２の所定開度以上になれば、即ちアクセル踏み増しが行われれば、判定手段によって、内燃機関が出力不足となっているか否かの故障診断が必要と判定される。
【００１１】
つまり、異常時間が予め設定した時間以上になっている状況で運転者がアクセルペダルを踏み増しすれば、このことに基づいて、従来例（特許文献１）のような複雑な処理を行うことなく、また、演算の負荷も重くならないようにしながら（即ち演算負荷を抑えながら）、内燃機関の出力不足の故障の診断が必要か否か適切に判定することができる。この判定に応じて制御手段により、故障の診断や原因究明のために有益なデータを記録手段に記録することができる。
【００１６】
ところで、例えば高地のように大気圧の低い環境下では、内燃機関に吸入される空気の密度が低くなることから、機関出力が不足していると誤判定しやすくなる。この点で好ましいのは、前記要求トルクに対する実出力トルクの比率に関する所定値を、大気圧が低いほど小さな値に変更するか、前記異常時間に関して予め設定された時間を、大気圧が低いほど長い時間に変更するか、の少なくとも一方の補正制御を行うことである。こうすることで、誤判定を抑制できる。
【００１７】
また、前記のようにアクセル開度が第１の所定開度以上になっていても、運転者は車両の加速感に概ね満足してアクセルペダルを戻し気味にしており、それ故に、要求トルクに対する実出力トルクの比率が所定値未満になっていることもあり得る。そこで、このような場合を排除して、異常時間の計測精度を高めるために好ましいのは、アクセル開度が前記第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となっている場合において、前記アクセル開度が小さくなる状況で且つ前記アクセル開度の時間微分値である増加率が所定の負の値である閾値未満である積算中断条件が成立しておれば前記異常時間の積算を中断し、前記積算中断条件が成立していなければ前記異常時間を積算することである。
【００１８】
こうしてアクセルペダルが戻し気味にされたときに、異常時間の積算を中断するようにした場合、それまでに積算した異常時間は保持するか、または零にクリアすることが考えられる。例えば、アクセルペダルが或る程度以上の時間をかけて踏み込まれた後に、戻し気味にされた場合は、運転者には加速要求があり、アクセルペダルは再び踏み込まれる可能性が高いと考えられるので、積算した異常時間を保持しておくのが好ましい。
【００１９】
一方、アクセルペダルが前記のような時間をかけずに、比較的短時間で踏み込まれた後に戻し気味にされた場合、運転者は意識してアクセルペダルを踏み込んでいるのではなく、加速要求はないと考えられる。そして、仮にこのような場合まで、積算された異常時間を保持するようにすると、これが積算されて前記設定時間以上になってしまい、出力不足の異常と誤判定するおそれがある。
【００２０】
そこで、好ましいのは、アクセル開度が前記第１の所定開度以上で、且つ要求トルクに対する実出力トルクの比率が１００％よりも小さい所定値未満の異常状態となっている場合において、前記積算中断条件が成立したとき、そのときまでに積算した前記異常時間が所定時間以上であれば（即ち、アクセルペダルが或る程度以上の時間をかけて踏み込まれた後に、戻し気味にされたのであれば）、この異常時間を保持する一方、所定時間未満であれば異常時間は零にクリアするようにすることである。
【発明の効果】
【００２１】
以上、説明したように本発明に係る内燃機関のデータ記録装置によると、内燃機関の故障によって出力不足の異常が起きていると考えられる状態（異常状態）で、車両の運転者がアクセルペダルを踏み増したときに、故障の診断が必要と判定してデータを記録させるようにしたので、運転シーンによって異なる基準値を最適設定するための複雑な処理が不要になり、演算負荷も抑えながら、出力不足の故障の診断が必要か否か適切に判定し、その診断のために有益なデータを記録することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明を適用するエンジンの概略構成図である。
【図２】ＥＣＵの構成を模式的に示す説明図である。
【図３】フリーズフレームデータの生成を模式的に示す説明図である。
【図４】故障に係る判定からデータの記録までの制御の一例を示すフローチャートである。
【図５】故障に係る判定の際のアクセル開度およびエンジントルクの変化の一例を示すタイミングチャートである。
【図６】変形例１においてトルク達成率の所定値や異常時間についての設定時間を、それぞれ空気密度に応じて補正するマップのイメージ図である。
【図７】アクセル開度増加率が閾値未満のときに異常時間のカウントを中断するようにした変形例２に係る図４相当図である。
【図８】前記変形例２に係る図５相当図である。
【図９】異常時間のカウントを中断したときのカウント値に応じて、このカウント値を保持またはクリアするようにした変形例３に係る図４、７相当図である。
【図１０】前記変形例３に係る図５、８相当図である。
【図１１】故障に係る判定によらずデータを記録するようにした他の実施形態に係る図４相当図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態を図面を参照して説明する。一例として本実施の形態では、図示しない自動車（車両）に搭載された内燃機関（以下、エンジン１という）のデータ記録装置について説明する。
【００２４】
−エンジンの概略構成−
図１は、実施の形態に係るエンジン１の概略構成を示す。このエンジン１は一例として多気筒ガソリンエンジンであって、各気筒２には燃焼室１１を区画するようにピストン１２が収容されている。ピストン１２とクランクシャフト１３はコンロッド１４によって連結され、シリンダブロック１７の下部には、クランクシャフト１３の回転角（クランク角）を検出するクランク角センサ６１が配設されている。
【００２５】
一方、シリンダブロック１７の上部にはシリンダヘッド１８が締結されて、各気筒２の上端を閉ざしている。このシリンダヘッド１８には、気筒２内に臨むように点火プラグ２０が配設され、後述のＥＣＵ１００によって制御されるイグナイタ２１から高電圧が供給されることによって、火花放電するようになっている。なお、シリンダブロック１７の側壁の上部には、エンジン１の冷却水温を検出する水温センサ６２が配設されている。
【００２６】
また、各気筒２毎の燃焼室１１に連通するように、吸気通路３および排気通路４が設けられている。吸気通路３の下流側（吸気流の下流側）の部分は、シリンダヘッド１８に形成された吸気ポートであり、これが燃焼室１１に臨む開口に吸気バルブ３１が配設されている。同様に排気通路４の上流側（排気流の上流側）の部分は排気ポートであり、その開口には排気バルブ４１が配設されている。これら吸気バルブ３１および排気バルブ４１を動作させるための動弁系５はシリンダヘッド１８に設けられている。
【００２７】
一例として本実施の形態の動弁系５は、吸気バルブ３１を駆動する吸気カムシャフト５１と、排気バルブ４１を駆動する排気カムシャフト５２とを備えている。これら２つのカムシャフト５１，５２が、図示しないタイミングチェーンなどを介してクランクシャフト１３により駆動されることで、吸気バルブ３１および排気バルブ４１は所定のタイミングで開閉される。また、吸気カムシャフト５１には電動のＶＶＴ５３が備わっており、吸気バルブ３１の開閉タイミングは後述のＥＣＵ１００によって制御される。
【００２８】
そして、前記吸気通路３には、その上流側から順にエアクリーナ３２、エアフローメータ６３、吸気温センサ６４（エアフローメータ６３に内蔵）、および、電子制御式のスロットルバルブ３３が配設されている。このスロットルバルブ３３はスロットルモータ３４によって駆動され、吸気の流れを絞ってエンジン１の吸気量を調整するものであり、その開度（スロットル開度）は、後述のＥＣＵ１００によって制御される。
【００２９】
また、吸気通路３には各気筒２毎に燃料噴射用のインジェクタ３５も配設されており、このインジェクタ３５が後述のＥＣＵ１００によって制御され、吸気通路３内に燃料を噴射する。こうして噴射された燃料が吸気と混合されて気筒２内に吸入され、燃焼室１１において点火プラグ２０により点火されて燃焼する。そして、発生した既燃ガスは排気通路４へ流出し、触媒コンバータ４２によって浄化される。なお、触媒コンバータ４２の上流側には空燃比センサ６５が配設されている。
【００３０】
−ＥＣＵ−
ＥＣＵ１００は、公知の電子制御ユニット（Electronic Control Unit）からなり、図２に模式的に示すようにＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３およびバックアップＲＡＭ１０４などを備えている。ＣＰＵ１０１は、ＲＯＭ１０２に記憶されたプログラムやマップに基づいて種々の演算処理を実行するもので、ＲＯＭ１０２は、エンジン１の制御プログラムを記憶している他、後述する故障判定などのプログラムも記憶している。
【００３１】
また、ＲＡＭ１０３はＣＰＵ１０１での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリ（記憶手段）であり、バックアップＲＡＭ１０４は、エンジン１の停止時にその保存すべきデータ等を記録する不揮発性のメモリである。本実施の形態においてバックアップＲＡＭ１０４は、後述するように故障診断のためのデータを記録する記録手段を兼ねている。
【００３２】
一例としてバックアップＲＡＭ１０４は、例えばＥＰＲＯＭ、Ｆ−ＲＯＭ（フラッシュ・ロム）等を採用すればよい。なお、バックアップＲＡＭ１０４とは別に例えばＨＤＤ（ハード・ディスク・ドライブ）を記録手段として設けることもできる。そして、前記のＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３ならびにバックアップＲＡＭ１０４はバス１０６を介して互いに接続されているとともに、入出力のインターフェース１０５と接続されている。
【００３３】
このインターフェース１０５には、図１を参照して上述したようにクランク角センサ６１、水温センサ６２、エアフローメータ６３、吸気温センサ６４、空燃比センサ６５などが接続されている。また、インターフェース１０５には、図１にも示すように、車室内に設けられたアクセルペダル７の操作量（アクセル開度）を検出するアクセル開度センサ６６と、車室外に臨んで設けられた大気圧センサ６７とが接続され、さらに、図示はしないが、エンジン１の運転制御に用いられるそれ以外のセンサやスイッチも接続されている。
【００３４】
そして、ＥＣＵ１００は、前記の各種センサ、スイッチ等から入力する信号に基づいて種々の制御プログラムを実行することにより、アクセル開度やエンジン１の負荷および回転数、或いは車速等に基づいてエンジン１への要求トルクを算出し、この要求トルクを出力するように、イグナイタ２１による点火時期の制御、スロットルモータ３４によるスロットル開度の制御（即ち、吸気量の制御）インジェクタ３５による燃料噴射の制御、およびＶＶＴ５３による吸気バルブタイミングの制御などを実行する。
【００３５】
なお、エンジン１への要求トルクは、エンジン１とトランスミッションとの協調制御によって、運転者が車両に対し要求する挙動を実現することができるようなトルクであり、運転者が車両に求める駆動力に対して、エンジン１や動力伝達系でロスとなる摩擦などの損失分のトルクを加えて、算出される。さらに、ＥＣＵ１００は、以下に説明するようにエンジン１の故障診断のためのデータを記録する制御も行う。
【００３６】
−故障診断データ−
前記したようにＥＣＵ１００は、運転者の求める駆動力が得られるように、要求トルクに基づいてエンジン１の吸気量や燃料噴射量、点火時期、バルブタイミング等を制御するが、例えばスロットルモータ３４の故障によってスロットル開度が小さくなったり、インジェクタ３５の噴口の詰まりによって燃料の噴射量が少なくなったりして、エンジン１の実出力トルクが小さくなることがある。
【００３７】
このような場合には、運転者によるアクセルペダル７の踏み込みに対して車速がスムーズに上昇しないことがあり、このことから故障と判定できることもある。しかしながら、一般的にエンジン１の出力制御には応答遅れがあり、この遅れの大きさは車両の走行状態や運転者による操作によって変化するので、例えばアクセル開度と車速の上昇する度合い（加速度）との関係から一義的に故障を判定することは困難であった。
【００３８】
そこで、本実施の形態では、前記のようにエンジン１の出力が不足しており、何らかの故障が起きていると懸念される異常状態において、運転者がアクセルペダル７を踏み増したときに故障の診断が必要と判定するようにしている。そして、この判定（以下、故障に係る判定ともいう）に応じて所定のデータセット（以下に述べるフリーズフレームデータ）をバックアップＲＡＭ１０４に記録させるようにしている。以下、具体的に図３、図４および図５を参照して説明する。
【００３９】
まず、本実施の形態のＥＣＵ１００において、ＣＰＵ１０１は、上述の如くエンジン１の運転データ、即ち各種センサからの信号値やこれにより演算されたエンジン回転数、吸気量、空燃比などのデータを所定周期でＲＡＭ１０３に記憶更新している。公知のようにＲＡＭ１０３には複数の記憶領域があり、ＣＰＵ１０１は予め設定された故障診断データをＲＡＭ１０３の所定領域に時系列に記憶しつつ、所定時間毎に更新する。
【００４０】
なお、故障診断データは、運転者の操作や自動車の走行状態に関連して、エンジン１の出力不足の故障診断のために記録すべき情報を予め設定したものであり、例えばアクセル操作、ブレーキ操作、ステアリング操作、車速、加速度、エンジン回転数、吸気量、燃料噴射量、点火時期、バルブタイミング等々の情報が挙げられる。
【００４１】
これらの故障診断データは、ＥＣＵ１００の電源がオンになっている間、図３には模式的に白丸○で示すように時系列にＲＡＭ１０３に記憶され、かつ所定時間毎に更新されてゆく。すなわち、一時記憶するデータ量が、サンプリング時間Ｔｎに対応して予め設定された記憶容量を越えると、最も古いデータから順に新しいデータによって上書きされてゆく。
【００４２】
そして、以下に詳説するようにエンジン１の出力不足の故障診断が必要と判定されると、図３には星印☆で示すようにトリガが発せられ、このトリガ点のデータ、即ち故障に係る判定時点のデータと、それよりも以前の所定時間内におけるデータ（プリトリガデータ）と、トリガ点よりも以降の所定時間内におけるデータ（ポストトリガデータ）とが、ＲＡＭ１０３の所定領域から読み出されてフリーズフレームデータとされ、バックアップＲＡＭ１０４に書き込まれる。
【００４３】
こうしてバックアップＲＡＭ１０４に記録されたデータは、例えばディーラーや自動車メーカー等において、故障の原因究明のための解析に利用することができる。そのためにＥＣＵ１００には、図示しないが、ディーラー等に配備されている専用端末装置用の接続ポートが設けられており、この接続ポートに専用端末装置を接続してバックアップＲＡＭ１０４のデータを転送できるようになっている。
【００４４】
−故障に係る判定の手順−
本実施の形態においてＥＣＵ１００は、アクセルペダル７の踏み込みに対してエンジン１がなかなか応答せず、異常が起きていると考えられる状態（異常状態）において、運転者がアクセルペダル７を踏み増したときに、故障の診断が必要と判定するようにしている。以下、ＣＰＵ１０１によって実行される判定の手順を図４のフローチャートを参照して説明する。なお、このルーチンはＥＣＵ１００の電源がオンになっている間、所定のタイミングで繰り返し実行される。
【００４５】
まず、ルーチンが開始されると（ＳＴＡＲＴ）、ステップＳＴ１においてアクセル開度センサ６６からの信号に基づいて、運転者によりアクセルペダル７が所定以上、大きく踏み込まれているか否か（アクセル開度Acc≧第１の所定開度Acc1）判定する。これは、運転者が或る程度以上、大きくアクセル踏み操作をしていることを判定するものであり、第１の所定開度Acc1は例えば５０％くらいに設定すればよい。
【００４６】
そして、Acc＜Acc1で否定判定（ＮＯ）すれば、ルーチンを終了する（ＥＮＤ）一方、Acc≧Acc1で肯定判定（ＹＥＳ）すればステップＳＴ２に進み、今度は、エンジン１への要求トルクTreqに対する実出力トルクTactの比率（Tact／Treq：以下、トルク達成率ともいう）が所定値ａ未満か否か判定する。この所定値ａは、エンジン制御の遅れも考慮して、正常な状態とそうでない（即ち、異常な）状態を検出するための閾値であって、例えば０．６５くらいに設定すればよい。
【００４７】
その判定の結果、（Tact／Treq）≧ａで否定判定（ＮＯ）すれば、ステップＳＴ３に進んで、以下に説明する異常時間のカウント値をクリアして、ルーチンを終了する。一方、（Tact／Treq）＜ａで肯定判定（ＹＥＳ）すれば、ステップＳＴ４に進んで、異常時間のカウント（計時）を開始する。すなわち、例えば過渡運転状態における一時的な遅れなどと区別して、異常状態の継続する時間を計測する。
【００４８】
続くステップＳＴ５では、異常時間が予め設定した時間（設定時間）以上になったか否か判定し、この設定時間未満で否定判定すればルーチンを終了する。これにより、異常時間のカウント値が保持されたまま再びルーチンが行われ、前記ステップＳＴ１，ＳＴ２で肯定判定（ＹＥＳ）すれば、再びステップＳＴ４で、異常時間のカウントが行われる。こうして、出力不足の異常状態が継続すると、異常時間のカウント値が増大してゆく。
【００４９】
これにより異常時間が設定時間以上になると、前記のステップＳＴ５で肯定判定（ＹＥＳ）してステップＳＴ６に進み、アクセルペダル７が踏み増しされたか否か（アクセル開度Acc≧第２の所定開度Acc2）判定する。この第２の所定開度Acc2は、踏み増しに至らないアクセル開度Accの変動と区別するために、第１の所定開度Acc1よりも十分に大きく、例えば８０％くらいに設定すればよい。
【００５０】
そして、Acc＜Acc2であり、ステップＳＴ６で否定判定（ＮＯ）すればルーチンを終了する。この場合、故障が起きていなければ、ルーチンが繰り返されることで（Tact／Treq）≧ａになるので、前記のステップＳＴ２で否定判定（ＮＯ）され、ステップＳＴ３で異常時間のカウント値がクリアされる。一方、Acc≧Acc2でアクセル踏み増しされたと肯定判定（ＹＥＳ）すれば、ステップＳＴ７に進んで、出力不足であって故障の診断が必要と判定し、故障判定フラグをオンにする。
【００５１】
続いてステップＳＴ８において、故障判定の履歴（即ち、故障の診断が必要と判定されたという履歴）がないことを判定し、故障判定フラグの状態から履歴があると否定判定（ＮＯ）すれば、ルーチンを終了する一方、履歴がないと肯定判定（ＹＥＳ）すれば、ステップＳＴ９に進んで、図３を参照して上述したようにデータを記録する。すなわち、ＲＡＭ１０３から読み出したフリーズフレームデータをバックアップＲＡＭ１０４に書き込んで、ルーチンを終了する（ＥＮＤ）。
【００５２】
前記図４のフローのステップＳＴ１，ＳＴ２，ＳＴ４を実行することによってＥＣＵ１００のＣＰＵ１０１は、アクセル開度Accが第１の所定開度Acc1以上で、かつエンジン１への要求トルクTreqに対する実出力トルクTactの比率、即ちトルク達成率（Tact／Treq）が所定値ａ未満の異常状態が継続する時間（異常時間）をカウントする、計時手段を構成する。
【００５３】
また、ステップＳＴ５〜ＳＴ７を実行することによってＣＰＵ１０１は、異常時間が設定時間以上になっており、かつアクセル開度Accが第１の所定開度Acc1よりも大きな第２の所定開度Acc2以上になったときに、故障の診断が必要と判定する判定手段を構成し、ステップＳ９を実行することによってＣＰＵ１０１は、前記の判定に応じてエンジン１の故障診断データをバックアップＲＡＭ１０４に記録させる制御手段を構成する。
【００５４】
以上、説明したように本実施の形態では、まず、自動車の走行中に運転者がアクセルペダル７を踏み操作すると、図５のタイミングチャートにおいて時刻ｔ０に示すように、アクセル開度Accが増大し始める。そして、時刻ｔ１でアクセル開度Accが第１の所定開度Acc1以上になり、これに対応して要求トルクTreqも大きくなっているにもかかわらず、実出力トルクTactがスムーズに大きくならないと、それらの比率であるトルク達成率（Tact／Treq）が所定値ａ未満の異常な状態になる。
【００５５】
このようにエンジン１の実出力トルクTactがスムーズに増大しない異常状態が暫くの間、続くようであれば、何らかの故障が起きている可能性があるので、前記の時刻ｔ１から異常状態の継続する時間（異常時間）がカウントされる。そして、時刻ｔ２で異常時間が設定時間Δｔ（例えば２秒くらい）以上になった後に、運転者がアクセルペダル７を踏み増しすると（時刻ｔ３）、これによりアクセル開度Accが第２の所定開度Acc2以上になって（時刻ｔ４）、故障の診断が必要と判定される。
【００５６】
つまり、エンジン１の出力が不足する故障の可能性がある異常状態において、運転者によるアクセルペダル７の踏み増しによって故障診断が必要と判定するようにしており、異常状態を判定する基準（アクセル開度Accの第１および第２の所定開度Acc1，Acc2やトルク達成率の所定値ａなど）は自動車の走行状態など種々の運転シーンにおいて共通である。
【００５７】
よって、それらの基準値を運転シーンによって異なる最適値に設定するための複雑な処理が不要になり、ＣＰＵ１０１の演算負荷を抑えながら、故障の診断が必要か否か適切に判定し、事後に解析する上で有用な故障診断データを記録することができる。
【００５８】
しかも、本実施の形態では、前記のように故障に係る判定をする前からエンジン１の運転制御に関するデータをＲＡＭ１０３に一時記憶させておき、判定に応じて読み出して、バックアップＲＡＭ１０４に記録させるようにしている。こうして、例えばインジェクタ３５の噴口の詰まりなどによる燃料噴射量の減少のように、故障の診断が必要と判定される前のデータも、判定後のデータと同様に記録することができ、故障の原因究明に有利になる。
【００５９】
なお、そうして故障に係る判定の前にＲＡＭ１０３に一時記憶させるデータは、その判定が行われない場合には新しいデータによって上書きされてゆく（即ち消去されることになる）ので、ＲＡＭ１０３やバックアップＲＡＭ１０４の容量が徒に大きくなることもない。
【００６０】
−変形例１−
ところで、自動車が例えば高地のように大気圧の低い環境下にある場合、エンジン１に吸入される空気の密度が低くなることから、その出力が低下する傾向があり、出力不足の異常が発生していると誤判定しやすくなる。そこで、好ましいのは、前記図４のフローのステップＳＴ２、ＳＴ５における判定の基準、即ちトルク達成率（Tact／Treq）の所定値ａおよび異常時間についての設定時間の少なくとも一方を、大気圧や空気密度に応じて補正することである。
【００６１】
具体的に変形例１においては、大気圧センサ６７からの信号に基づいて空気密度を算出する。そして、一例を図６に示すようなマップを参照して、同図に実線のグラフで示すように空気密度が低いほど前記の所定値ａを小さな値に変更するか、破線のグラフで示すように設定時間を長い時間に変更するか、の少なくとも一方の補正を行う。このマップは、空気密度の変化によるエンジントルクの変化に基づき、予めシミュレーションなどによって設定すればよい。
【００６２】
こうして所定値ａや設定時間の少なくとも一方を補正することによって、異常状態についての判定の基準が適度に緩く（即ち判定し難く）なるので、自動車が例えば高地を走行しているときに、空気密度の低下によってエンジン１のトルクが低下傾向になっても、そのことに起因して出力不足の異常と誤判定することは抑制される。
【００６３】
−変形例２−
次に、前記異常時間のカウントの仕方を変更した場合（変形例２）について説明する。前記実施の形態では、アクセル開度Accが第１の所定開度Acc1以上になっているときに、運転者が或る程度以上、大きくアクセル踏み操作をしていて、加速要求があると判定し、それにも関わらず、トルク達成率（Tact／Treq）が所定値ａ以下の状態が継続する時間を、異常時間としてカウントするようにしている。
【００６４】
しかしながら、アクセル開度Accが第１の所定開度Acc1以上になっていても、運転者は車両の加速感に概ね満足してアクセルペダル７を戻し気味にしており、それ故に、トルク達成率（Tact／Treq）があまり大きくならないこともあり得る。そこで、変形例２では、アクセル開度Accの増加率ΔAcc（一例として微分値）に着目し、これが所定の閾値ｂ（例えば−１．５％）未満であれば、運転者がアクセルペダル７を戻し気味にしていると考えて、異常時間のカウントを中断するようにした。
【００６５】
具体的には、図７のフローチャートにおいてステップＳＴ２１〜ＳＴ２３までは、図４のフローのステップＳＴ１〜ＳＴ３と同じ処理を行うが、ステップＳＴ２４ではアクセル開度増加率ΔAccが閾値ｂ未満であるか否か（ΔAcc＜ｂ）判定する。そして、否定判定（ＮＯ）すればステップＳＴ２５に進み、図４のフローのステップＳＴ４と同じく異常時間のカウントを行い、その後のステップＳＴ２７〜ＳＴ３１において、図４のフローのステップＳＴ５〜ＳＴ９と同じ処理を行う。
【００６６】
一方、アクセル開度増加率ΔAccが閾値ｂ未満になっていれば肯定判定（ＹＥＳ）してステップＳＴ２６に進み、異常時間のカウントを中断して前記ステップＳＴ２７〜ＳＴ３１に進む。すなわち、一例を図８のタイミングチャートに示すように、時刻ｔ１でアクセル開度Accが第１の所定開度Acc1以上になり、異常時間のカウントが開始された後に運転者がアクセルペダル７を戻し気味にして、時刻ｔ２でアクセル開度増加率ΔAccが閾値ｂ未満になると、異常時間のカウントが中断される。
【００６７】
そして、同図の下段の実線のグラフに示すように、それまでのカウント値が保持されるようになり、その後、再びアクセルペダル７が踏み込まれて、時刻ｔ３でアクセル開度増加率ΔAccが閾値ｂ以上になれば、異常時間のカウントが再開される。なお、同図に仮想線のグラフで示すように、異常時間のカウントを中断したときに、それまでのカウント値は零にクリアしてもよい。この場合、前記の時刻ｔ３からは新たに異常時間のカウントが開始される。
【００６８】
この変形例２によると、アクセル開度Accが第１の所定開度Acc1以上になっていても、運転者がアクセルペダル７を戻し気味にすれば、カウントを中断することによって、異常時間の計測精度を高めることができる。なお、この変形例２においてもＥＣＵ１００のＣＰＵ１０１は、図７のフローのステップＳＴ２１，ＳＴ２２，ＳＴ２４〜ＳＴ２６を実行することによって計時手段を構成し、また、ステップＳＴ２７〜ＳＴ２９を実行することによって判定手段を構成し、ステップＳ３１を実行することによって制御手段を構成する。
【００６９】
−変形例３−
次に変形例３について説明する。これは、前記の変形例２のようにアクセルペダル７が戻し気味にされて、異常時間のカウントを中断するときに、それまでのカウント値に応じて、このカウント値を保持またはクリアするようにしたものである。すなわち、アクセルペダル７が或る程度以上の時間をかけて踏み込まれた後に、戻し気味にされた場合は、運転者には加速要求があり、アクセルペダル７は再び踏み込まれる可能性が高いと考えられる。よって、この場合は異常時間のカウント値を保持しておき、後に再開することが好ましい。
【００７０】
一方、アクセルペダル７が前記のような時間をかけずに、比較的短時間で踏み込まれた後に戻し気味にされた場合、運転者は意識してアクセルペダル７を踏み込んではおらず、加速要求はないとも考えられる。このような場合に異常時間のカウント値を保持すると、これが繰り返し積算される結果として、カウントされた異常時間が設定時間以上になってしまい、出力不足の異常であると誤判定するおそれがある。
【００７１】
そこで、この変形例３では、前記のようにアクセル開度Accが第１の所定開度Acc1以上になっていて、かつアクセル開度増加率ΔAccが閾値ｂ未満になったとき、そのときまでにカウントされた異常時間が所定時間（運転者に加速要求はないと考えられるような短時間のアクセル開度Accの変化に相当する時間であり、例えば０．５秒くらい）以上であれば、この異常時間のカウント値を保持する一方、所定時間未満であればカウント値を零にクリアするようにしている。
【００７２】
具体的には、まず、図９のフローチャートにおいてステップＳＴ４１〜ＳＴ４４までは、図７のフローのステップＳＴ２１〜ＳＴ２４と同じ処理を行う。そして、ステップＳＴ４４でアクセル開度増加率ΔAccが閾値ｂ未満でないと否定判定（ＮＯ）すれば、ステップＳＴ４５に進んで、図７のフローのステップＳＴ２５と同じく異常時間のカウントを行い、その後のステップＳＴ４８〜ＳＴ５２において、図７のフローのステップＳＴ２７〜ＳＴ３１と同じ処理を行う。
【００７３】
一方、アクセル開度増加率ΔAccが閾値ｂ未満になっていて、前記ステップＳＴ４４で肯定判定（ＹＥＳ）すればステップＳＴ４６に進み、今度は異常時間のカウント値が所定値（前記所定時間に相当する値）以上か否か判定する。そして、所定値未満で否定判定（ＮＯ）すれば異常時間のカウントを中断し、ステップＳＴ４３に進んで異常時間のカウント値を零にクリアする。
【００７４】
すなわち、一例を図１０のタイミングチャートに示すように、アクセル開度Accが第１の所定開度Acc1以上になって（時刻ｔ１）、異常時間のカウントが開始された後に、アクセルペダル７が戻し気味にされ、アクセル開度増加率ΔAccが閾値ｂ未満になれば（時刻ｔ２）、前記した変形例２と同じく異常時間のカウントを中断する。このときに、異常時間（ｔ１〜ｔ２）に相当するカウント値が所定値未満であれば、アクセル開度Accが短時間で変化しており、運転者に加速要求はないと考えられる。
【００７５】
そこで、このときには異常時間のカウント値を零にクリアして、その後、再びアクセルペダル７が踏み込まれ、アクセル開度増加率ΔAccが閾値ｂ以上になれば（時刻ｔ３）、新たに異常時間のカウントを開始する。そして、再びアクセルペダル７が戻し気味にされ、アクセル開度増加率ΔAccが閾値ｂ未満になれば（時刻ｔ４）、前記と同様に異常時間のカウントを中断する。このときには異常時間（ｔ３〜ｔ４）に相当するカウント値が所定値未満であるので、再び異常時間のカウント値をクリアする。
【００７６】
つまり、アクセルペダル７が短時間で踏み込まれたり、戻し気味にされたりしていれば、運転者は意識してアクセルペダル７を踏み込んではおらず、加速要求はないと考えて、異常時間のカウント値を零にクリアするのである。
【００７７】
これに対し、前記図９のフローのステップＳＴ４６においてカウント値が所定値以上であると肯定判定（ＹＥＳ）すれば、ステップＳＴ４７に進んで異常時間のカウントを中断し、このときまでのカウント値を保持して、前記ステップＳＴ４８〜ＳＴ５２に進む。すなわち、前記の変形例２と同様にアクセルペダル７が或る程度以上の時間をかけて踏み込まれた後に、戻し気味にされた場合は、運転者には加速要求があり、アクセルペダル７は再び踏み込まれる可能性が高いと考えて、異常時間のカウント値を保持するのである。
【００７８】
このように変形例３によれば、異常時間のカウントを中断するときに、それまでの異常時間（カウント値）が所定時間未満であれば、運転者に加速要求はないと考えて、カウント値をクリアするようにしている。これにより、加速要求がないのにカウント値が積算される結果として、異常時間が設定時間以上になってしまい、出力不足の異常と誤判定されることを抑制でき、異常時間の計測精度が高くなる。
【００７９】
なお、この変形例３においてもＥＣＵ１００のＣＰＵ１０１は、図９のフローのステップＳＴ４１，ＳＴ４２，ＳＴ４４〜ＳＴ４７を実行することによって計時手段を構成し、また、ステップＳＴ４８〜ＳＴ５０を実行することによって判定手段を構成し、ステップＳ５２を実行することによって制御手段を構成する。
【００８０】
−その他の実施形態−
以上、説明した実施の形態（変形例１〜３を含む）の記載はあくまで例示に過ぎず、本発明の構成や用途などについても限定することを意図しない。例えば前記実施の形態では、例えば図４のフローのステップＳＴ６においてアクセル踏み増しを判定（ＹＥＳ）したときにのみ、即ち故障の診断が必要と判定したときにのみ、バックアップＲＡＭ１０４に故障診断データを記録させるようにしているが、これには限定されず、例えば異常時間が設定時間以上になったときにもデータを記録させるようにしてもよい。
【００８１】
すなわち、一例として示す図１１のフローチャートにおいてステップＳＴ６１〜ＳＴ６５までは、図４のフローのステップＳＴ１〜ＳＴ５と同じ処理を行い、ステップＳＴ６５において異常時間が設定時間以上になったと肯定判定（ＹＥＳ）すれば、ステップＳＴ６６に進む。ここでは、図４のフローのステップＳＴ８と同様に故障判定の履歴がないことを判定し、肯定判定（ＹＥＳ）であればステップＳＴ６７に進んで、ステップＳＴ９と同じくフリーズフレームデータを記録して、ルーチンを終了する。
【００８２】
このように、異常状態が予め設定した時間以上、継続すれば故障に係る判定によらずデータを記録することで、故障の診断が必要との判定に至った場合だけでなく、結果的にその判定に至らなかった異常状態についても併せてデータを検討することが可能になり、故障の原因究明に有利になる。
【００８３】
なお、処理の簡略化や演算負荷の抑制を最優先するのであれば、前記実施形態のようなフリーズフレームデータの生成は行わず、より簡便に故障に係る判定時のエンジン制御データをＲＡＭ１０３から読み込んで、バックアップＲＡＭ１０４に記録させるようにしてもよい。この場合、ＲＡＭ１０３は、本発明の構成要素としての記憶手段（異常状態が継続する間、少なくともエンジン１の制御に関連するデータを記憶させる記憶手段）ではないので、データ記録装置は、記録手段としてのバックアップＲＡＭ１０４は備えるが、記憶手段は備えないものとなる。
【００８４】
さらに、前記のように故障の診断が必要との判定に至った場合だけでなく、この判定に至らなかった場合のデータもバックアップＲＡＭ１０４に記録するのであれば、それら２種類のデータを区別する識別情報を付帯させて記録させたり、また、バックアップＲＡＭ１０４において異なる領域に記録させたりするのが好ましい。そして、故障の診断が必要との判定に至らなかった場合のデータは、所定時間毎に上書きして更新するようにしてもよい。
【００８５】
さらにまた、前記の実施の形態では一例として、エンジン１のＥＣＵ１００を利用してデータ記録装置を構成する場合について説明したが、これにも限定されず、ＥＣＵ１００に別のコントロールユニットを相互に通信可能に接続して、データ記録装置を構成してもよい。また、自動車に搭載したデータ記録装置にも限定されず、本発明は、例えば二輪車や産業車両などに搭載することもできる。
【産業上の利用可能性】
【００８６】
本発明のデータ記録装置によれば、内燃機関の出力不足の故障に係る判定を適切に行い、その診断のためのデータを記録することができるので、特に自動車に搭載して有益である。
【符号の説明】
【００８７】
１          エンジン（内燃機関）
７          アクセルペダル
６６        アクセル開度センサ
１００      ＥＣＵ
１０１      ＣＰＵ（計時手段、判定手段、制御手段）
１０３      ＲＡＭ（記憶手段）
１０４      バックアップＲＡＭ（記録手段）
Acc         アクセル開度
Acc1        第１の所定開度
Acc2        第２の所定開度
ΔAcc      アクセル開度増加率
Tact／Treq  トルク達成率（要求トルクに対する実出力トルクの比率）
Δｔ        設定時間（異常時間に関して予め設定した時間）
【図１】
0006540660.tif 000002
【図２】
0006540660.tif 000003
【図３】
0006540660.tif 000004
【図４】
0006540660.tif 000005
【図５】
0006540660.tif 000006
【図６】
0006540660.tif 000007
【図７】
0006540660.tif 000008
【図８】
0006540660.tif 000009
【図９】
0006540660.tif 000010
【図１０】
0006540660.tif 000011
【図１１】
0006540660.tif 000012