以下、本発明を具体化した酸素センサの活性化時間測定方法の一実施の形態について、図面を参照して説明する。まず、図1〜図3を参照し、本発明に係る活性化時間測定方法を利用したライトオフタイム測定装置10によって、活性化されるまでにかかる時間を測定される酸素センサ30が取り付けられるエンジンベンチシステム1の概略的な構成について説明する。図1は、エンジンベンチシステム1の概略的な構成を示すブロック図である。図2は、HDD18の各記憶エリアの構成を示す模式図である。図3は、RAM15の各記憶エリアの構成を示す模式図である。
図1に示すエンジンベンチシステム1は、自動車等のエンジンの各種性能試験を行うため、エンジン50に吸排気系、燃料系、電子制御系などの各種機関を組み付けて、エンジン50を駆動するシステムを構成したものである。本実施の形態のエンジン50は6本のシリンダ51を有する6気筒のエンジンであり、各シリンダ51内に空気と燃料の混合気を送り込むための吸気通路52と、シリンダ51内での混合気の燃焼により生じた排気ガスを排出する排気通路53とが接続されている。
吸気通路52にはエアフローセンサ57とエアバルブ56が設けられており、後述するECU60の制御により吸入される空気の流量が調整されている。吸気通路52は各シリンダ51に向けて分岐されており、それぞれの分岐先にインジェクタ40が設けられている。吸入された空気はこのインジェクタ40から噴射される燃料と混合されて、混合気として各シリンダ51内に供給される。また、排気通路53は、混合気の燃焼後に各シリンダ51から排出される排気ガスを合流させ、三元触媒からなる浄化装置54を通過させて外部に排出する通路として構成されている。三元触媒は、プラチナなどを用い、HC、COおよびNOxをH2O、CO2およびN2に酸化もしくは還元する触媒であり、混合気が完全燃焼することにより効率よく酸化もしくは還元が行われる。
インジェクタ40の駆動(燃料の噴射タイミングや噴射量)は電子制御ユニット(ECU)60により制御されている。ECU60は、図示外の点火プラグの点火タイミングなども含めたエンジン50の駆動のための総合的な制御を行っており、フィードバック制御のためエンジン50に取り付けられた各種センサ55からの検出信号が入力されている。また、後述するが、本実施の形態ではエンジン50から排出される排気ガス中の酸素濃度が一定の周期でリーン(混合気中の燃料の割合が少なく燃焼後の排気ガス中に酸素が多く残った状態)側とリッチ(混合気中の燃料の割合が多くほとんどの酸素が燃焼に使用され、排気ガス中の酸素濃度が低い状態)側とに交番されるように、インジェクタ40から噴射される燃料の噴射量の調整が行われており、その調整に係る制御のためのエンジン制御用コンピュータ70がECU60に接続されている。
排気通路53には、浄化装置54の上流側には全領域空燃比センサ35と、後述するライトオフタイム測定装置10により活性化時間を測定するため、被測定ガスとしての排気ガス中の酸素濃度を検出する酸素センサ30とが取り付けられる。全領域空燃比センサ35は、排気ガス中の酸素もしくは未燃焼ガスの濃度の検出を行うセンサであり、その検出値がλメータ36に入力される。λメータ36は、全領域空燃比センサ35の検出値からエンジン50により燃焼された混合気の空燃比を求め、その空燃比を理論空燃比で割ったλ値を算出して出力する。本実施の形態のライトオフタイム測定装置10では、後述する測定プログラムとは別のプログラムの実行によって、全領域空燃比センサ35の検出値に基づくλ値の記録等が行われている。
酸素センサ30は、酸素濃度の検出を行う酸素濃度検出部31と、その酸素濃度検出部31を加熱して早期活性化および活性化状態の安定化を図るためのヒータ部32とを有する。酸素センサ30の酸素濃度検出部31からは排気ガス中の酸素濃度に応じた検出値(電圧値)が得られ、A/D変換器11を介して出力される。なお、排気通路53には、図示しない熱電対もしくは温度センサが設けられており、排気ガスの温度を一定に保つためのフィードバック制御に用いられている。
次に、ライトオフタイム測定装置10について説明する。ライトオフタイム測定装置10は、公知の構成からなるパーソナルコンピュータである測定用コンピュータ12と、酸素センサ30の酸素濃度検出部31の検出値(酸素濃度に応じた電圧値)をA/D変換するA/D変換器11と、酸素センサ30のヒータ部32に駆動電圧を印加するヒータ駆動回路部26とから構成される。
測定用コンピュータ12には、自身の制御を司るCPU13が設けられている。CPU13には、BIOSなどが記憶されたROM14と、CPU13のデータ処理時にデータや各種変数、フラグなどを一時的に記憶するRAM15と、データの受け渡しの仲介を行うI/Oバス16とが接続されている。I/Oバス16には、測定者が操作の入力を行うマウス24およびキーボード25と、後述する測定プログラム実行時の操作画面を表示するディスプレイ23に接続された、画面表示処理を行うビデオカード22と、エンジン制御用コンピュータ70とのデータ通信を行うための通信インターフェイス20とが接続されている。また、I/Oバス16には、測定プログラムが記録されたCD−ROM21を挿入し、データの読み込みを行うCD−ROMドライブ19と、データの記憶装置であるハードディスクドライブ(以下「HDD」という。)18とが接続されている。CD−ROMドライブ19によりCD−ROM21から読み込まれた測定プログラムは、後述するHDD18のプログラム記憶エリア181(図2参照)に記憶される。I/Oバス16には、さらに、入出力ポート17が接続されている。入出力ポート17は図示外のPCIバスを介してI/Oバス16に接続される拡張ボードの形態で提供され、酸素センサ30の酸素濃度検出部31に接続されたA/D変換器11と、全領域空燃比センサ35に接続されたλメータ36と、酸素センサ30のヒータ部32に接続されたヒータ駆動回路部26とが接続され、各機器の入出力を担う。
次に、HDD18の記憶エリアについて説明する。図2に示すように、HDD18には、プログラム記憶エリア181と、初期設定記憶エリア182と、測定データ記憶エリア183と、ライトオフタイム記憶エリア184とが設けられている。プログラム記憶エリア181には、後述する測定プログラムを含め、各種プログラムがインストールされた際に記憶される。初期設定記憶エリア182には、測定プログラムの実行時に使用される初期設定値が記憶される。測定データ記憶エリア183には、測定プログラムの実行に従って取得された酸素センサ30の検出値(電圧値)と、その検出値が取得されたタイミングにおけるタイマカウンタ記憶エリア155のカウント値とが関連付けられて記憶される。ライトオフタイム記憶エリア184には、酸素センサ30が排気通路53に取り付けられてから活性化されるまでにかかった活性化時間としてのライトオフタイムが、測定プログラムの実行により求められて、記憶される。また、HDD18には図示外の各種記憶エリアも設けられている。
次に、RAM15の記憶エリアについて説明する。図2に示すように、RAM15には、ワークエリア151と、サンプリング回数記憶エリア152と、リッチ側活性化時間記憶エリア153と、リーン側活性化時間記憶エリア154と、タイマカウンタ記憶エリア155とが設けられている。ワークエリア151には、測定プログラムの実行時に利用される各種変数やフラグ、カウント値などが一時的に記憶される。また、測定プログラム自身も実行時にHDD18から読み込まれ、展開される。サンプリング回数記憶エリア152には、酸素センサ30による排気ガス中の酸素濃度の検出(サンプリング)の繰り返し回数(サンプリング回数)が記憶され、測定プログラムの実行に伴い減算されて、サンプリングの終了の判断に用いられる。リッチ側活性化時間記憶エリア153には、測定プログラムの実行によって、空燃比がリッチ側である場合に酸素センサ30が活性化したとみなされる時間が求められ、記憶される。リーン側活性化時間記憶エリア154にも同様に、測定プログラムの実行によって、空燃比がリーン側である場合に酸素センサ30が活性化したとみなされる時間が求められ、記憶される。タイマカウンタ記憶エリア155には、図示外のタイマプログラムによって所定時間毎に値が1ずつ加算されるカウント値が記憶される。測定プログラムでは実行に伴いその時々のカウント値が取得され、時間換算して利用される。また、RAM15には、図示外の各種記憶エリアも設けられており、測定プログラムも所定の記憶エリアに読みこまれて実行される。
次に、酸素センサ30により酸素濃度の検出が行われる原理について簡単に説明する。酸素センサ30の酸素濃度検出部31は、常温では絶縁性を示すジルコニア固体電解質体をプラチナ電極間に挟んだ構造をなし、一方の電極が大気雰囲気に晒され、他方の電極が被測定ガスとしての排気ガスに晒されるように構成されている。ジルコニア固体電解質体は加熱されることで活性化されて導電性を有するようになり、このジルコニア固体電解質体を介して酸素イオンが移動できるようになる。エンジン50に供給される混合気中の燃料の割合が低くリーン状態で燃焼が行われた場合、排気ガス中の酸素濃度(分圧)と大気雰囲気中の酸素濃度(分圧)とがほぼ平衡な状態で維持されるため、ジルコニア固体電解質体を介した酸素イオンの移動は生じない。一方、混合気の燃焼がリッチ状態で行われた場合、混合気中のほとんどの酸素が燃焼に使われるため、排気ガス中の酸素濃度(分圧)と大気雰囲気中の酸素濃度(分圧)とが非平衡な状態となる。このため、ジルコニア固体電解質体を介し、大気雰囲気側の酸素イオンが排気ガス雰囲気側に移動し、これに伴い生ずる起電力が、酸素濃度に応じた電圧値として検出されるのである。つまり、混合気がリッチ状態とリーン状態との境目すなわち燃焼が理論空燃比で行われた場合(λ値が1である場合)を境に、検出される検出値には大きな変化が生ずることとなる。
上記のように、ジルコニア固体電解質体が活性化されないと酸素センサ30からは出力が得られないこととなるため、活性化されるまでの時間、すなわち前述したライトオフタイムの短縮を目指した酸素センサ30が開発され、その評価を行うために、本実施の形態のライトオフタイム測定装置10が利用される。
ここで、空燃比をリッチ側に固定した場合、酸素センサ30の出力(検出値)は、ジルコニア固体電解質体の温度上昇と共に大きくなっていき、ジルコニア固体電解質体が十分に活性化されたところで安定する。空燃比をリーン側に固定した場合についても同様に、ジルコニア固体電解質体の温度が十分に高まっていないうちは安定せず、ジルコニア固体電解質体が十分に活性化されたところで安定する。リッチ側、リーン側共に酸素センサ30の出力が安定して初めて酸素センサ30(ジルコニア固体電解質体)が活性化したとみなすことができるため、ライトオフタイムの測定には、リッチ側の活性化時間の測定と、リーン側の活性化時間の測定とが必要となる。
そこで、本実施の形態では、空燃比をリッチ側とリーン側とで交番させた排気ガスの酸素濃度の検出を行ない、リッチ側の活性化時間の測定と、リーン側の活性化時間の測定とを一回の測定で同時に行い、測定の手間を軽減している。具体的には、空燃比をリッチ側とリーン側とで交番させた排気ガス中に酸素センサ30を晒し、その結果得られる検出値(電圧値)を縦軸に、時間経過を横軸にしたセンサ信号波形を描画する。その一例として図4に、時間の経過に対する酸素センサ30の検出値(電圧値)の変化(センサ信号波形)を記録したグラフを示す。図4のグラフに示すように、酸素センサ30から得られる検出値(電圧値)は、リッチ状態とリーン状態との交番の周期にあわせ、波打つように変動し、時間の経過と共に周期毎の最大値および最小値が一定の値を示すようになり、安定化される。このことから、周期毎の最大値を直線で連結した折れ線グラフを作成し、これをリッチ側の活性化時間の測定に用いる。リーン側についても同様に、周期毎の最小値を直線で連結した折れ線グラフを用い、活性化時間を測定する。そして両者から、リッチ側、リーン側共に酸素センサ30が活性化された時間をライトオフタイムとして決定することで、より正確なライトオフタイムの測定を行っている。
以下、図5〜図7のフローチャートに従って、図1〜図3および図8を参照しながら、測定プログラムの実行に伴うライトオフタイム測定装置10の動作について説明する。図5〜図7は、測定プログラムのフローチャートである。図8は、図4に示す酸素センサのセンサ信号波形の一例を示すグラフから点線で囲んだ部分を拡大し、ライトオフタイムを測定する方法について説明するためのグラフである。なお、フローチャートの各ステップについては「S」と略記する。
前述したように、例えばCD−ROM21を介して提供される測定プログラムはライトオフタイム測定装置10の測定用コンピュータ12にインストールされ、HDD18のプログラム記憶エリア181に記憶されている。測定用コンピュータ12で、図5に示す、測定プログラムが実行されると、まず、エンジン制御用コンピュータ70に指示が送信され、排気通路53に対し、空燃比を一定の周期でリッチ側およびリーン側に交番させた排気ガスの供給が開始される(S11)。具体的には、測定用コンピュータ12から指示を受けたエンジン制御用コンピュータ70が、ECU60に指示を出し、エンジン50の駆動を開始させる。さらに、エンジン制御用コンピュータ70は、一定の周期(例えばT(ms)とする。)ごとに空燃比をリッチ側とリーン側とで交番させる指示をECU60に行う。ECU60は、インジェクタ40から噴射する燃料の量と、エアバルブ56の開放度の調整による吸気通路52内への空気の吸入量との調整を行って、空燃比をTms毎にリッチ側とリーン側とに交番させる。
次いでRAM15のサンプリング回数記憶エリア152に、HDD18の初期設定記憶エリア182に記憶されたサンプリング回数の初期値、例えば2000(10msごとのサンプリングを20秒間行う場合)が記憶される。このサンプリング回数は、予め実験等により酸素センサ30が活性化するのに十分な時間を求め、少なくともその時間中はサンプリングが行われるように設定された回数である。また、RAM15のリッチ側活性化時間記憶エリア153およびリーン側活性化時間記憶エリア154には0が記憶され、リセットが行われる。さらに、タイマカウンタ記憶エリア155のカウント値もリセットされ、カウントが0から開始される(S12)。
次に、排気通路53に、ライトオフタイム測定対象の酸素センサ30の取り付けが行われる(S13)。取り付けられる酸素センサ30は、少なくともジルコニア固体電解質体の温度が常温となって非活性の状態であるものが測定対象となる。酸素センサ30には、予めA/D変換器11および入出力ポート17との配線がなされており、また、排気通路53に容易に取り付けることのできる図示外の取付器具が酸素センサ30に組み付けられている。この処理の際に、測定用コンピュータ12のディスプレイ23には取り付けが完了したか否かの確認を行うための入力用ダイアログの表示が行われる。測定者は、排気通路53への酸素センサ30の取り付けを行い、それと同時にマウス24もしくはキーボード25を操作して、取り付けが完了したことをCPU13に報せる。これを契機にヒータ駆動回路部26に駆動開始信号が送信され、酸素センサ30のヒータ部32への通電が開始される(S15)。
そして、センサ信号の取得が行われる(S16)。前述したように、酸素センサ30による排気ガス中の酸素濃度の検出値はA/D変換器11によりA/D変換されて入出力ポート17に入力されており、このタイミングにおける検出値が取得される。また、RAM15のタイマカウンタ記憶エリア155のカウント値が参照され、そのときのカウント値がRAM15のワークエリア151に記憶される。さらにそのカウント値と、S16で取得した検出値(電圧値)とが関連付けられた状態で、HDD18の測定データ記憶エリア183に記憶される(S19)。なお、S19において酸素センサ30の検出値を測定データ記憶エリア183に記憶する処理が、本発明における「検出値記憶工程」に相当する。
次に、RAM15のサンプリング回数記憶エリア152の値が参照され、1以上であれば、サンプリングが継続される(S20:NO)。サンプリングは10ms毎に行われるので、タイマカウンタ記憶エリア155のカウント値が参照され、S19でワークエリア151に記憶されたカウント値(センサ信号取得時のカウント値)よりも10ms後に相当する値となるまで、サンプリング待ち時間として待機される(S21:NO)。
繰り返し参照されるタイマカウンタ記憶エリア155のカウント値が、センサ信号取得時のカウント値よりも10ms後に相当する値以上となれば、サンプリング待ち時間が経過したと判断され(S21:YES)、RAM15のサンプリング回数記憶エリア152の値が1減算される(S23)。そしてS16に戻り、前回のサンプリング時から10ms経過後のセンサ信号の取得と記憶(S16,S19)が行われる。なお、S21においてサンプリング待ち時間の待機を行うことで、所定時間毎にセンサ信号の取得を行うS16の処理が、本発明における「検出値取得工程」に相当する。
このようにしてサンプリング回数が0となるまでS16〜S23の処理が繰り返されることによって、酸素センサ30の酸素濃度検出部31の検出した排気ガス中の酸素濃度に基づく検出値(電圧値)が10ms毎に取得され、測定データ記憶エリア183に記憶され、データが蓄積される。そして、サンプリング回数が0になるとサンプリングが終了したと判断され(S20:YES)、ヒータ駆動回路部26に駆動終了信号が送信されて、酸素センサ30のヒータ部32への通電が停止される(S24)。
次に、図6に示すように、HDD18の測定データ記憶エリア183に記憶された2000回分のセンサ信号のサンプリングデータから、センサ信号波形が作成される(S31)。センサ信号波形は、センサ信号すなわち酸素センサ30の検出した排気ガス中の酸素濃度に応じて得られた電圧値を縦軸に、S13で酸素センサ30が排気通路53に取り付けられた後から(より詳細にはS16で初回のセンサ信号の取得が行われたタイミングから)の経過時間(時間換算を行ってもよいし、カウント値のままとしてもよい。)を横軸にしてプロットされる。一例として、図4にセンサ信号波形のグラフを示す。このセンサ信号波形は、RAM15のワークエリア151に形成された仮想グラフ描画領域へのプロッティングにより作成される。なお、本実施の形態では、センサ信号波形はサンプリングにより得られた点の集合であるが、それらの点を結ぶ曲線、あるいはそれらの点から最小二乗法などを用いて算出される曲線を描画してもよい。
そして、図6に示すように、エンジン制御用コンピュータ70に、空燃比をリーン側からリッチ側に切り換えるタイミングの問い合わせが行われる(S32)。エンジン制御用コンピュータ70は、空燃比をリーン側からリッチ側に切り換える度に測定用コンピュータ12へ切換信号を送信する。測定用コンピュータ12では切替信号の受信が2回行われ、それぞれの受信タイミングにタイマカウンタ記憶エリア155のカウント値が参照されて、そのカウント値から空燃比の交番の周期、すなわち2T(ms)が計算される。そして切替信号の受信タイミングからの逆算により、周期毎、すなわち、2T(ms)に相当するカウント値の大きさずつ、ワークエリア151に形成したセンサ信号波形を区切り、時分割が行われる(S33)。一例として、図8に示すセンサ信号波形を、2点鎖線Aで示す時分割線で周期2T(ms)毎に時分割した様子を示す。
次に、図6に示すように、時分割したセンサ信号波形の各周期毎に、電圧値が最大値となる点(サンプリングされた電圧値と、そのときのカウント値)の抽出が行われる(S35)。ところで、混合気が燃焼されてエンジン50から排気ガスとして排出され、排気通路53を流通して酸素センサ30に達するまでタイムラグが生ずる。このため、各周期のセンサ信号波形は、空燃比をリーン側からリッチ側に切り換えたタイミングより少し遅れて極小値を迎えてから電圧値が上昇し始め、空燃比をリッチ側からリーン側に切り換えたタイミングより少し遅れて極大値を迎えてから電圧値が下降し始める波形を描く。このため、各周期の最大値は、通常、極大値にて得られることとなる。一例として図8に、センサ信号波形を時分割した各周期毎の電圧値の最大値(極大値)を点Bで示す。なお、S35において、時分割したセンサ信号波形の各周期毎に電圧値が最大値となる点を抽出する処理が、本発明における「極大値抽出工程」に相当する。
次いで、図6に示すように、センサ信号波形より抽出された各周期毎の最大値を隣り合う周期間で直線で結び連結した極大値側連結線が作成される(S36)。一例として図8に、センサ信号波形を時分割した各周期の最大値(点B)を直線で連結した極大値側連結線Dを点線で示す。なお、S36において、各周期毎の最大値を直線で連結した極大値側連結線を作成する処理が、本発明における「極大値側連結線取得工程」に相当する。
そして、図6に示すように、極大値側連結線と、リッチ側閾値との交点の抽出が行われる(S37)。前述したように酸素センサ30のジルコニア固体電解質体は加熱されることにより活性化し、酸素イオンが多く移動できるようになるため、非活性の状態では起電力が小さい。このため、活性化の判断は空燃比がリッチ側である場合のセンサ信号として、所定の電圧値よりも高い電圧値が得られるか否かで行うことができる。通常、空燃比がリッチ側である場合の活性化の判断基準となる電圧値のしきい値(リッチ側閾値)は、0.55Vとされている。そこで、極大値側連結線上で電圧値が0.55Vとなる点が抽出され、その点の座標から得られるカウント値と共にワークエリア151に記憶される。一例として図8に、極大値側連結線とリッチ側閾値との交点を点Fで示す。
ここで、抽出された極大値側連結線とリッチ側閾値との交点が、複数存在する場合がある。本実施の形態では時間軸でもっとも遅いタイミングとなる交点をリッチ側判定交差点と定めている。この交点における時間よりも後の時間であれば(すなわちカウント値が大きければ)、空燃比がリッチ側である場合において間違いなく、ジルコニア固体電解質体が活性化された状態であるとみなしている。従って、図6に示すように、S37で抽出された極大値側連結線とリッチ側閾値との交点のうち最も遅いタイミングの交点が、リッチ側判定交差点として特定される(S39)。そして、特定されたリッチ側判定交差点における時間がグラフから求められ、リッチ側活性化時間としてカウント値が取得される(S40)。リッチ側活性化時間は、RAM15のリッチ側活性化時間記憶エリア153に記憶される。なお、S39において、極大値側連結線と、本発明の「極大値側閾値」に相当するリッチ側閾値との交点のうち最も遅いタイミングの交点を、本発明の「第1判定交差点」に相当するリッチ側判定交差点として特定する処理が、本発明における「第1判定交差点取得工程」に相当する。
次のS41〜S47の処理は、S35〜S40においてリッチ側活性化時間を取得した一連の処理と同様の処理をリーン側について行い、リーン側活性化時間を取得するものである。すなわち、時分割したセンサ信号波形の各周期毎に電圧値が最小値となる点(一例として図8に示す点C)の抽出が行われ(S41)、センサ信号波形より抽出された各周期毎の最小値を隣り合う周期間で直線で結び連結した極小値側連結線(一例として図8に点線で示す極小値側連結線E)が作成される(S43)。次いで、極小値側連結線とリーン側閾値との交点(一例として図8に示す点Gおよび点H)の抽出が行われ(S44)、時間軸でもっとも遅いタイミングとなる交点(一例として図8に示す点H)がリーン側判定交差点して特定される(S45)。そして、特定されたリーン側判定交差点における時間がグラフから求められ、リーン側活性化時間としてカウント値が取得されて、RAM15のリーン側活性化時間記憶エリア154に記憶される(S47)。なお、S41において、時分割したセンサ信号波形の各周期毎に電圧値が最小値となる点を抽出する処理が、本発明における「極小値抽出工程」に相当する。また、S43において、各周期毎の最小値を直線で連結した極小値側連結線を作成する処理が、本発明における「極小値側連結線取得工程」に相当する。また、S45において、極小値側連結線と、本発明の「極小値側閾値」に相当するリーン側閾値との交点のうち最も遅いタイミングの交点を、本発明の「第2判定交差点」に相当するリーン側判定交差点として特定する処理が、本発明における「第2判定交差点取得工程」に相当する。
次に、上記のようにして取得されたリッチ側活性化時間(カウント値)とリーン側活性化時間(カウント値)との比較が行われる(S51)。そしてリッチ側活性化時間がリーン側活性化時間よりも遅い時間、すなわちカウント値が大きければ(S51:YES)、リッチ側活性化時間がライトオフタイムであるとして、時間換算され、HDD18のライトオフタイム記憶エリア184に記憶(データとして蓄積)される(S52)。一方、リーン側活性化時間がリッチ側活性化時間と同じ時間、もしくはそれよりも遅い時間であれば、すなわちカウント値が大きければ(S51:NO)、リーン側活性化時間がライトオフタイムであるとして時間換算され、HDD18のライトオフタイム記憶エリア184に記憶される(S53)。なお、S51において、リッチ側活性化時間とリーン側活性化時間との比較を行って、遅い方を本発明の「活性化時間」に相当するライトオフタイムとして取得する処理が、本発明における「活性化時間取得工程」に相当する。
ところで、S37もしくはS44の処理(図6参照)で、極大値側連結線とリッチ側閾値との交点もしくは極小値側連結線とリーン側閾値との交点を得られない場合がある。例えば、酸素センサ30がリッチ側もしくはリーン側の空燃比において測定開始当初より活性化状態と同等の電圧値を出力できる場合である。こうした場合、S39もしくはS45の処理でリッチ側判定交差点もしくはリーン側判定交差点が得られず、S40もしくはS47の処理でリッチ側活性化時間もしくはリーン側活性化時間の取得ができないこととなる(図6参照)。しかし、本実施の形態では、S12の処理(図5参照)で、RAM15のリッチ側活性化時間記憶エリア153およびリーン側活性化時間記憶エリア154には0を記憶させ、リセットを行っている。これにより、S51の判断処理では、リッチ側活性化時間もしくはリーン側活性化時間のうち取得できた側の活性化時間が0と比較され、その取得できた側の活性化時間がそのままライトオフタイムであるとして、ライトオフタイム記憶エリア184に記憶されることとなる。記憶されたライトオフタイムは、他のプログラム等において利用可能である。また、時間換算してディスプレイ23に表示してもよい。
そして、測定用コンピュータ12のディスプレイ23に、ライトオフタイムの測定を再度行うか否かの確認を行うための入力用ダイアログの表示がなされる(S56)。別の酸素センサ30のライトオフタイムの測定を再度行う場合(S56:YES)、測定者は、マウス24もしくはキーボード25を操作して、その旨をCPU13に報せる。するとディスプレイ23に酸素センサ30を取り外す指示が表示され、測定者はこれに従い、排気通路53から酸素センサ30の取り外しを行う(S60)。この際にもディスプレイ23に取り外し完了の確認のための入力用ダイアログの表示が行われ、測定者は、マウス24もしくはキーボード25を操作して酸素センサ30の取り外しの完了をCPU13に報せる。そして図5のS12に戻り、S12〜S53が繰り返されることによって、再度、酸素センサ30のライトオフタイムの測定が行われる。
一方、酸素センサ30のライトオフタイムの測定を終了する場合(S56:NO)、測定者は、ディスプレイ23に表示されたダイアログに対しマウス24もしくはキーボード25を操作して、その旨をCPU13に報せる。すると、エンジン制御用コンピュータ70に、エンジンの駆動を停止する指示が送信され、そのエンジン制御用コンピュータ70の指示を受けて、ECU60がエンジン50の駆動を停止することにより、酸素センサ30への排気ガスの供給が停止される(S57)。
そして、ディスプレイ23に酸素センサ30を取り外す指示が表示され、測定者はこれに従い、排気通路53から酸素センサ30の取り外しを行う(S59)。この際にもディスプレイ23に取り外し完了の確認のための入力用ダイアログの表示が行われ、測定者は、マウス24もしくはキーボード25を操作して酸素センサ30の取り外しの完了をCPU13に報せ、これを契機に、CPU13は測定プログラムの実行を終了する。
なお、本発明は各種の変形が可能なことはいうまでもない。例えば、S16〜S23で行われるサンプリングはS13において酸素センサ30を排気通路53に取り付け、そのことをCPU13に報せるダイアログの操作を契機として開始されたが、ダイアログの操作後にセンサ信号を監視し、電圧値が所定の値(例えば0.1V)より高くなったタイミングからサンプリングを始めてもよい。あるいは、ダイアログの操作後に、空燃比をリーン側からリッチ側に切り換える切替信号をエンジン制御用コンピュータ70から受信し、その受信を契機にサンプリングを開始してもよい。この場合、初回のサンプリング時にタイマカウンタ記憶エリア155のカウント値をリセットすれば、センサ信号波形を0(ms)から2T(ms)毎に区切ることで、S33で行ったセンサ信号波形の時分割を行うことができる。
また、本実施の形態では、極大値側連結線および極小値側連結線を作成するために仮想グラフ描画領域を用いたプロッティングによりセンサ信号波形を描画して作成したが、必ずしも波形の描画を行う必要はない。例えば、サンプリングで得られたデータを時分割によりグループ化し、各グループにおける電圧値の最大値(極大値)を求める。そして、隣り合うグループ間で最大値同士を比較し、両最大値間にリッチ側閾値がある場合に、最大値間の電圧差および時間的に早い側の最大値とリッチ側閾値との差を求め、両者の比を求める。さらに、両最大値が得られた時間をそれぞれ取得し、差を求める。これにより、先に求めた比からリッチ側閾値に達した時間を計算し、リッチ側活性化時間を求めることができる。リーン側活性化時間についても同様である。
また、センサ信号波形の包絡線を作成し、この包絡線を極大値側連結線および極小値側連結線の代わりとして用い、本実施の形態と同様の処理を行ってライトオフタイムの測定を行ってもよい。
また、本実施の形態では、時間経過をカウント値に基づき管理し、S52またはS53で時間換算してライトオフタイムを求めたが、S16でセンサ信号と共に取得したカウント値を時間換算し、管理を行ってもよい。