(57)【要約】【課題】トルク異常の誤判定抑制と迅速な検知の両立を図ったトルク監視装置を提供する。【解決手段】トルク監視装置は、内燃機関の実トルクの推定値である推定トルクが、内燃機関に要求されている機関要求トルクと乖離したトルク異常状態であるか否かを監視する装置である。このトルク監視装置は、トルク乖離量算出部３４ｂ、不感帯設定部３４ｃおよび演算部Ｂ１６による計数値設定部と、トルク乖離量積算部３４ｄ（積算部）と、トルク異常判定部３４ｅ（異常判定部）とを備える。計数値設定部は、推定トルクと機関要求トルクとの乖離量が大きいほど、計数値を大きい値に設定する。トルク乖離量積算部３４ｄは、計数値を積算した値である積算値を算出する。トルク異常判定部３４ｅは、積算値が所定の異常判定閾値以上になった場合に、トルク異常状態であると判定する。【選択図】図５
2019027394.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の実トルクの推定値である推定トルクが、前記内燃機関に要求されている機関要求トルクと乖離したトルク異常状態であるか否かを監視するトルク監視装置において、
前記推定トルクと前記機関要求トルクとの乖離量が大きいほど、計数値を大きい値に設定する計数値設定部（３４ａ、３４ｂ、３４ｃ、Ｂ１６）と、
前記計数値を積算した値である積算値を算出する積算部（３４ｄ）と、
前記積算値が所定の異常判定閾値以上になった場合に、前記トルク異常状態であると判定する異常判定部（３４ｅ）と、
を備えるトルク監視装置。
【請求項２】
前記計数値設定部は、前記計数値が予め設定された上限ガード値を超えて大きくならないように前記計数値を設定する請求項１に記載のトルク監視装置。
【請求項３】
前記上限ガード値は、前記内燃機関の運転状態に応じて可変設定される請求項２に記載のトルク監視装置。
【請求項４】
前記積算部は、前記乖離量が予め設定された不感帯の範囲内である場合の前記計数値については、前記積算を制限する請求項１〜３のいずれか１つに記載のトルク監視装置。
【請求項５】
前記不感帯は、前記内燃機関を駆動源として走行する車両の運転状態、または前記内燃機関の運転状態に応じて可変設定される請求項４に記載のトルク監視装置。
【請求項６】
前記車両には、前記内燃機関の出力軸の回転速度を所望の回転速度に変換して出力する変速機が備えられており、
前記変速機への入力に対する出力の変速比が小さいほど、或いは、前記車両の走行速度が速いほど、前記不感帯は広い範囲に設定される請求項５に記載のトルク監視装置。
【請求項７】
前記異常判定閾値は、前記内燃機関を駆動源として走行する車両の運転状態、または前記内燃機関の運転状態に応じて可変設定される請求項１〜６のいずれか１つに記載のトルク監視装置。
【請求項８】
前記車両には、前記内燃機関の出力軸の回転速度を所望の回転速度に変換して出力する変速機が備えられており、
前記変速機への入力に対する出力の変速比が小さいほど、或いは、前記車両の走行速度が速いほど、前記異常判定閾値は大きい値に設定される請求項７に記載のトルク監視装置。
【請求項９】
制御用記憶領域（２０ｍ）を用いて演算する演算装置であって、ユーザが要求する前記内燃機関の駆動トルクであるユーザ要求トルクに応じて、前記内燃機関の燃焼状態を制御する制御量の目標値である目標制御量を演算する制御用演算装置（２０）と、
前記制御用記憶領域とは別の監視用記憶領域（３０ｍ）を用いて演算する演算装置であって、前記計数値設定部、前記積算部および前記異常判定部を有する監視用演算装置（３０）と、
を備える請求項１〜８のいずれか１つに記載のトルク監視装置。
【請求項１０】
前記監視用演算装置の演算周期は、前記制御用演算装置の演算周期より長い請求項９に記載のトルク監視装置。
【請求項１１】
前記監視用演算装置は、前記監視用演算装置の外部から取得したデータが正常であることをチェックする入力保障部（３１）を有する請求項９または１０に記載のトルク監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書における開示は、内燃機関のトルク異常を監視するトルク監視装置、および内燃機関制御システムに関する。
【背景技術】
【０００２】
特許文献１には、内燃機関の実トルクが、内燃機関に要求されている機関要求トルクと乖離したトルク異常状態であるか否かを監視するトルク監視装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１９６７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、本発明者は、上述した実トルクと機関要求トルクとの乖離量が所定量以上になった状態が、所定の時間（判定時間）以上継続した場合に、トルク異常であると判定することを検討した。しかしながら、判定時間を短く設定すると、ノイズ等の原因により一時的に乖離量が大きくなった場合にもトルク異常であると判定するおそれがある。一方、判定時間を長く設定すると、トルク異常を迅速に検知できなくなる。
【０００５】
この開示の目的は、トルク異常の誤判定抑制と迅速な検知の両立を図ったトルク監視装置を提供することである。
【課題を解決するための手段】
【０００６】
ここに開示されたトルク監視装置は、
内燃機関の実トルクの推定値である推定トルクが、内燃機関に要求されている機関要求トルクと乖離したトルク異常状態であるか否かを監視するトルク監視装置において、
推定トルクと機関要求トルクとの乖離量が大きいほど、計数値を大きい値に設定する計数値設定部（３４ａ、３４ｂ、３４ｃ、Ｂ１６）と、
計数値を積算した値である積算値を算出する積算部（３４ｄ）と、
積算値が所定の異常判定閾値以上になった場合に、トルク異常状態であると判定する異常判定部（３４ｅ）と、を備える。
【０００７】
ここに開示されたトルク監視装置によると、推定トルクと機関要求トルクとの乖離量が大きいほど計数値を大きい値に設定し、その計数値を積算した値が所定の異常判定閾値を超えた場合にトルク異常状態であると判定する。そのため、乖離量が大きいほどトルク異常状態と判定されやすくなり、トルク異常を迅速に検知できるようになり、それでいて、乖離量が小さいほどトルク異常状態と判定されにくくなり、ノイズ等の原因によりトルク異常と誤判定されるおそれを低減できる。
【０００８】
この明細書における開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る内燃機関制御システムのブロック図。
【図２】図１に示す制御モジュールのブロック図。
【図３】図１に示す監視モジュールのブロック図。
【図４】第１実施形態においてトルク監視制御の手順を示すフローチャート。
【図５】図３のトルク比較異常判定部の詳細を示すブロック図。
【図６】図５の不感帯設定に用いる、不感帯とギア段との関係を示すマップ。
【図７】ギア段と走行加速度との関係を示す特性図。
【図８】図５の不感帯設定に用いる、不感帯と車速との関係を示すマップ。
【図９】図５の不感帯設定に用いる、不感帯と機関要求トルクとの関係を示すマップ。
【図１０】図５の異常判定閾値の設定に用いる、異常判定閾値とギア段との関係を示すマップ。
【図１１】図５の異常判定閾値の設定に用いる、異常判定閾値と車速との関係を示すマップ。
【図１２】図４に示すトルク異常判定の処理手順を示すフローチャート。
【図１３】第１実施形態において、内燃機関の運転状態の推移に対する、制御モジュールおよび監視モジュールの演算結果の推移を示すタイムチャート。
【図１４】第１実施形態による作用効果を説明するタイムチャート。
【発明を実施するための形態】
【００１０】
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的におよび／または構造的に対応する部分および／または関連付けられる部分には同一の参照符号、または百以上の位が異なる参照符号が付される場合がある。対応する部分および／または関連付けられる部分については、他の実施形態の説明を参照することができる。
【００１１】
（第１実施形態）
図１は、車両に搭載された電子制御装置（Electronic Control Unit）であって、車両に搭載された内燃機関の作動を制御するＥＣＵ１０を示す。上記車両は、内燃機関を駆動源として走行する。なお、本実施形態に係る内燃機関は点火着火式のガソリンエンジンであるが、自着火式のディーゼルエンジンであってもよい。また、上記車両には、内燃機関の出力軸の回転速度を所望の回転速度に変換して出力する変速機が備えられている。
【００１２】
ＥＣＵ１０は、ＭＣＵ１１(Micro Controller Unit)、点火駆動ＩＣ１２、燃料噴射弁駆動ＩＣ１３、電スロ駆動ＩＣ１４、通信回路１５および統合ＩＣ１６を備える。
【００１３】
ＭＣＵ１１は、演算処理装置であるＣＰＵ１１ａと、記憶媒体であるメモリ１１ｍと、入力処理回路１１ｃと、通信回路１１ｄと、ＣＰＵチェック回路１１ｅと、を備える。図１に示す例では、ＭＣＵ１１は１つの半導体チップ上に、ＣＰＵ１１ａ、メモリ１１ｍ、入力処理回路１１ｃ、通信回路１１ｄおよびＣＰＵチェック回路１１ｅが集積されているが、複数の半導体チップに分散して集積させてもよい。また、複数の半導体チップに分散して集積させた場合、共通の基板に複数の半導体チップを実装させてもよいし、複数の基板の各々に半導体チップを実装させてもよい。さらに、共通した１つの筐体に各々の半導体チップを収容させてもよいし、別々の筐体に収容させてもよい。
【００１４】
メモリ１１ｍは、プログラムおよびデータを記憶する記憶媒体であり、ＣＰＵ１１ａによって読み取り可能なプログラムを非一時的に格納する非遷移的実体的記憶媒体を含む。記憶媒体は、半導体メモリまたは磁気ディスクなどによって提供されうる。メモリ１１ｍに記憶されたプログラムは、ＣＰＵ１１ａによって実行されることによって、ＥＣＵ１０をこの明細書に記載される装置として機能させ、この明細書に記載される方法を実行するように制御装置を機能させる。
【００１５】
制御装置が提供する手段および／または機能は、実体的な記憶媒体に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、制御装置がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、またはアナログ回路によって提供することができる。
【００１６】
ＭＣＵ１１には、エンジン回転数、アクセル開度、インマニ圧、排気圧、水温、油温、外部ＥＣＵから出力された外部信号等の各種信号が入力される。これらの信号は、ＥＣＵ１０の外部から入力処理回路１１ｃまたは通信回路１１ｄへ入力される。
【００１７】
エンジン回転数の信号は、クランク角センサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、内燃機関のクランク軸（出力軸）の単位時間当りの回転数、つまり出力軸の回転速度を演算する。アクセル開度の信号は、アクセルペダルセンサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、車両の運転者つまり内燃機関のユーザが操作したアクセルペダルの踏込量を演算する。
【００１８】
インマニ圧の信号は、吸気圧センサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、燃焼室へ吸入される吸気の圧力を演算する。排気圧の信号は、排気圧センサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、燃焼室から排出される排気の圧力を演算する。水温の信号は、水温センサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、内燃機関を冷却する水の温度を演算する。油温の信号は、油温センサの検出値を表す信号であり、この検出値に基づきＭＣＵ１１は、内燃機関の潤滑油や油圧アクチュエータの作動油の温度を演算する。
【００１９】
外部ＥＣＵから出力された外部信号の具体例としては、内燃機関の出力軸を駆動源とする補機の作動状態を表す信号が挙げられる。上記補機の具体例としては、車室内を空調する空調装置が有する冷媒圧縮機であって、内燃機関の出力軸を駆動源とするコンプレッサが挙げられる。
【００２０】
点火駆動ＩＣ１２は、内燃機関が備える点火装置への電力供給と遮断を制御するスイッチング素子を有し、このスイッチング素子への指令信号をＭＣＵ１１は出力する。具体的には、ＭＣＵ１１は、先述したエンジン回転数等の各種信号に基づき、点火装置で放電点火させる時期の目標値である目標点火時期を演算し、演算した目標点火時期に応じて指令信号を点火駆動ＩＣ１２へ出力する。
【００２１】
燃料噴射弁駆動ＩＣ１３は、内燃機関が備える燃料噴射弁への電力供給と遮断を制御するスイッチング素子を有し、このスイッチング素子への指令信号をＭＣＵ１１は出力する。具体的には、ＭＣＵ１１は、先述したエンジン回転数等の各種信号に基づき、燃料噴射弁で燃料噴射させる期間（つまり噴射量）の目標値である目標噴射量を演算し、演算した目標噴射量に応じて指令信号を燃料噴射弁駆動ＩＣ１３へ出力する。
【００２２】
電スロ駆動ＩＣ１４は、内燃機関が備える電子スロットルバルブ（電スロ）への電力供給と遮断を制御するスイッチング素子を有し、このスイッチング素子への指令信号をＭＣＵ１１は出力する。具体的には、ＭＣＵ１１は、先述したエンジン回転数等の各種信号に基づき、電スロのバルブ開度の目標値である目標開度を演算し、演算した目標開度に応じて指令信号を電スロ駆動ＩＣ１４へ出力する。
【００２３】
このように、点火装置、燃料噴射弁および電スロの作動をＥＣＵ１０が制御することで、内燃機関の燃焼状態は制御される。そして、ＭＣＵ１１により演算される目標点火時期、目標噴射量および目標開度は、内燃機関の燃焼状態を制御する制御量の目標値である目標制御量に相当する。
【００２４】
通信回路１５は、ＭＣＵ１１が把握している各種情報を外部ＥＣＵへ出力する。例えば、後述するトルク異常状態等の異常が生じている旨を表す異常フラグの信号を、車両運転者が視認する表示装置の作動を制御する表示ＥＣＵへ出力する。表示ＥＣＵは、異常フラグの信号を取得した場合に警告表示や警告音を生じさせる。
【００２５】
統合ＩＣ１６は、図示しないメモリ、およびメモリに記憶されている各種のプログラムを実行するＣＰＵ等を備える。ＣＰＵが実行するプログラムに応じて、統合ＩＣ１６は、マイコン監視部１６ａとして機能したり、電スロカット制御部１６ｂとして機能したりする。
【００２６】
ここで、ＣＰＵチェック回路１１ｅは、メモリ１１ｍに記憶されているプログラムおよびデータが正常であるかのチェック（例えばパリティチェック）を実行する等、ＣＰＵ１１ａおよびメモリ１１ｍが正常であるか否かをチェックする。マイコン監視部１６ａは、ＣＰＵチェック回路１１ｅのチェック結果を参照しつつ、ＭＣＵ１１の作動不良を監視する。
【００２７】
統合ＩＣ１６は、マイコン監視部１６ａが異常を検出した場合には、電スロの作動を制限するといった電スロカットの制御を実行する。例えば、アクセル開度に拘らず、予め設定しておいた所定開度に目標開度を固定して、内燃機関の出力が所定出力未満となるように制限する。あるいは、目標開度をゼロにして内燃機関を強制的に停止させる。電スロカット制御部１６ｂは、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力する。電スロ駆動ＩＣ１４は、ＭＣＵ１１から出力される指令信号よりも電スロカット指令信号を優先して作動する。
【００２８】
ＭＣＵ１１は、制御モジュール２０および監視モジュール３０を有する。これらのモジュールは、いずれについても、共通するＣＰＵ１１ａおよびメモリ１１ｍにより提供される機能である。すなわち、メモリ１１ｍの制御用記憶領域２０ｍに記憶された制御プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａおよびメモリ１１ｍは、制御モジュール２０として機能する。
【００２９】
また、メモリ１１ｍの監視用記憶領域３０ｍに記憶された監視プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａおよびメモリ１１ｍは、監視モジュール３０として機能する。制御用記憶領域２０ｍおよび監視用記憶領域３０ｍは、メモリ１１ｍの記憶領域のうち異なる領域に、別々に設定されている。
【００３０】
制御モジュール２０は、ユーザが要求する内燃機関の駆動トルクであるユーザ要求トルクに応じて、先述した各種の目標制御量を演算する「制御用演算装置」を提供する。監視モジュール３０は、内燃機関の実トルクの推定値である推定トルクが、内燃機関に要求されている機関要求トルクに対して所定以上乖離したトルク異常状態であるか否かを監視する「監視用演算装置」を提供する。ＥＣＵ１０は、制御用演算装置および監視用演算装置を備える「トルク監視装置」を提供する。
【００３１】
＜１＞制御モジュール２０の説明
制御モジュール２０は、機関要求トルク算出部２１および駆動信号出力部２２としての機能を有する。機関要求トルク算出部２１は、入力処理回路１１ｃおよび通信回路１１ｄから取得した各種信号に基づき、内燃機関に要求するべきトルクである機関要求トルクを算出する。駆動信号出力部２２は、機関要求トルク算出部２１で算出された機関要求トルクに応じて、先述した目標点火時期、目標噴射量、および目標開度等の目標制御量を演算する。さらに駆動信号出力部２２は、演算された目標制御量に応じて、点火駆動ＩＣ１２、燃料噴射弁駆動ＩＣ１３および電スロ駆動ＩＣ１４等のアクチュエータへ、各種の指令信号を出力する。
【００３２】
図２を用いてより詳細に説明すると、機関要求トルク算出部２１は、ユーザ要求トルク算出部２１ａ、ポンプロス算出部２１ｂ、フリクションロス算出部２１ｃ、トルク効率算出部２１ｄおよび演算部Ｂ１〜Ｂ６としての機能を有する。
【００３３】
＜１−１＞ユーザ要求トルクの説明
ユーザ要求トルク算出部２１ａは、先述したエンジン回転数およびアクセル開度に基づきユーザ要求トルクを算出する。エンジン回転数が高回転数であるほど、また、アクセル開度が大きいほど、ユーザ要求トルクは大きい値に算出される。例えば、エンジン回転数およびアクセル開度とユーザ要求トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、エンジン回転数およびアクセル開度に応じたユーザ要求トルクをユーザ要求トルク算出部２１ａは算出する。
【００３４】
＜１−２＞ロストルクの説明
ポンプロス算出部２１ｂは、先述したインマニ圧および排気圧に基づき、ポンプロスをトルク換算した値であるポンプロストルクを算出する。ポンプロスとは、内燃機関のピストンが往復動する際に吸排気から受ける抵抗によるエネルギ損失のことである。インマニ圧が低いほど、ピストンの吸気行程での吸気抵抗が大きいとみなしてポンプロスは大きい値に設定される。また、排気圧が高いほど、ピストンの排気行程での排気抵抗が大きいとみなしてポンプロスは大きい値に設定される。例えば、インマニ圧および排気圧とポンプロスとの相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、インマニ圧および排気圧に応じたポンプロスをポンプロス算出部２１ｂは算出する。
【００３５】
フリクションロス算出部２１ｃは、先述した水温および油温に基づき、フリクションロスをトルク換算した値であるフリクションロストルクを算出する。フリクションロスとは、内燃機関のピストンが往復動する際のシリンダとの摩擦による機械エネルギロスのことである。水温が適正範囲から外れて低温または高温になっているほど、摩擦が大きいとみなしてフリクションロスは大きい値に設定される。また、油温が低いほど潤滑油等の粘性が大きいとみなしてフリクションロスは大きい値に設定される。例えば、水温および油温とフリクションロスとの相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、水温および油温に応じたフリクションロスをフリクションロス算出部２１ｃは算出する。
【００３６】
演算部Ｂ１は、ポンプロス算出部２１ｂにより算出されたポンプロス、フリクションロス算出部２１ｃにより算出されたフリクションロス、およびロストルク学習値を加算して、総ロストルクを演算する。演算部Ｂ２は、ユーザ要求トルク算出部２１ａにより算出されたユーザ要求トルク、演算部Ｂ１により演算された総ロストルク、および外部要求トルクを加算して、ロス込みトルクを演算する。外部要求トルクの具体例としては、車載バッテリへの充電を目的として、内燃機関で駆動する発電機による発電量を増大させるといった、発電増大分のトルクが挙げられる。
【００３７】
＜１−３＞リザーブの説明
演算部Ｂ３は、アイドルリザーブ、触媒暖機リザーブおよび補機リザーブの各々に相当するトルクを加算してリザーブトルクを演算する。これら各々のリザーブトルクは、エンジン回転数、エンジン負荷および水温等の内燃機関の運転状態に応じて、制御モジュール２０により設定される。演算部Ｂ４は、演算部Ｂ２により演算されたロス込みトルクに、演算部Ｂ３により演算されたリザーブトルクを加算して、リザーブ込みトルクを演算する。
【００３８】
アイドルリザーブトルクとは、内燃機関のアイドル運転時にトルクアップさせて燃焼を安定化させる制御を実施するにあたり、そのトルクアップ分に相当するトルクのことである。触媒暖機リザーブトルクとは、内燃機関の排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御を実施するにあたり、排気温度を上昇させることに用いる燃焼エネルギのロス分をトルクに換算した値のことである。補機リザーブトルクとは、内燃機関を駆動源とする発電機等の補機を駆動させるのに要するトルクのことである。
【００３９】
＜１−４＞トルク効率の説明
トルク効率算出部２１ｄは、最大トルク発生点火時期（ＭＢＴ点火時期）、ノック学習込みベース遅角量および目標ラムダに基づき、トルク効率を算出する。ＭＢＴ点火時期とは、最大トルクが得られる点火時期のことであり、エンジン回転数やエンジン負荷、水温等に応じて異なる時期となる。但し、ＭＢＴ点火時期ではノッキングが生じやすいので、ＭＢＴ点火時期よりも所定時間遅い時期、つまり所定角度遅角させた時期で点火させることが要求される。その遅角させた時期をベース点火時期と呼ぶ。その遅角量（ベース遅角量）は、エンジン回転数やエンジン負荷、水温等に応じて異なる。
【００４０】
また、ノッキングがセンサで検出された場合には、点火時期を所定時間だけ遅角させるように補正するフィードバック制御を実行しており、その遅角補正量（ノック学習量）を次回以降の点火時期制御に反映させる学習制御をノック学習と呼ぶ。そして、ベース点火時期にノック学習量を反映させた時期が目標点火時期に相当する。
【００４１】
演算部Ｂ５は、ＭＢＴ点火時期から目標点火時期を減算して得られた時期を、ＭＢＴ点火時期に対する目標点火時期の遅角量であるＭＢＴ遅角量として演算する。トルク効率算出部２１ｄは、演算部Ｂ５により演算されたＭＢＴ遅角量および目標ラムダに基づき、トルク効率を算出する。
【００４２】
トルク効率とは、燃焼室での燃焼エネルギのうち、クランク軸の回転トルクに変換される分のエネルギの割合のことである。ＭＢＴ遅角量が小さいほど、つまり目標点火時期がＭＢＴ点火時期に近いほど、トルク効率は高い値に算出される。目標ラムダとは、燃焼室で燃焼する混合気に含まれる、空気と燃料の比率（ラムダ）の目標値のことであり、トルク効率算出部２１ｄは、目標ラムダに応じた値にトルク効率を算出する。例えば、ＭＢＴ遅角量および目標ラムダとトルク効率との相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、ＭＢＴ遅角量および目標ラムダに応じたトルク効率をトルク効率算出部２１ｄは算出する。
【００４３】
なお、上述したＭＢＴ点火時期、ベース点火時期および目標ラムダの各々は、エンジン回転数、エンジン負荷および水温等の内燃機関の運転状態に応じて、制御モジュール２０により設定される。
【００４４】
また、上記ノック学習に係る学習制御は制御モジュール２０により実行される。本実施形態に係るＥＣＵ１０は、点火駆動ＩＣから出力される駆動電流または電圧を検出する検出回路を備えている。そして、その検出回路による検出値を用いて、制御モジュール２０は機関要求トルクを演算している。具体的には、上記検出値に基づき実点火時期を算出し、その実点火時期を用いてノック学習に係る学習制御を実行し、ノック学習量を算出している。
【００４５】
＜１−５＞制御用機関要求トルクの説明
演算部Ｂ６は、演算部Ｂ４により演算されたリザーブ込みトルクに、トルク効率算出部２１ｄにより算出されたトルク効率を除算して、エンジン制御に用いる制御用の機関要求トルクを演算する。要するに、総ロストルクおよびリザーブトルクをユーザ要求トルクに加算した値を、トルク効率で除算することで、機関要求トルク算出部２１は機関要求トルクを算出する。
【００４６】
＜２＞監視モジュール３０の説明
監視モジュール３０は、推定トルクが機関要求トルクに対して所定以上乖離したトルク異常状態であるか否かを監視するものであることは先述した通りであり、推定トルクとは、内燃機関の実トルクを推定した値のことである。機関要求トルクとは、内燃機関に要求されているトルクのことであり、制御モジュール２０の機関要求トルク算出部２１により算出される機関要求トルクと同義である。但し、監視モジュール３０で算出される機関要求トルクは、トルク異常の監視に用いられる値であり、制御モジュール２０で算出される機関要求トルクは、内燃機関に対する目標制御量の算出に用いられる値である。つまり、これら監視用の機関要求トルクと制御用の機関要求トルクは、メモリ１１ｍの記憶領域のうち異なる領域で演算された値である。
【００４７】
図１に示すように、監視モジュール３０は、入力保障部３１、機関要求トルク演算部３２、推定トルク演算部３３、トルク比較異常判定部３４および電スロカット制御部３５としての機能を有する。
【００４８】
入力保障部３１は、入力処理回路１１ｃおよび通信回路１１ｄから取得した各種信号のデータが正常であることをチェック（例えばパリティチェック）する。異常であれば、データ修復、データ再取得、データ廃棄等を入力保障部３１は実行する。これにより、監視モジュール３０が異常データを用いて各種の算出を行うことを回避できる。つまり、入力保障部３１は、監視モジュール３０による算出に用いられる各種データが正常であることを保障する。
【００４９】
トルク比較異常判定部３４は、機関要求トルク演算部３２により算出された期間要求トルクと、推定トルク演算部３３により算出された推定トルクとの差分を算出し、その差分が所定以上であれば、上述したトルク異常状態であると判定する。この異常判定の詳細については、図５および図１２を用いて後述する。トルク異常状態であると判定された場合、電スロカット制御部３５は、電スロカット制御部１６ｂと同様にして、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力する。
【００５０】
＜２−１＞監視用機関要求トルクの説明
図３に示すように、機関要求トルク演算部３２は、触媒暖機要求トルク算出部３２ａ、アイドル要求トルク算出部３２ｂおよび演算部Ｂ１１としての機能を有する。
【００５１】
触媒暖機要求トルク算出部３２ａは、触媒暖機目標回転数および先述したアクセル開度に基づき、触媒暖機要求トルクを算出する。内燃機関の排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御については先述した通りであり、暖機制御を実行している期間におけるエンジン回転数の目標値が触媒暖機目標回転数である。そして、触媒暖機要求トルク算出部３２ａは、暖機制御を実行している期間におけるアクセル開度および触媒暖機目標回転数に基づき、触媒暖機要求トルクを算出する。
【００５２】
触媒暖機要求トルクとは、触媒暖機リザーブトルクと同義である。但し、監視モジュール３０で算出される触媒暖機要求トルクは、トルク異常の監視に用いられる値であり、制御モジュール２０で算出される触媒暖機リザーブトルクは、内燃機関に対する目標制御量の算出に用いられる値である。つまり、これら監視用の触媒暖機要求トルクと制御用の触媒暖機リザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域で演算された値である。
【００５３】
図３では、触媒暖機要求トルクの算出に用いる変数の例示として触媒暖機目標回転数およびアクセル開度を記載しているが、他の変数として、水温、ユーザ要求トルク、エンジン回転数および吸気充填効率が挙げられる。吸気充填効率とは、スロットルバルブを通過した吸気の流量に対する、燃焼室で圧縮される吸気の流量の比率のことである。触媒暖機要求トルク算出部３２ａは、これらの変数の少なくとも１つを用いて触媒暖機要求トルクを算出する。
【００５４】
例えば、アクセルペダルが踏み込まれていない時の触媒暖機目標回転数が大きいほど、触媒暖機要求トルク（リザーブ量）を大きく算出する。また、アクセルペダルが踏み込まれている時のアクセル開度が所定未満であれば触媒暖機要求トルクを所定値に設定し、所定以上であればゼロに設定する。また、水温やエンジン回転数に応じて触媒暖機要求トルクを増減させてもよいし、充填効率に応じて触媒暖機要求トルクを増減させてもよい。
【００５５】
アイドル要求トルク算出部３２ｂは、アイドル目標回転数および先述したエンジン回転数に基づき、アイドル要求トルクを算出する。内燃機関のアイドル運転時にトルクアップさせて燃焼を安定化させるアイドル制御については先述した通りであり、このアイドル制御を実行している期間におけるエンジン回転数の目標値がアイドル目標回転数である。そして、アイドル要求トルク算出部３２ｂは、アイドル制御を実行している期間におけるエンジン回転数およびアイドル目標回転数に基づき、アイドル要求トルクを算出する。
【００５６】
アイドル要求トルクとは、アイドルリザーブトルクと同義である。但し、監視モジュール３０で算出されるアイドル要求トルクは、トルク異常の監視に用いられる値であり、制御モジュール２０で算出されるアイドルリザーブトルクは、内燃機関に対する目標制御量の算出に用いられる値である。つまり、これら監視用のアイドル要求トルクと制御用のアイドルリザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域で演算された値である。
【００５７】
図３では、アイドル要求トルクの算出に用いる変数の例示としてアイドル目標回転数およびエンジン回転数を記載しているが、他の変数として、水温、車速、大気圧および吸気充填効率が挙げられる。アイドル要求トルク算出部３２ｂは、これらの変数の少なくとも１つを用いてアイドル要求トルクを算出する。
【００５８】
例えば、アクセルペダルが踏み込まれていない時の目標回転数とエンジン回転数との差分が小さいほど、アイドル要求トルク（リザーブ量）を大きく算出する。また、アクセルペダルが踏み込まれている時のアクセル開度が小さいほど、アイドル要求トルクを大きく算出する。また、水温やエンジン回転数に応じてアイドル要求トルクを増減させてもよいし、充填効率に応じてアイドル要求トルクを増減させてもよい。
【００５９】
演算部Ｂ１１は、触媒暖機要求トルク算出部３２ａおよびアイドル要求トルク算出部３２ｂで算出された触媒暖機要求トルクおよびアイドル要求トルクと、ユーザ要求トルクと、外部要求トルクとを加算して、内燃機関に要求されている機関要求トルクを算出する。この算出に用いるユーザ要求トルクは、入力保障部３１により保障されたエンジン回転数およびアクセル開度のデータを用いて算出される。
【００６０】
以上により、機関要求トルク演算部３２は、入力処理回路１１ｃおよび通信回路１１ｄから取得した各種信号であって、入力保障部３１により保障された信号（データ）に基づき、内燃機関に要求されている機関要求トルクを算出する。
【００６１】
＜２−２＞監視用推定トルクの説明
図３に示すように、推定トルク演算部３３は、推定トルク算出部３３ａ、ＭＢＴ点火時期算出部３３ｂ、ベース点火時期算出部３３ｃ、トルク効率算出部３３ｄ、ロストルク算出部３３ｅおよび演算部Ｂ１２、Ｂ１３、Ｂ１４としての機能を有する。
【００６２】
推定トルク算出部３３ａは、先述した充填効率およびエンジン回転数に基づき、点火時期がＭＢＴである場合における内燃機関の実際の駆動トルク（ＭＢＴ推定トルク）を推定する。エンジン回転数が高回転数であるほど、また、充填効率が大きいほど、ＭＢＴ推定トルクは大きい値に算出される。例えば、エンジン回転数および充填効率とＭＢＴ推定トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、エンジン回転数および充填効率に応じたＭＢＴ推定トルクを推定トルク算出部３３ａは算出する。
【００６３】
ＭＢＴ点火時期算出部３３ｂは、充填効率およびエンジン回転数に基づきＭＢＴ点火時期を算出する。ベース点火時期算出部３３ｃは、充填効率およびエンジン回転数に基づきベース点火時期を算出する。これらのＭＢＴ点火時期およびベース点火時期は、推定トルク算出部３３ａと同様にして、メモリ１１ｍに予め記憶させておいたマップを参照して算出される。
【００６４】
演算部Ｂ１２は、ＭＢＴ点火時期算出部３３ｂにより算出されたＭＢＴ点火時期から、ベース点火時期算出部３３ｃにより算出されたベース点火時期を減算した値を、先述したベース遅角量として演算する。トルク効率算出部３３ｄは、演算部Ｂ１２により演算されたベース遅角量に基づき、先述したトルク効率を算出する。但し、ノック学習量が予め設定しておいた所定量またはゼロとみなして、トルク効率算出部３３ｄはトルク効率を算出する。
【００６５】
ロストルク算出部３３ｅは、エンジン回転数および水温に基づき、ポンプロスおよびフリクションロスを含むロスエネルギをトルク換算したロストルクを算出する。例えば、エンジン回転数および水温とロストルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、そのマップを参照して、エンジン回転数および水温に応じたロストルクをロストルク算出部３３ｅは算出する。
【００６６】
演算部Ｂ１３は、推定トルク算出部３３ａにより算出されたＭＢＴ推定トルクに、トルク効率算出部３３ｄにより演算されたトルク効率を乗算した値を、ロストルクを考慮しない推定トルクとして演算する。演算部Ｂ１４は、演算部Ｂ１３により演算された推定トルクから、ロストルク算出部３３ｅにより算出されたロストルクを減算した値を、監視用の推定トルクとして演算する。
【００６７】
以上により、推定トルク演算部３３は、入力処理回路１１ｃおよび通信回路１１ｄから取得した各種信号であって、入力保障部３１により保障された信号（データ）に基づき、内燃機関が実際に出力している駆動トルクを推定する。
【００６８】
＜３＞監視モジュール３０による処理手順の説明
内燃機関の運転期間中には、監視モジュール３０による監視機能が常時作動する。具体的には、図４に示すメイン処理が常時実行される。
【００６９】
図４のメイン処理では、先ずステップＳ１０において、モニタ実行条件が満たされているか否かを判定する。例えば、ＣＰＵチェック回路１１ｅによるチェックが完了していることや、マイコン監視部１６ａが異常を検出していないこと等が、モニタ実行条件の具体例として挙げられる。
【００７０】
モニタ実行条件が満たされていると判定された場合、続くステップＳ２０において、先述した機関要求トルク演算部３２が、監視用の機関要求トルクを算出する。なお、図３に示す機関要求トルク演算部３２ではユーザ要求トルクの算出ブロックを省略しているが、例えばユーザ要求トルク算出部２１ａと同様にして、エンジン回転数およびアクセル開度に基づきユーザ要求トルクを算出する。但し、入力保障部３１により保障されたエンジン回転数およびアクセル開度のデータを用いてユーザ要求トルクを算出する。
【００７１】
続くステップＳ３０では、先述した推定トルク演算部３３が、監視用の推定トルクを算出する。続くステップＳ４０、Ｓ５０では、先述したトルク比較異常判定部３４が、トルク異常の判定を実行する。ステップＳ５０にてトルク異常と判定された場合、続くステップＳ６０において、電スロカット制御部３５が電スロカット指令信号を出力する。
【００７２】
以下、上記ステップＳ４０およびトルク比較異常判定部３４によるトルク異常判定の処理について、詳細に説明する。図５に示すように、トルク比較異常判定部３４は、上限ガード設定部３４ａ、トルク乖離量算出部３４ｂ、不感帯設定部３４ｃ、トルク乖離量積算部３４ｄ、トルク異常判定部３４ｅおよび演算部Ｂ１５、Ｂ１６としての機能を有する。
【００７３】
演算部Ｂ１５は、機関要求トルク演算部３２により演算された機関要求トルクから、推定トルク演算部３３により演算された推定トルクを減算して、トルク乖離量を算出する。上限ガード設定部３４ａは、内燃機関の運転状態に応じて上限ガード値を設定する。例えば、高エンジン回転数であるほど、また、高負荷運転であるほど、上限ガード値を小さい値に設定する。
【００７４】
トルク乖離量算出部３４ｂでは、演算部Ｂ１５で算出されたトルク乖離量と、上限ガード設定部３４ａで設定された上限ガード値とを比較して、小さい方の値をトルク乖離量として設定する。要するに、演算部Ｂ１５で算出されたトルク乖離量が上限ガード値を超えて大きくなった場合には、トルク異常判定に用いるトルク乖離量を上限ガード値に制限する。
【００７５】
不感帯設定部３４ｃは、車両の運転状態および内燃機関の運転状態の少なくとも一方に応じて、不感帯を設定する。不感帯とは、トルク乖離量のうち所定の下値（ゼロ）から上値までの領域のことであり、トルク乖離量をゼロとみなす領域のことである。車両の運転状態の具体例としては、先述した変速機による変速比および車両の走行速度（車速）等が挙げられる。内燃機関の運転状態の具体例としては、機関要求トルク、ユーザ要求トルク、エンジン回転数およびエンジン負荷等が挙げられる。
【００７６】
例えば、変速機による変速比が小さいほど、つまり変速機による出力トルクが大きいほど、不感帯の上値を大きく設定する（図６参照）。本実施形態に係る変速機は、複数のギア段を有しており、ギア段を切り替えることで、変速機への入力に対する出力の変速比が切り替えられる。そして、低速ギア段に切り替えられた場合には、低回転数（低速）高トルクで車両の駆動輪が回転駆動し、高速ギア段に切り替えられた場合には、高回転数（高速）低トルクで車両の駆動輪が回転駆動する。高速ギア段にして高速低トルクにした場合（図７中の実線参照）には、低速ギア段にして低速高トルクにした場合（図７中の点線参照）に比べて、アクセルペダルの踏み込み量等の条件が同じであれば車両の走行加速度が大きくなる。
【００７７】
そして、走行加速度が大きいほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなし、トルク異常状態と判定されにくくしている。具体的には、ギア段が大きいほど、つまり高速低トルクのギア段であり走行加速度が大きいほど、不感帯の上値を大きい値に設定している（図６参照）。
【００７８】
例えば、車速が速いほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなし、トルク異常状態と判定されにくくしている。具体的には、車速が速いほど不感帯の上値を大きい値に設定している（図８参照）。例えば、監視用機関要求トルクが大きいほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなし、トルク異常状態と判定されにくくしている。具体的には、監視用機関要求トルクが大きいほど不感帯の上値を大きい値に設定している（図９参照）。
【００７９】
図５の説明に戻り、演算部Ｂ１６は、トルク乖離量算出部３４ｂで設定されたトルク乖離量が、不感帯設定部３４ｃで設定された不感帯の上値未満であれば、そのトルク乖離量から不感帯の上値を減算する。そしてトルク乖離量積算部３４ｄ（積算部）は、演算部Ｂ１６により演算された後のトルク乖離量を積算していく。トルク異常判定部３４ｅ（異常判定部）は、トルク乖離量積算部３４ｄにより算出された積算値が所定の異常判定閾値にまで達した場合には、トルク異常状態であると判定する。
【００８０】
上限ガード設定部３４ａ、トルク乖離量算出部３４ｂ、不感帯設定部３４ｃおよび演算部Ｂ１６は、推定トルクと機関要求トルクとの乖離量が大きいほど、計数値を大きい値に設定する「計数値設定部」に相当する。本実施形態では、トルク乖離量をそのまま計数値として用いているが、例えばトルク乖離量が１０Ｎｍである場合に計数値を１として、トルク乖離量を所定の計数値に換算してもよい。いずれにしても、トルク乖離量が大きいほど計数値は大きく設定される。なお、本実施形態では、推定トルクから要求トルクを減算した値を乖離量（計数値）としているため、推定トルクが要求トルクよりも小さい場合には乖離量はマイナスの値に設定される。
【００８１】
また、トルク異常判定部３４ｅは、車両の運転状態および内燃機関の運転状態の少なくとも一方に応じて異常判定閾値を可変設定している。車両の運転状態の具体例としては、先述した変速比および車速等が挙げられ、内燃機関の運転状態の具体例としては、機関要求トルク、ユーザ要求トルク、エンジン回転数およびエンジン負荷等が挙げられる。例えば、変速比が小さいほど、つまり変速機による出力トルクが大きいほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなし、異常判定閾値を大きく設定してトルク異常状態と判定されにくくしている（図１０参照）。或いは、車速が速いほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなし、異常判定閾値を大きく設定してトルク異常状態と判定されにくくしている（図１１参照）。
【００８２】
図１２は、図４のステップＳ４０に係るサブルーチン処理を示すフローチャートであり、先ずステップＳ４１において、トルク乖離量積算値をゼロにリセットする。続くステップＳ４２では、エンジン回転数が所定値以上であるか否かを判定する。上記所定値は、アイドル運転時の回転数より小さい値、かつ、スタータモータによる内燃機関の始動運転時のクランキング回転数より大きい値に設定されている。エンジン回転数が所定値未満であれば、エアフロメータにより検出される吸気量の検出値が安定していないとみなし、以降の異常判定処理の実行を禁止してステップＳ４１に戻る。
【００８３】
エンジン回転数が所定値以上であれば、次のステップＳ４３において、演算部Ｂ１５が、機関要求トルク演算部３２により演算された機関要求トルクから、推定トルク演算部３３により演算された推定トルクを減算して、トルク乖離量を算出する。続くステップＳ４４では、上限ガード設定部３４ａが、内燃機関の運転状態に応じて上限ガード値を可変設定する。続くステップＳ４４ａでは、トルク乖離量算出部３４ｂが、トルク乖離量を上限ガード値に制限する。
【００８４】
続くステップＳ４５では、不感帯設定部３４ｃが、車両の運転状態および内燃機関の運転状態の少なくとも一方に応じて、不感帯の領域を可変設定する。続くステップＳ４５ａでは、ステップＳ４４ａで設定したトルク乖離量が、ステップＳ４５で設定された不感帯の領域内の値であるか否かを判定する。具体的には、トルク乖離量が不感帯の上値以上であるか否かを判定する。
【００８５】
トルク乖離量が不感帯の領域内であると判定された場合、次のステップＳ４６において、トルク乖離量の積算値の前回値に、ステップＳ４４ａで設定されたトルク乖離量を加算する。トルク乖離量が不感帯の領域外であると判定された場合、次のステップＳ４７において、トルク乖離量の積算値の前回値に、ステップＳ４４ａで設定されたトルク乖離量を加算するとともに、その加算した値から不感帯の上値を減算する。要するに、これらステップＳ４５ａ、Ｓ４６、Ｓ４７の処理は、演算部Ｂ１６およびトルク乖離量積算部３４ｄにより実行される。
【００８６】
続くステップＳ４８では、トルク異常判定部３４ｅの説明で先述した通り、車両の運転状態および内燃機関の運転状態の少なくとも一方に応じて、異常判定閾値を可変設定する。続くステップＳ４８ａでは、ステップＳ４６、Ｓ４７で算出したトルク乖離量積算値が、ステップＳ４８で設定された判定閾値以上であるか否かを判定する。積算値が判定閾値未満であると判定された場合には、ステップＳ４２の処理に戻る。積算値が判定閾値以上であると判定された場合には、続くステップＳ４９において、トルク異常判定部３４ｅがトルク異常状態であると判定して、トルク異常フラグをオンに設定する。これにより、図４のステップＳ５０にて異常判定であると判定され、電スロカット指令信号が出力され、電スロの作動が制限される。
【００８７】
＜４＞監視制御の一態様の説明
図１３の（ａ）〜（ｇ）欄の各々は、エンジン回転数、イグニッションスイッチ、制御モジュール２０の演算結果、トルク監視実行フラグ、監視モジュール３０の演算結果、トルク乖離量の積算値、トルク異常判定フラグの、経過時間に対する変化を示す。図１３に示す例では、（ｂ）欄に示すようにｔ１時点でイグニッションスイッチがオン操作されると、内燃機関のスタータモータが駆動してエンジン始動し、その後、加速走行、減速走行、アイドル、クリープ、加速走行、減速走行の順に運転状態は推移している。
【００８８】
（ａ）欄に示すように、エンジン始動に伴いエンジン回転数が所定値にまで上昇したｔ２時点で、（ｄ）欄に示すトルク監視フラグをオンに設定してトルク監視を実行させ、カウンタによる積算を開始している。ここで言うカウンタとは、トルク乖離量の計数値を積算するトルク乖離量積算部３４ｄのことである。つまり、ｔ２時点で、図１２のステップＳ４２で肯定判定され、（ｆ）欄に示すトルク乖離量積算値の積算が許可されている。
【００８９】
（ｃ）欄に示すように、ｔ２時点からｔ３時点までの期間では、制御モジュール２０により演算される機関要求トルクと推定トルクは一致している。同様にして、（ｄ）欄に示すように、ｔ２時点からｔ３時点までの期間では、監視モジュール３０により演算される機関要求トルクと推定トルクはほぼ一致している。
【００９０】
但し、アイドル運転のｔ３時点で、制御用記憶領域２０ｍに記憶されているデータの異常が発生し、この異常発生に起因して、制御用の機関要求トルクが意図に反して上昇している。これに伴い、制御モジュール２０の駆動信号出力部２２は、エンジン出力トルクを上昇させるように各種の駆動ＩＣ１２、１３、１４を制御する。その結果、制御モジュール２０により推定されるトルクである制御用推定トルクおよび実トルクは、制御用の機関要求トルクの上昇に合わせて上昇する。なお、制御用推定トルクは、駆動ＩＣ１２、１３、１４のフィードバック制御に用いられるフィードバック値である。
【００９１】
その一方で、監視モジュール３０は、異常発生している制御用記憶領域２０ｍとは別の監視用記憶領域３０ｍのデータを用いて要求トルク（監視用要求トルク）を演算している。そのため、制御用記憶領域２０ｍにてデータ異常が発生して制御用要求トルクが上昇しても、監視用要求トルクは上昇しない。但し、実トルクが上昇していることに伴い、（ｅ）欄の点線に示すように監視用推定トルクは上昇する。そのため、監視用要求トルクと監視用推定トルクとの乖離であるトルク乖離量が増大していく。
【００９２】
トルク乖離量が増大していくと、（ｆ）欄に示す積算値も増大していく。但し、異常発生のｔ３時点からｔ４時点までの期間は、トルク乖離量が不感帯よりも小さいため、積算値はゼロのままである。また、ｔ５時点でトルク乖離量が上限ガードまで上昇したことに起因して、ｔ５時点以降は積算値の増加速度は低下している。
【００９３】
その後、積算値が異常判定閾値まで上昇したｔ６時点で、（ｇ）欄に示すようにトルク異常判定のフラグがオンに設定されている。これにより、電スロカット制御部３５によるエンジン出力制限が為され、実トルクおよびエンジン回転数が低下し、制御用推定トルクおよび監視用推定トルクも低下している。監視用推定トルクが十分に低下すると、トルク乖離量が不感帯の上値よりも小さい値となり、その結果、図１２のステップＳ４７にて積算値が減少していく。つまり、（ｆ）欄に示すｔ７時点で積算値が減少を開始する。その後、積算値が異常判定閾値未満となったｔ８時点で、（ｇ）欄に示すようにトルク異常判定のフラグがオフに設定されている。
【００９４】
その後、加速走行中に、制御用記憶領域２０ｍに記憶されているデータの異常が発生し、この異常発生に起因して、制御用の機関要求トルクが意図に反して低下している。これに伴い、制御モジュール２０の駆動信号出力部２２は、エンジン出力トルクを低下させるように各種の駆動ＩＣ１２、１３、１４を制御する。その結果、制御用推定トルクおよび実トルクは、制御用機関要求トルクの上昇に合わせて低下する。この場合、監視用推定トルクも減少するがトルク乖離量はマイナスの値となり、トルク乖離量積算値はゼロに張り付いた状態になる。
【００９５】
その後、イグニッションスイッチがオフ操作されたことに伴い、エンジン回転数が低下して所定値未満となったｔ９時点で、トルク監視フラグをオフに設定してトルク監視を終了させ、積算値をゼロにクリアさせている。
【００９６】
＜５＞作用効果の説明
本実施形態によれば、ＥＣＵ１０（トルク監視装置）は、計数値設定部、積算部および異常判定部を備える。計数値設定部は、監視用推定トルクと監視用機関要求トルクとの乖離量が大きいほど、計数値としてのトルク乖離量を大きい値に設定する。積算部は、トルク乖離量の積算値を算出し、異常判定部は、積算値が異常判定閾値以上になった場合に、トルク異常状態であると判定する。そのため、乖離量が大きいほどトルク異常状態と判定されやすくなり、トルク異常を迅速に検知できるようになり、それでいて、乖離量が小さいほどトルク異常状態と判定されにくくなり、ノイズ等の原因によりトルク異常と誤判定されるおそれを低減できる。
【００９７】
図１４は、上述の如くトルク異常を迅速に検知できる様子を示す一態様であり、図１４の横軸は経過時間を示し、縦軸は、意図に反して内燃機関の実際の出力（実トルク）が上昇する様子を示す。図中の一点鎖線Ｌ１は、異常に伴う実トルクの上昇が小さく、トルク乖離量が小さい場合の例であり、この場合には、ｔｃ時点で積算値が異常判定閾値にまで上昇して異常判定される。
【００９８】
図中の点線Ｌ２は、異常に伴う実トルクの上昇が大きく、トルク乖離量が大きい場合の例である。この場合には、トルク乖離量が大きいので計数値が大きく設定されため、ｔｃ時点よりも早いｔｂ時点で積算値が異常判定閾値にまで上昇して異常判定される。
【００９９】
図中の二点鎖線Ｌ３は、異常に伴う実トルクの上昇がさらに大きく、トルク乖離量が上限ガード値を超えて大きくなっている場合の例である。この場合には、計数値が上限ガード値に制限されるものの、ｔｂ時点よりも早いｔａ時点で積算値が異常判定閾値にまで上昇して異常判定される。
【０１００】
図中の実線Ｌ４は、異常判定の迅速性が要求される要求値を示す。実線Ｌ４に示すように、実トルクの上昇速度が大きいほど、短時間で異常判定されることが要求される。但し、上限ガード値により計数値の大きさが制限されているので、所定時間未満では異常判定されないようになっている。
【０１０１】
さらに本実施形態では、計数値設定部は、計数値が予め設定された上限ガード値を超えて大きくならないように計数値を設定する。そのため、トルク乖離量が上限ガード値を超えて大きくなる現象が、ノイズ等の原因で瞬時的に生じた場合に、一瞬で積算値が異常判定値を超えて異常判定されることが回避される。よって、トルク乖離量が瞬時的に上限ガード値を超えるような電スロカットが必要でない場合にまでトルク異常判定されることを抑制できる。換言すれば、トルク異常の誤判定を抑制できる。
【０１０２】
ここで、上限ガード値を小さい値に設定するほど、トルク異常の誤判定抑制を促進できるが、その背反として、トルク異常検知の迅速性が損なわれる。そして、誤判定抑制と迅速性の最適なバランスは、内燃機関の運転状態に応じて異なる。この点を鑑み、本実施形態では、内燃機関の運転状態に応じて上限ガード値を可変設定するので、上記バランスの最適化を図ることができる。例えば、高エンジン回転数であるほど、また、高負荷運転であるほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなして、上限ガード値を小さい値に設定し、トルク異常検知の迅速性よりも誤判定抑制の促進を優先させる。
【０１０３】
さらに本実施形態では、積算部は、トルク乖離量が予め設定された不感帯の範囲内である場合の計数値については、計数値の積算を制限する。具体的には、トルク乖離量が不感帯の上値未満であれば、トルク乖離量に相当する計数値だけ積算値に加算しつつも、上値に相当する計数値だけ積算値から減算する。そのため、トルク乖離量が不感帯の範囲の小さい値で生じる現象が、ノイズ等の原因で長期間に亘って継続する場合に、積算値が異常判定値を超えて異常判定されることが回避される。よって、微少なトルク乖離量が長期間継続するような電スロカットが必要でない場合にまでトルク異常判定されることを抑制できる。換言すれば、トルク異常の誤判定を抑制できる。
【０１０４】
ここで、不感帯の上値を大きい値に設定するほど、トルク異常の誤判定抑制を促進できるが、その背反として、トルク異常検知の迅速性が損なわれる。そして、誤判定抑制と迅速性の最適なバランスは、内燃機関の運転状態や車両の運転状態に応じて異なる。この点を鑑み、本実施形態では、不感帯は、車両または内燃機関の運転状態に応じて可変設定されるので、上記バランスの最適化を図ることができる。例えば、変速比が小さいほど、或いは、車両の走行速度が速いほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなして、不感帯を広い範囲に設定し、トルク異常検知の迅速性よりも誤判定抑制の促進を優先させる。
【０１０５】
また、異常判定閾値を大きい値に設定するほど、トルク異常の誤判定抑制を促進できるが、その背反として、トルク異常検知の迅速性が損なわれる。そして、誤判定抑制と迅速性の最適なバランスは、車両の運転状態や内燃機関の運転状態に応じて異なる。この点を鑑み、本実施形態では、異常判定閾値は、車両の運転状態または内燃機関の運転状態に応じて可変設定されるので、上記バランスの最適化を図ることができる。例えば、変速比が小さいほど、或いは、車両の走行速度が速いほど、トルク異常発生に伴い車両運転者に与える違和感は小さいとみなして、異常判定閾値を大きい値に設定し、トルク異常検知の迅速性よりも誤判定抑制の促進を優先させる。
【０１０６】
さらに本実施形態に係るＥＣＵ１０（トルク監視装置）は、制御モジュール２０（制御用演算装置）および監視モジュール３０（監視用演算装置）を備える。制御モジュール２０は、制御用記憶領域２０ｍを用いて演算する演算装置であって、ユーザ要求トルクに応じて、内燃機関の燃焼状態を制御する制御量の目標値である目標制御量を演算する。監視モジュール３０は、制御用記憶領域２０ｍとは別の監視用記憶領域３０ｍを用いて演算する演算装置であって、計数値設定部、積算部および異常判定部を有する。このように、トルク監視する演算装置である監視モジュール３０は、制御用記憶領域２０ｍとは別の監視用記憶領域３０ｍを用いて演算する。そのため、図１３に例示したように、監視用の推定トルクが異常値になるのに対して監視用の要求トルクは異常時にならないので、トルク乖離量が大きくなり、制御用記憶領域２０ｍに記憶されたデータの異常に起因したトルク異常の監視が可能となる。
【０１０７】
さて、監視に用いる推定トルクおよび要求トルクの演算速度および演算精度は、制御に用いる推定トルクおよび要求トルクに比べて低い。この点を鑑み、本実施形態では、監視モジュール３０の演算周期は制御モジュール２０の演算周期より長い。そのため、監視モジュール３０の演算処理負荷が必要以上に大きくなることを回避できる。
【０１０８】
また、監視に用いる推定トルクおよび要求トルクの場合、これらのトルクの演算に用いるデータが正常時であることの保障に対する要求は、制御に用いる推定トルクおよび要求トルクの場合に比べて高い。この点を鑑み、本実施形態では、監視モジュール３０は、監視モジュール３０の外部から取得したデータが正常であることをチェックする入力保障部３１を有する。そのため、監視モジュール３０の演算に用いるデータが正常時であることの保障を向上でき、上記要求に応えることができる。
【０１０９】
さらに本実施形態では、監視モジュール３０は、機関要求トルク演算部３２および推定トルク演算部３３を有する。そして機関要求トルク演算部３２は、内燃機関の点火時期の遅角に伴い生じる実トルクの低下分をリザーブトルクとして算出し、算出したリザーブトルクおよびユーザ要求トルクに基づき機関要求トルクを演算する。そのため、リザーブトルクを考慮せずに機関要求トルクを演算することに起因して生じる、機関要求トルクと推定トルクとの乖離を抑制できるので、トルク異常を誤判定するおそれを抑制できる。
【０１１０】
さらに本実施形態では、制御モジュール２０は、目標点火時期を触媒暖機要求時に遅角させるように設定しており、機関要求トルク演算部３２は、触媒暖機要求の遅角量に相当する燃焼効率悪化分のトルク以上となるようにリザーブトルクを算出する。
【０１１１】
さらに本実施形態では、制御モジュール２０は、目標点火時期をアイドル運転時に遅角させるように設定しており、機関要求トルク演算部３２は、アイドル要求トルクの遅角量に相当する燃焼効率悪化分のトルク以上となるようにリザーブトルクを算出する。このように、触媒暖機要求やアイドル要求の如く点火時期の遅角に起因した燃焼効率悪化分が、監視用の機関要求トルクに反映されるので、上述した誤判定のおそれを抑制できる。
【０１１２】
（他の実施形態）
この明細書における開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。例えば、開示は、実施形態において示された部品および／または要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示は、実施形態に追加可能な追加的な部分をもつことができる。開示は、実施形態の部品および／または要素が省略されたものを包含する。開示は、１つの実施形態と他の実施形態との間における部品および／または要素の置き換え、または組み合わせを包含する。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、請求の範囲の記載によって示され、さらに請求の範囲の記載と均等の意味及び範囲内での全ての変更を含むものと解されるべきである。
【０１１３】
上記第１実施形態では、トルク乖離量が不感帯の上値未満の場合に、トルク乖離量に相当する計数値だけ積算値に加算しつつ、上値に相当する計数値だけ積算値から減算していくので、積算値は減少していくことになる。これに対し、トルク乖離量が不感帯の上値未満の場合に、積算値への計数値の加算を禁止し、かつ、上値に相当する計数値だけ積算値から減算することを廃止して、積算値が減少しないようにしてもよい。
【０１１４】
上記第１実施形態では、トルク乖離量が不感帯の範囲内であるか否かに応じて計数値の積算を制限している。これに対し、トルク乖離量に対応する計数値が不感帯の範囲内であるか否かに応じて計数値の積算を制限してもよい。
【０１１５】
上記第１実施形態では、内燃機関の運転状態に応じて上限ガード値を可変設定しているが、運転状態に拘らず、上限ガード値を予め設定した固定値に設定してもよい。上記第１実施形態では、車両または内燃機関の運転状態に応じて不感帯を可変設定しているが、運転状態に拘らず、不感帯を予め設定した固定値に設定してもよい。同様にして、異常判定閾値についても、可変設定を廃止して、予め設定した固定値に設定してもよい。
【０１１６】
上記第１実施形態では、図１２のステップＳ４２の処理において、エンジン回転数が所定値以上であることを条件として、ステップＳ４３以降のトルク異常判定処理を実行している。これに対し、エンジン回転数の変動量が所定未満であることを条件として、ステップＳ４３以降のトルク異常判定処理を実行してもよい。
【０１１７】
上記第１実施形態では、監視モジュール３０が計数値設定部、積算部および異常判定部を有しており、監視モジュール３０により計数値の設定、積算値の算出および異常判定が実行されている。これに対し、制御モジュール２０が計数値設定部、積算部および異常判定部を有し、制御モジュール２０により計数値の設定、積算値の算出および異常判定が実行されていてもよい。また、制御モジュール２０および監視モジュール３０の両方で実行されていてもよい。
【０１１８】
上記各実施形態では、監視モジュール３０の演算速度は制御モジュール２０の演算速度よりも遅い。具体的には、入力保障部３１によるチェック処理速度がボトルネックとなり、機関要求トルク演算部３２および推定トルク演算部３３の演算速度は、機関要求トルク算出部２１の演算速度よりも遅くなっている。これに対し、監視モジュール３０の演算速度が制御モジュール２０の演算速度と同等であってもよい。
【０１１９】
上記各実施形態では、共通する１つのメモリ１１ｍの記憶領域に、制御用記憶領域２０ｍおよび監視用記憶領域３０ｍを設定している。これに対し、ＥＣＵ１０に複数のメモリを設け、第１のメモリの記憶領域を制御用記憶領域として設定し、第２のメモリの記憶領域を監視用記憶領域として設定してもよい。
【０１２０】
上記各実施形態では、共通する１つのＭＣＵ１１が、制御用記憶領域２０ｍおよび監視用記憶領域３０ｍを有している。これに対し、ＥＣＵ１０に複数のＭＣＵを設け、第１のＭＣＵが制御用記憶領域を有し、第２のＭＣＵが監視用記憶領域を有するように構成されていてもよい。
【０１２１】
上記各実施形態では、車両に搭載された内燃機関をＥＣＵ１０の制御対象としているが、車載以外の定置式の内燃機関をＥＣＵ１０の制御対象としてもよい。また、ハイブリッド車や電気自動車に搭載されている車両駆動用モータを監視対象としても良い。その場合には、車両駆動用モータの要求トルクと実トルクの乖離量が大きいほど、計数値を大きい値に設定する。
【符号の説明】
【０１２２】
１０…ＥＣＵ（トルク監視装置）、２０…制御モジュール（制御用演算装置）、２０ｍ…制御用記憶領域、３０…監視モジュール（監視用演算装置）、３０ｍ…監視用記憶領域、３４ａ…上限ガード設定部（計数値設定部）、３４ｂ…トルク乖離量算出部（計数値設定部）、３４ｃ…不感帯設定部（計数値設定部）、３４ｄ…トルク乖離量積算部（積算部）、３４ｅ…トルク異常判定部、Ｂ１６…演算部（計数値設定部）。
【図１】
2019027394.tif 000003
【図２】
2019027394.tif 000004
【図３】
2019027394.tif 000005
【図４】
2019027394.tif 000006
【図５】
2019027394.tif 000007
【図６】
2019027394.tif 000008
【図７】
2019027394.tif 000009
【図８】
2019027394.tif 000010
【図９】
2019027394.tif 000011
【図１０】
2019027394.tif 000012
【図１１】
2019027394.tif 000013
【図１２】
2019027394.tif 000014
【図１３】
2019027394.tif 000015
【図１４】
2019027394.tif 000016