(57)【要約】【課題】ガスセンサが劣化した状態において出力する検出信号の遅延した状態をより精密に擬似的に生成することができるガスセンサの疑似信号生成装置を提供する。【解決手段】基準信号よりＬＲ時間遅らせた第１遅延信号（電圧値ＶｉｐＬＲ［ＬＲｗ］）と、ＬＲ時間より長いＲＬ時間遅らせた第２遅延信号（電圧値ＶｉｐＲＬ［ＲＬｗ］）とが交差するＴ５タイミングまでは、疑似信号として第１遅延信号が出力される。Ｔ５タイミング以降は電圧値が下降傾向にあるため疑似信号としては第２遅延信号が選択されることとなるが、第２遅延信号はＴ５タイミングからＴ７タイミングまでＴ５タイミングにおける電圧値（リーン同準値）より大きな値を表すため、その間、疑似信号としてリーン同準値が出力される。【選択図】図１２
2008291762.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気ガス中の特定成分の濃度に基づき該排気ガスの空燃比を検出するガスセンサと同構成をなし、排気ガス中の特定成分の濃度に関連した基準信号を出力する基準センサから、該基準信号を一定時間毎に取得する基準信号取得手段と、
内燃機関に供給される混合気の目標空燃比がリッチ側からリーン側へ変更されたことに伴って前記基準信号が変化し始めるまでの第１遅延時間、および、前記目標空燃比がリーン側からリッチ側へ変更されたことに伴って前記基準信号が変化し始めるまでの第２遅延時間を個別に設定可能な遅延時間設定手段と、
前記基準信号取得手段によって取得された前記基準信号を記憶すると共に、該基準信号を前記第１遅延時間に相当する取得回数分だけ遅らせて、第１遅延信号として擬似的に生成する第１遅延信号生成手段と、
前記基準信号取得手段によって取得された前記基準信号を記憶すると共に、該基準信号を前記第２遅延時間に相当する取得回数分だけ遅らせて、第２遅延信号として擬似的に生成する第２遅延信号生成手段と、
前記第１遅延時間と前記第２遅延時間とのいずれが長いかを比較する比較手段と、
前記比較手段にて前記第２遅延時間が前記第１遅延時間と同じもしくはそれよりも長い場合に、前記第１遅延信号と前記第２遅延信号とのうち、よりリーン側の値を表した遅延信号を疑似信号として選択する一方、前記比較手段にて前記第２遅延時間が前記第１遅延時間よりも短い場合に、前記第１遅延信号と前記第２遅延信号とのうち、よりリッチ側の値を表した遅延信号を疑似信号として選択し、選択された該疑似信号を出力する疑似信号生成手段と
を備えたガスセンサの疑似信号生成装置において、
前記疑似信号生成手段は、
前記第２遅延時間が前記第１遅延時間と同じもしくはそれよりも長い場合であって、且つ、前記第１遅延信号が最もリーン側における最大値に到達した後に前記第２遅延信号と同値であるリーン同準値を表したときから、前記第２遅延信号が再び該リーン同準値に到達するまでの間は、前記リーン同準値を前記疑似信号として出力する一方、前記第２遅延時間が前記第１遅延時間よりも短い場合であって、且つ、前記第２遅延信号が最もリッチ側における最大値に到達した後に前記第１遅延信号と同値であるリッチ同準値を表したときから、前記第１遅延信号が再び該リッチ同準値に到達するまでの間は、前記リッチ同準値を前記疑似信号として出力すること
を特徴とするガスセンサの疑似信号生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気ガス中の特定成分の濃度に基づき排気ガスの空燃比を検出するガスセンサが劣化した状態において出力する検出信号を擬似的に生成するガスセンサの疑似信号生成装置に関するものである。
【背景技術】
【０００２】
従来より、自動車エンジンなどの内燃機関の排気通路に取り付けられ、排気ガス中の特定成分の濃度に基づき、排気ガスの空燃比を検出するガスセンサが知られている。このガスセンサは、センサ素子を流れる電流の大きさあるいはセンサ素子にて発生する電圧値が排気ガス中の特定成分の濃度に応じて変化することを利用して、排気ガス中の特定成分の濃度の検出、ひいては排気ガスの空燃比の検出を行うものである。ガスセンサから出力される検出信号はＥＣＵ（電子制御ユニット）に送信され、ＥＣＵでは受信した検出信号に基づき、エンジンにおける燃料噴射量の調整等の空燃比フィードバック制御が行われる。
【０００３】
こうしたガスセンサは、排気通路内で排気ガスに晒されて使用に供されるため、長期間の使用に伴い経時劣化が生ずる。そこでＥＣＵの開発では、ガスセンサがある程度劣化した状態でも空燃比フィードバック制御の精度を維持することができるように、ガスセンサ劣化時の検出信号に対しても最適な空燃比フィードバック制御のパラメータを決定できるようにする設計が行われたり、センサの劣化検知のプログラム設計が行われたりしている。例えば、加速耐久試験により劣化度合いの異なるガスセンサを用意し、それらガスセンサから得られる劣化時の検出信号と、正常なガスセンサの検出信号とを用い、劣化度合いの過渡的な段階における検出信号の状態を予測して、空燃比フィードバック制御のパラメータの設定を行っている。一方、実車において、ガスセンサが劣化してもＥＣＵによる空燃比フィードバック制御が正しく行われるか否か確認するために試験を行う場合においても、上記のように加速耐久試験により劣化させたガスセンサが実車に取り付けられる。
【０００４】
しかし、こうした試験等に用いるため、数種類の劣化状態を再現したガスセンサそれぞれを、加速耐久試験により目標通りに作製することは困難である。また、試験において、劣化状態の異なるガスセンサを試験の都度取り換えるには手間もかかる。そのため、ガスセンサの劣化時の検出信号を擬似的に生成することができる疑似信号生成装置（劣化シミュレータ）が開発されている（例えば、特許文献１参照。）。
【０００５】
このような疑似信号生成装置は、実車に取り付けた正常なガスセンサ（換言すれば、劣化時の検出信号を擬似的に生成するための基準となる検出信号を出力するガスセンサ）とＥＣＵとの間に介在され、入力されたガスセンサの検出信号を加工して擬似的に劣化時の検出信号（以下、「疑似信号」という。）を生成し、この疑似信号をＥＣＵに対して出力するものである。特許文献１の疑似信号生成装置では、具体的には、ガスセンサの検出信号のゲインを変化させたり、検出信号の応答特性に遅れを生じさせたりした擬似信号を生成している。
【０００６】
ところで、ガスセンサは排気通路の下流側に設けられる浄化装置の近くに取り付けられることが多く、燃料噴射量の調整等により内燃機関に供給される混合気の目標空燃比を変化させた際に、目標空燃比を変化させた混合気がエンジン（燃焼室）にて燃焼され、排気ガスとしてガスセンサに達するまでに時間がかかる。そのため、混合気の目標空燃比の変更タイミングと、ガスセンサから出力される検出信号の変化し始めるタイミングとの間には、タイムラグ（遅延）が生ずる。
【０００７】
また、ガスセンサを長期間使用した場合、ガスセンサのプロテクタ（詳細には、センサ素子の周囲を覆うガス流通孔付きのプロテクタ）のガス流通孔が目詰まりを起こす等の経時劣化を生ずることがある。ガスセンサにこのような劣化が生ずるとプロテクタ内部のガス置換が遅くなるため、混合気の目標空燃比の変更に伴ってガスセンサの検出信号が変化し始めるまでの時間（遅延時間）は、劣化していないガスセンサと比較して遅くなる。
【０００８】
ＥＣＵの開発を行うにあたり、より精密な空燃比フィードバック制御を促せたり、より正確なガスセンサの劣化検知を行えるＥＣＵを開発するためには、上記のように遅延時間が経時的に変化していく（遅くなっていく）ことも考慮する必要がある。そのためには任意の遅延時間を設定し、検出信号にその遅延時間分の遅れを生じさせた疑似信号を生成するとよい。
【０００９】
また、ガスセンサのセンサ素子を保護する多孔質からなる保護層が目詰まり等を起こした場合、その保護層を通過するガス成分の分子の大きさの差に起因して、排気ガスの空燃比がリッチである場合とリーンである場合とで異なった劣化状態を示す場合もある。この場合、疑似信号生成装置としては、混合気の目標空燃比がリッチからリーンに変更された場合と、リーンからリッチに変更された場合とで異なる遅延時間を設定できるようにして、検出信号にそれぞれの遅延時間分の遅れを生じさせた遅延信号を生成し、それぞれ繋ぎ合わせて疑似信号を生成するとよい。
【特許文献１】特開２００４−９３９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述のような２つの遅延信号は、共に基準となるガスセンサから出力される検出信号を元にそれぞれの遅延時間に基づいて生成されるため、一方がピーク値（リッチ最大値およびリーン最大値）を表すタイミングと他方がピーク値を表すタイミングとには、ずれが生じうる。このため、遅延信号を単に繋ぎ合わせた疑似信号は、その値がリッチ側からリーン側あるいはリーン側からリッチ側へ切り換えられる際に一度ピーク値を表し、その後、減少あるいは増加へと向かう変化の過程において、再度、ピーク値を表してから、減少あるいは増加へと向かう変化を示してしまい、ガスセンサの劣化状態を正しくシミュレートすることが難しいという問題があった。
【００１１】
本発明は上記問題点を解決するためになされたものであり、ガスセンサが劣化した状態において出力する検出信号の遅延した状態をより精密に擬似的に生成することができるガスセンサの疑似信号生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１に係る発明のガスセンサの疑似信号生成装置は、内燃機関の排気ガス中の特定成分の濃度に基づき該排気ガスの空燃比を検出するガスセンサと同構成をなし、排気ガス中の特定成分の濃度に関連した基準信号を出力する基準センサから、該基準信号を一定時間毎に取得する基準信号取得手段と、内燃機関に供給される混合気の目標空燃比がリッチ側からリーン側へ変更されたことに伴って前記基準信号が変化し始めるまでの第１遅延時間、および、前記目標空燃比がリーン側からリッチ側へ変更されたことに伴って前記基準信号が変化し始めるまでの第２遅延時間を個別に設定可能な遅延時間設定手段と、前記基準信号取得手段によって取得された前記基準信号を記憶すると共に、該基準信号を前記第１遅延時間に相当する取得回数分だけ遅らせて、第１遅延信号として擬似的に生成する第１遅延信号生成手段と、前記基準信号取得手段によって取得された前記基準信号を記憶すると共に、該基準信号を前記第２遅延時間に相当する取得回数分だけ遅らせて、第２遅延信号として擬似的に生成する第２遅延信号生成手段と、前記第１遅延時間と前記第２遅延時間とのいずれが長いかを比較する比較手段と、前記比較手段にて前記第２遅延時間が前記第１遅延時間と同じもしくはそれよりも長い場合に、前記第１遅延信号と前記第２遅延信号とのうち、よりリーン側の値を表した遅延信号を疑似信号として選択する一方、前記比較手段にて前記第２遅延時間が前記第１遅延時間よりも短い場合に、前記第１遅延信号と前記第２遅延信号とのうち、よりリッチ側の値を表した遅延信号を疑似信号として選択し、選択された該疑似信号を出力する疑似信号生成手段とを備えたガスセンサの疑似信号生成装置において、前記疑似信号生成手段は、前記第２遅延時間が前記第１遅延時間と同じもしくはそれよりも長い場合であって、且つ、前記第１遅延信号が最もリーン側における最大値に到達した後に前記第２遅延信号と同値であるリーン同準値を表したときから、前記第２遅延信号が再び該リーン同準値に到達するまでの間は、前記リーン同準値を前記疑似信号として出力する一方、前記第２遅延時間が前記第１遅延時間よりも短い場合であって、且つ、前記第２遅延信号が最もリッチ側における最大値に到達した後に前記第１遅延信号と同値であるリッチ同準値を表したときから、前記第１遅延信号が再び該リッチ同準値に到達するまでの間は、前記リッチ同準値を前記疑似信号として出力することを特徴とする。
【発明の効果】
【００１３】
ガスセンサの疑似信号生成装置では、基準センサ（基準となるガスセンサのこと）から取得される基準信号を元に生成した第１遅延信号と第２遅延信号とを繋ぎ合わせることで、疑似信号を生成している。この第１遅延信号と第２遅延信号との繋ぎ合わせにおいて、請求項１に係る発明によれば、第２遅延時間が第１遅延時間と同じもしくはそれよりも長い場合に、第１遅延信号と第２遅延信号とがリーン側にて交差した（すなわち、同準値を示した）ときから、第２遅延信号が再びリーン同準値を表すまでの間に限り、リーン同準値を疑似信号として出力している。
【００１４】
混合気の目標空燃比がリッチ側からリーン側へ移行する際には第１遅延信号に基づいて疑似信号の生成が行われるが、この第１遅延信号がリーン側の最大値に到達し、その信号値がリッチ側へ移行を始めると、第１遅延信号より遅れてリーン側の最大値に到達する第２遅延信号と交差することとなる。第２遅延信号は混合気の目標空燃比がリーン側からリッチ側へ移行する際の疑似信号として選択されるものであるが、上記の第１遅延信号と第２遅延信号との交差するタイミングにおいて、第２遅延信号は、排気ガスの空燃比がリッチ側からリーン側へ移行する際の信号値変化を示している。そこで、上記のように第２遅延信号が再びリーン同準値を表すまでの間、リーン同準値を疑似信号として出力すれば、排気ガスの空燃比がリーン側からリッチ側へ向かう過程において、出力される疑似信号の信号値変化を、０を含む同一符号側のみからなる傾きとすることができる。これにより、生成された疑似信号を用いてガスセンサの劣化状態を正しくシミュレートすることができる。
【００１５】
一方、第２遅延時間が第１遅延時間よりも短い場合に、第１遅延信号と第２遅延信号との関係は、リッチ側とリーン側とを入れ換えた形態となる。こうした場合においても、第２遅延信号と第１遅延信号とが交差した（すなわち、同準値を示した）ときから第１遅延信号が再びリッチ同準値を表すまでの間に限り、リッチ同準値を疑似信号として出力することで、上記同様の処理を行うことができる。つまり、排気ガスの空燃比がリッチ側からリーン側へ向かう過程において、出力される疑似信号の信号値変化を、０を含む同一符号側のみからなる傾きとすることができる。これにより、生成された疑似信号を用いて、上記同様、ガスセンサの劣化状態を正しくシミュレートすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を具体化した疑似信号生成装置の一実施の形態について、図面を参照して説明する。図１は、本実施の形態の疑似信号生成装置の一例としてのセンサシミュレータ１の概略的な構成を示すブロック図である。なお、本発明の疑似信号生成装置に接続されるガスセンサとしては、酸素センサや全領域空燃比センサ、ＮＯｘセンサなどを用いることができ、本実施の形態では全領域空燃比センサをその一例とし、基準センサ２として、正常な（劣化していない）全領域空燃比センサを用いたものとして説明する。
【００１７】
全領域空燃比センサは、板状に形成された素子部と板状に形成されたヒータとが積層一体化されたセンサ素子を有するものであり、このセンサ素子の先端部をガス流通孔が形成されたプロテクタ内に配置させた形態で、主体金具の内側に当該センサ素子を保持させた公知の構成を有するものである。このセンサを構成するセンサ素子についても公知であるため、詳細な説明は省略するが、その概略構成は以下のようである。
【００１８】
センサ素子をなす素子部は、ジルコニアを主体とする固体電解質板の両側に多孔質電極を形成した酸素ポンプセルと、同じく固体電解質板の両側に多孔質電極を形成した酸素濃淡検知セルと、これらの両セルの間に配置され、中空の測定ガス室を形成するためのスペーサとから構成される。このスペーサはアルミナを主体に構成されており、中空の測定ガス室の内側には、酸素ポンプセルの一方の多孔質電極および酸素濃淡検知セルの一方の多孔質電極が面するように配置される。なお、測定ガス室は、センサ素子の先端部に位置するように設けられ、スペーサの先端部寄りには、測定ガス室と外部とを連通するための多孔質のセラミックからなる拡散律速部が形成され、この測定ガス室が形成される部分がセンサ素子の検出部をなす。また、酸素ポンプセルの測定ガス室に面しない側の多孔質電極上には、この電極の被毒を防止するためにセラミック製の被毒防止層が設けられており、酸素濃淡検知セルの測定ガス室に面しない側の多孔質電極は、基準ガスに晒される。
【００１９】
そして、このセンサ素子では、酸素濃淡検知セルの起電力が一定値となる（換言すれば、測定ガス室に導入された排気ガスの空燃比が理論空燃比となる）ように、酸素ポンプセルに電流を流して測定ガス室の内部に対する酸素の汲み入れまたは汲み出しが行われる。このとき、酸素ポンプセルに流れる電流の値および流れ方向が、排気ガス中の酸素濃度（すなわち、空燃比）に応じて変化することから、このセンサ素子では酸素ポンプセルに流れる電流（詳細には、この電流を電圧変換した電圧信号）に基づいて、排気ガス中の酸素濃度（ひいては、空燃比）をリニアに検出することができる。
【００２０】
図１に示すように、センサシミュレータ１は、自動車の排気通路（図示外）に取り付けられるガスセンサとしての上述した基準センサ２と、自動車の電子制御を司るＥＣＵ３との間に介在される装置である。基準センサ２は排気通路内を流通する排気ガス中の酸素濃度に応じた検出信号を出力し、この検出信号が基準信号としてセンサシミュレータ１に入力されている。センサシミュレータ１は、入力された基準信号に対し、後述する疑似信号生成プログラムの実行により加工を施して疑似信号を生成し、ＥＣＵ３に対して出力を行っている。ＥＣＵ３は、入力された疑似信号に基づき、図示外のエンジンの制御（例えば、インジェクタから噴射する燃料の噴射量の調整など）を行っている。また、ＥＣＵ３は、基準センサ２のヒータ回路（図示外）にヒータ駆動電圧の供給も行っており、センサ素子（図示外）の早期活性化や活性化後の安定化を図っている。
【００２１】
センサシミュレータ１は、図示しないケーシング内に、自身の制御を司るＣＰＵ１１と、後述する疑似信号生成プログラム等が記憶された、書き換え可能なＥＥＰＲＯＭ１２と、各種のデータを一時的に記憶するＲＡＭ１３とを有するマイクロコンピュータ１０を備えている。なお、マイクロコンピュータ１０のＣＰＵ１１、ＥＥＰＲＯＭ１２およびＲＡＭ１３は公知の構成からなるものである。ＥＥＰＲＯＭ１２およびＲＡＭ１３の記憶エリアの構成については後述する。
【００２２】
マイクロコンピュータ１０には、Ａ／Ｄコンバータ３０を介し、検出回路部２０が接続されている。この検出回路部２０は、基準センサ２による排気ガス中の酸素濃度の検出を行うために基準センサ２を構成するセンサ素子の酸素ポンプセルに流す電流の制御を行う回路部である。検出回路部２０により基準センサ２の酸素ポンプセルに流される電流が制御され、この酸素ポンプセルを介して基準センサ２より基準信号（電流）が出力される。その基準信号は、検出回路部２０内の検出抵抗にて電圧変換され、Ａ／Ｄコンバータ３０でＡ／Ｄ変換されてマイクロコンピュータ１０に入力される。また、マイクロコンピュータ１０には、後述する疑似信号生成プログラムによって生成した疑似信号を出力バッファ４０を介してＥＣＵ３に出力するために、処理用の電圧値にＤ／Ａ変換するＤ／Ａコンバータ５０が接続されている。
【００２３】
更に、マイクロコンピュータ１０には、疑似信号生成プログラムに用いられる設定値等を利用者が入力するための入力部６０と、入力された設定値等を確認できるように表示する表示部８０の表示制御を行う表示制御部７０とが接続されている。入力部６０としては、例えばプッシュスイッチやロータリースイッチ等が用いられ、表示部８０としては、例えばＬＣＤディスプレイ等が用いられる。また、図示しないが、センサシミュレータ１は電源回路等も備えている。
【００２４】
次に、ＥＥＰＲＯＭ１２の記憶エリアおよびＲＡＭ１３の記憶エリアの概略的な構成について、図２および図３を参照して説明する。図２は、ＥＥＰＲＯＭ１２の記憶エリアの構成を示す概念図である。図３は、ＲＡＭ１３の記憶エリアの構成を示す概念図である。
【００２５】
図２に示すように、ＥＥＰＲＯＭ１２には、プログラム記憶エリア１２１，初期値記憶エリア１２２およびユーザ設定値記憶エリア１２３が設けられている。プログラム記憶エリア１２１には、疑似信号生成プログラムが記憶されている。ＥＥＰＲＯＭ１２を使用することで、バージョンアップ等にも柔軟に対応できるように構成されている。初期値記憶エリア１２２には、疑似信号生成プログラムで使用される各種変数やフラグ、カウント値の初期値が記憶されている。ユーザ設定値記憶エリア１２３には、疑似信号生成プログラムとは別途実行される入力監視プログラム（図示外）により、入力部６０において利用者により入力される第１遅延時間および第２遅延時間の各入力値等が監視され、それらの値がそれぞれ記憶される。更にＥＥＰＲＯＭ１２には、図示外の各種の記憶エリアが設けられている。
【００２６】
また、図３に示すように、ＲＡＭ１３には、ワークエリア１３１、変数記憶エリア１３２が設けられている。ワークエリア１３１は、疑似信号生成プログラムが読み込まれて展開される記憶エリアであり、その実行に利用される。変数記憶エリア１３２には、以下に示す、各種変数やカウント値等が記憶され、疑似信号生成プログラムの実行に際し使用される。
【００２７】
ここで、疑似信号生成プログラムで使用される各変数やカウント値について説明する。「Ｖｉｐ」は、基準センサ２から取得される基準信号の電圧値を記憶するための変数であり、初期値には０がセットされる。「ＲＬｗ」は、目標空燃比の変更に伴い排気ガスの空燃比がリッチ側からリーン側に移行される場合に、基準信号を遅延させて出力するための第１遅延時間を設定するための変数である。利用者により１（ｍｓ）刻みに０〜６００（ｍｓ）の範囲でその値が設定され、初期値には、ＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に記憶され保存された、前回の設定値がセットされる。同様に「ＬＲｗ」は、目標空燃比の変更に伴い排気ガスの空燃比がリーン側からリッチ側に移行される場合に、基準信号を遅延させて出力するための第２遅延時間を設定するための変数である。上記同様、利用者により１（ｍｓ）刻みに０〜６００（ｍｓ）の範囲でその値が設定され、初期値には、ＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に記憶され保存された、前回の設定値がセットされる。
【００２８】
「ＶｉｐＲＬ［ｉ］」（ただし、ｉ＝０，１，２，・・・，６００）は、基準センサ２から取得された過去６００ｍｓ前まで基準信号の電圧値Ｖｉｐを１ｍｓ毎に記憶して保存するための６０１個の変数（保存値）であり、初期値にはそれぞれ０がセットされる。目標空燃比の変更に伴い排気ガスの空燃比がリッチ側からリーン側に移行される場合に使用されるＲＬ遅延バッファとして利用される。初期値には、ＶｉｐＲＬ［ｉ］（ただし、ｉ＝０，１，２，・・・，６００）のすべての記憶エリアに０がセットされる。基準信号を上記第１遅延時間（ＲＬｗ時間）遅延させた第１遅延信号の電圧値は、ＶｉｐＲＬ［ＲＬｗ］で表され、ＲＬｗ時間前に取得された基準信号の電圧値が記憶された記憶エリアが参照される。
【００２９】
同様に、「ＶｉｐＬＲ［ｊ］」（ただし、ｊ＝０，１，２，・・・，６００）もまた、基準センサ２から取得された過去６００ｍｓ前まで基準信号の電圧値Ｖｉｐを１ｍｓ毎に記憶して保存するための６０１個の変数（保存値）であり、初期値にはそれぞれ０がセットされる。目標空燃比の変更に伴い排気ガスの空燃比がリーン側からリッチ側に移行される場合に使用されるＬＲ遅延バッファとして利用される。そして上記同様に、初期値として、ＶｉｐＬＲ［ｊ］（ただし、ｊ＝０，１，２，・・・，６００）のすべての記憶エリアに０がセットされる。基準信号を上記第２遅延時間（ＬＲｗ時間）遅延させた第２遅延信号の電圧値は、ＶｉｐＬＲ［ＬＲｗ］で表され、ＬＲｗ時間前に取得された基準信号の電圧値が記憶された記憶エリアが参照される。
【００３０】
「ＶｉｐＲＬｃｕｔ」は、後述する疑似信号生成プログラムにて生成される第１遅延信号（電圧値ＶｉｐＲＬ［ＲＬｗ］）および第２遅延信号（電圧値ＶｉｐＬＲ［ＬＲｗ］）を第１カット処理に従って繋ぎ合わせる際に生成される中間信号の電圧値である。「ＶｉｐＬＲｃｕｔ」も同様に、第２カット処理にて生成される中間信号の電圧値である。上記ＶｉｐＲＬｃｕｔおよびＶｉｐＬＲｃｕｔの初期値には、いずれも０がセットされる。そして「ＶｉｐＯｕｔ」は、疑似信号生成プログラムの実行によって基準信号から生成される疑似信号の電圧値であり、初期値には０がセットされる。更にＲＡＭ１３には、図示外の各種の記憶エリアが設けられている。
【００３１】
このような構成のセンサシミュレータ１では、図４〜図６のフローチャートで示す疑似信号生成プログラムの実行に従って、検出回路部２０を介して基準センサ２から１ｍｓ毎に基準信号を取得し、加工を施して疑似信号を生成し、ＥＣＵ３に対し出力を行っている。以下、図４〜図６に示すフローチャートに従い、図７〜図１６のグラフを参照しながら、疑似信号生成プログラムの実行によって基準信号（電圧値Ｖｉｐ）から疑似信号（電圧値ＶｉｐＯｕｔ）が生成される過程について説明する。
【００３２】
図４は、疑似信号生成プログラムのメインルーチンのフローチャートである。図５は、第１カット処理サブルーチンのフローチャートである。図６は、第２カット処理サブルーチンのフローチャートである。図７は、第１遅延時間（ＲＬｗ）よりも第２遅延時間（ＬＲｗ）が長く設定されていた場合における基準信号（電圧値Ｖｉｐ）および第１，第２遅延信号（ＶｉｐＲＬ［ＲＬｗ］，ＶｉｐＬＲ［ＬＲｗ］）の描く波形を示すグラフである。図８は、第１遅延時間（ＲＬｗ）よりも第２遅延時間（ＬＲｗ）が短く設定されていた場合における基準信号（電圧値Ｖｉｐ）および第１，第２遅延信号（ＶｉｐＲＬ［ＲＬｗ］，ＶｉｐＬＲ［ＬＲｗ］）の描く波形を示すグラフである。
【００３３】
また、図９は、第１カット処理において生成される中間信号（電圧値ＶｉｐＲＬｃｕｔ）について説明するため図７の円Ａで示す部分を拡大したグラフである。図１０は、第１カット処理において生成される中間信号（電圧値ＶｉｐＲＬｃｕｔ）について説明するため図７の円Ｂで示す部分を拡大したグラフである。図１１は、第１カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図７の円Ａで示す部分を拡大したグラフである。図１２は、第１カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図７の円Ｂで示す部分を拡大したグラフである。図１３は、第２カット処理において生成される中間信号（電圧値ＶｉｐＬＲｃｕｔ）について説明するため図８の円Ｃで示す部分を拡大したグラフである。図１４は、第２カット処理において生成される中間信号（電圧値ＶｉｐＬＲｃｕｔ）について説明するため図８の円Ｄで示す部分を拡大したグラフである。図１５は、第２カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図８の円Ｃで示す部分を拡大したグラフである。図１６は、第２カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図８の円Ｄで示す部分を拡大したグラフである。以下、図４〜図６に示すフローチャートの各ステップを「Ｓ」と略記する。また、図７〜図１６に示すグラフの時間軸における各タイミングを「Ｔ」と略記する。
【００３４】
本実施の形態の疑似信号生成プログラムは、基準センサ２の出力する基準信号（電圧値Ｖｉｐ）を検出回路部２０を介して取得し、利用者によって設定された第１遅延時間（ＲＬｗ）と第２遅延時間（ＬＲｗ）とに基づいて、基準信号をそれぞれ遅延させた第１遅延信号（電圧値ＶｉｐＲＬ［ＲＬｗ］）と第２遅延信号（電圧値ＶｉｐＬＲ［ＬＲｗ］）とを生成し、更に両者を繋ぎ合わせて疑似信号（電圧値ＶｉｐＯｕｔ）を生成するプログラムである。
【００３５】
まず、疑似信号生成プログラムによる処理の概要について説明する。本実施の形態の基準センサ２は上述した構成の全領域空燃比センサであり、出力される電流値（換言すれば、酸素ポンプセルを流れる電流値）は、排気ガス中の酸素濃度（換言すれば、排気ガスの空燃比）に応じてリニアに変動する。そして、この電流値は、空燃比が理論空燃比（λ＝１）である場合に０ｍＡとなり、リッチ側（λ＜１）である場合には負の値が示され、リーン側（λ＞１）である場合には正の値が示される。従って、理論空燃比を境に排気ガスの空燃比がリッチ側とリーン側との間で変化すると、基準信号の電流値もそれに追従して正の値と負の値との間で変動する。センサシミュレータ１では、マイクロコンピュータ１０で基準信号の処理を行うため、検出回路部２０にて電流値が０ｍＡの場合を２．５Ｖとする０Ｖ〜５Ｖの範囲で、リッチ側（電流値が負の値）が低電圧、リーン側（電流値が正の値）が高電圧となるように電流電圧変換が行われている。疑似信号生成プログラムにおいて、基準信号、第１，第２遅延信号、および疑似信号は、電圧値、より具体的には電圧値を示す数値データによって表される。
【００３６】
例えば、混合気の目標空燃比がリッチ側とリーン側とで一定周期で交番され、これに伴い排気ガスの空燃比がリッチ側とリーン側とで交番された場合において、基準センサ２の出力する基準信号の電圧値Ｖｉｐは、図７に示すように、時間の経過に従ってリッチ側とリーン側との間で周期的に変動を繰り返すグラフとして描かれる（グラフ中、実線で示す。）。この基準信号を元にして、基準信号をＲＬｗ時間遅延させた第１遅延信号（電圧値ＶｉｐＲＬ［ＲＬｗ］）と（グラフ中１点鎖線で示す。）、基準信号をＬＲｗ時間遅延させた第２遅延信号（電圧値ＶｉｐＬＲ［ＬＲｗ］）と（グラフ中２点鎖線で示す。）が生成される。このとき、図７に示すグラフのようにＲＬｗ時間よりもＬＲｗ時間が長い場合、第１遅延信号はＴ１タイミングからＴ４タイミングに電圧値が上昇傾向を示し、Ｔ４タイミングからＴ８タイミングに下降傾向を示す。一方、第２遅延信号は、Ｔ３タイミングからＴ６タイミングに電圧値が上昇傾向を示し、Ｔ６タイミングからＴ１０タイミングに下降傾向を示す。そして、Ｔ１タイミングから上昇傾向となる第１遅延信号は、その時点でまだ下降傾向にある第２遅延信号とＴ２タイミングにて交差する。また、第１遅延信号がＴ４タイミングから下降傾向となり、その時点では上昇傾向にある第２遅延信号とＴ５タイミングにて交差する。さらに、第１遅延信号はＴ８タイミングから再び上昇傾向となるが、その時点で下降傾向にある第２遅延信号とＴ９タイミングにて交差する。なお、上記第１遅延信号および第２遅延信号は、後述する図５，図６に示される第１，第２カット処理で疑似信号を生成する過程において、変数記憶エリア１３２のＶｉｐＬＲ［ｉ］およびＶｉｐＬＲ［ｊ］がそれぞれＲＬｗ時間、ＬＲｗ時間に基づいて参照されることで一時的に生成されるものであり、そのための処理を行うＣＰＵ１１が、本発明における「第１遅延信号生成手段」および「第２遅延信号生成手段」に相当する。
【００３７】
生成される疑似信号の生成元となる信号には、排気ガスの空燃比がリッチ側からリーン側へ移行中であれば、疑似信号として第１遅延信号が選択され、リーン側からリッチ側へ移行中であれば、疑似信号として第２遅延信号が選択される。すなわち、生成される疑似信号は、その波形の上昇傾向を示す部分が第１遅延信号の波形から構成され、下降傾向を示す部分が第２遅延信号の波形から構成される。具体的には図７に示すように、疑似信号（電圧値ＶｉｐＯｕｔ）として選択されるべき信号は、Ｔ２タイミング以前は第２遅延信号（電圧値ＶｉｐＬＲ［ＬＲｗ］）であり、Ｔ２タイミングからＴ４タイミング（図７参照）までは第１遅延信号である。また、Ｔ６タイミングからＴ９タイミングまでは第２遅延信号であり、Ｔ９タイミング以降は第１遅延信号である。
【００３８】
ここで、第１遅延信号と第２遅延信号とが交差する前のＴ４タイミングからＴ５タイミングに第１遅延信号が選択され、両者の交差後であるＴ５タイミングからＴ６タイミングに第２遅延信号が選択された場合、疑似信号は、Ｔ４タイミングより下降傾向を示した後、Ｔ５タイミングから上昇傾向を示し、Ｔ６タイミングで再度下降傾向を示すこととなる。そこでカット処理（第１カット処理）では、Ｔ５タイミングに第１遅延信号と第２遅延信号とが交差して同値（リーン同準値）となり、その後、第２遅延信号がＴ６タイミングにピーク値（リーン最大値）となってＴ７タイミングに再びその同値（リーン同準値）となるまでの間、リーン同準値を保持し、第１遅延信号と第２遅延信号との結合部分をリーン同準値で補正する処理を行う。
【００３９】
また、図８示すように、ＬＲｗ時間がＲＬｗ時間よりも短い場合についても同様の処理が行われる。すなわち第２カット処理では、Ｔ１２タイミングに第２遅延信号と第１遅延信号とが同値（リッチ同準値）となり、その後、第１遅延信号がＴ１３タイミングにピーク値（リッチ最大値）を表して再び同値（リッチ同準値）となるＴ１４タイミングまでの間、そのリッチ同準値を保持し、第１遅延信号と第２遅延信号との結合部分をリッチ同準値で補正する処理が行われる。このようにして、第１遅延信号と第２遅延信号とを繋ぎ合わせる際に、両者の遅延時間の違いに起因するずれの補正が行われる。
【００４０】
なお、上記の第１遅延時間（ＲＬｗ）および第２遅延時間（ＬＲｗ）の設定は、入力部６０から行われる。具体的には疑似信号生成プログラムとは別途実行される入力監視プログラム（図示外）によって、利用者により入力部６０から入力される第１遅延時間および第２遅延時間の設定値が、ＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に記憶される。利用者により設定される設定値は、ＥＥＰＲＯＭ１２に記憶されることでセンサシミュレータ１の電源遮断時においても保存される。なお、利用者に入力部６０から第１遅延時間および第２遅延時間の設定値を入力させ、それぞれ個別にＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に記憶させるＣＰＵ１１が、本発明における「遅延時間設定手段」に相当する。
【００４１】
次に、疑似信号生成プログラムによる処理の詳細について説明する。疑似信号生成プログラムは、センサシミュレータ１の電源投入を契機に、ＥＥＰＲＯＭ１２のプログラム記憶エリア１２１よりＲＡＭ１３のワークエリア１３１に読み込まれ実行されることによって開始され、図４に示すように、まず、初期化処理が行われる（Ｓ１０）。初期化処理では、疑似信号生成プログラムで使用される各種変数の初期化が行われる。初期化は、ＥＥＰＲＯＭ１２の初期値記憶エリア１２２に記憶された初期値（前述）が読み込まれ、各変数の値として、ＲＡＭ１３の対応する変数記憶エリア１３２の記憶エリアに記憶されることで行われる。なお、疑似信号生成プログラムでは、各処理における各変数の値の読み出し、書き込み等は、変数記憶エリア１３２に設けられた、それぞれの処理に対応する各変数の記憶エリアに対して行われる。
【００４２】
次に、待ち時間の経過待ちが行われる（Ｓ１２）。本実施の形態では、疑似信号生成プログラムと並列に図示外のタイマプログラムが実行されており、１ｍｓ毎に同期信号が出力されている。Ｓ１２では同期信号の受信待ちが行われ（Ｓ１２：ＮＯ）、同期信号の受信を契機にＳ１４へ進むように構成されている（Ｓ１２：ＹＥＳ）。そしてＳ１４〜Ｓ２８の各処理が実行され、基準センサ２から取得される基準信号を元として疑似信号が生成されてＥＣＵ３に対し出力される。Ｓ２８の処理後にはＳ１２に戻り、次の同期信号の受信待ちが行われる。すなわち、基準信号を加工して疑似信号を生成するＳ１４〜Ｓ２８の処理は、１ｍｓ毎に行われている。
【００４３】
次のユーザ設定処理では、ＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に記憶された第１遅延時間および第２遅延時間が読み込まれる。そして、それぞれが、ＲＡＭ１３の変数記憶エリア１３２に設けられた変数（ＲＬｗ，ＬＲｗ）の値として記憶される（Ｓ１４）。次に、基準信号取得処理では、検出回路部２０およびＡ／Ｄコンバータ３０を介して入力される基準センサ２の基準信号が取得され、その電圧値がＶｉｐとしてＲＡＭ１３の変数記憶エリア１３２に記憶される（Ｓ１６）。なお、Ｓ１６にて基準センサ２の基準信号を取得するＣＰＵ１１が、本発明における「基準信号取得手段」に相当する。
【００４４】
次いで、ＲＬ遅延バッファの更新処理が行われる（Ｓ１８）。前述したように、ＲＬ遅延バッファには第１遅延信号を生成するための保存値ＶｉｐＲＬ［ｉ］として、過去６００ｍｓ間において１ｍｓ毎に取得された基準信号の電圧値Ｖｉｐが記憶される。Ｓ１８の処理では、保存値ＶｉｐＲＬ［ｉ］の値を最新の６００ｍｓ分のものとするための更新処理が行われる。具体的には、まず、ＶｉｐＲＬ［５９９］の値がＶｉｐＲＬ［６００］に上書き記憶される。次にＶｉｐＲＬ［５９８］の値がＶｉｐＲＬ［５９９］に上書き記憶され、以降同様に記憶値のシフトが行われて最後にＶｉｐＲＬ［０］の値がＶｉｐＲＬ［１］に上書き記憶される。そしてＳ１６で取得された最新の基準信号の電圧値Ｖｉｐの値が、ＶｉｐＲＬ［０］に上書き記憶される。
【００４５】
更に、ＬＲ遅延バッファについても同様の処理が行われ、第２遅延信号を生成するための保存値ＶｉｐＬＲ［ｊ］の値を最新の６００ｍｓ分のものとするための更新処理が行われる（Ｓ２０）。すなわち、ＶｉｐＬＲ［０］〜ＶｉｐＬＲ［５９９］の値で、ＶｉｐＬＲ［０］〜ＶｉｐＬＲ［６００］がそれぞれ上書き記憶される。そしてＳ１６で取得された最新の基準信号の電圧値Ｖｉｐの値が、ＶｉｐＲＬ［０］に上書き記憶される。
【００４６】
次に、ＲＡＭ１３の変数記憶エリア１３２に設けられた変数（ＲＬｗ，ＬＲｗ）の値が比較され、このとき第２遅延時間（ＬＲｗ）が第１遅延時間（ＲＬｗ）と同じもしくはそれより長ければ第１カット処理のサブルーチンがコールされ（Ｓ２２：ＹＥＳ，Ｓ２４）、そうでなければ第２カット処理のサブルーチンがコールされる（Ｓ２２：ＮＯ，Ｓ２６）。なお、Ｓ２２においてＲＬｗとＬＲｗとを比較し、第１遅延時間と第２遅延時間とのどちらが長いかを比較するＣＰＵ１１が、本発明における「比較手段」に相当する。
【００４７】
第１，第２カット処理の詳細については後述するが、これらのいずれかの処理を経て、基準センサ２の基準信号の電圧値Ｖｉｐを元に、電圧値ＶｉｐＯｕｔの疑似信号が生成される。次の疑似信号出力処理では、生成された疑似信号の電圧値ＶｉｐＯｕｔがＤ／Ａコンバータ５０（図１参照）に対して出力される（Ｓ２８）。Ｄ／Ａコンバータ５０では、前述したように、電圧値ＶｉｐＯｕｔがＤ／Ａ変換される。そして出力バッファ４０を介し、疑似信号がＥＣＵ３に送信される。その後Ｓ１２に戻り、前回のＳ１２〜Ｓ２８の処理の開始から待ち時間（１ｍｓ）の経過後に次回のＳ１２〜Ｓ２８の処理が開始され、取得される基準信号の電圧値Ｖｉｐを元に、電圧値ＶｉｐＯｕｔの疑似信号の生成が行われる。
【００４８】
［第１カット処理］
次に、第１カット処理について説明する。利用者により第２遅延時間（ＬＲｗ）が第１遅延時間（ＲＬｗ）と同じもしくはそれよりも長く設定された場合には（Ｓ２２：ＹＥＳ）、図４に示すメインルーチンから、図５に示す第１カット処理のサブルーチンがコールされる（Ｓ２４）。
【００４９】
図５に示す、第１カット処理のＳ３０〜Ｓ３４の処理では、時間の推移と共に変動する第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］に追従する中間信号（電圧値ＶｉｐＲＬｃｕｔ）を生成する処理を行う。ＶｉｐＲＬｃｕｔは、第１遅延信号と第２遅延信号とがリーン側で交差したときの電圧値であるリーン同準値を保持するものである。
【００５０】
まず、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きいか否かが確認され（Ｓ３０）、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］以下であれば（Ｓ３０：ＮＯ）、ＶｉｐＲＬｃｕｔをその時点におけるＶｉｐＲＬ［ＲＬｗ］で上書き記憶して更新し（Ｓ３４）、Ｓ３６に進む。また、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きい場合でも（Ｓ３０：ＹＥＳ）、ＶｉｐＲＬｃｕｔがＶｉｐＲＬ［ＲＬｗ］未満であれば（Ｓ３２：ＮＯ）、ＶｉｐＲＬｃｕｔをＶｉｐＲＬ［ＲＬｗ］で上書き記憶して更新し（Ｓ３４）、Ｓ３６に進む。一方、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きく（Ｓ３０：ＹＥＳ）、更にＶｉｐＲＬｃｕｔがＶｉｐＲＬ［ＲＬｗ］以上である場合には（Ｓ３２：ＹＥＳ）、ＶｉｐＲＬｃｕｔの更新を行わず、Ｓ３６に進む。
【００５１】
例えば図７，図９に示すＴ２タイミングにおいて、第１遅延信号と第２遅延信号とが交差し、両者の電圧値、ＶｉｐＲＬ［ＲＬｗ］とＶｉｐＬＲ［ＬＲｗ］とが同値となる（Ｓ３０：ＮＯ）。この場合、ＶｉｐＲＬｃｕｔにＶｉｐＲＬ［ＲＬｗ］が記憶される（Ｓ３４）。Ｔ２タイミング以降、第１遅延信号と第２遅延信号とが再び交差する、図７，図１０に示すＴ５タイミングまでの間、ＶｉｐＲＬ［ＲＬｗ］はＶｉｐＬＲ［ＬＲｗ］より大きな値を表すため（Ｓ３０：ＮＯ）、ＶｉｐＲＬｃｕｔはＶｉｐＲＬ［ＲＬｗ］で継続的に更新される（Ｓ３４）。そしてＴ５タイミングにおいてＶｉｐＲＬ［ＲＬｗ］はＶｉｐＬＲ［ＬＲｗ］と同値であるリーン同準値を表すが、この時点ではＳ３０は満たされず（Ｓ３０：ＮＯ）、ＶｉｐＲＬｃｕｔにＶｉｐＲＬ［ＲＬｗ］の値、すなわちリーン同準値が記憶される（Ｓ３４）。
【００５２】
Ｔ５タイミング以降、ＶｉｐＬＲ［ＬＲｗ］はＶｉｐＲＬ［ＲＬｗ］より大きな値となる（Ｓ３０：ＹＥＳ）。第１遅延信号はＴ４タイミングから下降傾向となっているため、Ｔ５タイミング以降、ＶｉｐＲＬ［ＲＬｗ］よりもＶｉｐＲＬｃｕｔが大きい値を表す（Ｓ３２：ＹＥＳ）。このためＶｉｐＲＬｃｕｔは更新されず、リーン同準値が保持される。この状態は、第１遅延信号と第２遅延信号とが再び交差するＴ９タイミング（図７参照）まで継続される。そしてこのＴ９タイミングにおいて、上記したＴ２タイミングと同様にＶｉｐＲＬ［ＲＬｗ］とＶｉｐＬＲ［ＬＲｗ］とが同値となり（Ｓ３０：ＮＯ）、ＶｉｐＲＬｃｕｔにＶｉｐＲＬ［ＲＬｗ］が記憶される（Ｓ３４）。Ｔ９タイミング以降は、Ｔ２タイミング以降と同様の処理が繰り返される。
【００５３】
このように、Ｓ３０〜Ｓ３４の処理によってＶｉｐＲＬｃｕｔの値が更新され、図５に示す、Ｓ３６〜Ｓ４４の処理では、疑似信号の生成元となる信号の選択が行われる。すなわち、排気ガスの空燃比がリッチ側からリーン側に移行される場合には、第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして選択され、リーン側からリッチ側に移行される場合には、第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＯｕｔとして選択される。そして、リーン同準値で保持された中間信号（電圧値ＶｉｐＲＬｃｕｔ）を用い、第１遅延信号と第２遅延信号との遅延時間の違いに起因して両者の繋ぎ合わせの際に生ずるずれの補正が行われる。
【００５４】
ＶｉｐＬＲ［ＬＲｗ］とＶｉｐＲＬ［ＲＬｗ］とが比較され（Ｓ３６）、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］以下であれば（Ｓ３６：ＹＥＳ）、第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ３８）。また、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きい場合でも（Ｓ３６：ＮＯ）、ＶｉｐＲＬｃｕｔがＶｉｐＬＲ［ＬＲｗ］以上の値であれば（Ｓ４０：ＮＯ）、第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ４４）。そして、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きく（Ｓ３６：ＮＯ）、ＶｉｐＲＬｃｕｔがＶｉｐＬＲ［ＬＲｗ］より小さい場合には（Ｓ４０：ＹＥＳ）、リーン同準値であるＶｉｐＲＬｃｕｔが疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ４２）。なお、Ｓ３６およびＳ４０、または後述するＳ５６およびＳ６０の各判断処理に従って、各条件に基づいて疑似信号（電圧値ＶｉｐＯｕｔ）として出力する信号値を選択するＣＰＵ１１が、本発明の請求項１における「疑似信号生成手段」に相当する。
【００５５】
例えば図７，図９に示すＴ２タイミングから図７，図１０に示すＴ５タイミングまでの間、第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］が第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］以上の値を示すため（Ｓ３６：ＹＥＳ）、図１１，図１２に示すように、疑似信号の電圧値ＶｉｐＯｕｔとしてＶｉｐＲＬ［ＲＬｗ］が記憶される（Ｓ３８）。そしてＴ５タイミングからＴ９タイミング（図７参照）まで、ＶｉｐＲＬ［ＲＬｗ］はＶｉｐＬＲ［ＬＲｗ］より小さい値を示す（Ｓ３６：ＮＯ）。このとき、リーン同準値に保持されたＶｉｐＲＬｃｕｔよりＶｉｐＬＲ［ＬＲｗ］が大きな値を表すＴ５タイミングからＴ７タイミングまでの間は（Ｓ４０：ＹＥＳ）、図１２に示すように、ＶｉｐＲＬｃｕｔすなわちリーン同準値が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ４２）。一方、ＶｉｐＬＲ［ＬＲｗ］がリーン同準値を保持したＶｉｐＲＬｃｕｔ以下の値を示すＴ７タイミングからＴ９タイミングまでの間（Ｓ３６：ＮＯ，Ｓ４０：ＮＯ）、図１２に示すように、疑似信号の電圧値ＶｉｐＯｕｔとしてＶｉｐＬＲ［ＬＲｗ］が記憶される（Ｓ４４）。なお、Ｔ９タイミング以降は、Ｔ２タイミング以降と同様である。このようにして疑似信号（電圧値ＶｉｐＯｕｔ）が生成されてメインルーチンに戻ると、Ｓ２８（図４参照）でＥＣＵ３に対し疑似信号が出力される。
【００５６】
［第２カット処理］
次に、第２カット処理について説明する。利用者により第１遅延時間（ＲＬｗ）よりも第２遅延時間（ＬＲｗ）が短く設定された場合には（図４、Ｓ２２：ＮＯ）、図４に示すメインルーチンから、図６に示す第２カット処理のサブルーチンがコールされる（Ｓ２６）。
【００５７】
図６に示す、第２カット処理のＳ５０〜Ｓ５４の処理では、時間の推移と共に変動する第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］に追従する中間信号（電圧値ＶｉｐＬＲｃｕｔ）を生成する処理を行う。ＶｉｐＬＲｃｕｔは、第１遅延信号と第２遅延信号とがリッチ側で交差したときの電圧値であるリッチ同準値を保持するものである。
【００５８】
まず、第１カット処理と同様に、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きいか否かが確認され（Ｓ５０）、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］以下であれば（Ｓ５０：ＮＯ）、ＶｉｐＬＲｃｕｔをその時点におけるＶｉｐＬＲ［ＬＲｗ］で上書き記憶して更新し（Ｓ５４）、Ｓ５６に進む。また、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きい場合でも（Ｓ５０：ＹＥＳ）、ＶｉｐＬＲｃｕｔがＶｉｐＬＲ［ＬＲｗ］より大きければ（Ｓ５２：ＮＯ）、ＶｉｐＬＲｃｕｔをＶｉｐＬＲ［ＬＲｗ］で上書き記憶して更新し（Ｓ５４）、Ｓ５６に進む。一方、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きく（Ｓ５０：ＹＥＳ）、更にＶｉｐＬＲｃｕｔがＶｉｐＬＲ［ＬＲｗ］以上である場合には（Ｓ５２：ＹＥＳ）、ＶｉｐＬＲｃｕｔの更新を行わず、Ｓ５６に進む。
【００５９】
例えば図８，図１３に示すＴ１２タイミングにおいて、第１遅延信号と第２遅延信号とが交差し、両者の電圧値、ＶｉｐＲＬ［ＲＬｗ］とＶｉｐＬＲ［ＬＲｗ］とが同値（リッチ同準値）となる（Ｓ５０：ＮＯ）。この場合、ＶｉｐＬＲｃｕｔにＶｉｐＬＲ［ＬＲｗ］が記憶される（Ｓ５４）。Ｔ１１タイミングでピーク値（リッチ最大値）を表した第２遅延信号はＴ１２タイミングには上昇傾向となっており、Ｔ１２タイミング以降、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＬＲｃｕｔ以上の値を表す（Ｓ５２：ＹＥＳ）。また、Ｔ１２タイミング以降、第１遅延信号と第２遅延信号とが再び交差する、図８，図１４に示すＴ１６タイミングまでの間、ＶｉｐＬＲ［ＬＲｗ］はＶｉｐＲＬ［ＲＬｗ］より大きな値を表す（Ｓ５０：ＹＥＳ）。このためＶｉｐＬＲｃｕｔは更新されず、リッチ同準値が保持される。
【００６０】
この状態は、第１遅延信号と第２遅延信号とが交差し、両者の電圧値ＶｉｐＲＬ［ＲＬｗ］との電圧値ＶｉｐＬＲ［ＬＲｗ］とが再び同値となるＴ１６タイミングまで継続される。Ｔ１６タイミングには、ＶｉｐＲＬ［ＲＬｗ］とＶｉｐＬＲ［ＬＲｗ］とが同値となって（Ｓ５０：ＮＯ）、ＶｉｐＬＲｃｕｔにＶｉｐＬＲ［ＬＲｗ］の値が記憶される（Ｓ５４）。そしてＴ１６タイミング以降、第１遅延信号と第２遅延信号とが再度交差するＴ１９タイミングまで、ＶｉｐＲＬ［ＲＬｗ］がＶｉｐＬＲ［ＬＲｗ］以上の値を表すため（Ｓ５０：ＮＯ）、ＶｉｐＬＲｃｕｔがその時点におけるＶｉｐＬＲ［ＬＲｗ］で更新される（Ｓ５４）。なお、Ｔ１９タイミング以降は、Ｔ１２タイミング以降と同様の処理が繰り返される。
【００６１】
このように、Ｓ５０〜Ｓ５４の処理によってＶｉｐＬＲｃｕｔの値が更新され、図６に示す、Ｓ５６〜Ｓ６４の処理では、疑似信号の生成元となる信号の選択が行われる。すなわち、排気ガスの空燃比がリーン側からリッチ側に移行される場合には、第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして選択され、リッチ側からリーン側に移行される場合には、第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］がＶｉｐＯｕｔとして選択される。そして、リッチ同準値で保持された中間信号（電圧値ＶｉｐＬＲｃｕｔ）を用い、第１遅延信号と第２遅延信号との遅延時間の違いに起因して両者の繋ぎ合わせの際に生ずるずれの補正が行われる。
【００６２】
まず、ＶｉｐＬＲ［ＬＲｗ］とＶｉｐＲＬ［ＲＬｗ］とが比較され（Ｓ５６）、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］以下であれば（Ｓ５６：ＹＥＳ）、第２遅延信号の電圧値ＶｉｐＬＲ［ＬＲｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ５８）。また、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きい場合でも（Ｓ５６：ＮＯ）、ＶｉｐＬＲｃｕｔがＶｉｐＲＬ［ＲＬｗ］以下の値であれば（Ｓ６０：ＮＯ）、第１遅延信号の電圧値ＶｉｐＲＬ［ＲＬｗ］が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ６４）。そして、ＶｉｐＬＲ［ＬＲｗ］がＶｉｐＲＬ［ＲＬｗ］より大きく（Ｓ５６：ＮＯ）、ＶｉｐＲＬｃｕｔがＶｉｐＲＬ［ＲＬｗ］より大きい場合には（Ｓ６０：ＹＥＳ）、リッチ同準値であるＶｉｐＬＲｃｕｔが疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ６２）。
【００６３】
例えば図８，図１３に示す、Ｔ１２タイミングから、図８，図１４に示す、T１６タイミングまで、ＶｉｐＬＲ［ＬＲｗ］はＶｉｐＲＬ［ＲＬｗ］より大きい値を示す（Ｓ５６：ＮＯ）。このとき、リッチ同準値に保持されたＶｉｐＬＲｃｕｔよりＶｉｐＲＬ［ＲＬｗ］が小さな値を表すＴ１２タイミングからＴ１４タイミングまでの間は（Ｓ６０：ＹＥＳ）、図１５に示すように、ＶｉｐＬＲｃｕｔすなわちリッチ同準値が疑似信号の電圧値ＶｉｐＯｕｔとして記憶される（Ｓ６２）。一方、ＶｉｐＲＬ［ＲＬｗ］がリッチ同準値を保持したＶｉｐＬＲｃｕｔ以上の値を示すＴ１４タイミングからＴ１６タイミングまでの間（Ｓ５６：ＮＯ，Ｓ６０：ＮＯ）、図１５，図１６に示すように、疑似信号の電圧値ＶｉｐＯｕｔとしてＶｉｐＲＬ［ＲＬｗ］が記憶される（Ｓ６４）。そしてＴ１６タイミング以降、ＶｉｐＲＬ［ＲＬｗ］がＶｉｐＬＲ［ＬＲｗ］以上の値を示し（Ｓ５６：ＹＥＳ）、再び第１遅延信号と第２遅延信号とが交差するＴ１９タイミングまでの間、図１６に示すように、疑似信号の電圧値ＶｉｐＯｕｔとしてＶｉｐＬＲ［ＬＲｗ］が記憶される（Ｓ５８）。なお、Ｔ１９タイミング以降は、Ｔ１２タイミング以降と同様である。このようにして疑似信号（電圧値ＶｉｐＯｕｔ）が生成されてメインルーチンに戻ると、Ｓ２８（図４参照）でＥＣＵ３に対し疑似信号が出力される。
【００６４】
なお、本発明は上記実施の形態に限られず、各種の変形が可能である。本実施の形態では、基準信号や遅延信号はリッチ時に低い値を表し、リーン時に高い値を表したが、リッチ時に高い値を表し、リーン時に低い値を表してもよい。なお、信号値を電圧値の大小で表したため、電圧値のピーク値を、便宜上、最大値，最小値をもって説明したが、前述したように、それぞれリッチ側またはリーン側における最大値，リーン側またはリッチ側における最大値を意味するものである。また、各信号の値は電圧値のデータとして処理を行ったが、これに限らず、電流値のデータとして処理してもよい。
【００６５】
また、センサシミュレータ１にＵＳＢやＲＳ２３２Ｃ等の入出力インターフェイスを設け、対応するケーブルを用いてパーソナルコンピュータに接続し、設定値等の入力や表示確認等を行ってもよい。また、基準センサ２の基準信号や、生成した疑似信号をその入出力インターフェイスを介してパーソナルコンピュータに出力し、パーソナルコンピュータ上で出力波形を生成してモニタリングできるようにしてもよいし、もちろん、表示部８０に出力波形を表示させてもよい。
【００６６】
また、ＥＥＰＲＯＭ１２のユーザ設定値記憶エリア１２３に、設定値の組み合わせを複数種類記憶できるようにしてもよい。つまり、基準センサ２として空燃比センサを用いた場合やＮＯｘセンサを用いた場合など、それぞれのセンサ向けに設定した設定値を読み込めるようにすれば、接続するセンサを取り換える度に設定値を入れ直す手間を省くことができる。もちろん、ＥＥＰＲＯＭ１２ではなく一般的なＲＯＭを用い、これら設定値の組み合わせをプリセット値として保存してもよい。
【００６７】
また、本実施の形態では、疑似信号生成プログラムを実行することでソフトウェア的に基準信号から疑似信号を生成したが、ロジック回路を構成したアナログまたはデジタルハードウェア回路を作製し、疑似信号の生成を行ってもよい。
【産業上の利用可能性】
【００６８】
各種ガスセンサが劣化した状態において出力する疑似信号を擬似的に生成することができる疑似信号生成装置に適用することができる。
【図面の簡単な説明】
【００６９】
【図１】本実施の形態の疑似信号生成装置の一例としてのセンサシミュレータ１の概略的な構成を示すブロック図である。
【図２】ＥＥＰＲＯＭ１２の記憶エリアの構成を示す概念図である。
【図３】ＲＡＭ１３の記憶エリアの構成を示す概念図である。
【図４】疑似信号生成プログラムのメインルーチンのフローチャートである。
【図５】第１カット処理サブルーチンのフローチャートである。
【図６】第２カット処理サブルーチンのフローチャートである。
【図７】第１遅延時間（ＲＬｗ）よりも第２遅延時間（ＬＲｗ）が長く設定されていた場合における基準信号（電圧値Ｖｉｐ）および第１，第２遅延信号（ＶｉｐＲＬ［ＲＬｗ］，ＶｉｐＬＲ［ＬＲｗ］）の描く波形を示すグラフである。
【図８】第１遅延時間（ＲＬｗ）よりも第２遅延時間（ＬＲｗ）が短く設定されていた場合における基準信号（電圧値Ｖｉｐ）および第１，第２遅延信号（ＶｉｐＲＬ［ＲＬｗ］，ＶｉｐＬＲ［ＬＲｗ］）の描く波形を示すグラフである。
【図９】第１カット処理において生成される中間信号（電圧値ＶｉｐＲＬｃｕｔ）について説明するため図７の円Ａで示す部分を拡大したグラフである。
【図１０】第１カット処理において生成される中間信号（電圧値ＶｉｐＲＬｃｕｔ）について説明するため図７の円Ｂで示す部分を拡大したグラフである。
【図１１】第１カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図７の円Ａで示す部分を拡大したグラフである。
【図１２】第１カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図７の円Ｂで示す部分を拡大したグラフである。
【図１３】第２カット処理において生成される中間信号（電圧値ＶｉｐＬＲｃｕｔ）について説明するため図８の円Ｃで示す部分を拡大したグラフである。
【図１４】第２カット処理において生成される中間信号（電圧値ＶｉｐＬＲｃｕｔ）について説明するため図８の円Ｄで示す部分を拡大したグラフである。
【図１５】第２カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図８の円Ｃで示す部分を拡大したグラフである。
【図１６】第２カット処理において生成される疑似信号（電圧値ＶｉｐＯｕｔ）について説明するため図８の円Ｄで示す部分を拡大したグラフである。
【符号の説明】
【００７０】
１    センサシミュレータ
２    基準センサ
６０    入力部
１２１    プログラム記憶エリア
１２２    初期値記憶エリア
１２３    ユーザ設定値記憶エリア
１３１    ワークエリア
１３２    変数記憶エリア  
【図１】
2008291762.tif 000003
【図２】
2008291762.tif 000004
【図３】
2008291762.tif 000005
【図４】
2008291762.tif 000006
【図５】
2008291762.tif 000007
【図６】
2008291762.tif 000008
【図７】
2008291762.tif 000009
【図８】
2008291762.tif 000010
【図９】
2008291762.tif 000011
【図１０】
2008291762.tif 000012
【図１１】
2008291762.tif 000013
【図１２】
2008291762.tif 000014
【図１３】
2008291762.tif 000015
【図１４】
2008291762.tif 000016
【図１５】
2008291762.tif 000017
【図１６】
2008291762.tif 000018