(57)【要約】    【課題】  選択還元触媒を用いてＮＯｘを浄化する排気浄化装置であって、還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるは還元剤供給装置の特性変化などに起因する還元剤供給精度の低下を、比較的簡単な構成で正確に判定することができる排気浄化装置を提供する。    【解決手段】  選択還元触媒に貯蔵されている還元剤（ＮＨ３，尿素）の量であるストレージ量ＮＨ３ＡＣＴを、該ストレージ量が最大である状態から一時的に低減し、その後還元剤スリップの発生が検出される時点（ｔ３，ｔ４，ｔ５）までストレージ量ＮＨ３ＡＣＴを増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中における還元剤スリップの発生状態に応じて、反応剤（尿素水）中の還元剤（尿素）濃度が判定される。したがって、還元剤濃度の変化に起因する還元剤供給精度の低下を比較的簡単な手法で判定できる。【選択図】  図２
2011163164.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けられ、還元剤の存在下で排気中のＮＯｘを還元する選択還元触媒と、還元剤を生成する反応剤または還元剤を前記選択還元触媒の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、
前記選択還元触媒の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、
前記選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量を増量するストレージ量変更手段と、
該ストレージ量変更手段により前記ストレージ量を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤供給手段の還元剤供給精度を判定する精度判定手段とを備えることを特徴とする内燃機関の排気浄化装置。
【請求項２】
前記ストレージ量変更手段は、前記ストレージ量の低減量を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定することを特徴とする請求項１に記載の内燃機関の排気浄化装置。
【請求項３】
前記精度判定手段は、前記ストレージ量の低減開始時点から前記還元剤スリップ発生時点までの時間を示す時間パラメータと、判定基準値との差に基づいて前記判定を行うことを特徴とする請求項１または２に記載の内燃機関の排気浄化装置。
【請求項４】
前記精度判定手段は、前記ストレージ量の増量開始時点から前記還元剤スリップ発生時点までの時間を示す時間パラメータと、判定基準値との差に基づいて前記判定を行うことを特徴とする請求項１または２に記載の内燃機関の排気浄化装置。
【請求項５】
前記精度判定手段は、前記ストレージ量の低減開始時点から前記還元剤スリップ発生時点までの前記ストレージ量の変化量を示す変化量パラメータと、判定基準値との差に基づいて前記判定を行うことを特徴とする請求項１または２に記載の内燃機関の排気浄化装置。
【請求項６】
前記精度判定手段は、前記ストレージ量の増量開始時点から前記還元剤スリップ発生時点までの前記ストレージ量の変化量を示す変化量パラメータと、判定基準値との差に基づいて前記判定を行うことを特徴とする請求項１または２に記載の内燃機関の排気浄化装置。
【請求項７】
前記判定基準値は、前記ストレージ量の推定値に基づいて算出されることを特徴とする請求項３から６の何れか１項に記載の内燃機関の排気浄化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気浄化装置に関し、特に還元剤の存在下で排気中のＮＯｘを還元する選択還元触媒を備えるものに関する。
【背景技術】
【０００２】
選択還元触媒を用いて排気中のＮＯｘを浄化するＮＯｘ浄化装置は例えば特許文献３に示されている。このＮＯｘ浄化装置は、選択還元触媒と、還元剤を生成する反応剤としての尿素水溶液（以下単に「尿素水」という）を選択還元触媒の上流側に供給する尿素水供給装置とを備えている。この装置では、選択還元触媒に供給する尿素水量を調節することにより、還元剤供給量が制御される。
【０００３】
尿素水量を一定としても、尿素水の尿素濃度が変化すると、還元剤供給量が変化するため、尿素濃度を監視する必要があり、特許文献１及び２には、尿素水を貯蔵する尿素水タンクに尿素濃度を検出するためのセンサ（尿素濃度センサ）を設置する技術が示されている。
【０００４】
また特許文献３には、尿素濃度センサを用いずに、尿素水の凝固点に応じて尿素濃度を推定する手法が示されている。具体的には、タンク内の尿素水の温度を下げて凝固させ、凝固した尿素水が融解したときの温度を検出することにより、凝固点が計測される。
【０００５】
また特許文献４には、還元剤としてアンモニアガスを選択還元触媒に供給する排気浄化装置が示されている。この装置によれば、選択還元触媒の下流側へのアンモニアの流出を最小限に抑制しつつ、ＮＯｘとアンモニアの比率が最適となるようにアンモニアガス供給量が制御される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１６３１７７号公報
【特許文献２】特開２００５−３３７９６９号公報
【特許文献３】特開２００９ー２０９７６５号公報
【特許文献４】特表２００８−５４６９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１及び２に示されるように尿素濃度センサを用いる装置では、コストの上昇や重量及び設置スペースの増加を招く。さらに、タンク内の尿素水は車両走行によって振動し、その振動によって気泡が発生することがあるため、振動及び気泡の発生によって尿素濃度の検出精度が低下することがある。
【０００８】
また特許文献３に示された手法には、以下のような課題がある。図４１は、凝固点ＴＳＯＬと尿素濃度ＣＵＲとの関係を示す。この図４１から明らかなように尿素濃度ＣＵＲが正常濃度ＣＵＲ０（３２．５％）であることは正確に検出できるが（ＴＳＯＬ＝ＴＳＯＬ０）、凝固点ＴＳＯＬが例えばＴＳＯＬ１であるときは、正常濃度ＣＵＲ０より高い濃度ＣＵＲ１Ｈである場合と、低い濃度ＣＵＲ１Ｌである場合とがあり、どちらであるかを判定することはできない。一般的には、尿素濃度ＣＵＲは減少方向に変化することが想定されるが、使用条件によっては増加方向に変化する場合があり、また規格外の尿素水が使用される場合もあるので、特許文献３に示された手法では尿素濃度の誤判定が発生する可能性がある。
【０００９】
上述した尿素濃度の検出精度低下あるいは誤判定が発生すると、尿素水供給量の制御精度の低下あるいは不必要なフェールセーフ処理を行う事態を招くおそれがある。
【００１０】
また特許文献４に示された装置では、アンモニアガス流量が流量センサにより検出され、検出されたアンモニアガス流量が指令値と一致するように流量制御弁が制御される。そのため、流量センサあるいは流量制御弁の特性ばらつき、あるいは経時劣化によってアンモニア供給量の制御精度が低下するおそれがある。
【００１１】
本発明は上述した点を考慮してなされたものであり、選択還元触媒を用いてＮＯｘを浄化する排気浄化装置であって、還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給精度の低下を、比較的簡単な構成で正確に判定することができる排気浄化装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため請求項１に記載の発明は、内燃機関の排気通路（２）に設けられ、還元剤の存在下で排気中のＮＯｘを還元する選択還元触媒（３）と、還元剤（尿素、アンモニア）を生成する反応剤（尿素水）または還元剤（アンモニア）を前記選択還元触媒（３）の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、前記選択還元触媒（３）の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、前記選択還元触媒（３）に貯蔵されている還元剤の量であるストレージ量（ＮＨ３ＡＣＴ）を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量（ＮＨ３ＡＣＴ）を増量するストレージ量変更手段と、該ストレージ量変更手段により前記ストレージ量（ＮＨ３ＡＣＴ）を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤供給手段の還元剤供給精度を判定する精度判定手段とを備えることを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の内燃機関の排気浄化装置において、前記ストレージ量変更手段は、前記ストレージ量の低減量（ＤＳＴＵＣＪＤ）を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量（ＮＨ３ＡＭＡＸＮＧ）より小さな値に設定することを特徴とする。
【００１４】
請求項３に記載の発明は、請求項１または２に記載の内燃機関の排気浄化装置において、前記精度判定手段は、前記ストレージ量の低減開始時点から前記還元剤スリップ発生時点までの時間を示す時間パラメータ（ＰＲＤＵＣＮＨ３ＳＬＩＰ）と、判定基準値（ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴ）との差（ＤＰＲＤＵＣＮＨ３ＳＬＩＰ）に基づいて前記判定を行うことを特徴とする。
【００１５】
請求項４に記載の発明は、請求項１または２に記載の内燃機関の排気浄化装置において、前記精度判定手段は、前記ストレージ量の増量開始時点から前記還元剤スリップ発生時点までの時間を示す時間パラメータ（ＰＲＤＵＣＮＨ３ＳＬＩＰａ）と、判定基準値（ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴａ）との差（ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ）に基づいて前記判定を行うことを特徴とする。
【００１６】
請求項５に記載の発明は、請求項１または２に記載の内燃機関の排気浄化装置において、前記精度判定手段は、前記ストレージ量の低減開始時点から前記還元剤スリップ発生時点までの前記ストレージ量の変化量を示す変化量パラメータ（ＳＵＭＵＣＧＵＲＥＡＳＬＩＰ）と、判定基準値（ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴ）との差（ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ）に基づいて前記判定を行うことを特徴とする。
【００１７】
請求項６に記載の発明は、請求項１または２に記載の内燃機関の排気浄化装置において、前記精度判定手段は、前記ストレージ量の増量開始時点から前記還元剤スリップ発生時点までの前記ストレージ量の変化量を示す変化量パラメータ（ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ）と、判定基準値（ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴａ）との差（ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ）に基づいて前記判定を行うことを特徴とする。
【００１８】
請求項７に記載の発明は、請求項３から６の何れか１項に記載の内燃機関の排気浄化装置において、前記判定基準値は、前記ストレージ量の推定値（ＳＴＮＨ３）に基づいて算出されることを特徴とする。
【発明の効果】
【００１９】
請求項１に記載の発明によれば、選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後還元剤スリップの発生が検出されるまでストレージ量を増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中における還元剤スリップの発生状態に応じて、還元剤供給精度が判定される。したがって、還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるは還元剤供給装置の特性変化に起因する還元剤供給精度の低下を、比較的簡単な構成で正確に判定することができる。
【００２０】
請求項２に記載の発明によれば、ストレージ量の低減量が、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定されるので、選択還元触媒の劣化状態の影響を受けることなく還元剤供給精度判定を行うことができる。
【００２１】
請求項３に記載の発明によれば、ストレージ量の低減開始時点から還元剤スリップ発生時点までの時間を示す時間パラメータと、判定基準値との差に基づいて濃度判定が行われる。還元剤濃度が高くなるほど上記時間パラメータの値が小さくなるので、時間パラメータの値と判定基準値との差に基づいて、還元剤供給精度を判定することができる。その際、判定基準値を機関運転状態、例えば機関負荷、触媒温度などに応じて設定することにより、還元剤供給精度判定を実行するときの機関運転状態に拘わらず、正確な判定を行うことができる。
【００２２】
請求項４に記載の発明によれば、ストレージ量の増量開始時点から還元剤スリップ発生時点までの時間を示す時間パラメータと、判定基準値との差に基づいて還元剤濃度判定が行われる。請求項３の時間パラメータを、ストレージ量の増量開始時点から還元剤スリップ発生時点までの時間を示す時間パラメータに置換しても、同様に還元剤供給精度を判定することが可能である。
【００２３】
請求項５に記載の発明によれば、ストレージ量の低減開始時点から還元剤スリップ発生時点までの前記ストレージ量の変化量を示す変化量パラメータと、判定基準値との差に基づいて還元剤濃度判定が行われる。還元剤濃度が高くなるほど上記変化量パラメータの値が小さくなるので、変化量パラメータの値と判定基準値との差に基づいて、還元剤供給精度を判定することができる。その際、判定基準値を機関運転状態、例えば機関負荷、触媒温度などに応じて設定することにより、還元剤供給精度判定を実行するときの機関運転状態に拘わらず、正確な判定を行うことができる。
【００２４】
請求項６に記載の発明によれば、ストレージ量の増量開始時点から還元剤スリップ発生時点までのストレージ量の変化量を示す変化量パラメータと、判定基準値との差に基づいて還元剤供給精度判定が行われる。請求項５の変化量パラメータを、ストレージ量の増量開始時点から還元剤スリップ発生時点までのストレージ量の変化量を示す変化量パラメータに置換しても、同様に還元剤供給精度を判定することが可能である。
【００２５】
請求項７に記載の発明によれば、判定基準値は、ストレージ量の推定値に基づいて算出される。ストレージ量推定値は、機関運転状態に基づいて算出されるので、ストレージ量推定値に基づいて判定基準値を算出することにより、還元剤供給精度判定を実行するときの機関運転状態に拘わらず、正確な判定を行うことが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。
【図２】本実施形態における尿素濃度判定手法を説明するためのタイムチャートである。
【図３】選択還元触媒が劣化した状態で尿素濃度判定を行うときの課題を説明するためのタイムチャートである。
【図４】選択還元触媒の温度（ＴＳＣＲ）と、還元剤ストレージ容量（ＮＨ３ＡＣＴＭＡＸ）との関係を示す図である。
【図５】尿素水噴射量（ＧＵＲＥＡ）の制御を行うモジュールの構成を示すブロック図である。
【図６】尿素水の基本噴射量（ＧＵＲＥＡＢＳ）を算出するためのマップを示す図である。
【図７】アンモニア濃度センサ出力（ＮＨ３ＣＯＮＳ）の２値化を説明するための図である。
【図８】図５のストレージ量算出部における演算処理のフローチャートである。
【図９】図５のスイッチング噴射量算出部における演算処理のフローチャートである。
【図１０】図５のスイッチング噴射量算出部における演算処理のフローチャートである。
【図１１】図８及び図９の処理で使用されるテーブル及びマップを示す図である。
【図１２】図５の適応係数算出部における演算処理のフローチャートである。
【図１３】図１２の処理で実行されるＥＶＮＳ算出処理のフローチャートである。
【図１４】図１２の処理で使用されるテーブルを示す図である。
【図１５】図１２の処理における補正量（Ｕij）の算出手法を説明するための図である。
【図１６】図１２の処理による制御動作を説明するためのタイムチャートである。
【図１７】図５の濃度判定部における演算処理（第１の濃度判定手法）のフローチャートである。
【図１８】図１７の処理で実行される実行条件判定処理のフローチャートである。
【図１９】図１８の処理を説明するためのタイムチャートである。
【図２０】図５の濃度判定部における演算処理（第２の濃度判定手法）のフローチャートである。
【図２１】図２０の処理を説明するためのタイムチャートである。
【図２２】図５の濃度判定部における演算処理（第３の濃度判定手法）のフローチャートである。
【図２３】図２２の処理を説明するためのタイムチャートである。
【図２４】図５の濃度判定部における演算処理（第４の濃度判定手法）のフローチャートである。
【図２５】図２４の処理を説明するためのタイムチャートである。
【図２６】図５の濃度判定部における演算処理（第５の濃度判定手法）のフローチャートである。
【図２７】第１の濃度判定手法を適用した動作例（正常濃度）を示すタイムチャートである。
【図２８】第１の濃度判定手法を適用した動作例（高濃度）を示すタイムチャートである。
【図２９】第１の濃度判定手法を適用した動作例（低濃度）を示すタイムチャートである。
【図３０】第４の濃度判定手法を適用した動作例（高濃度）を示すタイムチャートである。
【図３１】第４の濃度判定手法を適用した動作例（低濃度）を示すタイムチャートである。
【図３２】第５の濃度判定手法を適用した動作例（高濃度）を示すタイムチャートである。
【図３３】第５の濃度判定手法を適用した動作例（低濃度）を示すタイムチャートである。
【図３４】第１の濃度判定手法を適用した動作例（劣化ＳＣＲ触媒、正常濃度）を示すタイムチャートである。
【図３５】第１の濃度判定手法を適用した動作例（劣化ＳＣＲ触媒、高濃度）を示すタイムチャートである。
【図３６】第１の濃度判定手法を適用した動作例（劣化ＳＣＲ触媒、低濃度）を示すタイムチャートである。
【図３７】尿素噴射量制御及び尿素濃度判定を行う処理の全体構成を示すフローチャートである。
【図３８】図８に示す処理の変形例を示すフローチャートである。
【図３９】図１３に示す処理の変形例を示すフローチャートである。
【図４０】図１に示す構成の変形例を示す図である。
【図４１】尿素濃度（ＣＵＲ）と尿素水溶液の凝固点（ＴＳＯＬ）との関係を示す図である。
【発明を実施するための形態】
【００２７】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。内燃機関（以下単に「エンジン」という）１は、空燃比を理論空燃比よりリーン側のリーン空燃比に設定して運転するリーンバーン運転が主として行われるディーゼル（圧縮着火型）エンジンである。エンジン１の排気通路２には、排気中の炭化水素あるいは一酸化炭素の酸化を促進するための酸化触媒８と、還元剤の存在下で排気中のＮＯｘを還元する選択還元触媒（以下「ＳＣＲ触媒」という）３，４とが設けられている。ＳＣＲ触媒３，４は、酸化触媒８の下流側に設けられている。
【００２８】
ＳＣＲ触媒３の上流側には、尿素水を噴射する尿素水噴射弁５が設けられており、尿素水噴射弁５の作動は電子制御ユニット（以下「ＥＣＵ」という）１０により制御される。尿素水噴射弁５は、通路１１を介して尿素水タンク１２に接続されている。ＥＣＵ１０から開弁指令信号が供給されると、尿素水噴射弁５が開弁し、開弁時間に応じた量（噴射量）の尿素水が排気通路２内に噴射される。
【００２９】
ＳＣＲ触媒３は、還元剤である尿素、及び尿素から生成されるアンモニア（ＮＨ3、以下「ＮＨ３」と記述する）を貯蔵可能に構成されている。なお、以下の説明ではＳＣＲ触媒３における還元剤の貯蔵量を「ストレージ量」といい、ＳＣＲ触媒３が貯蔵可能な最大ストレージ量を「ストレージ容量」という。
【００３０】
ＳＣＲ触媒３には、ＳＣＲ触媒３の温度（以下［ＳＣＲ触媒温度」という）ＴＳＣＲを検出するＳＣＲ触媒温度センサ６が設けられ、ＳＣＲ触媒３とＳＣＲ触媒４の間には排気中のアンモニア濃度ＮＨ３ＣＯＮＳを検出するアンモニア濃度センサ（以下「ＮＨ３センサ」という）７が設けられている。これらのセンサの検出信号は、ＥＣＵ１０に供給される。
【００３１】
ＥＣＵ１０には、エンジン１の回転数ＮＥを検出するエンジン回転数センサ２１及びエンジン１により駆動される車両のアクセルペダルの踏み込み量（以下「アクセルペダル操作量」という）ＡＰを検出するアクセルセンサ２２が接続されており、これらのセンサの検出信号がＥＣＵ１０に供給される。
【００３２】
ＥＣＵ１０は、上述したセンサ及び図示しないセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、ＣＰＵで実行される演算プログラム及び演算結果等を記憶する記憶回路を有し、さらに尿素水噴射弁５、燃料噴射弁（図示せず）に駆動信号を供給する出力回路を備えている。
【００３３】
ＥＣＵ１０は、エンジン運転状態に応じて燃料噴射弁による燃料噴射制御を行うとともに、ＳＣＲ触媒３に適量の尿素を供給するための尿素水噴射制御を行う。さらにＥＣＵ１０は、尿素水中の尿素濃度ＣＵＲを判定し、尿素濃度ＣＵＲが許容範囲外であると判定したときは、警告灯を点灯する。また尿素水噴射制御においては、判定した尿素濃度に応じた尿素水噴射量の補正が行われる。
【００３４】
以下本実施形態における尿素濃度の判定手法の概要を図２を参照して説明する。図２（ａ）〜（ｃ）は、それぞれストレージ量の推定値である推定ストレージ量ＳＴＮＨ３、実際のストレージ量である実ストレージ量ＮＨ３ＡＣＴ、及びＮＨ３センサ７の出力ＮＨ３ＣＯＮＳの推移を示す。図２（ｂ）及び（ｃ）において、一点鎖線は、尿素濃度ＣＵＲが正常濃度ＣＵＲ０である状態に対応し、実線は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い状態に対応し、破線は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より低い状態に対応する。
【００３５】
ストレージ量ＮＨ３ＡＣＴが増加してストレージ容量ＮＨ３ＡＣＴＭＡＸに達すると、ＳＣＲ触媒３の下流側にＮＨ３が流出するＮＨ３スリップが発生する。そこで、本実施形態では、ＮＨ３センサ出力ＮＨ３ＣＯＮＳが所定閾値ＮＨ３ＪＤを超えると、ＮＨ３スリップが発生した判定する（図２（ｃ），時刻ｔ３，ｔ４，ｔ５）。
【００３６】
本実施形態では、尿素水噴射量ＧＵＲＥＡを変更することにより、ストレージ量ＮＨ３ＡＣＴがストレージ容量ＮＨ３ＡＣＴＭＡＸと等しい状態から、徐々にストレージ量ＮＨ３ＡＣＴを低減し、その後徐々にストレージ量ＮＨ３ＡＣＴを増加させ、ストレージ量ＮＨ３ＡＣＴの低減開始時刻ｔ１からＮＨ３スリップが検出される時刻ｔ３，ｔ４，またはｔ５までの時間（以下「ＮＨ３スリップ検出時間」という）ＰＲＤＵＣＮＨ３ＳＬＩＰに応じて、尿素濃度ＣＵＲを判定する。
【００３７】
尿素濃度ＣＵＲが高くなるほど、ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰが短くなる（Ｔ３＜Ｔ４＜Ｔ５）ので、尿素濃度ＣＵＲを判定することができる。
【００３８】
この判定手法では、尿素濃度ＣＵＲが正常濃度ＣＵＲ０と等しいと仮定して、推定ストレージ量ＳＴＮＨ３を算出し、推定ストレージ量ＳＴＮＨ３が推定ストレージ容量ＳＴＮＨ３ＭＡＸに達する推定スリップ発生時刻ｔＳＬＩＰＨＡＴと、ストレージ量の低減開始時刻ｔ１とから推定ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴを算出し、これを判定基準値とする。そして、判定基準値と、計測されたＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰとの差分（以下「尿素濃度判定値」という）ＤＰＲＤＵＣＮＨ３ＳＬＩＰに基づいて、尿素濃度ＣＵＲを判定する。尿素濃度判定値ＤＰＲＵＣＮＨ３ＳＬＩＰは、下記式（１）により算出される。
ＤＰＲＤＵＣＮＨ３ＳＬＩＰ＝
ＰＲＤＵＣＮＨ３ＳＬＩＰ−ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴ  （１）
【００３９】
式（１）で定義される尿素濃度判定値ＤＰＲＵＣＮＨ３ＳＬＩＰは、尿素濃度ＣＵＲが正常濃度ＣＵＲ０と等しいとき「０」近傍の値をとり、尿素濃度ＣＵＲが高くなるほど減少する。すなわち、正常濃度ＣＵＲ０より高いときは負の値をとり、正常濃度ＣＵＲ０より低いとき正の値をとる。
【００４０】
尿素濃度判定値ＤＰＲＵＣＮＨ３ＳＬＩＰが、尿素濃度ＣＵＲの許容範囲の上限値に相当する高濃度判定閾値ＤＰＲＤＵＣＲＩＣＨより小さいとき、及び許容範囲の下限値に相当する低濃度判定閾値ＤＰＲＤＵＣＬＥＡＮより大きいときは、警告灯が点灯される。
【００４１】
図２（ａ）に示すストレージ低減量ＤＳＴＵＣＪＤが、劣化していると判定されるべき選択還元触媒（以下「劣化ＳＣＲ触媒」という）のストレージ容量（以下「劣化ストレージ容量」という）ＮＨ３ＡＭＡＸＮＧより大きい値に設定されると、尿素濃度判定を正確に行うことができないという不具合が発生する。
【００４２】
すなわち、劣化ＳＣＲ触媒について上記尿素濃度判定を実行すると、ストレージ量を低減している途中で劣化ＳＣＲ触媒内のＮＨ３（尿素）が無くなり、ＮＯｘ浄化率が著しく低下するとともに、ＮＨ３スリップの発生時期が正常なＳＣＲ触媒に比べて早まり、尿素濃度を正確に判定することができない。
【００４３】
図３はこの不具合を説明するためのタイムチャートであり、図３（ａ）〜（ｃ）は、図２と同様に、推定ストレージ量ＳＴＮＨ３、実ＮＨ３ストレージ量ＮＨ３ＡＣＴ、及びＮＨ３センサ出力ＮＨ３ＣＯＮＳの推移を示す。これらの図において、破線はストレージ低減量ＤＳＴＵＣＪＤ（＝ＤＳＴ１）が劣化ストレージ容量ＮＨ３ＡＭＡＸＮＧより小さい例に対応し、実線はストレージ低減量ＤＳＴＵＣＪＤ（＝ＤＳＴ２）が劣化ストレージ容量ＮＨ３ＡＭＡＸＮＧより大きい例に対応する。また図３（ｂ）の一点鎖線は、ＳＣＲ触媒が正常である場合の仮想的な推移を示す。
【００４４】
破線で示す例では、図２に示す例と同様にＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰが時間Ｔ１３として検出される（時刻ｔ１３においてＮＨ３スリップが検出される）が、実線で示す例では、時刻ｔ１１において実ストレージ量ＮＨ３ＡＣＴが「０」となるため、ＮＨ３スリップが時刻ｔ１２に検出され、ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰが時間Ｔ１２として検出され、尿素濃度が実際より高く誤判定される。
【００４５】
そこで、本実施形態では、ストレージ低減量ＤＳＴＵＣＪＤを、劣化ＳＣＲ触媒のストレージ容量である劣化ストレージ容量ＮＨ３ＡＭＡＸＮＧより小さな値に設定するようにしている。これにより、図３に実線で示すような不具合を防止することができる。
【００４６】
図４は、ＳＣＲ触媒温度ＴＳＣＲと、実ストレージ容量ＮＨ３ＡＣＴＭＡＸとの関係を示す図であり、実線Ｌ１〜Ｌ３は、それぞれ新品ＳＣＲ触媒、正常ＳＣＲ触媒、及び劣化ＳＣＲ触媒に対応する。また破線Ｌ４はストレージ低減量ＤＳＴＵＣＪＤの設定を示し、劣化ＳＣＲ触媒の実ストレージ容量（実線Ｌ３）より、若干小さな値に設定される。なお、ＴＳＣＲＪＤＬ及びＴＳＣＲＪＤＨは、それぞれ尿素濃度判定を実行するＳＣＲ触媒温度範囲ＲＴＳＣＲＪＤの下限温度及び上限温度であり、それぞれ例えば２００℃及び３５０℃に設定される。
【００４７】
図５は、尿素水噴射制御モジュールの構成を示すブロック図であり、この図に示す各ブロックの機能はＥＣＵ１０のＣＰＵにおける演算処理により実現される。
【００４８】
図５に示す尿素水噴射制御モジュールは、フィードフォワード噴射量算出部３１と、スリップ判定部３２と、ストレージ量推定部３３と、適応係数算出部３４と、スイッチング噴射量算出部３５と、濃度判定部３６と、加算部３７とを備えている。
【００４９】
フィードフォワード噴射量算出部３１は、エンジン回転数ＮＥ、エンジン負荷（要求トルク）ＴＲＱ、及び適応係数ＫＶＮＳに応じて、フィードフォワード噴射量ＧＵＲＥＡＦＦを算出する。エンジン負荷ＴＲＱは、アクセルペダル操作量ＡＰに応じて算出され、アクセルペダル操作量ＡＰが増加するほど増加するように設定される。適応係数ＫＶＮＳは、適応係数算出部３４においてＮＨ３スリップの発生状態に応じて算出される噴射量補正係数であり、尿素水中の尿素濃度が高くなるほどより小さな値をとる。
【００５０】
具体的には、エンジン回転数ＮＥ及びエンジン負荷ＴＲＱに応じて図６に示すＧＵＲＥＡＢＳマップを検索し、基本噴射量ＧＵＲＥＡＢＳを算出する。図６に示す３つの曲線はぞれぞれ所定エンジン負荷ＴＲＱ１，ＴＲＱ２，及びＴＲＱ３に対応し、ＴＲＱ１＜ＴＲＱ２＜ＴＲＱ３なる関係を満たす。したがって、基本噴射量ＧＵＲＥＡＢＳは、エンジン回転数ＮＥが増加するほど増加し、かつエンジン負荷ＴＲＱが増加するほど増加するように設定される。
【００５１】
フィードフォワード噴射量算出部３１は、さらに下記式（２）に基本噴射量ＧＵＲＥＡＢＳ及び適応係数ＫＶＮＳを適用し、フィードフォワード噴射量ＧＵＲＥＡＦＦを算出する。式（２）の「ｋ」は、ＥＣＵ１０のＣＰＵにおける尿素水噴射制御の制御周期ＤＴＭＵＣＯＢＤで離散化した離散化時刻である。(k)は今回値であることを示し、説明文中では通常は省略されている。
ＧＵＲＥＡＦＦ(k)＝ＫＶＮＳ(k)×ＧＵＲＥＡＢＳ(k)        （２）
【００５２】
スリップ判定部３２は、ＮＨ３センサ出力ＮＨ３ＣＯＮＳの２値化を行う。すなわち、ＮＨ３センサ出力ＮＨ３ＣＯＮＳと、所定閾値ＮＨ３ＪＤとを比較し、ＮＨ３センサ出力ＮＨ３ＣＯＮＳが所定閾値ＮＨ３ＪＤ以上であるとき、スリップフラグＦＮＨ３ＳＬＩＰを「１」に設定し、ＮＨ３センサ出力ＮＨ３ＣＯＮＳが所定閾値ＮＨ３ＪＤより小さいとき、スリップフラグＦＮＨ３ＳＬＩＰを「０」に設定する。
【００５３】
図７は、この２値化処理を説明するための図であり、同図（ａ）は二値化により得られるスリップフラグＦＮＨ３ＳＬＩＰを示し、同図（ｂ）は、排気中の実アンモニア濃度ＮＨ３ＣＯＮＡＣＴと、センサ出力ＮＨ３ＣＯＮＳとの関係を示す。実線は、平均的な特性を示し、２つの破線は特性ばらつきまたは経時変化により、傾きが異なる特性を示す。
【００５４】
所定閾値ＮＨ３ＪＤを用いて２値化すること、すなわちアンモニアが存在するか否かを示すスリップフラグＦＮＨ３ＳＬＩＰを「１」または「０」に設定することにより、特性ばらつきあるいは経時変化の影響を最小化することができる。
【００５５】
ストレージ量推定部３３は、フィードフォワード噴射量ＧＵＲＥＡＦＦ、尿素水噴射量ＧＵＲＥＡ（加算部３７の出力）、ＳＣＲ触媒温度ＴＳＣＲ、適応係数ＫＶＮＳ、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ（濃度判定部３６で設定される）、及びスリップフラグＦＮＨ３ＳＬＩＰに応じて、推定ストレージ量ＳＴＮＨ３及び推定ストレージ容量ＳＴＮＨ３ＭＡＸを算出するとともに、推定ストレージ量ＳＴＮＨ３及び推定ストレージ容量ＳＴＮＨ３ＭＡＸに応じて推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴの設定を行う。
【００５６】
適応係数算出部３４は、推定排気体積流量ＶＥＸ（スイッチング噴射量算出部３５で算出される）、ＳＣＲ触媒温度ＴＳＣＲ、スリップフラグＦＮＨ３ＳＬＩＰ、及び推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴに応じて、基本適応係数ＫＶＮＳＢＳ、及び適応係数ＫＶＮＳを算出する。基本適応係数ＫＶＮＳＢＳは、ＮＨ３スリップの発生状態に応じて算出され、適応係数ＫＶＮＳは、尿素濃度判定を行うときは「１．０」に設定され、それ以外とき（通常制御時）は基本適応係数ＫＶＮＳＢＳに設定される。
【００５７】
スイッチング噴射量算出部３５は、エンジン回転数ＮＥ及びエンジン負荷ＴＲＱに応じて推定排気体積流量ＶＥＸを算出するとともに、ＳＣＲ触媒温度ＴＳＣＲ、スリップフラグＦＮＨ３ＳＬＩＰ、推定ストレージ量ＳＴＮＨ３、推定ストレージ容量ＳＴＮＨ３ＭＡＸ、適応係数ＫＶＮＳ、及び濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥに応じて、スイッチング噴射量ＧＵＲＥＡＳＷを算出する。
【００５８】
濃度判定部３６は、基本適応係数ＫＶＮＳＢＳ、スリップフラグＦＮＨ３ＳＬＩＰ、及び推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴに応じて、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨ、及び低濃度異常フラグＦＵＲＥＡＣＬＥＡＮの設定を行う。濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥは、濃度判定の実行条件が成立しているとき「１」に設定される。また高濃度異常フラグＦＵＲＥＡＣＲＩＣＨは、尿素濃度ＣＵＲが異常に高いと判定されたとき「１」に設定され、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮは、尿素濃度ＣＵＲが異常に低いと判定されたとき「１」に設定される。
【００５９】
加算部３７は下記式（３）に示すように、フィードフォワード噴射量ＧＵＲＥＡＦＦと、スイッチング噴射量ＧＵＲＥＡＳＷとを加算し、尿素水噴射量ＧＵＲＥＡを算出する。
ＧＵＲＥＡ(k)＝ＧＵＲＥＡＦＦ(k)＋ＧＵＲＥＡＳＷ(k)            （３）
【００６０】
次にストレージ量推定部３３、適応係数算出部３４、スイッチング噴射量算出部３５、及び濃度判定部３６における演算処理を詳細に説明する。
図８は、ストレージ量推定部３３における演算処理の手順を示すフローチャートである。ＳＣＲ触媒３には、噴射された尿素水中の尿素は、一部はそのまま貯蔵され、残りは加水分解されて生成されるＮＨ３として貯蔵される。図８の処理では、推定ストレージ量ＳＴＮＨ３、及び推定ストレージ容量ＳＴＮＨ３ＭＡＸは、尿素水量相当量として算出される。
【００６１】
ステップＳ１１では、ＳＣＲ触媒温度ＴＳＣＲに応じて図１１（ａ）に示すＳＴＮＨ３ＭＡＸテーブルを検索し、推定ストレージ容量ＳＴＮＨ３ＭＡＸを算出する。ＳＴＮＨ３ＭＡＸテーブルは、ＳＣＲ触媒温度ＴＳＣＲが高くなるほど推定ストレージ容量ＳＴＮＨ３ＭＡＸが減少するように設定されている。なお、図１１（ａ）には、後述する目標切換ストレージ量ＳＴＮＨ３ＳＷの設定が参考として示されている。
【００６２】
ステップＳ１２では、推定ストレージ量の前回値ＳＴＮＨ３(k-1)、尿素水噴射量ＧＵＲＥＡ(k)、及びフィードフォワード噴射量ＧＵＲＥＡＦＦ(k)を下記式（４）に適用し、推定ストレージ量ＳＴＮＨ３の第１演算パラメータＳＴＮＨ３ＴＥＭＰ１を算出する。フィードフォワード噴射量ＧＵＲＥＡＦＦは、ＮＯｘの還元に使用されたＮＨ３量の推定値に相当するので、前回値ＳＴＮＨ３(k-1)から減算される。
ＳＴＮＨ３ＴＥＭＰ１(k)＝ＳＴＮＨ３(k-1)＋ＧＵＲＥＡ(k)−ＧＵＲＥＡＦＦ(k)
（４）
【００６３】
ステップＳ１３では、第１演算パラメータＳＴＮＨ３ＴＥＭＰ１(k)が推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)以上あるか否かを判別し、その答が肯定（ＹＥＳ）あるときは、第２演算パラメータＳＴＮＨ３ＴＥＭＰ２(k)を推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)に設定する（ステップＳ１４）。ステップＳ１３の答が否定（ＮＯ）であるときは、第１演算パラメータＳＴＮＨ３ＴＥＭＰ１(k)が「０」以下であるか否かを判別する（ステップＳ１５）。
【００６４】
ステップＳ１５の答が肯定（ＹＥＳ）であるときは、第２演算パラメータＳＴＮＨ３ＴＥＭＰ２(k)を「０」に設定し（ステップＳ１６）、ステップＳ１５の答が否定（ＮＯ）であるときは、第２演算パラメータＳＴＮＨ３ＴＥＭＰ２を第１演算パラメータＳＴＮＨ３ＴＥＭＰ１(k)に設定する（ステップＳ１７）。
【００６５】
ステップＳ１８では、スリップフラグＦＮＨ３ＳＬＩＰが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」であるか否かを判別する（ステップＳ１９）。ステップＳ１８の答が否定（ＮＯ）であるとき、またはステップＳ１９の答が肯定（ＹＥＳ）であるときは、推定ストレージ量ＳＴＮＨ３(k)を第２演算パラメータＳＴＮＨ３ＴＥＭＰ２(k)に設定する（ステップＳ２０）。
【００６６】
ステップＳ１９の答が否定（ＮＯ）、すなわちＮＨ３スリップが発生し（ＦＮＨ３ＳＬＩＰ＝１）かつ濃度判定を行っていないときは、ステップＳ２１に進み、推定ストレージ量ＳＴＮＨ３(k)を推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)に設定する。これにより、推定ストレージ量ＳＴＮＨ３に誤差が累積することを防止し、推定ストレージ量ＳＴＮＨ３の算出精度を高めてＳＣＲ触媒３のＮＨ３ストレージ制御の精度を向上させることができる。
【００６７】
ステップＳ２２では、推定ストレージ量ＳＴＮＨ３(k)が推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)以上であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)を「１」に設定する（ステップＳ２３）。ＳＴＮＨ３(k)＜ＳＴＮＨ３ＭＡＸ(k)であるときは、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)を「０」に設定する（ステップＳ２４）。すなわち、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴは、推定ストレージ量ＳＴＮＨ３が推定ストレージ容量ＳＴＮＨ３ＭＡＸに達すると「１」に設定される。
【００６８】
図９及び図１０は、スイッチング噴射量算出部３５における演算処理の手順を示すフローチャートである。
ステップＳ３１では、ＳＣＲ触媒温度ＴＳＣＲに応じて図１１（ｂ）に示すＫＳＴＳＷＮＭテーブル（実線）及びＫＳＴＳＵＣＪＤテーブル（破線Ｓ）を検索し、通常切換ストレージ量算出係数ＫＳＴＳＷＮＭ(k)及び濃度判定切換ストレージ量算出係数ＫＳＴＳＷＵＣＪＤ(k)を算出する。通常切換ストレージ量算出係数ＫＳＴＳＷＮＭ(k)は、通常制御（濃度判定を行っていないときの制御）において目標切換ストレージ量ＳＴＮＨ３ＳＷの算出に適用され、濃度判定切換ストレージ量算出係数ＫＳＴＳＷＵＣＪＤ(k)は、濃度判定モードにおいて目標切換ストレージ量ＳＴＮＨ３ＳＷの算出に適用される（ステップＳ３２参照）。
【００６９】
ＫＳＴＳＷＮＭテーブル及びＫＳＴＳＷＵＣＪＤテーブルは、ＳＣＲ触媒温度ＴＳＣＲが１００℃から５００℃程度の範囲で、ＳＣＲ触媒温度ＴＳＣＲが高くなるほど係数値が減少するように設定されている。また濃度判定モードにおいては、通常制御時より係数値が小さくなるように設定されている（ＫＳＴＳＷＵＣＪＤ＜ＫＳＴＳＷＮＭ）。これにより、濃度判定モードでは、過渡運転時における濃度判定の精度が低下することが防止される一方、通常制御時においてはストレージ量の低減量が最小限に設定され、ＮＯｘ浄化率の低下が防止される。
【００７０】
なお、切換ストレージ量算出係数ＫＳＴＳＷＮＭ及びＫＳＴＳＵＣＪＤは、ＳＣＲ触媒温度ＴＳＣＲに関わらず一定値に設定するようにしてもよい。
ステップＳ３２では、推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)及び通常切換ストレージ量算出係数ＫＳＴＳＷＮＭ(k)を下記式（５）に適用して通常目標切換ストレージ量ＳＴＮＨ３ＮＭ(k)を算出するとともに、推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)及び濃度判定切換ストレージ量算出係数ＫＳＴＳＷＵＣＪＤ(k)を下記式（６）に適用して濃度判定目標切換ストレージ量ＳＴＮＨ３ＵＣＪＤ(k)を算出する。
ＳＴＮＨ３ＮＭ(k)＝ＫＳＴＳＷＮＭ(k)×ＳＴＮＨ３ＭＡＸ(k)              （５）
ＳＴＮＨ３ＵＣＪＤ(k)＝ＫＳＴＳＷＵＣＪＤ(k)×ＳＴＮＨ３ＭＡＸ(k)      （６）
【００７１】
なお、目標切換ストレージ量ＳＴＮＨ３ＮＭ及びＳＴＮＨ３ＵＣＪＤは、推定ストレージ容量ＳＴＮＨ３ＭＡＸから所定量を減算した値に設定するようにしてもよい。
【００７２】
ステップＳ３３では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」であるか否かを判別する。濃度判定モードでは目標切換ストレージ量ＳＴＮＨ３ＳＷ(k)を濃度判定目標切換ストレージ量ＳＴＮＨ３ＵＣＪＤ(k)に設定し（ステップＳ３５）、通常制御においては目標切換ストレージ量ＳＴＮＨ３ＳＷ(k)を通常目標切換ストレージ量ＳＴＮＨ３ＮＭ(k)に設定する（ステップＳ３４）。
【００７３】
ステップＳ３６では、前回の噴射量切換フラグＦＵＲＥＡＳＷ(k-1)が「０」であるか否かを判別する。噴射量切換フラグＦＵＲＥＡＳＷが「１」であるときは、スイッチング噴射量ＧＵＲＥＡＳＷが下側制御値に設定され、噴射量切換フラグＦＵＲＥＡＳＷが「０」であるときは、スイッチング噴射量ＧＵＲＥＡＳＷが上側制御値に設定される（ステップＳ５２〜Ｓ５４参照）。
【００７４】
ステップＳ３６の答が肯定（ＹＥＳ）であるときは、スリップフラグＦＮＨ３ＳＬＩＰ(k)が「１」であるか否かを判別する（ステップＳ３７）。ＦＮＨ３ＳＬＩＰ(k)＝１であるときは、噴射量切換フラグＦＵＲＥＡＳＷ(k)を「１」に設定し（ステップＳ４０）、ＦＮＨ３ＳＬＩＰ(k)＝０であるときは、噴射量切換フラグＦＵＲＥＡＳＷ(k)を前回値に維持する（ステップＳ３９）。
【００７５】
ステップＳ３６でＦＵＲＥＡＳＷ(k-1)＝１であるときは、推定ストレージ量ＳＴＮＨ３(k)が目標切換ストレージ量ＳＴＮＨ３ＳＷ(k)以下であるか否かを判別する（ステップＳ３８）。その答が肯定（ＹＥＳ）であるときは、噴射量切換フラグＦＵＲＥＡＳＷ(k)を「０」に設定する（ステップＳ４１）。ステップＳ３８の答が否定（ＮＯ）であって、推定ストレージ量ＳＴＮＨ３(k)が目標切換ストレージ量ＳＴＮＨ３ＳＷ(k)に達していないときは、前記ステップＳ３９に進む。すなわち、噴射量切換フラグＦＵＲＥＡＳＷは、「０」である状態でスリップフラグＦＮＨ３ＳＬＩＰが「１」に設定されると、「１」に変更され、「１」である状態で推定ストレージ量ＳＴＮＨ３が目標切換ストレージ量ＳＴＮＨ３ＳＷ以下となったとき「０」に変更される。
【００７６】
ステップＳ４２では、エンジン回転数ＮＥ及びエンジン負荷ＴＲＱに応じて図１１（ｃ）に示すＶＥＸマップを検索し、推定排気体積流量ＶＥＸを算出する。推定排気体積流量ＶＥＸは、１制御周期ＤＴＭＵＣＯＢＤ（例えば１００〜５００ｍｓｅｃ程度に設定される）当たりの体積排気量の推定値である。図１１（ｃ）において所定エンジン負荷ＴＲＱ１，ＴＲＱ２，ＴＲＱ３は、ＴＲＱ１＜ＴＲＱ２＜ＴＲＱ３なる関係を有し、ＶＥＸマップはエンジン回転数ＮＥが増加するほど推定排気体積流量ＶＥＸが増加し、かつエンジン負荷ＴＲＱが増加するほど推定排気体積流量ＶＥＸが増加するように設定されている。
【００７７】
ステップＳ５１（図１０）では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」であるか否かを判別し、その答が否定（ＮＯ）であって通常制御中であるときは、噴射量切換フラグＦＵＲＥＡＳＷ(k)が「１」であるか否かを判別する（ステップＳ５２）。ステップＳ５２の答が肯定（ＹＥＳ）、すなわち尿素水噴射量ＧＵＲＥＡを下側制御値に設定するときは、スイッチング噴射量ＧＵＲＥＡＳＷ(k)を下記式（７）により算出する。式（７）のＧＵＲＥＡＳＷＵＮＤは、ＳＣＲ触媒３のＮＨ３ストレージ量を減少させるために負の値に設定される所定減量補正値であり、単位は重量濃度である。ＤＥＮＥＸは排気密度［ｇ／Ｌ］である。ＫＶＮＳ(k)は、適応係数算出部３４で算出され、尿素濃度の変化に適応するための適応係数である。
ＧＵＲＥＡＳＷ(k)＝ＫＶＮＳ(k)×ＧＵＲＥＡＳＷＵＮＤ×ＶＥＸ(k)×ＤＥＮＥＸ
（７）
【００７８】
ステップＳ５２の答が否定（ＮＯ）、すなわちＦＵＲＥＡＳＷ(k)＝０であって尿素水噴射量ＧＵＲＥＡを上側制御値に設定するときは、スイッチング噴射量ＧＵＲＥＡＳＷ(k)を下記式（８）により算出する。式（８）のＧＵＲＥＡＳＷＯＶＤは、ＳＣＲ触媒３のＮＨ３ストレージ量を増加させるために正の値に設定される所定増量補正値であり、単位は重量濃度である。
ＧＵＲＥＡＳＷ(k)＝ＫＶＮＳ(k)×ＧＵＲＥＡＳＷＯＶＤ×ＶＥＸ(k)×ＤＥＮＥＸ
（８）
【００７９】
一方ステップＳ５１でＦＵＣＯＢＤＭＯＤＥ＝１であって、濃度判定実行中においては、噴射量切換フラグＦＵＲＥＡＳＷ(k)が「１」であるときは下記式（９）により、また噴射量切換フラグＦＵＲＥＡＳＷ(k)が「０」であるときは下記式（１０）により、スイッチング噴射量ＧＵＲＥＡＳＷ(k)を算出する（ステップＳ５５，Ｓ５６，Ｓ５７）。式（９）及び（１０）は、それぞれ式（７）及び（８）の「ＫＶＮＳ(k)」を削除した式である。濃度判定を行うときは、適応係数ＫＶＮＳによる補正を停止する必要があるためである。
ＧＵＲＥＡＳＷ(k)＝ＧＵＲＥＡＳＷＵＮＤ×ＶＥＸ(k)×ＤＥＮＥＸ        （９）
ＧＵＲＥＡＳＷ(k)＝ＧＵＲＥＡＳＷＯＶＤ×ＶＥＸ(k)×ＤＥＮＥＸ        （１０）
【００８０】
図１２は、適応係数算出部３４における演算処理の手順を示すフローチャートである。
ステップＳ６１では、図１３に示すＥＶＮＳ算出処理を実行し、誤差量ＥＶＮＳを算出する。誤差量ＥＶＮＳは、推定ストレージ量ＳＴＮＨ３及び推定ストレージ容量ＳＴＮＨ３ＭＡＸに基づく推定ＮＨ３スリップ発生時期（推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「１」となる時期）と、検出されるＮＨ３スリップ発生時期（スリップフラグＦＮＨ３ＳＬＩＰが「１」となる時期）との差を示すパラメータである。
【００８１】
ステップＳ６２では、ＳＣＲ触媒温度ＴＳＣＲに応じて図１４（ａ）に示すＷＴiテーブル（ｉ＝１〜４）を検索し、触媒温度重み係数ＷＴi(k)を算出する。本実施形態では、ＳＣＲ触媒温度ＴＳＣＲに応じて４つの温度範囲ＲＴ１〜ＲＴ４が設定されており、温度範囲ＲＴ１〜ＲＴ４は、隣り合う範囲が重なり合うように設定されている。触媒温度重み係数ＷＴ1〜ＷＴ4は、それぞれ温度範囲ＲＴ１〜ＲＴ４に対応し、図１４（ａ）に示すように設定されている。例えばＳＣＲ温度ＴＳＣＲが、温度ＴＳＣＲ１であるときの検索結果は、下記のようになる。
ＷＴ1＝ＷＴ１１，ＷＴ2＝ＷＴ２１，ＷＴ3=ＷＴ4＝０
【００８２】
ステップＳ６３では、推定排気体積流量ＶＥＸに応じて図１４（ｂ）に示すＷＶjテーブル（ｊ＝１〜４）を検索し、体積流量重み係数ＷＶj(k)を算出する。本実施形態では、推定排気体積流量ＶＥＸに応じて４つの流量範囲ＲＶ１〜ＲＶ４が設定されており、流量範囲ＲＶ１〜ＲＶ４は、隣り合う範囲が重なり合うように設定されている。体積流量重み係数ＷＶ1〜ＷＶ4は、それぞれ流量範囲ＲＶ１〜ＲＶ４に対応し、図１４（ｂ）に示すように設定されている。例えば推定排気体積流量ＶＥＸが、流量ＶＥＸ１であるときの検索結果は、下記のようになる。
ＷＶ1＝０，ＷＶ2＝ＷＶ２１，ＷＶ3=ＷＶ３１，ＷＶ4＝０
【００８３】
ステップＳ６４では、ＳＣＲ触媒温度ＴＳＣＲ及び推定排気体積流量ＶＥＸで定義される領域ＲＴＶｉｊに対応する領域重み係数Ｗij(k)を、下記式（１１）により算出するとともに、領域ＲＴＶｉｊに対応する重み付け誤差量ＷＥＶＮＳijを下記式（１２）により算出する。
Ｗij(k)＝ＷＴi(k)×ＷＶj(k)                                  （１１）
ＷＥＶＮＳij(k)＝Ｗij(k)×ＥＶＮＳ(k)                        （１２）
【００８４】
領域ＲＴＶｉｊは、図１５に示すようにＳＣＲ触媒温度ＴＳＣＲについて４つの範囲ＲＴ１〜ＲＴ４と、推定排気体積流量ＶＥＸについての４つの範囲ＲＶ１〜ＲＶ４とによって定義される１６個の領域であり、隣り合う領域は重なり合っている。
【００８５】
ステップＳ６５では、重み付け誤差量ＷＥＶＮＳijが「０」となるように、スライディングモード制御アルゴリズムに用いて、補正量Ｕij(k)を算出する。具体的には、下記式（１３）により、切換関数値σijを算出し、式（１４）及び（１５）により、到達則制御入力ＵＲＣＨij及び適応則制御入力ＵＡＤＰijを算出し、式（１６）により、補正量Ｕijを算出する。式（１３）のＰＯＬＥは、制御偏差（ＷＥＶＮＳij）の減衰特性を指定する切換関数設定パラメータであり、「−１」より大きく「０」より小さい値に設定される。式（１４）のＫＲＣＨ及び式（１５）のＫＡＤＰは、それぞれ到達則制御ゲイン及び適応則制御ゲインである。
σij(k)＝ＷＥＶＮＳij(k)＋ＰＯＬＥ×ＷＥＶＮＳij(k-1)                （１３）
ＵＲＣＨij(k)＝ＫＲＣＨ×σij(k)                                    （１４）
ＵＡＤＰij(k)＝ＵＡＤＰij(k-1)＋ＫＡＤＰ×σij(k)                    （１５）
Ｕij(k)＝ＵＲＣＨij(k)＋ＵＡＤＰij(k)  （ｉ＝１〜４，ｊ＝１〜４）    （１６）
【００８６】
ステップＳ６６では、下記式（１７）に領域重み係数Ｗij(k)及び補正量Ｕij(k)に適用し、基本適応係数ＫＶＮＳＢＳ(k)を算出する。
【数１】
2011163164.tif 000003
【００８７】
適応係数ＫＶＮＳは乗算項として噴射量補正に適用される（式（２）、（７）、（８））ので、適応係数ＫＶＮＳの適用開始時点の値、すなわち適応係数ＫＶＮＳの初期値を「１」とするために、式（１７）において「１」が加算されている。なお、式（１７）において「１」を加算することに代えて、適応則制御入力ＵＡＤＰijの初期値を「１」に設定するようにしてもよい。
【００８８】
ステップＳ６７では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)が「１」であるか否かを判別し、この答が肯定（ＹＥＳ）であるときは、適応係数ＫＶＮＳ(k)を「１」に設定する（ステップＳ６８）。ＦＵＣＯＢＤＭＯＤＥ＝０であるときは、適応係数ＫＶＮＳ(k)を基本適応係数ＫＶＮＳＢＳ(k)に設定する（ステップＳ６９）。濃度判定実行中に適応係数ＫＶＮＳによって尿素水噴射量の補正を行うと、濃度判定を正確に行うことができないので、濃度判定実行中は適応係数ＫＶＮＳは「１」に設定される。
【００８９】
なお、ステップＳ６５における補正量Ｕijの算出に適用されるアルゴリズムは、スライディングモード制御アルゴリズムに限るものではなく、ＰＩＤ（比例積分微分）制御アルゴリズム、最適制御アルゴリズム、バックステッピング制御アルゴリズムなど、フィードバック制御アルゴリズムとして公知のものを適用可能である。
【００９０】
図１２の処理によれば、ＳＣＲ触媒温度ＴＳＣＲ及び推定排気体積流量ＶＥＸで定義される１６個の運転領域ＲＴＶij（ｉ＝１〜４，ｊ＝１〜４）に対応して、補正量Ｕijが算出される。例えば図１５に示すように、運転領域ＲＴＶ22に対応して補正量Ｕ22が算出され、運転領域ＲＴＶ33に対応して補正量Ｕ33が算出され、運転領域ＲＴＶ14に対応して補正量Ｕ14が算出される。したがって、尿素濃度の変化によって生じるＮＯｘ浄化率の変化分が運転領域に対応して補償され、ＳＣＲ触媒温度ＴＳＣＲ及びエンジン運転状態（エンジン回転数ＮＥ、エンジン負荷ＴＲＱ）の変化に拘わらず、尿素濃度変化の補償を精度良く行うことができる。
【００９１】
図１３は、図１２のステップＳ６１で実行されるＥＶＮＳ算出処理のフローチャートである。
ステップＳ７１では、前回のスリップフラグＦＮＨ３ＳＬＩＰ(k-1)が「０」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、今回のスリップフラグＦＮＨ３ＳＬＩＰ(k)が「１」であるか否かを判別する（ステップＳ７２）。ステップＳ７１またはＳ７２の答が否定（ＮＯ）であるときは、誤差量ＥＶＮＳ(k)を「０」に設定する（ステップＳ７８）。
【００９２】
ステップＳ７２の答が肯定（ＹＥＳ）、すなわちスリップフラグＦＮＨ３ＳＬＩＰが「０」から「１」に変化したときは、前回の推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k-1)が「１」であるか否かを判別する（ステップＳ７３）。この答が肯定（ＹＥＳ）であるときは、今回の推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)が「１」であるか否かを判別する（ステップＳ７４）。この答が肯定（ＹＥＳ）、すなわちＮＨ３スリップの発生が検出された時点で、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴがすでに「１」となっているときは、噴射された尿素水の尿素濃度ＣＵＲが正常値ＣＵＲ０より低いことを示すので、誤差量ＥＶＮＳ(k)を所定誤差量ＥＶＮＳＳＬＩＰ（＞０）に設定する（ステップＳ７５）。ステップＳ７４の答が否定（ＮＯ）であるときは、前記ステップＳ７８に進む。
【００９３】
一方ステップＳ７３の答が否定（ＮＯ）、すなわちＮＨ３スリップの発生が検出された時点より１制御周期前の時点で、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「０」であるときは、さらに今回の推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)が「１」であるか否かを判別する（ステップＳ７６）。この答が否定（ＮＯ）、すなわちＮＨ３スリップの発生が検出された時点において推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「０」であるときは、尿素濃度ＣＵＲが正常値ＣＵＲ０より高いことを示すので、誤差量ＥＶＮＳ(k)を負の所定誤差量−ＥＶＮＳＳＬＩＰ（＜０）に設定する（ステップＳ７７）。ステップＳ７６の答が肯定（ＹＥＳ）であるときは、前記ステップＳ７８に進む。
【００９４】
したがって、図１２の処理により、基本適応係数ＫＶＮＳＢＳは、尿素濃度ＣＵＲが高くなるほど減少するように算出される。
【００９５】
図１６は、上述した尿素水噴射制御の動作例を示すタイムチャートである。図１６（ａ）〜（ｆ）は、それぞれ噴射量切換フラグＦＵＲＥＡＳＷ、スリップフラグＦＮＨ３ＳＬＩＰ、ＮＨ３センサ出力ＮＨ３ＣＯＮＳ、推定ストレージ量ＳＴＮＨ３、尿素水噴射量ＧＵＲＥＡ、及び濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥの推移を示す。
【００９６】
噴射量切換フラグＦＵＲＥＡＳＷは、スリップフラグＦＮＨ３ＳＬＩＰが「１」に変化する時刻ｔ２１，ｔ２３，ｔ２５で「１」に変化し、推定ストレージ量ＳＴＮＨ３が通常目標切換ストレージ量ＳＴＮＨ３ＮＭに達する時刻ｔ２２，ｔ２６（通常制御時）または濃度判定目標切換ストレージ量ＳＴＮＨ３ＵＣＪＤに達する時刻ｔ２４（濃度判定モード）において「０」に変化する。噴射量切換フラグＦＵＲＥＡＳＷの変化に伴って、スイッチング噴射量ＧＵＲＥＡＳＷの切換が行われ、尿素水噴射量ＧＵＲＥＡがフィードフォワード噴射量ＧＵＲＥＡＦＦを中心としてステップ状に変化するように制御される。
【００９７】
図１７は、濃度判定部３６における演算処理を手順を示すフローチャートである。濃度判定の手法として、以下に説明する五つの手法の何れかを採用することができ、図１７に示す処理は、第１の濃度判定手法に対応するものである。
【００９８】
ステップＳ８１では、図１８に示す実行条件判定処理を実行し、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥの設定を行う。ステップＳ８２では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)が「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、濃度判定モードの開始時点からの経過時間を計測するタイマＴＭＵＣＮＨ３ＳＬＩＰ(k)の値を「０」に設定し（ステップＳ８３）、処理を終了する。
【００９９】
ステップＳ８２の答が肯定（ＹＥＳ）であるときは、タイマＴＭＵＣＮＨ３ＳＬＩＰの値を下記式（２１）により、１制御周期ＤＴＭＵＣＯＢＤだけ増加させる（ステップＳ８４）。
ＴＭＵＣＮＨ３ＳＬＩＰ(k)＝ＴＭＵＣＮＨ３ＳＬＩＰ(k-1)＋ＤＴＭＵＣＯＢＤ
（２１）
【０１００】
ステップＳ８５では、前回の推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k-1)が「０」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、今回の推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)が「１」であるか否かを判別する（ステップＳ８６）。ステップＳ８６の答が肯定（ＹＥＳ）、すなわち推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「０」から「１」に変化したときは、推定スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴ(k)をその時点のタイマ値ＴＭＵＣＮＨ３ＳＬＩＰ(k)に設定し（ステップＳ８７）、ステップＳ９１に進む。
【０１０１】
ステップＳ８５またはＳ８６の答が否定（ＮＯ）であるときは、前回のスリップフラグＦＮＨ３ＳＬＩＰ(k-1)が「０」であるか否かを判別する（ステップＳ８８）。その答が肯定（ＹＥＳ）であるときは今回のスリップフラグＦＮＨ３ＳＬＩＰ(k)が「１」であるか否かを判別する（ステップＳ８９）。ステップＳ８８またはＳ８９の答が否定（ＮＯ）であるときは、処理を終了する。
【０１０２】
ステップＳ８９の答が肯定（ＹＥＳ）、すなわちスリップフラグＦＮＨ３ＳＬＩＰが「０」から「１」に変化したときは、スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰ(k)をその時点のタイマ値ＴＭＵＣＮＨ３ＳＬＩＰ(k)に設定し（ステップＳ９０）、ステップＳ９１に進む。
【０１０３】
ステップＳ９１では、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)及びスリップフラグＦＮＨ３ＳＬＩＰ(k)がともに「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、処理を終了する。ステップＳ９１の答が肯定（ＹＥＳ）であるときは、前記式（１）により、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰを算出する（ステップＳ９２）。尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰは、尿素濃度ＣＵＲが高くなるほど減少する。
【０１０４】
ステップＳ９３では、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰ(k)が高濃度判定閾値ＤＰＲＤＵＣＲＩＣＨ以上であるか否かを判別し、その答が否定（ＮＯ）であるときは、尿素濃度ＣＵＲが許容範囲の上限値より高濃度であると判定し、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨを「１」に設定する（ステップＳ９５）。ステップＳ９３でＤＰＲＤＵＣＮＨ３ＳＬＩＰ(k)≧ＤＰＲＤＵＣＲＩＣＨであるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨを「０」に設定する（ステップＳ９４）。
【０１０５】
ステップＳ９６では、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰ(k)が低濃度判定閾値ＤＰＲＤＵＣＬＥＡＮ以下であるか否かを判別し、その答が否定（ＮＯ）であるときは、尿素濃度ＣＵＲが許容範囲の下限値より低濃度であると判定し、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮを「１」に設定する（ステップＳ９８）。ステップＳ９６でＤＰＲＤＵＣＮＨ３ＳＬＩＰ(k)≦ＤＰＲＤＵＣＬＥＡＮであるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮを「０」に設定する（ステップＳ９７）。
【０１０６】
図１８は、図１７のステップＳ８１で実行される実行条件判定処理のフローチャートである。なお、この処理で設定される濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ及び濃度判定終了フラグＦＵＣＯＢＤＤＯＮＥの初期値は「０」である。
【０１０７】
ステップＳ１０１では、スリップフラグＦＮＨ３ＳＬＩＰ(k)が「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは処理を終了する。ＦＮＨ３ＳＬＩＰ(k)＝１であるときは、ＮＨ３スリップが最初に発生した時点からの経過時間ＴＡＮＨ３ＳＬＩＰが所定待機時間ＴＡＮＨＳＬＩＰＸ（例えば５秒）以上であるか否かを判別する（ステップＳ１０２）。その答が肯定（ＹＥＳ）であるときは、ＳＣＲ触媒温度ＴＳＣＲが所定下限温度ＴＳＣＲＵＣＪＤＬ（例えば２００℃）以上でかつ所定上限温度ＴＳＣＲＵＣＪＤＨ（例えば３００℃）以下であるか否かを判別する（ステップＳ１０３）。その答が肯定（ＹＥＳ）であるときは、濃度判定終了フラグＦＵＣＯＢＤＤＯＮＥ(k)が「０」であるか否かを判別する（ステップＳ１０４）。その答が肯定（ＹＥＳ）であるときは、さらに前回の濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k-1)が「０」であるか否かを判別する（ステップＳ１０５）。
【０１０８】
ステップＳ１０２〜Ｓ１０５の何れかの答が否定（ＮＯ）であるときは、ステップＳ１０７に進み、ステップＳ１０５の答が肯定（ＹＥＳ）であるときは、濃度判定実行条件が成立していると判定し、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)を「１」に設定する（ステップＳ１０６）。
【０１０９】
ステップＳ１０７では、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ(k)が「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、前回の濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k-1)が「１」であるか否かを判別する。ステップＳ１０７またはＳ１０８の答が否定（ＮＯ）であるときは処理を終了し、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)を前回値に維持する。ステップＳ１０８の答が肯定（ＹＥＳ）であるときは、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)を「０」に設定するとともに、濃度判定終了フラグＦＵＣＯＢＤＤＯＮＥ(k)を「１」に設定する。すなわち、濃度判定モード中においてスリップフラグＦＮＨ３ＳＬＩＰ及び推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴがともに「１」となったとき、濃度判定モードが終了する。
【０１１０】
図１９は、図１７の処理による濃度判定処理を説明するためのタイムチャートであり、尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例が示されている。図１９（ａ）は、推定ストレージ量ＳＴＮＨ３（実線）及び実ストレージ量ＮＨ３ＡＣＴ（破線）の推移を示し、図１９（ｂ）及び（ｃ）は、それぞれＮＨ３センサ出力ＮＨ３ＣＯＮＳ、及びタイマＴＭＵＣＮＨ３ＳＬＩＰの値（ストレージ量の低減開始時点からの経過時間）を示し、図１９（ｄ）は、スリップフラグＦＮＨ３ＳＬＩＰ（実線）及び推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴ（破線）の推移を示す。なお、図１７の処理では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」に変化する時点からタイマＴＭＵＣＮＨ３ＳＬＩＰの計測が開始されるが、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」に変化する時点と推定ストレージ量ＳＴＮＨ３が減少を開始する時点との差は無視しうる程度のものである。よって、本明細書中における「ストレージ量低減開始時点」は、「ストレージ量を低減すべく尿素水噴射量の減量を開始した時点」を含むものとする。
【０１１１】
実ストレージ量ＮＨ３ＡＣＴが実ストレージ容量ＮＨ３ＡＣＴＭＡＸに達すると（図１９（ａ）には、実ストレージ容量ＮＨ３ＡＣＴＭＡＸが推定ストレージ容量ＳＴＮＨ３ＭＡＸと等しい例が示されている）、スリップフラグＦＮＨ３ＳＬＩＰが「１」に設定され（時刻ｔ３１）、時刻ｔ３１のタイマ値がスリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰとして計測される。
【０１１２】
一方、推定ストレージ量ＳＴＮＨ３が推定ストレージ容量ＳＴＮＨ３ＭＡＸに達すると、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「１」に設定され（時刻ｔ３２）、時刻ｔ３２のタイマ値が推定スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴとして計測される。したがって、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰは負の値となり、尿素濃度ＣＵＲが正常濃度ＣＵＲ０が高いと判定される。
【０１１３】
図２０は、第２の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図１７のステップＳ８３，Ｓ８４，Ｓ８７，Ｓ９０，Ｓ９２，Ｓ９３，及びＳ９６をそれぞれステップＳ８３ａ，Ｓ８４ａ，Ｓ８７ａ，Ｓ９０ａ，Ｓ９２ａ，Ｓ９３ａ，及びＳ９６ａに変更し、さらにステップＳ８２ａを追加したものである。第１の濃度判定手法では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)が「１」に変化した時点、すなわちストレージ量の低減を開始した時点からタイマＴＭＵＣＮＨ３ＳＬＩＰによる時間計測が開始されるが、第２の濃度判定手法では、濃度判定モードが開始された後に噴射量切換フラグＦＵＲＥＡＳＷ(k)が「０」に変化した時点、すなわちストレージ量の増量を開始した時点からタイマＴＭＵＣＮＨ３ＳＬＩＰａによる時間計測が開始される（図２１（ｃ）参照）。
【０１１４】
ステップＳ８２の答が肯定（ＹＥＳ）であるときは、ステップＳ８２ａに進み、噴射量切換フラグＦＵＲＥＡＳＷ(k)が「０」であるか否かを判別する。この答が否定（ＮＯ）であるときは、タイマＴＭＵＣＮＨ３ＳＬＩＰａ(k)の値を「０」に設定する（ステップＳ８３ａ）。
【０１１５】
ステップＳ８４ａでは、タイマＴＭＵＣＮＨ３ＳＬＩＰａの値を下記式（２１ａ）により増加させる。
ＴＭＵＣＮＨ３ＳＬＩＰａ(k)＝ＴＭＵＣＮＨ３ＳＬＩＰａ(k-1)＋ＤＴＭＵＣＯＢＤ
（２１ａ）
【０１１６】
ステップＳ８７ａでは、推定スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴａ(k)をタイマ値ＴＭＵＣＮＨ３ＳＬＩＰａ(k)に設定し、ステップＳ９０ａでは、スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)をタイマ値ＴＭＵＣＮＨ３ＳＬＩＰａ(k)に設定する。ステップＳ９２ａでは、下記式（１ａ）により、尿素濃度判定値ＤＰＲＵＣＮＨ３ＳＬＩＰａ(k)を算出する。
ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)＝
ＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)−ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴａ(k)
（１ａ）
【０１１７】
ステップＳ９３ａでは、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)が、第２の濃度判定手法用の高濃度判定閾値ＤＰＲＤＵＣＲＩＣＨａ以上であるか否かを判別し、ステップＳ９６ａでは、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)が第２の濃度判定手法用の低濃度判定閾値ＤＰＲＤＵＣＬＥＡＮａ以下であるか否かを判別する。その結果、ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)＜ＤＰＲＤＵＣＲＩＣＨａであるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨが「１」に設定され（ステップＳ９５）、ＤＰＲＤＵＣＮＨ３ＳＬＩＰａ(k)＞ＤＰＲＤＵＣＬＥＡＮａであるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮが「１」に設定される（ステップＳ９８）。
【０１１８】
図２１は、図２０の処理による濃度判定処理を説明するためのタイムチャートであり、図１９と同様に尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例が示されている。図２１（ａ）（ｂ）（ｄ）は、図１９の対応する図と同一であり、図２１（ｃ）にはタイマＴＭＵＣＮＨ３ＳＬＩＰａの値の推移が示されている。時刻ｔ３０は、噴射量切換フラグＦＵＲＥＡＳＷが「１」に変化する時点であり、時刻ｔ３０からタイマＴＭＵＣＮＨ３ＳＬＩＰａによる時間計測が開始される。
【０１１９】
時刻ｔ３１のタイマ値がＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰａとして計測され、時刻ｔ３２のタイマ値が推定スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴａとして計測される。したがって、第１の濃度判定手法と同様に濃度判定を行うことができる。
【０１２０】
図２２は、第３の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図１７のステップＳ８３，Ｓ８４，Ｓ８７，Ｓ９０，Ｓ９２，Ｓ９３，及びＳ９６をそれぞれステップＳ８３ｂ，Ｓ８４ｂ，Ｓ８７ｂ，Ｓ９０ｂ，Ｓ９２ｂ，Ｓ９３ｂ，及びＳ９６ｂに変更したものである。
【０１２１】
第１の濃度判定手法では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)が「１」に変化した時点（ストレージ量の低減を開始した時点）からタイマＴＭＵＣＮＨ３ＳＬＩＰにより計測される経過時間に基づいて濃度判定が行われるが、第３の濃度判定手法では、ストレージ量の低減を開始した時点からスイッチング噴射量ＧＵＲＥＡＳＷ(k)を積算することにより積算値ＳＵＭＵＣＧＵＲＥＡが算出され、積算値ＳＵＭＵＣＧＵＲＥＡに基づいて濃度判定が行われる。
【０１２２】
より具体的には、ストレージ量の低減を開始した時点から積算値ＳＵＭＵＣＧＵＲＥＡの算出を開始し、スリップフラグＦＮＨ３ＳＬＩＰが「１」に変化した時点の積算値ＳＵＭＵＣＧＵＲＥＡを、スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰとして算出するとともに、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「１」に変化した時点の積算値ＳＵＭＵＣＧＵＲＥＡを推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴとして算出する。そして、スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰと推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴの差を尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰとして算出し、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰと、判定閾値ＤＳＵＭＵＣＲＩＣＨ及びＤＳＵＭＵＣＬＥＡＮとの比較結果に応じて、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨ及び低濃度異常フラグＦＵＲＥＡＣＬＥＡＮの設定を行う。
【０１２３】
図２２において、ステップＳ８２の答が否定（ＮＯ）であるときは、ステップＳ８３ｂに進み、積算値ＳＵＭＵＣＧＵＲＥＡ(k)を「０」に設定する。ステップＳ８２の答が肯定（ＹＥＳ）であるときは、ステップＳ８４ｂに進み、下記式（２１ｂ）により積算値ＳＵＭＵＣＧＵＲＥＡ(k)を算出する。
ＳＵＭＵＣＧＵＲＥＡ(k)＝ＳＵＭＵＣＧＵＲＥＡ(k-1)＋ＧＵＲＥＡＳＷ(k)
（２１ｂ）
【０１２４】
ステップＳ８７ｂでは、推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴ(k)を積算値ＳＵＭＵＣＧＵＲＥＡ(k)に設定し、ステップＳ９０ｂでは、スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)を積算値ＳＵＭＵＣＧＵＲＥＡ(k)に設定する。
【０１２５】
ステップＳ９２ｂでは、下記式（１ｂ）により、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)を算出する。
ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)＝
ＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)−ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴ(k)
（１ｂ）
【０１２６】
ステップＳ９３ｂでは、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)が、第３の濃度判定手法用の高濃度判定閾値ＤＳＵＭＵＣＲＩＣＨ以上であるか否かを判別し、ステップＳ９６ｂでは、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)が第３の濃度判定手法用の低濃度判定閾値ＤＳＵＭＵＣＬＥＡＮ以下であるか否かを判別する。その結果、ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)＜ＤＳＵＭＵＣＲＩＣＨであるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨが「１」に設定され（ステップＳ９５）、ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰ(k)＞ＤＳＵＭＵＣＬＥＡＮであるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮが「１」に設定される（ステップＳ９８）。
【０１２７】
図２３は、図２２の処理による濃度判定処理を説明するためのタイムチャートであり、図１９と同様に尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例が示されている。図２３（ａ）（ｂ）（ｄ）は、図１９の対応する図と同一であり、図２３（ｃ）には積算値ＳＵＭＵＣＧＵＲＥＡの推移が示され、図２３（ｅ）には噴射量切換フラグＦＵＲＥＡＳＷの推移が示されている。
【０１２８】
濃度判定モードが開始されると、スイッチング噴射量ＧＵＲＥＡＳＷは負の値に設定されるため、積算値ＳＵＭＵＣＧＵＲＥＡは「０」から減少する。時刻ｔ３０において、噴射量切換フラグＦＵＲＥＡＳＷが「０」に変化すると、以後は積算値ＳＵＭＵＣＧＵＲＥＡは増加する。
【０１２９】
スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰは、時刻ｔ３１の積算値ＳＵＭＵＣＧＵＲＥＡに設定され、推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴは、時刻ｔ３２の積算値ＳＵＭＵＣＧＵＲＥＡに設定される。したがって、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰは負の値となり、尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高いと判定される。
【０１３０】
図２４は、第４の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図２２のステップＳ８３ｂ，Ｓ８４ｂ，Ｓ８７ｂ，Ｓ９０ｂ，Ｓ９２ｂ，Ｓ９３ｂ，及びＳ９６ｂをそれぞれステップＳ８３ｃ，Ｓ８４ｃ，Ｓ８７ｃ，Ｓ９０ｃ，Ｓ９２ｃ，Ｓ９３ｃ，及びＳ９６ｃに変更し、さらにステップＳ８２ｃを追加したものである。
【０１３１】
第３の濃度判定手法では、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥ(k)が「１」に変化した時点から積算値ＳＵＭＵＣＧＵＲＥＡの算出が開始されるが、第４の濃度判定手法は、濃度判定モードが開始された後に噴射量切換フラグＦＵＲＥＡＳＷ(k)が「１」に変化した時点、すなわちストレージ量の増量を開始した時点から積算値ＳＵＭＵＣＧＵＲＥＡａの算出が開始される（図２５（ｃ）参照）。
【０１３２】
図２４において、ステップＳ８２の答が肯定（ＹＥＳ）であるときは、ステップＳ８２ｃに進み、噴射量切換フラグＦＵＲＥＡＳＷ(k)が「０」であるか否かを判別する。この答が否定（ＮＯ）であるときは、ステップＳ８３ｃに進み、積算値ＳＵＭＵＣＧＵＲＥＡａ(k)を「０」に設定する。ステップＳ８２ｃの答が肯定（ＹＥＳ）であるときは、ステップＳ８４ｃに進み、下記式（２１ｃ）により積算値ＳＵＭＵＣＧＵＲＥＡａ(k)を算出する。
ＳＵＭＵＣＧＵＲＥＡａ(k)＝ＳＵＭＵＣＧＵＲＥＡａ(k-1)＋ＧＵＲＥＡＳＷ(k)
（２１ｃ）
【０１３３】
ステップＳ８７ｃでは、推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴａ(k)を積算値ＳＵＭＵＣＧＵＲＥＡａ(k)に設定し、ステップＳ９０ｃでは、スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)を積算値ＳＵＭＵＣＧＵＲＥＡａ(k)に設定する。
【０１３４】
ステップＳ９２ｃでは、下記式（１ｃ）により、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)を算出する。
ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)＝
ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)−ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴａ(k)
（１ｃ）
【０１３５】
ステップＳ９３ｃでは、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)が、第４の濃度判定手法用の高濃度判定閾値ＤＳＵＭＵＣＲＩＣＨａ以上であるか否かを判別し、ステップＳ９６ｃでは、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)が第４の濃度判定手法用の低濃度判定閾値ＤＳＵＭＵＣＬＥＡＮａ以下であるか否かを判別する。その結果、ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)＜ＤＳＵＭＵＣＲＩＣＨａであるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨが「１」に設定され（ステップＳ９５）、ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａ(k)＞ＤＳＵＭＵＣＬＥＡＮａであるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮが「１」に設定される（ステップＳ９８）。
【０１３６】
図２５は、図２４の処理による濃度判定処理を説明するためのタイムチャートであり、図２３と同様に尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例が示されている。図２５（ａ）（ｂ）（ｄ）（ｅ）は、図２３の対応する図と同一であり、図２５（ｃ）には積算値ＳＵＭＵＣＧＵＲＥＡａの推移が示されている。
【０１３７】
時刻ｔ３０において、噴射量切換フラグＦＵＲＥＡＳＷが「０」に変化すると、積算値ＳＵＭＵＣＧＵＲＥＡａの算出が開始される。
スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａは、時刻ｔ３１の積算値ＳＵＭＵＣＧＵＲＥＡａに設定され、推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴａは、時刻ｔ３２の積算値ＳＵＭＵＣＧＵＲＥＡａに設定される。したがって、尿素濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａは負の値となり、尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高いと判定される。
【０１３８】
図２６は、第５の濃度判定手法を適用した濃度判定処理のフローチャートである。第５の濃度判定手法は、基本適応係数ＫＶＮＳＢＳは尿素濃度ＣＵＲが高くなるほど減少することに着目し、基本適応係数ＫＶＮＳＢＳに応じて濃度判定を行うようにしたものである。第５の濃度判定手法による判定は、常時実行することができる。
【０１３９】
ステップＳ１１１では、基本適応係数ＫＶＮＳＢＳ(k)が高濃度係数閾値ＫＶＮＳＯＢＤＲＩＣＨ以上であるか否かを判別し、その答が否定（ＮＯ）であるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨを「１」に設定する（ステップＳ１１３）。ステップＳ１１１でＫＶＮＳＢＳ(k)≧ＫＶＮＳＯＢＤＲＩＣＨであるときは、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨを「０」に設定する（ステップＳ１１２）。
【０１４０】
ステップＳ１１４では、基本適応係数ＫＶＮＳＢＳ(k)が低濃度係数閾値ＫＶＮＳＯＢＤＬＥＡＮ以下であるか否かを判別し、その答が否定（ＮＯ）であるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮを「１」に設定する（ステップＳ１１６）。ステップＳ１１４でＫＶＮＳＢＳ(k)≦ＫＶＮＳＯＢＤＬＥＡＮであるときは、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮを「０」に設定する（ステップＳ１１５）。
【０１４１】
次に図２７〜図３６に示すタイムチャートを参照して、上述した濃度判定手法を適用した代表的な動作例を説明する。
【０１４２】
図２７〜図２９は、新品のＳＣＲ触媒３が搭載された排気系に第１の濃度判定手法を適用した例に対応する。図２７（ａ）〜（ｇ）は、それぞれＮＨ３センサ出力ＮＨ３ＣＯＮＳの推移、推定ストレージ量ＳＴＮＨ３及び実ストレージ量ＮＨ３ＡＣＴの推移、尿素水噴射量ＧＵＲＥＡ（実線）及びスイッチング噴射量ＧＵＲＥＡＳＷ（破線）の推移、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰの推移、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥの推移、及び基本適応係数ＫＶＮＳＢＳ及び適応係数ＫＶＮＳの推移を示す。さらに図２７（ｈ）〜（ｊ）は、それぞれエンジン回転数ＮＥ、エンジン負荷ＴＲＱの推移、及び上流側ＮＯｘ量ＱＮＯｘ１及び下流側ＱＮＯｘ２の推移を示す。上流側ＮＯｘ量ＱＮＯｘ１は、ＳＣＲ触媒３の上流側におけるＮＯｘ量を示し、下流側ＮＯｘ量ＱＮＯｘ２は、ＳＣＲ触媒３の下流側におけるＮＯｘ量を示す。図２８及び図２９には、図２７（ａ）〜（ｇ）に対応する図が示されている。
【０１４３】
図２７は、尿素濃度ＣＵＲが正常濃度ＣＵＲ０である状態に対応し、図２７（ｂ）において推定ストレージ量ＳＴＮＨ３と、実ストレージ量ＮＨ３ＡＣＴとは一致しているため、推定ストレージ量ＳＴＮＨ３のみが実線で示されている。尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰは「０」を維持し、基本適応係数ＫＶＮＳＢＳ及び適応係数ＮＶＮＳは「１．０」を維持する。濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」である期間中（図２７（ｅ）、破線）、濃度判定が行われるが、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨ及び低濃度異常フラグＦＵＲＥＡＣＬＥＡＮはともに「０」を維持する。
【０１４４】
なお図２７（ｈ）及び（ｉ）に示すようにエンジン運転状態は定常運転状態とされ、これは他の図２８〜図３６においても同一である。また図２７（ｊ）により、ＳＣＲ触媒３の下流側においてＮＯｘ量が大幅に減少することが確認される。図２８〜図３６においては、図２７（ｈ）〜（ｊ）に対応する図は省略されている。
【０１４５】
図２８は、尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い状態に対応する。図２８（ｂ）において実ストレージ量ＮＨ３ＡＣＴが細い破線で示されており、当初は基本適応係数ＫＶＮＳＢＳが「１．０」近傍の値であるため（図２８（ｆ））、推定ストレージ量ＳＴＮＨ３（実線）は、実ストレージ量ＮＨ３ＡＣＴより小さくなる。その後徐々に基本適応係数ＫＶＮＳＢＳが減少して、推定ストレージ量ＳＴＮＨ３は、実ストレージ量ＮＨ３ＡＣＴと一致する。時刻ｔ４１において尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰが、高濃度判定閾値ＤＰＲＤＵＣＲＩＣＨより小さくなり、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨ（図２８（ｇ）に実線で示す）が「１」に設定される。
【０１４６】
図２９は、尿素濃度ＣＵＲが正常濃度ＣＵＲ０より低い状態に対応する。当初は基本適応係数ＫＶＮＳＢＳが「１．０」近傍の値であるため（図２９（ｆ））、図２９（ｂ）において、推定ストレージ量ＳＴＮＨ３は、実ストレージ量ＮＨ３ＡＣＴより大きくなる。その後徐々に基本適応係数ＫＶＮＳＢＳが増加して、推定ストレージ量ＳＴＮＨ３は、実ストレージ量ＮＨ３ＡＣＴと一致する。時刻ｔ４１において尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰが、低濃度判定閾値ＤＰＲＤＵＣＬＥＡＮを超え、低濃度異常フラグＦＵＲＥＡＣＬＥＡＮ（図２９（ｇ）に破線で示す）が「１」に設定される。なお、図２９（ｂ）においては、推定ストレージ量ＳＴＮＨ３について上限リミット処理及びＮＨ３スリップ検出時における初期化処理（図８，ステップＳ１３，Ｓ１４，Ｓ２１）を行っていない値の推移が示されている。図３１（ｂ），図３３（ｂ），図３６（ｂ）も同様である。
【０１４７】
図３０及び図３１は、新品のＳＣＲ触媒３が搭載された排気系に第４の濃度判定手法を適用した例に対応し、図３０は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例に対応し、図３１は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より低い例に対応する。これらの図において各パラメータは、図２８及び図２９と同様に推移し、時刻ｔ４１において判定結果が得られる。
【０１４８】
図３２及び図３３は、新品のＳＣＲ触媒３が搭載された排気系に第５の濃度判定手法を適用した例に対応し、図３２は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い例に対応し、図３３は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より低い例に対応する。第５の判定手法では、尿素濃度判定値（ＤＰＲＤＵＣＮＨ３ＳＬＩＰなど）は使用されないため、図３２及び図３３では、濃度判定値の推移を示す図（ｄ）が含まれていない。
【０１４９】
第５の濃度判定手法においては、濃度判定モード中であるか否かに拘わらず判定が実行され、図３２（f)では時刻ｔ５１において基本適応係数ＫＶＮＳＢＳが高濃度係数閾値ＫＶＮＳＯＢＤＲＩＣＨを下回り、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨが「１」に設定される（図３２（ｇ））。一方図３３（f)では時刻ｔ５１において基本適応係数ＫＶＮＳＢＳが低濃度係数閾値ＫＶＮＳＯＢＤＬＥＡＮを超え、低濃度異常フラグＦＵＲＥＡＣＲＩＣＨが「１」に設定される（図３３（ｇ））。
【０１５０】
図３４〜図３６は、劣化したＳＣＲ触媒３が搭載された排気系に第１の濃度判定手法を適用した例に対応する。図３４は尿素濃度ＣＵＲが正常濃度ＣＵＲ０である状態に対応し、図３５は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より高い状態に対応し、図３６は尿素濃度ＣＵＲが正常濃度ＣＵＲ０より低い状態に対応する。
【０１５１】
図３４（ｂ）においては、劣化した実ストレージ容量ＮＨ３ＡＣＴＭＡＸが一点鎖線で示されている。図３４（ｃ）〜図３４（ｇ）に示すパラメータは、対応する図２７（ｃ）〜図２７（ｇ）と同様に推移することが確認される。
【０１５２】
図３５（ｃ）〜図３５（ｇ）に示すパラメータも、対応する図２８（ｃ）〜図２８（ｇ）と同様に推移し、図３６（ｃ）〜図３６（ｇ）に示すパラメータも、対応する図２９（ｃ）〜図２９（ｇ）と同様に推移し、劣化したＳＣＲ触媒が搭載されている場合にも正確な濃度判定が行われる。
【０１５３】
図３７は、上述した尿素水噴射制御及び尿素濃度判定を実行する処理の全体構成を示すフローチャートである。この処理は、ＥＣＵ１０のＣＰＵで例えば５０ｍｓｅｃ周期で実行される。この処理では、上述した第１〜第５の濃度判定手法のいずれか２つを使用して、尿素濃度判定が行われる。
【０１５４】
ステップＳ２０１では、尿素水噴射装置故障フラグＦＵＤＦＡＩＬが「１」であるか否かを判別する。尿素水噴射装置故障フラグＦＵＤＦＡＩＬは、尿素水タンク１２、尿素水ポンプ（図示せず）を含む尿素水噴射装置の故障が検出されたとき「１」に設定される。ステップＳ２０１の答が否定（ＮＯ）であるときは、ＳＣＲ触媒異常劣化フラグＦＳＣＲＮＧが「１」であるか否かを判別する。ＳＣＲ触媒異常劣化フラグＦＳＣＲＮＧは、ＳＣＲ触媒３の異常劣化が検出されたとき「１」に設定される。ステップＳ２０１またはＳ２０２の答が肯定（ＹＥＳ）であるときは、ステップＳ２１８に進み、尿素水噴射量ＧＵＲＥＡを「０」に設定する。
【０１５５】
ステップＳ２０２の答が否定（ＮＯ）であるときは、尿素水タンク空フラグＦＵＶＣＮＴが「１」であるか否かを判別する（ステップＳ２０３）。尿素水タンク空フラグＦＵＶＣＮＴは、尿素水タンク１２内の尿素水量が「０」より若干大きい所定量以下となったとき「１」に設定される。ステップＳ２０３の答が肯定（ＹＥＳ）であるときは、警告表示及び／または警告音の出力を行い（ステップＳ２０４）、ステップＳ２１８に進む。
【０１５６】
ステップＳ２０３の答が否定（ＮＯ）であるときは、酸化触媒暖機完了フラグＦＣＷＵＰが「１」であるか否かを判別する（ステップＳ２０５）。酸化触媒暖機完了フラグＦＣＷＵＰは、エンジン始動後、所定暖機時間経過後に「１」に設定される。ステップＳ２０５の答が肯定（ＹＥＳ）であるときは、センサ正常フラグＦＳＮＳＯＫが「１」であるか否かを判別する（ステップＳ２０６）。センサ正常フラグＦＳＮＳＯＫは、ＮＨ３センサ７及びＳＣＲ触媒温度センサ６がともに正常であるとき「１」に設定される（センサ６及び／またはセンサ７の故障が検出されると「０」に設定される）。
【０１５７】
ステップＳ２０６の答が肯定（ＹＥＳ）であるときは、センサ活性フラグＦＮＨ３ＳＡＣＶが「１」であるか否かを判別する（ステップＳ２０７）。センサ活性フラグＦＮＨ３ＳＡＣＶは、ＮＨ３センサ７が活性化すると「１」に設定される。ステップＳ２０７の答が肯定（ＹＥＳ）であるときは、ＳＣＲ触媒温度ＴＳＣＲが所定活性化温度ＴＳＣＲＡＣＶ（例えば２００℃）より高いか否かを判別する（ステップＳ２０８）。
【０１５８】
ステップＳ２０５〜Ｓ２０８の何れかの答が否定（ＮＯ）であるときは、ステップＳ２１８に進み、ステップＳ２０８の答が肯定（ＹＥＳ）であるときは、濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」であるか否かを判別する（ステップＳ２０９）。この答が肯定（ＹＥＳ）であるときは、例えば第１の濃度判定手法により尿素濃度判定Ａを実行する（ステップＳ２１０）。ステップＳ２０９の答が否定（ＮＯ）であるときは、直ちにステップＳ２１１に進む。尿素濃度判定Ａとしは、第２〜第４の濃度判定手法を採用してもよい。
【０１５９】
ステップＳ２１１では、高濃度異常フラグＦＵＲＥＡＣＲＩＣＨまたは低濃度異常フラグＦＵＲＥＡＣＬＥＡＮが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、警告灯を点灯する（ステップＳ２１６）。その後ステップＳ２１７に進む。
【０１６０】
ステップＳ２１１の答が否定（ＮＯ）、すなわち、両フラグがともに「１」であるときは、例えば第５の判定手法により尿素濃度判定Ｂを実行する（ステップＳ２１２）。尿素濃度判定Ｂでは、第１〜第４の濃度判定手法のうち、ステップＳ２１０における尿素濃度判定Ａで採用されていない手法を採用可能である。だだし、その場合には濃度判定モードフラグＦＵＣＯＢＤＭＯＤＥが「１」であることが実行条件とされる。
【０１６１】
ステップＳ２１３では、ステップＳ２１１と同じ判別を行い、その答が肯定（ＹＥＳ）であるとき前記ステップＳ２１６に進む。
ステップＳ２１３の答が否定（ＮＯ）であるときは、ＳＣＲ触媒３の劣化判定処理（図示せず）を実行する（ステップＳ２１４）。劣化判定処理では、ＳＣＲ触媒３が劣化していると判定されると、触媒劣化フラグＦＳＣＲＡＧＥＤが「１」に設定される。
【０１６２】
ステップＳ２１５では、触媒劣化フラグＦＳＣＲＡＧＥＤが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときはステップＳ２１６に進む。ステップＳ２１５の答が否定（ＮＯ）であるときは、直ちにステップＳ２１７に進み、上述した尿素水噴射制御を実行する。
【０１６３】
以上の説明したように本実施形態では、ＳＣＲ触媒３に貯蔵されている還元剤、すなわち尿素またはアンモニアの量を示すストレージ量ＮＨ３ＡＣＴを、該ストレージ量ＮＨ３ＡＣＴが最大である状態から一時的に低減し、その後スリップフラグＦＮＨ３ＳＬＩＰが「１」となる（ＮＨ３スリップの発生が検出される）までストレージ量ＮＨ３ＡＣＴを増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中におけるＮＨ３スリップの発生状態に応じて、尿素水中の尿素濃度が判定される。したがって、尿素濃度判定のための新たなセンサを用いることなく、かつ尿素水を凍結させることなく、濃度判定を行うことができる。その結果、尿素濃度の変化に起因する還元剤量供給精度の低下を比較的簡単な構成で正確に判定することができる。
【０１６４】
またストレージ量ＮＨ３ＡＣＴの低減量ＤＳＴＵＣＪＤが、劣化したと判定されるべきＳＣＲ触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量ＮＨ３ＡＭＡＸＮＧより小さな値に設定されるので、ＳＣＲ触媒３の劣化状態の影響を受けることなく濃度判定を行うことができる。
【０１６５】
第１の濃度判定手法によれば、ストレージ量ＮＨ３ＡＣＴの低減開始時からＮＨ３スリップ発生時点（図１９，ｔ３１）までの時間を示すＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰと、判定基準値である推定ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴとの差として、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰが算出され、尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰに基づいて濃度判定が行われる。尿素濃度ＣＵＲが高くなるほどＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰが短くなるので、ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰの値と推定ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴとの差に基づいて、尿素濃度を判定することができる。
【０１６６】
推定ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴは、推定ＮＨ３ストレージ量ＳＴＮＨ３及び推定ストレージ容量ＳＴＮＨ３ＭＡＸに応じて算出され、これらのパラメータには、エンジン運転状態（エンジン回転数ＮＥ、エンジン負荷ＴＲＱ）及びＳＣＲ触媒温度ＴＳＣＲが反映されるので（図８，Ｓ１１，Ｓ１２）、濃度判定を実行するときのエンジン運転状態及び／またはＳＣＲ触媒温度ＴＳＣＲの変化に拘わらず、正確な判定を行うことができる。
【０１６７】
また第２の濃度判定手法によれば、ストレージ量ＮＨ３ＡＣＴの増量開始時点（図２１，ｔ３０）からＮＨ３スリップ発生時点（ｔ３１）までの時間を示すＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰａと、判定基準値である推定ＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰＨＡＴａとの差である尿素濃度判定値ＤＰＲＤＵＣＮＨ３ＳＬＩＰに基づいて尿素濃度判定が行われる。ストレージ量ＮＨ３ＡＣＴの増量開始時点を基準とするＮＨ３スリップ検出時間ＰＲＤＵＣＮＨ３ＳＬＩＰａを用いても、第１の濃度判定手法と同様に尿素濃度を判定することができる。
【０１６８】
また第３の濃度判定手法によれば、ストレージ量ＮＨ３ＡＣＴの低減開始時点からＮＨ３スリップ発生時点（図２３，ｔ３１）までのストレージ量の変化量を示すスリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰと、判定基準値である推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴとの差として、濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰが算出され、濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰに基づいて尿素濃度判定が行われる。尿素濃度が高くなるほどスリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰの値が小さくなるので、スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰと推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴとの差に基づいて、尿素濃度を判定することができる。
【０１６９】
また第４の濃度判定手法によれば、ストレージ量ＮＨ３ＡＣＴの増量開始時点（図２５，ｔ３０）からＮＨ３スリップ発生時点（図２５，ｔ３１）までのストレージ量の変化量を示すスリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａと、判定基準値である推定スリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰＨＡＴａとの差として、濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａが算出され、濃度判定値ＤＳＵＭＵＣＧＵＲＥＡＳＬＩＰａに基づいて尿素濃度判定が行われる。ストレージ量ＮＨ３ＡＣＴの増量開始時点を基準とするスリップ検出積算値ＳＵＭＵＣＧＵＲＥＡＳＬＩＰａを用いても、第３の濃度判定手法と同様に尿素濃度を判定することができる。
【０１７０】
また第５の濃度判定手法によれば、基本適応係数ＫＶＮＳＢＳと、所定の係数閾値ＫＶＮＳＯＢＤＲＩＣＨ及びＫＶＮＳＯＢＤＬＥＡＮとを比較することにより、尿素濃度判定が行われる。基本適応係数ＫＶＮＳＢＳは、尿素濃度ＣＵＲが高くなるほど減少するので、基本適応係数ＫＶＮＳＢＳと、所定係数閾値とを比較することにより、尿素濃度判定を常に行うことができる。
【０１７１】
本実施形態では、尿素水が反応剤に相当し、尿素が還元剤に相当し、尿素タンク１２、通路１１、及び尿素水噴射弁５が還元剤供給手段に相当する。またＮＨ３センサ７が還元剤スリップ判定手段の一部を構成し、ＥＣＵ１０が還元剤スリップ判定手段の一部、ストレージ量変更手段、及び精度判定手段を構成する。具体的には、図２のスリップ判定部３２が還元剤スリップ判定手段に相当し、ストレージ量推定部３３及びスイッチング噴射量算出部３５がストレージ量変更手段に相当し、濃度判定部３６が精度判定手段に相当する。
【０１７２】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図８及び図１３に示す処理は、図３８及び図３９に示す処理に代えてもよい。
【０１７３】
図３８は、図８のステップＳ１３及びステップＳ１４を削除し、第１演算パラメータＳＴＮＨ３ＴＥＭＰ１の上限リミット処理を行わないようにしたものである。これにより尿素濃度判定モードでは（ＦＵＣＯＢＤＭＯＤＥ＝１であるときは）、推定ストレージ量ＳＴＮＨ３は推定ストレージ容量ＳＴＮＨ３ＭＡＸを超えて増加可能となる。
【０１７４】
図３９は、図１３のステップＳ７５及びＳ７７をそれぞれステップＳ７５ａ及びＳ７７ａに変えたものである。ステップＳ７５ａ及びＳ７７ａにおける演算は同一であり、下記式（３１）により、誤差量ＥＶＮＳ(k)を算出する。
ＥＶＮＳ(k)＝ＳＴＮＨ３(k)−ＳＴＮＨ３ＭＡＸ(k)          （３１）
【０１７５】
スリップフラグＦＮＨ３ＳＬＩＰが、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴより先に「１」に変化したときは、ステップＳ７７ａが実行される。このとき、推定ストレージ量ＳＴＮＨ３(k)は、推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)より小さいため、式（３１）により算出される誤差量ＥＶＮＳは、負の値となる。一方、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが、スリップフラグＦＮＨ３ＳＬＩＰより先に「１」に変化したときは、ステップＳ７５ａが実行される。このとき、推定ストレージ量ＳＴＮＨ３(k)は推定ストレージ容量ＳＴＮＨ３ＭＡＸ(k)を超えているため、式（３１）により算出される誤差量ＥＶＮＳは、正の値となる。
【０１７６】
図３８及び図３９の処理によれば、ＮＨ３スリップが発生した時点（ＮＨ３スリップフラグＦＮＨ３ＳＬＩＰが「１」に変化した時点）における、推定ストレージ量ＳＴＮＨ３と推定ストレージ容量ＳＴＮＨ３ＭＡＸとの差として誤差量ＥＶＮＳが算出される。したがって、スリップフラグＦＮＨ３ＳＬＩＰが「１」に変化する時期と、推定スリップフラグＦＮＨ３ＳＬＩＰＨＡＴが「１」に変化する時期との時間差（符号を含む）に応じた誤差量ＥＶＮＳが得られるため、基本適応係数ＫＶＮＳＢＳの収束時期を早めることができる。
【０１７７】
また図４０に示すように酸化触媒８は削除してもよく、さらに排気中のＮＯｘ濃度ＮＯｘＣを検出するＮＯｘ濃度センサ９を設け、検出されるＮＯｘ濃度ＮＯｘＣに応じて尿素水の基本噴射量ＧＵＲＥＡＢＳを設定するようにしてもよい。また下流側のＳＣＲ触媒４は、酸化触媒４ａに代えてもよい。
【０１７８】
また上述した実施形態では、尿素水を反応剤として使用しているが、これに限るものではなく、例えば尿素の重合体であるビュレット結合の水溶液を反応剤として使用してもよい。
【０１７９】
また上述した実施形態における尿素水供給装置は、特許文献４に示されるように、アンモニアガス（還元剤）供給装置に代えてもよい。その場合、上述した実施形態における尿素噴射量制御が、アンモニアガス流量制御に相当し、尿素濃度判定手法が、アンモニアガス（還元剤）供給精度判定手法に相当し、「尿素濃度が異常に高い」という判定結果は、「アンモニア供給量が過剰である」という判定結果に相当し、「尿素濃度が異常に低い」という判定結果は、「アンモニア供給量が過少である」という判定結果に相当する。したがって、上述した実施形態の手法を適用することにより、アンモニアガス供給精度の判定を行うことができる。そしてアンモニア供給量が過剰あるいは過少という判定結果が得られたときは、アンモニアガス供給装置の流量センサ、流量制御弁などの作動特性が劣化していると判定することができる。
【０１８０】
また本発明は、リーンバーン運転を行う火花点火型エンジン、あるいはエンジンクランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの排気浄化装置にも適用が可能である。
【符号の説明】
【０１８１】
１  内燃機関
２  排気通路
３  選択還元触媒
５  尿素水噴射弁（還元剤供給手段）
６  ＳＣＲ触媒温度センサ
７  アンモニア濃度センサ（還元剤スリップ判定手段）
１０  電子制御ユニット（還元剤スリップ判定手段、ストレージ量変更手段、精度判定手段）
１２  尿素水タンク（還元剤供給手段）
【図１】
2011163164.tif 000004
【図２】
2011163164.tif 000005
【図３】
2011163164.tif 000006
【図４】
2011163164.tif 000007
【図５】
2011163164.tif 000008
【図６】
2011163164.tif 000009
【図７】
2011163164.tif 000010
【図８】
2011163164.tif 000011
【図９】
2011163164.tif 000012
【図１０】
2011163164.tif 000013
【図１１】
2011163164.tif 000014
【図１２】
2011163164.tif 000015
【図１３】
2011163164.tif 000016
【図１４】
2011163164.tif 000017
【図１５】
2011163164.tif 000018
【図１６】
2011163164.tif 000019
【図１７】
2011163164.tif 000020
【図１８】
2011163164.tif 000021
【図１９】
2011163164.tif 000022
【図２０】
2011163164.tif 000023
【図２１】
2011163164.tif 000024
【図２２】
2011163164.tif 000025
【図２３】
2011163164.tif 000026
【図２４】
2011163164.tif 000027
【図２５】
2011163164.tif 000028
【図２６】
2011163164.tif 000029
【図２７】
2011163164.tif 000030
【図２８】
2011163164.tif 000031
【図２９】
2011163164.tif 000032
【図３０】
2011163164.tif 000033
【図３１】
2011163164.tif 000034
【図３２】
2011163164.tif 000035
【図３３】
2011163164.tif 000036
【図３４】
2011163164.tif 000037
【図３５】
2011163164.tif 000038
【図３６】
2011163164.tif 000039
【図３７】
2011163164.tif 000040
【図３８】
2011163164.tif 000041
【図３９】
2011163164.tif 000042
【図４０】
2011163164.tif 000043
【図４１】
2011163164.tif 000044