(57)【要約】【課題】、制御部の監視に要する処理負荷を高めることなく、回避制御を実施できる内燃機関制御システムを提供すること。【解決手段】ＥＣＵは、車両のドライバの要求に基づく要求トルクに応じて内燃機関の燃焼状態を制御し、車両の走行に不具合を生じさせる異常が発生していると判定した場合に異常によって生じる不具合を回避する退避走行制御を行う制御部と、要求トルクと推定トルクとを用いて要求トルクおよび発生トルクの異常を判定する監視部とを備えている。監視部は、要求トルクが異常と判定し（Ｓ１０）、制御部にて行われるべき退避走行制御が行われていないと判定した場合に（Ｓ２０）、退避走行制御を行う（Ｓ５０）。【選択図】図３
2019127832.tif 000002
【特許請求の範囲】
【請求項１】
車両のドライバの要求に基づく要求トルクに応じて内燃機関の燃焼状態を制御するものであり、前記車両の走行に不具合を生じさせる異常が発生していると判定した場合に前記異常によって生じる不具合を回避する回避制御を行う制御部（２０）と、
前記内燃機関に要求されている前記要求トルクと、前記内燃機関の実トルクの推定値である推定トルクとを用いて、前記要求トルクおよび発生トルクの異常を判定するトルク監視を行う監視部（３０）と、を備え、
前記監視部は、前記要求トルクが異常と判定した場合、及び、前記制御部にて行われるべき前記回避制御が行われていない場合の少なくとも一方の場合に制御部異常と判定し、前記回避制御を行う回避制御実施部（Ｓ１０、Ｓ２０、Ｓ５０）を備えている内燃機関制御システム。
【請求項２】
前記監視部は、さらに、前記要求トルクに相関するセンサ信号を取得して、前記センサ信号と判定閾値とを比較し、前記センサ信号と判定閾値とが所定の対応関係を満たさない場合に前記要求トルクが異常であると判定する請求項１に記載の内燃機関制御システム。
【請求項３】
前記監視部は、さらに、前記ドライバが要求する前記要求トルクに相関するメインセンサ信号と、前記ドライバが要求する前記要求トルクに相関する前記メインセンサ信号の異常を判定するためのサブセンサ信号をセンサ信号として取得して、前記メインセンサ信号と前記サブセンサ信号とを比較し、前記メインセンサ信号と前記サブセンサ信号とが所定の対応関係を満たさない場合に前記要求トルクが異常であると判定する請求項１に記載の内燃機関制御システム。
【請求項４】
前記センサ信号は、前記車両のアクセルペダルの操作量に応じてアクセル開度センサから出力される請求項２又は３に記載の内燃機関制御システム。
【請求項５】
前記監視部は、さらに、前記制御部に入力される前記要求トルクに相関するトルク相関信号を取得し、前記トルク相関信号に応じた前記要求トルクと、前記推定トルクとを用いて、前記要求トルクの異常を判定する請求項１に記載の内燃機関制御システム。
【請求項６】
前記制御部は、前記車両の走行に不具合を生じさせる異常のひとつとして、前記要求トルクの異常が発生しているか否かを判定するものであり、
前記監視部は、前記監視部による前記要求トルクが異常であるか否かの判定結果と、前記制御部による前記要求トルクが異常であるか否かの判定結果とが不一致の場合に、前記回避制御が行われていないと判定する請求項１乃至５のいずれか一項に記載の内燃機関制御システム。
【請求項７】
前記制御部と前記監視部は、それぞれで前記要求トルクを算出するものであり、
前記監視部は、前記監視部で算出した前記要求トルクよりも、前記制御部で算出した前記要求トルクの方が大きい場合に、前記回避制御が行われていないと判定する請求項１乃至５のいずれか一項に記載の内燃機関制御システム。
【請求項８】
前記回避制御実施部は、前記制御部異常と判定し、且つ、前記制御部異常と判定している時間が所定時間継続した場合に、前記制御部にかわって前記回避制御を行うものであり、前記制御部による前記異常の判定結果に応じて、前記異常が発生していると判定していない場合よりも、前記異常が発生していると判定している場合の方が速く前記回避制御を行う請求項１乃至７のいずれか一項に記載の内燃機関制御システム。
【請求項９】
前記回避制御実施部は、前記制御部異常と判定し、且つ、前記制御部異常と判定する状態が所定量積算された場合に、前記制御部にかわって前記回避制御を行うものであり、前記制御部による前記異常の判定結果に応じて、前記異常が発生していると判定していない場合よりも、前記異常が発生していると判定している場合の方が速く前記回避制御を行う請求項１乃至７のいずれか一項に記載の内燃機関制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、内燃機関制御システムに関する。
【背景技術】
【０００２】
従来、特許文献１に開示された車両の出力制御装置がある。この出力制御装置は、ドライバの要求に対して走行駆動源が発生することを許容される出力である許容出力と、走行駆動源が実際に出力していると推定される推定出力とに基づいて車両の余剰加速度を演算する。そして、出力制御装置は、余剰加速度が所定の閾値以上であることが所定時間以上継続した場合に出力制御装置が異常であることを判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１５８１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、要求トルクに相関する異常は、内燃機関の制御を行う制御部内で安全機能として設計されることが考えられる。そして、制御部は、要求トルクに相関する異常の場合、アクセル固定開度に置き換える、又は、アクセル特性を退避走行用に切り替えるなど、異常によって生じる不具合を回避する回避制御を行う。
【０００５】
また、内燃機関制御システムの一例とし、制御部とは別に、要求トルクと推定トルクとを比較することで要求トルクを監視する監視部を備えているシステムが考えられる。そして、このシステムでは、アクセル開度センサなどの要求トルクに相関する保障も含めて行うことが考えられる。例えば、監視部は、要求トルクに相関する異常と判定した場合、制御部に対して回避制御の実施を指示する。
【０００６】
ところが、このシステムでは、回避制御を阻害せずに、監視部における監視を保証するためには、つまり、回避制御に対する制御部の処理を保障するためには、制御部のソフトウェア全体にも安全設計における保障が必要になる。しかしながら、制御部の処理を保障する監視は、処理負荷が高く、設計コストも高くなってしまう。
【０００７】
したがって、このシステムでは、回避制御に対する制御部の処理を保障していない場合、監視部から制御部に対して回避制御の実施を指示したとしても、回避制御が正しく動作しないことがおこりうる。
【０００８】
本開示は、上記問題点に鑑みなされたものであり、制御部の監視に要する処理負荷を高めることなく、回避制御を実施できる内燃機関制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本開示は、
車両のドライバの要求に基づく要求トルクに応じて内燃機関の燃焼状態を制御するものであり、車両の走行に不具合を生じさせる異常が発生していると判定した場合に異常によって生じる不具合を回避する回避制御を行う制御部（２０）と、
内燃機関に要求されている要求トルクと、内燃機関の実トルクの推定値である推定トルクとを用いて、要求トルクおよび発生トルクの異常を判定するトルク監視を行う監視部（３０）と、を備え、
監視部は、要求トルクが異常と判定した場合、及び、制御部にて行われるべき回避制御が行われていない場合の少なくとも一方の場合に制御部異常と判定し、回避制御を行う回避制御実施部（Ｓ１０、Ｓ２０、Ｓ５０）を備えていることを特徴とする。
【００１０】
このように、本開示は、監視部が、要求トルクが異常と判定した場合、及び、制御部にて行われるべき回避制御が行われていない場合の少なくとも一方の場合に制御部異常と判定する。そして、監視部は、制御部異常と判定した場合に回避制御を行う。よって、本開示は、制御部の監視に要する処理負荷を高めることなく、回避制御を実行できる。
【００１１】
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態におけるＥＣＵの概略構成を示すブロック図である。
【図２】第１実施形態における制御部と監視部の概略構成を示すブロック図である。
【図３】第１実施形態における監視部の処理動作を示すフローチャートである。
【図４】第１実施形態における監視部の閾値設定処理を示すフローチャートである。
【図５】第１実施形態における監視部の処理動作を示すタイムチャートである。
【図６】第２実施形態における監視部の処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
【００１４】
（第１実施形態）
図１〜図５を用いて、第１実施形態のＥＣＵ（Electronic Control Unit）１０に関して説明する。図１は、車両に搭載された電子制御装置であって、車両に搭載された内燃機関の動作を制御するＥＣＵ１０を示す。本実施形態では、内燃機関制御システムをＥＣＵ１０に適用した例を採用する。本実施形態に係る内燃機関は点火着火式のガソリンエンジンであるが、自着火式のディーゼルエンジンであってもよい。以下においては、内燃機関を単にエンジンとも記載する。
【００１５】
ＥＣＵ１０は、ＭＣＵ１１(Micro Controller Unit)、点火駆動ＩＣ１２、燃料噴射弁駆動ＩＣ１３、電子スロットル駆動ＩＣ１４、第２通信部１５及び統合ＩＣ１６などを備えている。以下においては、燃料噴射弁駆動ＩＣ１３をＩＮＪ駆動ＩＣ１３、電子スロットル駆動ＩＣ１４を電スロ駆動ＩＣ１４と略称で記載する。
【００１６】
ＭＣＵ１１は、演算処理装置であるＣＰＵ１１ａと、記憶媒体であるメモリ１１ｍと、入力処理回路１１ｂと、第１通信部１１ｃと、ＣＰＵチェック部１１ｄなどを備えている。また、ＭＣＵ１１は、制御部２０及び監視部３０を有している。これらは、いずれについても、共通するＣＰＵ１１ａ及びメモリ１１ｍにより提供される機能である。すなわち、メモリ１１ｍの制御用記憶領域２０ｍに記憶された制御プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａ及びメモリ１１ｍは、制御部２０として機能する。一方、メモリ１１ｍの監視用記憶領域３０ｍに記憶された監視プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａ及びメモリ１１ｍは、監視部３０として機能する。制御用記憶領域２０ｍ及び監視用記憶領域３０ｍは、メモリ１１ｍの記憶領域のうち異なる領域に、別々に設定されている。
【００１７】
しかしながら、本開示は、これに限定されない。ＥＣＵ１０は、ＣＰＵとメモリとを含む制御部２０と、制御部２０とは異なるＣＰＵとメモリとを含む監視部３０とを備えていてもよい。
【００１８】
図１に示す例では、ＭＣＵ１１は１つの半導体チップ上に、ＣＰＵ１１ａ、メモリ１１ｍ、入力処理回路１１ｂ、第１通信部１１ｃ及びＣＰＵチェック部１１ｄが集積されているが、複数の半導体チップに分散して集積させてもよい。また、複数の半導体チップに分散して集積させた場合、共通の基板に複数の半導体チップを実装させてもよいし、複数の基板の各々に半導体チップを実装させてもよい。さらに、共通した１つの筐体に各々の半導体チップを収容させてもよいし、別々の筐体に収容させてもよい。
【００１９】
メモリ１１ｍは、プログラム及びデータを記憶する記憶媒体であり、ＣＰＵ１１ａによって読み取り可能なプログラムを非一時的に格納する非遷移的実体的記憶媒体を含む。記憶媒体は、半導体メモリ又は磁気ディスクなどによって提供されうる。メモリ１１ｍに記憶されたプログラムは、ＣＰＵ１１ａによって実行されることで、ＥＣＵ１０をこの明細書に記載される装置として機能させ、この明細書に記載される方法を実行するように制御装置を機能させる。なお、メモリ１１ｍは、データを一時的に格納する記憶媒体を含んでいてもよい。
【００２０】
ＥＣＵ１０が提供する手段及び／又は機能は、実体的な記憶媒体に記録されたソフトウェア及びそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、ＥＣＵ１０がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、又はアナログ回路によって提供することができる。
【００２１】
ＭＣＵ１１には、例えば、メインアクセル開度センサ４１、スロットルセンサ、カムセンサ、クランクセンサ、エアフロセンサ、水温センサ、インマニ圧センサなどが、入力処理回路１１ｂと電気的に接続されている。さらに、本実施形態では、これらのセンサに加えて、入力処理回路１１ｂにサブアクセル開度センサ４２が電気的に接続された例を採用している。また、ＭＣＵ１１には、外部ＥＣＵが第１通信部１１ｃと電気的に接続されている。よって、ＭＣＵ１１は、各種センサからのセンサ信号や外部ＥＣＵからの外部信号が入力される。
【００２２】
メインアクセル開度センサ４１は、車両の運転者によるアクセル操作量に応じた電気信号であるセンサ信号を出力する。なお、電気信号は、例えば電圧信号である。ＭＣＵ１１は、メインアクセル開度センサ４１からのセンサ信号に基づき、車両の運転者が操作したアクセルペダルの踏込量を演算する。以下においては、メインアクセル開度センサ４１を単にアクセル開度センサ４１とも記載する。アクセル操作量は、アクセルペダルの踏込量に相当し、アクセル開度とも言える。
【００２３】
サブアクセル開度センサ４２は、後程説明するアクセル開度の診断を行うために設けられている。言い換えると、サブアクセル開度センサ４２は、アクセル開度センサ４１による要求トルクに異常が生じているか否か、アクセル開度センサ４１に異常が生じているか否かの診断を行うために設けられている。
【００２４】
サブアクセル開度センサ４２は、アクセル開度センサ４１と同様に、車両の運転者によるアクセル操作量に応じた電気信号であるセンサ信号を出力する。なお、以下においては、アクセル開度センサ４１のセンサ信号と、サブアクセル開度センサ４２のセンサ信号とを区別するために、アクセル開度センサ４１のセンサ信号をメインセンサ信号、サブアクセル開度センサ４２のセンサ信号をサブセンサ信号とも称する。また、メインセンサ信号及びサブセンサ信号は、ドライバが要求する要求トルクに相関する信号とみなすことができる。
【００２５】
スロットルセンサは、スロットルバルブの開度（スロットル開度）に応じたセンサ信号を出力する。ＭＣＵ１１は、スロットルセンサからのセンサ信号に基づき、スロットル開度を演算する。
【００２６】
カムセンサは、カムシャフトの回転に応じてパルス状のセンサ信号を出力する。クランクセンサは、エンジンのクランクシャフト（出力軸）の回転に応じてパルス状のセンサ信号を出力する。ＭＣＵ１１は、クランクセンサからのセンサ信号に基づき、クランクシャフトの単位時間当りの回転数、つまりエンジン回転数を演算する。また、ＭＣＵ１１は、カムセンサ及びクランクセンサからのセンサ信号に基づき、気筒判別を行う。なお、エンジン回転数は、内燃機関の回転数に相当する。
【００２７】
エアフロセンサは、空気流量センサに相当し、エンジンの吸入空気量に応じた信号を出力する。ＭＣＵ１１は、エアフロセンサより出力されるセンサ信号に基づき、吸気流量や流速を演算する。また、吸気流量は、推定トルクの算出に用いるパラメータである。吸気流量は、空気流量に相当する。
【００２８】
水温センサは、エンジンを冷却する冷却水の温度に応じた信号を出力する。ＭＣＵ１１は、水温センサからのセンサ信号に基づき、冷却水の温度を演算する。インマニ圧センサは、サージタンク又は吸気マニホールド内の吸気圧に応じたセンサ信号を出力する。ＭＣＵ１１は、インマニ圧センサからのセンサ信号に基づき、燃焼室へ吸入される吸気の圧力を演算する。
【００２９】
外部ＥＣＵから出力された外部信号は、例えば、エンジンの出力軸を駆動源とする補機の動作状態を表す信号が挙げられる。上記補機の具体例としては、車室内を空調する空調装置が有している。冷媒圧縮機であって、エンジンの出力軸を駆動源とするコンプレッサが挙げられる。
【００３０】
点火駆動ＩＣ１２は、点火装置と電気的に接続されている。点火駆動ＩＣ１２は、エンジンが備えている点火装置への電力供給と、電力供給の遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、点火装置で放電点火させる時期の目標値である目標点火時期を演算し、演算した目標点火時期に応じて指令信号を点火駆動ＩＣ１２へ出力する。
【００３１】
そして、点火駆動ＩＣ１２は、指令信号に応じて、点火装置に対する駆動信号を出力することで、点火装置を駆動する。このように、ＭＣＵ１１は、点火駆動ＩＣ１２を介して、点火装置に駆動信号を出力する、と言える。なお、目標点火時期は、要求点火時期と言い換えることもできる。
【００３２】
ＩＮＪ駆動ＩＣ１３は、インジェクタに電気的に接続されている。ＩＮＪ駆動ＩＣ１３は、エンジンが備えているインジェクタの燃料噴射弁への電力供給と遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、燃料噴射弁で燃料噴射させる期間（つまり噴射量）の目標値である目標噴射量を演算し、演算した目標噴射量に応じて指令信号をＩＮＪ駆動ＩＣ１３へ出力する。なお、目標噴射量は、要求噴射量と言い換えることもできる。
【００３３】
そして、ＩＮＪ駆動ＩＣ１３は、指令信号に応じて、スイッチング素子を制御して、インジェクタの燃料噴射弁への電力供給を示す駆動信号と、電力供給の遮断を示す駆動信号を出力することで、インジェクタの燃料噴射弁を駆動する。このように、ＭＣＵ１１は、ＩＮＪ駆動ＩＣ１３を介して、インジェクタに駆動信号を出力する、と言える。なお、インジェクタは、燃料噴射装置に相当する。
【００３４】
電スロ駆動ＩＣ１４は、図２に示すように、電子スロットル５０に電気的に接続されている。電スロ駆動ＩＣ１４は、エンジンが備えている電子スロットル５０における電子スロットルバルブ（電スロ）への電力供給と、電力供給の遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、電スロのバルブ開度の目標値である目標開度を演算し、演算した目標開度に応じて指令信号を電スロ駆動ＩＣ１４へ出力する。
【００３５】
そして、電スロ駆動ＩＣ１４は、指令信号に応じて、電子スロットル５０に駆動信号を出力することで、電子スロットル５０を駆動する。このように、ＭＣＵ１１は、電スロ駆動ＩＣ１４を介して、電子スロットル５０に駆動信号を出力する、と言える。なお、目標開度は、要求吸気流量と言い換えることもできる。
【００３６】
このように、ＥＣＵ１０は、点火装置、燃料噴射弁及び電スロの動作を制御することで、エンジンの燃焼状態を制御する。つまり、ＥＣＵ１０は、少なくともインジェクタを駆動制御しつつ、エンジンの燃焼状態を制御するとも言える。そして、ＭＣＵ１１により演算される目標点火時期、目標噴射量、及び目標開度は、エンジンの燃焼状態を制御する制御量の目標値である目標制御量に相当する。
【００３７】
第２通信部１５は、ＭＣＵ１１からの指示に応じて、ＭＣＵ１１が把握している各種情報を外部ＥＣＵへ出力する。ＭＣＵ１１は、例えば、トルク監視異常、エアフロセンサ異常など異常が生じている旨を表す異常フラグの信号を、第２通信部１５を介して、車両運転者が視認する表示装置の動作を制御する表示ＥＣＵへ出力する。表示ＥＣＵは、異常フラグの信号を取得した場合に警告表示や警告音を発生させる。しかしながら、本開示は、警告表示や警告音を発生させなくて目的を達成できる。
【００３８】
ＣＰＵチェック部１１ｄは、メモリ１１ｍに記憶されているプログラム及びデータが正常であるか否かのチェックを実行する等、ＣＰＵ１１ａ及びメモリ１１ｍが正常であるか否かをチェックする。このチェックは、例えばパリティチェックなどを採用できる。
【００３９】
統合ＩＣ１６は、図示しないメモリ、及びメモリに記憶されている各種のプログラムを実行するＣＰＵ等を備えている。統合ＩＣ１６は、ＣＰＵが実行するプログラムに応じて、マイコン監視部１６ａとして機能したり、電スロカット部１６ｂとして機能したりする。マイコン監視部１６ａは、ＣＰＵチェック部１１ｄのチェック結果を参照しつつ、ＭＣＵ１１の動作不良を監視する。
【００４０】
統合ＩＣ１６は、マイコン監視部１６ａが異常を検出した場合には、電スロの動作を制限するといった電スロカットの制御を実行する。電スロカット部１６ｂは、電スロ駆動ＩＣ１４へ電スロカットを指令する信号である電スロカット指令信号を出力する。統合ＩＣ１６は、電スロカット指令信号を出力することで、例えば、アクセル開度にかかわらず、予め設定しておいた所定開度に目標開度を固定して、エンジンの出力が所定出力未満となるように制限する。あるいは、目標開度をゼロにしてエンジンを強制的に停止させる。なお、電スロ駆動ＩＣ１４は、ＭＣＵ１１から出力される指令信号よりも電スロカット指令信号を優先して動作する。
【００４１】
制御部２０は、ドライバが要求するエンジンの駆動トルクであるユーザ要求トルクに応じて、上記目標制御量を算出する。一方、監視部３０は、エンジンに要求されている要求トルクと、エンジンの実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う。つまり、監視部３０は、制御部２０における要求トルクおよびアクチュエータ指示異常による発生トルクの異常を判定する。このように、ＥＣＵ１０は、制御部２０と監視部３０とを備えた内燃機関制御システムを提供する。
【００４２】
まず、制御部２０に関して説明する。制御部２０は、以下に示すように、車両のドライバが要求するユーザ要求トルクに応じてエンジンの燃焼状態を制御する。また、制御部２０は、車両の走行に不具合を生じさせる異常が発生していると判定した場合に、その異常によって生じる不具合を回避する回避制御を行う。
【００４３】
制御部２０は、要求トルク算出部２１、駆動信号出力部２２、及び制御側アクセル開度診断部（以下、制御側診断部）２３としての機能を有している。要求トルク算出部２１は、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号に基づき、エンジンに要求するべきトルクである要求トルクを算出する。なお、要求トルクは、エンジンに要求するべきトルクであるため、機関要求トルクとも言える。
【００４４】
ここで、図２を用いて、要求トルク算出部２１に関して詳しく説明する。なお、図２においては、複数のＩＣのうち電スロ駆動ＩＣ１４のみを図示している。
【００４５】
要求トルク算出部２１は、ドライバ要求トルク算出部２１ａと目標トルク算出部２１ｂとを有している。ドライバ要求トルク算出部２１ａは、アクセル開度センサ４１からのセンサ信号、すなわちアクセル開度に基づきドライバ要求トルクを算出する。アクセル開度が大きいほど、ドライバ要求トルクは大きい値に算出される。例えば、アクセル開度とドライバ要求トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、ドライバ要求トルク算出部２１ａは、そのマップを参照して、アクセル開度に応じたドライバ要求トルクを算出する。そして、ドライバ要求トルク算出部２１ａは、算出したドライバ要求トルクを監視部３０の退避走行実施判定部（以下、実施判定部）３３で参照できるようにする。
【００４６】
なお、ドライバ要求トルク算出部２１ａは、アクセル開度に加えて、エンジン回転数に基づきドライバ要求トルクを算出してもよい。この場合、エンジン回転数が高回転数であるほど、ドライバ要求トルクは大きい値に算出される。また、エンジン回転数及びアクセル開度とドライバ要求トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、ドライバ要求トルク算出部２１ａは、そのマップを参照して、エンジン回転数及びアクセル開度に応じたドライバ要求トルクを算出する。
【００４７】
目標トルク算出部２１ｂは、ドライバ要求トルクを用いて機関要求トルクを算出する。例えば、目標トルク算出部２１ｂは、リザーブ込みトルクを、トルク効率で除算して、機関要求ルクを算出する。要するに、目標トルク算出部２１ｂは、総ロストルク及びリザーブトルクをドライバ要求トルクに加算した値を、トルク効率で除算することで、機関要求トルクを算出する。
【００４８】
この場合、目標トルク算出部２１ｂは、ポンプロス、フリクションロス、及びロストルク学習値などを加算して、総ロストルクを算出する。さらに、目標トルク算出部２１ｂは、ドライバ要求トルク、総ロストルク、及び外部要求トルクを加算して、ロス込みトルクを算出する。外部要求トルクの具体例としては、車載バッテリへの充電を目的として、内燃機関で駆動する発電機による発電量を増大させるといった、発電増大分のトルクが挙げられる。
【００４９】
なお、ポンプロスは、エンジンのピストンが往復動する際に吸排気から受ける抵抗によるエネルギーロスである。フリクションロスは、エンジンのピストンが往復動する際のシリンダとの摩擦による機械エネルギーロスである。
【００５０】
また、目標トルク算出部２１ｂは、ロス込みトルクに、リザーブトルクを加算して、リザーブ込みトルクを算出する。具体的には、目標トルク算出部２１ｂは、アイドルリザーブ、触媒暖機リザーブ及び補機リザーブの各々に相当するトルクを加算してリザーブトルクを算出する。アイドルリザーブトルクとは、内燃機関のアイドル運転時に発進性/加速性を考慮して意図的に点火遅角状態からの点火進角による即応性を向上させるトルクアップ分に相当するトルクのことである。触媒暖機リザーブトルクとは、内燃機関の排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御を実施するにあたり、排気温度を上昇させることに用いる燃焼エネルギのロス分をトルクに換算した値のことである。補機リザーブトルクとは、内燃機関を駆動源とする発電機等の補機を駆動させるのに要するトルクのことである。また、これら各々のリザーブトルクは、エンジン回転数、エンジン負荷及び水温等のエンジンの運転状態に応じて設定される。
【００５１】
さらに、目標トルク算出部２１ｂは、最大トルク発生点火時期（ＭＢＴ点火時期）、ノック学習込みベース遅角量及び目標ラムダに基づき、トルク効率を算出する。ＭＢＴ点火時期とは、最大トルクが得られる点火時期のことであり、エンジン回転数やエンジン負荷、水温等に応じて異なる時期となる。但し、ＭＢＴ点火時期ではノッキングが生じやすいので、ＭＢＴ点火時期よりも所定時間遅い時期、つまり所定角度遅角させた時期で点火させることが要求される。その遅角させた時期をベース点火時期と呼ぶ。その遅角量（ベース遅角量）は、エンジン回転数やエンジン負荷、水温等に応じて異なる。
【００５２】
また、ノッキングがセンサで検出された場合には、点火時期を所定時間だけ遅角させるように補正するフィードバック制御を実行してもよい。この遅角補正量（ノック学習量）を次回以降の点火時期制御に反映させる学習制御をノック学習と呼ぶ。そして、ベース点火時期にノック学習量を反映させた時期が目標点火時期に相当する。
【００５３】
制御部２０は、ＭＢＴ点火時期から目標点火時期を減算して得られた時期を、ＭＢＴ点火時期に対する目標点火時期の遅角量であるＭＢＴ遅角量として算出する。制御部２０は、算出したＭＢＴ遅角量及び目標ラムダに基づき、トルク効率を算出する。
【００５４】
トルク効率とは、燃焼室での燃焼エネルギのうち、クランク軸の回転トルクに変換される分のエネルギの割合のことである。ＭＢＴ遅角量が小さいほど、つまり、目標点火時期がＭＢＴ点火時期に近いほど、トルク効率は高い値に算出される。目標ラムダとは、燃焼室で燃焼する混合気に含まれる、空気と燃料の比率（ラムダ）の目標値のことである。目標トルク算出部２１ｂは、目標ラムダに応じた値にトルク効率を算出する。例えば、ＭＢＴ遅角量及び目標ラムダとトルク効率との相関を表すマップをメモリ１１ｍに予め記憶させておき、目標トルク算出部２１ｂは、そのマップを参照して、ＭＢＴ遅角量及び目標ラムダに応じたトルク効率を算出する。
【００５５】
なお、上記したＭＢＴ点火時期、ベース点火時期及び目標ラムダの各々は、エンジン回転数、エンジン負荷及び水温等のエンジンの運転状態に応じて、制御部２０により設定される。
【００５６】
また、上記ノック学習に係る学習制御は、制御部２０により実行される。本実施形態に係るＥＣＵ１０は、点火駆動ＩＣ１２から出力される駆動電流又は電圧を検出する検出回路を備えている。そして、制御部２０は、その検出回路による検出値を用いて機関要求トルクを演算している。具体的には、上記検出値に基づき実点火時期を算出し、その実点火時期を用いてノック学習に係る学習制御を実行し、ノック学習量を算出している。
【００５７】
なお、ここで採用した、機関要求トルクの算出方法は、一例に過ぎない。本開示は、これに限定されない。つまり、機関要求トルクの算出方法は、特に限定されない。
【００５８】
駆動信号出力部２２は、要求吸気流量や要求噴射量の算出などを行う。つまり、駆動信号出力部２２は、要求吸気流量算出部と要求噴射量算出部などを備えていると言える。駆動信号出力部２２は、要求トルク算出部２１で算出された機関要求トルクに応じて目標制御量を算出する。そして、駆動信号出力部２２は、算出した目標制御量に応じて各ＩＣ１２〜１４に各種指令信号を出力することで、点火装置、インジェクタ、電子スロットル５０などの各種アクチュエータに駆動信号を出力する。
【００５９】
例えば、要求吸気流量算出部は、要求トルク算出部２１で算出された機関要求トルクに応じて要求吸気流量を算出し、算出した要求吸気流量に応じて電スロ駆動ＩＣ１４に指令信号を出力する。このようにして、要求吸気流量算出部は、電スロ駆動ＩＣ１４を介して、電子スロットル５０に駆動信号を出力する。
【００６０】
また、要求噴射量算出部は、要求トルク算出部２１で算出された機関要求トルクに応じて要求空燃比を算出し、算出した要求空燃比と要求吸気流量又は吸気流量から算出した要求噴射量に応じてＩＮＪ駆動ＩＣ１３に指令信号を出力する。このようにして、要求噴射量算出部は、ＩＮＪ駆動ＩＣ１３を介して、インジェクタに駆動信号を出力する。
【００６１】
なお、駆動信号出力部２２は、要求トルク算出部２１で算出された機関要求トルクに応じて要求点火時期を算出し、算出した要求点火時期に応じて点火駆動ＩＣ１２に指令信号を出力する。つまり、駆動信号出力部２２は、点火駆動ＩＣ１２を介して、点火装置に駆動信号を出力する。
【００６２】
制御側診断部２３は、アクセル開度センサ４１からのメインセンサ信号と、サブアクセル開度センサ４２からのサブセンサ信号が入力される。制御側診断部２３は、メインセンサ信号とサブセンサ信号とを用いて、アクセル開度センサ４１の異常、すなわちメインセンサ信号の異常を診断（判定）する。制御側診断部２３は、メインセンサ信号とサブセンサ信号とが所定の対応関係である場合に正常と判断し、所定の対応関係にない場合にメインセンサ信号の異常と判断する。また、制御側診断部２３は、メインセンサ信号が異常の場合、ドライバ要求トルク及び機関要求トルクが異常とみなす。以下においては、ドライバ要求トルク及び機関要求トルクを区別する必要がない場合、単に要求トルクが異常とみなす。
【００６３】
例えば、制御側診断部２３は、メインセンサ信号とサブセンサ信号とが一致している場合に所定の対応関係を満たしているとみなして正常と判断（判定）し、一致していない場合に所定の対応関係を満たしていないとみなして異常と判断する。また、制御側診断部２３は、メインセンサ信号とサブセンサ信号との乖離が所定値に達していない場合に所定の対応関係であるとみなして正常と判断し、乖離が所定値に達している場合に所定の対応関係にないとみなして異常と判断する。
【００６４】
なお、制御側診断部２３は、この診断結果を監視部３０の実施判定部３３で参照できるようにしてもよい。しかしながら、本開示は、これに限定されない。また、制御側診断部２３は、この診断結果をドライバ要求トルク算出部２１ａや、後程説明する監視側アクセル開度診断部３１ａや退避走行実施判定部３３で参照できるようにしてもよい。
【００６５】
また、制御部２０は、制御側診断部２３で要求トルクが異常であると診断した場合、アクセル開度をアクセル固定開度に置き換える、又は、アクセル特性を退避走行用に切り替えるなどのアクセル制限制御を行ってもよい。このアクセル制限制御は、回避制御のひとつである。
【００６６】
さらに、ドライバ要求トルク算出部２１ａは、制御側診断部２３で要求トルクが異常であると診断した場合、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力して退避走行制御を行ってもよい。また、ドライバ要求トルク算出部２１ａは、制御側診断部２３で要求トルクが異常であると診断した場合、機関要求トルクを異常であると診断していない場合よりも小さい値とすることで退避走行制御を行ってもよい。この退避走行制御は、回避制御のひとつである。
【００６７】
次に、図１、図２を用いて、監視部３０に関して説明する。監視部３０は、エンジンに要求されている要求トルクと、エンジンの実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う。このように、ＥＣＵ１０は、制御部２０と監視部３０とを備えた内燃機関制御システムを提供する。
【００６８】
要求トルクは、エンジンに要求されているトルクのことであり、制御部２０の要求トルク算出部２１により算出される要求トルクと同義である。但し、監視部３０で算出される要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出される要求トルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、監視用の要求トルクと制御用の要求トルクは、用途が異なる。また、監視用の要求トルクと制御用の要求トルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００６９】
監視部３０は、図１に示すように、入力保障部３１、トルク監視部３２、及び実施判定部３３としての機能を有している。
【００７０】
入力保障部３１は、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号のデータが正常であることをチェックする。入力保障部３１は、異常であれば、データ修復、データ再取得、データ廃棄等を実行する。これにより、監視部３０は、異常データを用いて各種算出を行うことを回避できる。つまり、入力保障部３１は、監視部３０による算出に用いられる各種データが正常であることを保障する。ここでのチェックは、上記と同様に、パリティチェックなどを採用できる。
【００７１】
また、入力保障部３１は、監視側アクセル開度診断部（以下、監視側診断部）３１ａとしての機能を有している。監視側診断部３１ａは、制御側診断部２３と同様に、アクセル開度センサ４１の異常を診断する。監視側診断部３１ａは、この診断結果を実施判定部３３で参照できるようにする。なお、監視側診断部３１ａは、アクセル開度センサ４１が異常であると診断した場合、アクセル制限制御を行ってもよい。これによって、監視部３０は、制御部２０によって行われるべきアクセル制限制御が行われていなかった場合に、制御部２０にかわってアクセル制限制御を行うことができる。
【００７２】
さらに、実施判定部３３は、制御側診断部２３での診断結果と、監視側診断部３１ａでの診断結果とが不一致の場合に、アクセル制限制御を行ってもよい。これによっても、監視部３０は、制御部２０によって行われるべきアクセル制限制御が行われていなかった場合に、制御部２０にかわってアクセル制限制御を行うことができる。
【００７３】
トルク監視部３２は、要求トルク算出部３２ａ、推定トルク算出部３２ｂ、トルク異常判定部３２ｃ及び電スロカット制御部３２ｄとしての機能を有している。
【００７４】
要求トルク算出部３２ａは、例えば、触媒暖機要求トルク及びアイドル要求トルクと、ドライバ要求トルクと、外部要求トルクとを加算して機関要求トルクを算出する。要求トルク算出部３２ａは、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号であって、入力保障部３１により保障された信号に基づき機関要求トルクを算出する。
【００７５】
この場合、要求トルク算出部３２ａは、触媒暖機目標回転数及びアクセル開度に基づき、触媒暖機要求トルクを算出する。エンジンの排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御を実行している期間におけるエンジン回転数の目標値が触媒暖機目標回転数である。そして、要求トルク算出部３２ａは、暖機制御を実行している期間におけるアクセル開度及び触媒暖機目標回転数に基づき、触媒暖機要求トルクを算出する。
【００７６】
触媒暖機要求トルクとは、触媒暖機リザーブトルクと同義である。但し、監視部３０で算出される触媒暖機要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出される触媒暖機リザーブトルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、これら監視用の触媒暖機要求トルクと制御用の触媒暖機リザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００７７】
なお、本実施形態では、触媒暖機要求トルクの算出に用いる変数の例示として触媒暖機目標回転数及びアクセル開度を記載しているが、他の変数として、水温、ドライバ要求トルク、エンジン回転数及び吸気充填効率が挙げられる。吸気充填効率とは、スロットルバルブを通過した吸気の流量に対する、燃焼室で圧縮される吸気の流量の比率のことである。要求トルク算出部３２ａは、これらの変数の少なくとも１つを用いて触媒暖機要求トルクを算出する。
【００７８】
要求トルク算出部３２ａは、アクセルペダルが踏み込まれていない時の触媒暖機目標回転数が大きいほど、触媒暖機要求トルク（リザーブ量）を大きく算出する。また、要求トルク算出部３２ａは、アクセルペダルが踏み込まれている時のアクセル開度が所定未満であれば触媒暖機要求トルクを所定値に設定し、所定以上であればゼロに設定する。さらに、水温やエンジン回転数に応じて触媒暖機要求トルクを増減させてもよいし、特に吸気充填効率に応じて触媒暖機要求トルクを増減させてもよい。吸気充填効率とは、スロットルバルブを通過した吸気の流量に対する、燃焼室で圧縮される吸気の流量の比率のことである。
【００７９】
要求トルク算出部３２ａは、アイドル目標回転数及びエンジン回転数に基づき、アイドル要求トルクを算出する。エンジンのアイドル運転時にトルクアップさせて燃焼を安定化させるアイドル制御を実行している期間におけるエンジン回転数の目標値がアイドル目標回転数である。そして、要求トルク算出部３２ａは、アイドル制御を実行している期間におけるエンジン回転数及びアイドル目標回転数に基づき、アイドル要求トルクを算出する。
【００８０】
アイドル要求トルクとは、アイドルリザーブトルクと同義である。但し、監視部３０で算出されるアイドル要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出されるアイドルリザーブトルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、これら監視用のアイドル要求トルクと制御用のアイドルリザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００８１】
なお、本実施形態では、アイドル要求トルクの算出に用いる変数の例示としてアイドル目標回転数及びエンジン回転数を記載しているが、他の変数として、水温、車速、大気圧及び吸気充填効率が挙げられる。要求トルク算出部３２ａは、これらの変数の少なくとも１つを用いてアイドル要求トルクを算出する。
【００８２】
要求トルク算出部３２ａは、アクセルペダルが踏み込まれていない時の目標回転数とエンジン回転数との差分が小さいほど、アイドル要求トルク（リザーブ量）を大きく算出する。また、要求トルク算出部３２ａは、アクセルペダルが踏み込まれている時のアクセル開度が小さいほど、アイドル要求トルクを大きく算出する。さらに、水温やエンジン回転数に応じてアイドル要求トルクを増減させてもよいし、特に吸気充填効率に応じてアイドル要求トルクを増減させてもよい。
【００８３】
なお、要求トルク算出部３２ａによる機関要求トルクの算出方法は、上記一例を採用することができるが、これに限定されない。
【００８４】
推定トルク算出部３２ｂは、ＭＢＴ推定トルクにトルク効率を乗算した値を、ロストルクを考慮しない推定トルクとして算出する。推定トルク算出部３２ｂは、算出した推定トルクから、ロストルクを減算した値を、監視用の推定トルクとして演算する。推定トルク算出部３２ｂは、入力処理回路１１ｂ及び第１通信部１１ｃから取得したクランクセンサやエアフロセンサなどの各種信号であって、入力保障部３１により保障された信号に基づき、エンジンが実際に出力している駆動トルクを推定する。
【００８５】
この場合、推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づき、点火時期がＭＢＴである場合におけるエンジンの実際の駆動トルク（ＭＢＴ推定トルク）を推定する。ＭＢＴ推定トルクは、エンジン回転数が高回転数であるほど、また、吸気充填効率が大きいほど大きい値が算出される。例えば、エンジン回転数及び吸気充填効率とＭＢＴ推定トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、推定トルク算出部３２ｂは、このマップを参照して、エンジン回転数及び吸気充填効率に応じたＭＢＴ推定トルクを算出する。
【００８６】
また、推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づきＭＢＴ点火時期を算出する。推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づきベース点火時期を算出する。これらのＭＢＴ点火時期及びベース点火時期は、ＭＢＴ推定トルクの算出と同様に、メモリ１１ｍに予め記憶させておいたマップを参照して算出される。
【００８７】
また、推定トルク算出部３２ｂは、ＭＢＴ点火時期からベース点火時期を減算した値を、ベース遅角量として演算する。そして、推定トルク算出部３２ｂは、ベース遅角量に基づきトルク効率を算出する。但し、推定トルク算出部３２ｂは、ノック学習量が予め設定しておいた所定量又はゼロとみなしてトルク効率を算出する。
【００８８】
また、推定トルク算出部３２ｂは、エンジン回転数及び水温に基づき、ポンプロス及びフリクションロスを含むロスエネルギをトルク換算したロストルクを算出する。例えば、エンジン回転数及び水温とロストルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、推定トルク算出部３２ｂは、このマップを参照して、エンジン回転数及び水温に応じたロストルクを算出する。
【００８９】
なお、推定トルク算出部３２ｂによる駆動トルクの推定方法は、上記一例を採用することができるが、これに限定されない。
【００９０】
トルク異常判定部３２ｃは、例えば、要求トルク算出部３２ａにより算出された機関要求トルクと、推定トルク算出部３２ｂにより算出された推定トルクとの差分を算出し、その差分が所定以上であればトルク異常状態であると判定する。電スロカット制御部３２ｄは、トルク異常判定部３２ｃによってトルク異常状態であると判定された場合、電スロカット部１６ｂと同様にして、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力する。このように、監視部３０は、退避走行制御を行うことができる。なお、トルク監視部３２は、トルク異常状態であると判定された場合、ＩＮＪ駆動ＩＣ１３への通電をカットしてもよい。
【００９１】
実施判定部３３は、制御部２０が算出した要求トルクである機関要求トルクと、監視部３０が算出した要求トルクである機関要求トルクとに基づいて、制御部２０によって回避制御のひとつである退避走行制御が実施されているか否かを判定する。例えば、実施判定部３３は、監視部３０で算出した機関要求トルクよりも、制御部２０で算出した機関要求トルクの方が大きい場合に、制御部２０による退避走行制御が行われていないと判定する。なお、このときの監視部３０が算出した要求トルクは、ドライバの要求が正しく反映できない場合の制限が働いた要求トルクに相当する。さらに、実施判定部３３は、監視部３０で算出した機関要求トルクよりも、制御部２０で算出した機関要求トルクの方が大きく、且つ、両機関要求トルクの乖離が所定値以上の場合に、制御部２０による退避走行制御が行われていないと判定してもよい。
【００９２】
また、実施判定部３３は、監視側診断部３１ａでの診断結果を参照する。そして、実施判定部３３は、監視側診断部３１ａにてアクセル開度センサ４１が異常であると診断されており、且つ、制御部２０によって退避走行制御が実施されていないと判定した場合、制御部異常と判定する（回避制御実施部）。なお、制御部異常とは、制御部２０が正常に動作していない状態を示す。
【００９３】
実施判定部３３は、制御部異常と判定すると退避走行制御を行う。この場合、実施判定部３３は、例えば、トルク異常判定部３２ｃと電スロカット制御部３２ｄを介して、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力する。このように、監視部３０は、退避走行制御を行う。このとき、制御部２０によって退避走行制御が行われていない場合、監視部３０は、制御部２０にかわって退避走行制御を行うことができる。
【００９４】
特に、本実施形態では、制御部異常と判定し、且つ、制御部異常と判定している時間が所定時間継続した場合に、退避走行制御を行う例を採用する（回避制御実施部）。この場合、実施判定部３３は、制御部異常と判定している時間を計時し、その計時時間が時間判定閾値に達すると退避走行制御を行う。言い換えると、実施判定部３３は、制御部異常と判定するとカウントを開始、カウント値が時間判定閾値に達すると退避走行制御を行う。ここでのカウントは、異常判定カウントとも言える。なお、実施判定部３３は、ＥＣＵ１０に設けられたカウンタを用いて異常判定カウントを行う。
【００９５】
このようにすることで、ＥＣＵ１０は、制御部異常と判定して即座に退避走行制御を行う場合よりも、誤判定によって退避走行制御を行うことを抑制できる。
【００９６】
さらに、実施判定部３３は、監視側診断部３１ａでアクセル開度センサ４１が異常であると診断している状況で、制御側診断部２３で異常と診断されている場合よりも、要求トルクが異常と診断されていない場合の方が時間判定閾値を短い値に変更する。つまり、実施判定部３３は、制御側診断部２３で異常と診断されている場合よりも、異常と診断されていない場合の方が早くカウント値が時間判定閾値に達するように、時間判定閾値を設定する。よって、実施判定部３３は、制御側診断部２３による要求トルク異常の判定結果に応じて、異常が発生していると判断している場合よりも、異常が発生していると判断していない場合の方が速く退避走行制御を行う。このようにすることで、ＥＣＵ１０は、制御側診断部２３によって要求トルクが異常であると診断できていない場合に、迅速に退避走行制御を行うことができる。
【００９７】
時間判定閾値は、例えば、制御側診断部２３で異常が発生していると判定している場合は第１閾値を設定し、異常が発生していると判定していない場合は第１閾値よりも時間的に短い値の第２閾値を設定する。よって、第１閾値と第２閾値との関係は、第２閾値＜第１閾値となっている。
【００９８】
そして、第２閾値は、例えば、アクセル異常診断時間に相当するカウント値を、第１閾値から減算した値にすると好ましい。このアクセル異常診断時間は、アクセル開度センサ４１の異常が発生してから、監視側診断部３１ａがそれを検出するまでの時間である。
【００９９】
なお、時間判定閾値は、基準閾値としての第１閾値と、第１閾値よりも小さい値の第２閾値とから選択される、と言える。また、第１閾値と第２閾値は、例えば判定結果と対応付けてメモリ１１ｍに記憶されている。
【０１００】
ここで、図３、図４、図５を用いて、監視部３０の処理動作に関して説明する。監視部３０は、所定時間毎に図３のフローチャートに示す処理を実行する。
【０１０１】
ステップＳ１０では、要求トルク異常であるか否かを判定する（回避制御実施部）。監視側診断部３１ａは、アクセル開度センサ４１が異常であると診断されているか否かを判定する。そして、監視側診断部３１ａは、アクセル開度センサ４１が異常であると判定した場合はステップＳ２０へ進む（図５のタイミングｔ２）。監視側診断部３１ａは、アクセル開度センサ４１が異常であると判定しなかった場合は図３のフローチャートに示す処理を終了する。なお、本実施形態では、図５のタイミングｔ１でアクセル開度センサ４１に異常が発生したものとする。よって、監視側診断部３１ａは、アクセル開度センサ４１の異常が発生してから、アクセル開度センサ４１が異常であると診断するのに、タイミングｔ１〜ｔ２の時間を要することになる。
【０１０２】
ステップＳ２０では、退避走行を実施しているか否かを判定する（回避制御実施部）。実施判定部３３は、制御部２０によって退避走行制御が実施されているか否かを判定する。実施判定部３３は、制御部２０によって退避走行制御が実施されていないと判定した場合は制御部異常とみなしてステップＳ３０へ進み、実施されていると判定した場合は図３のフローチャートに示す処理を終了する。監視部３０は、制御部２０にかわって退避走行制御を実施するか否かを判定するためにステップＳ２０、Ｓ３０を行うと言える。
【０１０３】
ステップＳ３０では、異常判定カウントをスタートする。実施判定部３３は、制御部異常とみなすと、異常判定カウントをスタートする。実施判定部３３は、制御部２０にかわって監視部３０が退避走行制御を実行するタイミングを確認するために、異常判定カウントをスタートする（図５のタイミングｔ２）。
【０１０４】
ステップＳ４０では、カウント値≧時間判定閾値であるか否かを判定する。実施判定部３３は、カウント値≧時間判定閾値であると判定した場合はステップＳ５０へ進み、カウント値≧時間判定閾値であると判定しなかった場合はステップＳ４０を繰り返す。なお、ここでの時間判定閾値は、上記のように第１閾値か第２閾値が設定される。
【０１０５】
ステップＳ５０では、退避走行制御を実施する（回避制御実施部）。実施判定部３３は、カウント値が時間判定閾値に達すると、退避走行制御を実施する（図５のタイミングｔ３又はｔ４）。このとき、制御部２０が実施すべき退避走行制御を実施していないこともある。よって、実施判定部３３は、制御部２０にかわって退避走行制御を実施すると言える。
【０１０６】
以上のように、監視部３０は、監視側診断部３１ａで要求トルクが異常と判定し、且つ、制御部２０にて行われるべき退避走行制御が行われていない場合に制御部異常と判定する（回避制御実施部）。そして、監視部３０は、制御部異常と判定すると退避走行制御を行う（回避制御実施部）。よって、ＥＣＵ１０は、制御部２０の監視に要する処理負荷を高めることなく、回避制御のひとつである退避走行制御を実施できる。
【０１０７】
次に、図４のフローチャートを用いて閾値設定処理に関して説明する。閾値設定処理は、ステップＳ４０で用いる時間判定閾値を決定するための処理である。監視部３０は、要求トルク異常と判定した場合、すなわち、監視側診断部３１ａでアクセル開度センサ４１が異常と判定した場合に、図４のフローチャートに示す処理を実行する。
【０１０８】
ステップＳ６０では、制御部が異常判定しているか否かを判定する。つまり、実施判定部３３は、制御側診断部２３が要求トルクの異常と診断しているか否かを判定する。そして、実施判定部３３は、制御側診断部２３が要求トルクの異常と診断していないと判定した場合はステップＳ７０へ進み、異常と診断していると判定した場合はステップＳ８０へ進む。
【０１０９】
ステップＳ７０では、時間判定閾値に第２閾値を設定する。一方、ステップＳ８０では、時間判定閾値に第１閾値を設定する。上記のように、第２閾値は、第１閾値よりも小さい値となっている。また、本実施形態では、一例として、第１閾値からアクセル異常診断時間に相当するカウント値を減算した第２閾値を採用している。つまり、監視部３０は、監視側診断部３１ａでアクセル開度センサ４１が異常と判定し、且つ、制御側診断部２３でアクセル開度センサ４１が異常と判定されていた場合は、制御部２０が正常に診断しているとみなして第１閾値を時間判定閾値に設定する。一方、監視部３０は、監視側診断部３１ａでアクセル開度センサ４１が異常と判定しているのに、制御側診断部２３でアクセル開度センサ４１が異常と判定されてない場合は、制御部２０が正常に診断できていないとみなして第２閾値を時間判定閾値に設定する。
【０１１０】
ところで、図５のタイミングｔ１〜ｔ３の時間は、制御部２０が、アクセル開度センサ４１に異常が発生したことを検出して、退避走行制御を実施するまでのトルク監視診断時間である。このトルク監視診断時間は、制御部２０によるトルク監視診断時間とも言える。一方、図５のタイミングｔ２〜ｔ４の時間は、監視部３０が、カウント値が第１閾値に達したことで、退避走行制御を実施するまでのトルク監視診断時間である。
【０１１１】
よって、監視部３０は、時間判定閾値を変更しない場合、アクセル異常診断時間に相当するタイミングｔ１〜ｔ３の分だけカウント値が時間判定閾値に達するのが遅れ、タイミングｔ４でカウント値が時間判定閾値に達したと判定することになる。このため、監視部３０は、制御部２０によるトルク監視診断時間内に退避走行制御を実施できない可能性がある。つまり、監視部３０は、監視側診断部３１ａでアクセル開度センサ４１が異常と判定しているのにもかかわらず、制御側診断部２３でアクセル開度センサ４１が異常と判定できてない場合、タイミングｔ３までの間に退避走行制御を実施できない可能性がある。なお、タイミングｔ３〜ｔ４の期間は、タイミングｔ１〜ｔ３と同等、つまり、アクセル異常診断時間と同等の期間と言える。
【０１１２】
これに対して、本実施形態の監視部３０は、上記のように状況に応じて第２閾値を時間判定閾値として採用するため、制御側診断部２３でアクセル開度センサ４１が異常と判定できてない場合に、カウント値が時間判定閾値に達するのを早めることができる。つまり、監視部３０は、カウント値が時間判定閾値に達するのをタイミングｔ４からタイミングｔ３へ早めることができる。よって、監視部３０は、監視側診断部３１ａでアクセル開度センサ４１が異常と判定しており、且つ、制御側診断部２３でアクセル開度センサ４１が異常と判定できてない場合であっても、監視部３０によるトルク監視診断時間内に実施することができる。
【０１１３】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、第２実施形態及び変形例に関して説明する。上記実施形態、第２実施形態、及び変形例は、それぞれ単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
【０１１４】
（第２実施形態）
図６のフローチャートを用いて、第２実施形態のＥＣＵ１０に関して説明する。なお、第２実施形態のＥＣＵ１０は、上記実施形態のＥＣＵ１０と同様の個所が多いため、便宜的に、上記実施形態と同様の符号及びステップ番号を用いる。よって、上記実施形態と同様の符号及びステップ番号に関しては、上記実施形態における説明を採用できる。
【０１１５】
上記実施形態では、要求トルクが異常と判定して、制御部２０にて行われるべき回避制御が行われていないと判定し、且つ、異常判定カウントのカウント値が時間判定閾値に達した場合に、退避走行制御を行う例を採用した。しかしながら、本開示は、これに限定されない。
【０１１６】
第２実施形態のＥＣＵ１０は、図６に示すように、要求トルクが異常と判定して、制御部２０にて行われるべき回避制御が行われていないと判定すると退避走行制御を行う。これによって、ＥＣＵ１０は、監視部３０で、監視側診断部３１ａでアクセル開度センサ４１が異常であると判定し、且つ、実施判定部３３で制御部２０によって退避走行制御が実施されていないと判定した場合、即座に退避走行制御を実施することができる。
【０１１７】
（変形例）
上記実施形態では、監視部３０が、要求トルクが異常と判定し、且つ、制御部２０にて行われるべき回避制御が行われていないと判定した場合に制御部異常と判定する例を採用した。しかしながら、本開示は、これに限定されない。本開示は、監視部３０が、要求トルクが異常と判定した場合、及び、制御部２０にて行われるべき回避制御が行われていない場合の少なくとも一方の場合に制御部異常と判定するものであれば採用できる。よって、本開示は、監視部３０が、要求トルクが異常と判定した場合に、制御部異常と判定してもよいし、監視部３０が、制御部２０にて行われるべき回避制御が行われていない場合に制御部異常と判定してもよい。
【０１１８】
なお、上記実施形態では、メインセンサ信号とサブセンサ信号とを用いて、アクセル開度センサ４１の異常か否かによって、要求トルクが異常か否かの診断を行う監視側診断部３１ａを採用した。しかしながら、監視側診断部３１ａは、メインセンサ信号と判定閾値とを用いて、アクセル開度センサ４１の異常か否かによって、要求トルクが異常か否かの診断を行ってもよい。
【０１１９】
例えば、監視側診断部３１ａは、メインセンサ信号と判定閾値とを比較し、メインセンサ信号と判定閾値が所定の対応関係を満たす場合にアクセル開度センサ４１が正常、すなわち要求トルクが正常であると判定する。一方、監視側診断部３１ａは、メインセンサ信号と判定閾値とが所定の対応関係を満たさない場合にアクセル開度センサ４１が異常、すなわち要求トルクが異常であると判定する。この場合、ＥＣＵ１０は、サブアクセル開度センサ４２が接続されていなくてもよい。
【０１２０】
監視部３０は、さらに、制御部２０に入力される要求トルクに相関するトルク相関信号を取得し、トルク相関信号に応じた要求トルクと、推定トルクとを用いて、要求トルクの異常を判定するものであってもよい（トルク異常判定部）。この場合、監視部３０は、要求トルクと推定トルクが所定の対応関係を満たす場合に異常ではないと判定し、所定の対応関係を満たさない場合に異常と判定する。
【０１２１】
トルク相関信号としては、例えば、車両のクルーズコントロールに用いる加速スイッチからのスイッチ信号や車速要求信号、外部ＥＣＵからの車速要求信号や加速要求信号などを採用することができる。要求トルクと推定トルクとの関係は、これらの信号に応じてかわる。よって、監視部３０は、これらの信号に応じた要求トルクと推定トルクとを用いて、要求トルクの異常を判定することで、判定精度を向上することができる。これによっても、上記実施形態と同様の効果を奏することができる。
【０１２２】
上記実施形態では、制御部２０が算出した機関要求トルクと、監視部３０が算出した機関要求トルクとに基づいて、制御部２０によって退避走行制御が実施されているか否かを判定する例を採用した。しかしながら、本開示は、これに限定されない。実施判定部３３は、監視部３０による要求トルクが異常であるか否かの判定結果と、制御部２０による要求トルクが異常であるか否かの判定結果とに基づいて、制御部２０によって退避走行制御が実施されているか否かを判定してもよい。実施判定部３３は、監視部３０による要求トルクが異常であるか否かの判定結果と、制御部２０による要求トルクが異常であるか否かの判定結果とが一致した場合に、退避走行制御が行われていると判定する。一方、実施判定部３３は、監視部３０による要求トルクが異常であるか否かの判定結果と、制御部２０による要求トルクが異常であるか否かの判定結果とが不一致の場合に、退避走行制御が行われていないと判定する。これによっても、上記実施形態と同様の効果を奏することができる。
【０１２３】
上記実施形態では、制御部異常と判定し、且つ、制御部異常と判定している時間が所定時間継続した場合に退避走行制御を行い、制御部２０で異常が発生していると判定していない場合の方が速く退避走行制御を行う例を採用した。しかしながら、本開示は、これに限定されない。監視部３０は、制御部異常と判定し、且つ、制御部異常と判定する状態が所定量積算された場合に、制御部２０にかわって退避走行制御を行うものであってもよい（回避制御実施部）。さらに、監視部３０は、制御部２０で異常が発生していると判定している場合よりも、異常が発生していると判定していない場合の方が速く退避走行制御を行うものであってもよい（回避制御実施部）。これによっても、上記実施形態と同様の効果を奏することができる。なお、制御部異常と判定する状態とは、加速度などを採用できる。
【符号の説明】
【０１２４】
１０…ＥＣＵ、１１…ＭＣＵ、１１ａ…ＣＰＵ、１１ｂ…入力処理回路、１１ｃ…第１通信部、１１ｄ…ＣＰＵチェック部、１１ｍ…メモリ、１２…点火駆動ＩＣ、１３…ＩＮＪ駆動ＩＣ、１４…電スロ駆動ＩＣ、１５…第２通信部、１６…統合ＩＣ、１６ａ…マイコン監視部、１６ｂ…電スロカット部、２０…制御部、２０ｍ…制御用記憶領域、２１…要求トルク算出部、２１ａ…ドライバ要求トルク算出部、２１ｂ…目標トルク算出部、２２…駆動信号出力部、２３…制御側アクセル開度診断部、３０…監視部、３０ｍ…監視用記憶領域、３１…入力保障部、３１ａ…監視側アクセル開度診断部、３２…トルク監視部、３２ａ…要求トルク算出部、３２ｂ…推定トルク算出部、３２ｃ…トルク異常判定部、３２ｄ…電スロカット制御部、３３…退避走行実施判定部、４１…メインアクセル開度センサ、４２…サブアクセル開度センサ、５０…電子スロットル、６０…通知部
【図１】
2019127832.tif 000003
【図２】
2019127832.tif 000004
【図３】
2019127832.tif 000005
【図４】
2019127832.tif 000006
【図５】
2019127832.tif 000007
【図６】
2019127832.tif 000008