(57)【要約】【課題】演算装置と駆動装置とが協働して燃料噴射弁を駆動するシステムにおいて、クランクセンサ信号が駆動装置に正常に入力されなくなったとしても、退避走行に関する処理を正常に実行できるようにした電子制御装置を提供する。【解決手段】駆動ＥＣＵ３は入力回路１８により通常時にはクランクセンサ１１からクランクセンサ信号を取得している。正常にクランクセンサ信号を取得できない異常時には、駆動ＥＣＵ３は、通信回路１７により演算ＥＣＵ２により生成された通信メッセージを受信したタイミングにおいて退避走行に関する処理を行う。【選択図】図１
2018155101.tif 000002
【特許請求の範囲】
【請求項１】
通常時には演算装置（２）が指令値を演算し駆動装置（３）に送信し当該駆動装置が指令値を受信すると指令値に基づいて噴射制御に関する処理を行う噴射制御システム（１）に構成された前記駆動装置を構成する電子制御装置（３）であって、
通常時にはクランクセンサからクランクセンサ信号を取得する取得部（１８）と、
正常に前記取得部によりクランクセンサ信号を取得できない異常時において、前記演算装置により送信された通信メッセージを受信する受信部（１７）と、
前記受信部が前記通信メッセージを受信したタイミングで退避走行に関する処理を実行する異常時処理部（１６）と、を備える電子制御装置。
【請求項２】
前記異常時処理部は、前記受信部が前記通信メッセージを受信したタイミングにおいて前記退避走行に関する処理として燃料噴射弁を即時噴射制御する請求項１記載の電子制御装置。
【請求項３】
前記演算装置は、前記異常時には噴射量の指令値、及び、気筒を識別する気筒番号を送信するように構成され、
前記受信部は前記演算装置により送信された前記噴射量の指令値及び前記気筒番号を受信し、前記異常時処理部は、当該気筒番号に対応した気筒に対し前記噴射量の指令値に対応した噴射量に設定する請求項２記載の電子制御装置。
【請求項４】
多段噴射する場合には、
前記演算装置は、前記多段噴射のうち初段に噴射するタイミングを前記通信メッセージの送信タイミングにて制御するように構成され、
前記異常時処理部は、前記通信メッセージの受信タイミングにおいて前記多段噴射の噴射段のうちの初段について即時噴射制御する請求項２または３記載の電子制御装置。
【請求項５】
前記演算装置は、前記燃料噴射弁を噴射制御するときに前記初段の噴射制御処理以外の後段の噴射制御処理のタイミングを前記通信メッセージの送信タイミングからの経過時間で制御するように構成され、
前記受信部は前記経過時間の情報を受信し、前記異常時処理部は、前記通信メッセージの受信タイミングから前記経過時間の情報を経過したタイミングにおいて前記後段の噴射制御処理を行う請求項４記載の電子制御装置。
【請求項６】
前記異常時処理部は、前記受信部が通信メッセージを受信したタイミングにおいて前記退避走行に関する処理として燃料圧を即時制御する請求項１記載の電子制御装置。
【請求項７】
前記演算装置は、正常時には燃料圧の圧力目標値を送信し前記異常時には燃料圧の調整指令期間を送信するように構成され、
前記異常時処理部は、前記演算装置から前記調整指令期間を受信して当該調整指令期間に設定する請求項６記載の電子制御装置。
【請求項８】
異常時には目標燃料圧の演算処理を行うことなく駆動装置が目標燃料圧を一定とするように制御する請求項６または７記載の電子制御装置。
【請求項９】
前記通常時に前記駆動装置が負担する処理を前記異常時に前記演算装置が処理するように構成されている請求項１から８の何れか一項に記載の電子制御装置。
【請求項１０】
前記演算装置は、前記通信メッセージの送受信による通信遅れ、および、前記駆動装置が前記通信メッセージを受信するタイミングから実際に噴射するタイミングまでの間の処理遅れ、に基づいて前記通信メッセージの送信タイミングを設定し、
前記受信部は、前記設定された送信タイミングで送信された前記通信メッセージを受信する請求項１から９の何れか一項に記載の電子制御装置。
【請求項１１】
前記異常時処理部が即時処理するための前記通信メッセージの優先度は他の通信メッセージよりも優先度が高く設定されている請求項１から１０の何れか一項に記載の電子制御装置。
【請求項１２】
クランクセンサ（１１）に関する異常を生じたか否かを判定する異常判定部（１６）と、
前記異常判定部により異常を生じたと判定されたときには、前記演算装置から正常時に送信される通信メッセージに基づいて駆動しない正常時処理部（１６）と、
をさらに備える請求項１から１１の何れか一項に記載の電子制御装置。
【請求項１３】
クランクセンサ（１１）に関する異常を生じたか否かを判定する異常判定部（１６）をさらに備え、
前記異常判定部によりクランクセンサに関する異常が発生していると判定されたときに異常発生伝達メッセージを前記演算装置にネットワークを通じて送信する請求項１から１２の何れか一項に記載の電子制御装置。
【請求項１４】
前記異常発生伝達メッセージは、その優先度が他の通信メッセージよりも最も高く設定されている請求項１３記載の電子制御装置。
【請求項１５】
内燃機関の停止時にエンジン回転数がエンスト閾値よりも低下したときには、演算装置が通信メッセージを送信しないことで前記受信部は当該通信メッセージを受信しない請求項１から１４の何れか一項に記載の電子制御装置。
【請求項１６】
前記通信メッセージの通信方式は、ＣＡＮ（登録商標）、ＣＡＮ−ＦＤ、ＬＩＮ、ＦｌｅｘＲａｙ（登録商標）、ＭＯＳＴ（Media Oriented Systems Transport：登録商標）、のうち何れか一つの方式を用いる請求項１から１５の何れか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算装置から指令値を受信し指令値に基づいて燃料噴射弁を駆動する噴射制御システムに構成された電子制御装置に関する。
【背景技術】
【０００２】
出願人は、例えばディーゼルエンジン制御システムに代表されるような各種の噴射制御システムを提案しているが、近年、演算ＥＣＵ（Electronic Control Unit）と駆動ＥＣＵとを別体に構成し、各部がネットワークを用いて互いに接続された状態で信号を授受し燃料噴射弁を駆動するシステムを提案している（例えば、特許文献１参照）。この特許文献１記載の技術によれば、演算ＥＣＵと駆動ＥＣＵとが協働し、燃料噴射弁から燃料を噴射制御するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−７９８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この種の技術では、駆動ＥＣＵには、クランクセンサのクランクセンサ信号が入力されており、駆動ＥＣＵはこのクランクセンサ信号に応じて各種のタイミングを制御する。しかしながら、このクランクセンサ信号が何らかの影響で正常に駆動ＥＣＵに入力しない又は入力されなくなると、駆動ＥＣＵは、例えば燃料噴射弁を駆動するタイミングを正確に把握できない。駆動ＥＣＵは、センサ異常を生じたときには退避走行制御するものの、この種の異常を生じたときには、何れのタイミングで例えば燃料噴射弁に燃料を噴射処理して良いか把握できず、退避走行制御を正常に実行できなくなる虞がある。駆動ＥＣＵがクランクセンサ信号を用いて行うその他の処理についても同様の課題を生じる。また演算装置、駆動装置が一体に構成されていても同様に課題を生じる。
【０００５】
本発明の目的は、演算装置と駆動装置とが協働して燃料噴射弁を駆動するシステムにおいて、クランクセンサ信号が駆動装置に正常に入力されなくなったとしても、退避走行に関する処理を正常に実行できるようにした電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、通常時には演算装置が指令値を演算して駆動装置に送信し当該駆動装置が指令値を受信すると当該指令値に基づいて噴射処理に関する処理を行う噴射制御システムを対象としている。この請求項１記載の発明によれば、取得部は通常時にはクランクセンサからクランクセンサ信号を取得している。また、取得部が正常にクランクセンサ信号を取得できない異常時においては、異常時処理部は、受信部が通信メッセージを受信したタイミングにおいて退避走行に関する処理を行うようにしている。
【０００７】
したがって、たとえ駆動装置にクランクセンサ信号が正常に入力されない又は入力されなくなったとしても、異常時処理部が通信メッセージを受信したタイミングで退避処理に関する処理を行うことになるため、演算装置が通信メッセージを送信するタイミングに応じて退避処理に関する処理を行うタイミングを制御できる。このため、通信メッセージを送信するタイミングを調整することで退避処理に関する処理が行われるタイミングを演算装置が主体的に制御できるようになり、退避走行に関する処理を正常に実行できるようになる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る電気的構成を概略的に示すブロック図
【図２】演算ＥＣＵの処理を示すフローチャート（その１）
【図３】通信メッセージの内容例（その１）
【図４】駆動ＥＣＵの処理を示すフローチャート（その１）
【図５Ａ】駆動ＥＣＵの処理を示すフローチャート（その２）
【図５Ｂ】駆動ＥＣＵの処理を示すフローチャート（その３）
【図５Ｃ】駆動ＥＣＵの処理を示すフローチャート（その４）
【図６】駆動ＥＣＵの処理を示すフローチャート（その５）
【図７】通信メッセージの内容例（その２）
【図８】演算ＥＣＵの処理を示すフローチャート（その２）
【図９】演算ＥＣＵの処理を示すフローチャート（その３）
【図１０】演算ＥＣＵの処理を示すフローチャート（その４）
【図１１】演算ＥＣＵの処理を示すフローチャート（その５）
【図１２】演算ＥＣＵの処理を示すフローチャート（その６）
【図１３】通信メッセージの内容例（その３）
【図１４】通信メッセージの内容例（その４）
【図１５】演算ＥＣＵの処理を示すフローチャート（その７）
【図１６】演算ＥＣＵの処理を示すフローチャート（その８）
【図１７】通信メッセージの内容例（その５）
【図１８】駆動ＥＣＵの処理を示すフローチャート（その６）
【図１９】駆動ＥＣＵの処理を示すフローチャート（その７）
【図２０】第２実施形態について、正常時及び異常時の各部の動作状態を示すタイミングチャート（その１）
【図２１】正常時及び異常時の各部の動作状態を示すタイミングチャート（その２）
【図２２Ａ】第３実施形態について、各噴射段の噴射開始角度を示す説明図
【図２２Ｂ】異常時における各噴射段の噴射開始タイミングを示す説明図
【図２３】演算ＥＣＵの処理を示すフローチャート（その９）
【図２４】通信メッセージの内容例（その６）
【図２５】通信メッセージの内容例（その７）
【図２６】通信メッセージの内容例（その８）
【図２７】駆動ＥＣＵの処理を示すフローチャート（その８）
【図２８Ａ】駆動ＥＣＵの処理を示すフローチャート（その９）
【図２８Ｂ】駆動ＥＣＵの処理を示すフローチャート（その１０）
【図２８Ｃ】駆動ＥＣＵの処理を示すフローチャート（その１１）
【図２９】異常時における噴射開始タイミングを示す説明図
【図３０】通信メッセージの内容例（その９）
【図３１】演算ＥＣＵの処理を示すフローチャート（その１０）
【図３２】演算ＥＣＵの処理を示すフローチャート（その１１）
【図３３】通信メッセージの内容例（その１０）
【図３４】通信メッセージの内容例（その１１）
【図３５】通信メッセージの内容例（その１２）
【図３６】駆動ＥＣＵの処理を示すフローチャート（その１２）
【図３７】駆動ＥＣＵの処理を示すフローチャート（その１３）
【図３８】駆動ＥＣＵの処理を示すフローチャート（その１４）
【図３９】通信メッセージの内容例（その１３）
【図４０】通信メッセージの内容例（その１４）
【図４１】異常時における各噴射段の噴射開始タイミング及び噴射期間を示す説明図
【図４２】第４実施形態について演算ＥＣＵの処理を示すフローチャート（その１２）
【図４３】駆動ＥＣＵの処理を示すフローチャート（その１６）
【図４４】通信メッセージの内容例（その１５）
【図４５】第５実施形態における通信メッセージの内容例（その１６）
【図４６】通信メッセージの内容例（その１７）
【図４７】通信メッセージの内容例（その１８）
【図４８】通信メッセージの内容例（その１９）
【図４９Ａ】第６実施形態における正常時における各噴射段の噴射開始タイミング及び噴射期間を示す説明図
【図４９Ｂ】異常時における各噴射段の噴射開始タイミング及び噴射期間を示す説明図
【図５０】通信メッセージの内容例（その２０）
【図５１】通信メッセージの内容例（その２１）
【図５２】通信メッセージの内容例（その２２）
【図５３】通信メッセージの内容例（その２３）
【図５４】通信メッセージの内容例（その２４）
【図５５】通信メッセージの内容例（その２５）
【図５６Ａ】駆動ＥＣＵの処理を示すフローチャート（その１７）
【図５６Ｂ】駆動ＥＣＵの処理を示すフローチャート（その１８）
【図５６Ｃ】駆動ＥＣＵの処理を示すフローチャート（その１９）
【図５６Ｄ】駆動ＥＣＵの処理を示すフローチャート（その２０）
【図５７】駆動ＥＣＵの処理を示すフローチャート（その２１）
【図５８Ａ】駆動ＥＣＵの処理を示すフローチャート（その２２）
【図５８Ｂ】駆動ＥＣＵの処理を示すフローチャート（その２３）
【図５８Ｃ】駆動ＥＣＵの処理を示すフローチャート（その２４）
【発明を実施するための形態】
【０００９】
以下、電子制御装置の幾つかの実施形態について図面を参照しながら説明する。各実施形態間で同一又は類似の構成については、第２実施形態以降について同一又は類似の符号を付すと共に、同一又は類似の処理を行う内容について同一又は類似のステップ番号を付して説明を必要に応じて省略し、第２実施形態以降では特徴部分を中心に説明を行う。
【００１０】
（第１実施形態）
図１から図１９は第１実施形態を示す。図１に噴射制御システム１の電気的構成を示す。噴射制御システム１は、燃料噴射演算ＥＣＵ（以下、演算ＥＣＵと称す：演算装置相当）２、及び、燃料噴射駆動ＥＣＵ（以下、駆動ＥＣＵと称す：駆動装置相当）３による複数のＥＣＵ（Electronic Control Unit）を接続して構成される。各ＥＣＵ２、３は、通常、ディーゼルエンジン制御に関する各種処理を分担して実施する。
【００１１】
演算ＥＣＵ２は、例えばＣＰＵ４、ＲＯＭ５、ＲＡＭ６、Ｉ／Ｏ（図示せず）などを具備するマイクロコンピュータ（以下、マイコンと略す）７と、通信回路８と、入力回路９とを備える。演算ＥＣＵ２のマイコン７には、アクセルセンサ１０、クランクセンサ１１、ブレーキセンサ１２などの各種センサのセンサ信号が入力回路９を通じて入力されている。これにより、ブレーキとアクセルの踏込量、及び、内燃機関のエンジン回転数に係る情報を入力できる。
【００１２】
アクセルセンサ１０は、所謂アクセルポジションセンサとも称され、アクセルペダル（図示せず）の変位量を電気信号に変換するセンサである。このアクセルセンサ１０に代えてエンジンのスロットル開度センサなどを用いても良い。クランクセンサ１１は、クランクシャフト（図示せず）の回転角について所定角度を基準として検出し電気信号に変換するセンサであり、当該センサ信号を内燃機関の回転信号として出力する。演算ＥＣＵ２と駆動ＥＣＵ３とは、通信線（バス）のネットワークＮにより接続されており、例えばＣＡＮ（Controller Area Network）：登録商標）により通信可能になっている。
【００１３】
駆動ＥＣＵ３もまた、例えばＣＰＵ１３、ＲＯＭ１４、ＲＡＭ１５、Ｉ／Ｏ（図示せず）などを具備するマイクロコンピュータ（以下、マイコンと略す）１６と、受信部としての通信回路１７と、取得部としての入力回路１８と、駆動回路１９と、を備える。駆動ＥＣＵ３の駆動回路１９には、例えば４気筒分の燃料噴射弁（インジェクタとも称される）２０、圧力調整ポンプ（以下、ポンプと略す）２１が接続されており、駆動回路１９は、マイコン１６からの指令を受けて燃料噴射弁２０及びポンプ２１を駆動する。ポンプ２１にはコモンレール２２が接続されている。コモンレール２２は、高圧燃料を蓄積する圧力管であり、ポンプ２１はコモンレール２２の内部圧力を調整するポンプである。
【００１４】
また駆動ＥＣＵ３の入力回路１８には、アクセルセンサ１０、及び、クランクセンサ１１が接続されている。コモンレール２２内の圧力は圧力センサ２３により検出され、この圧力検出信号は駆動ＥＣＵ３の入力回路１８を通じてマイコン１６に入力される。演算ＥＣＵ２は、マイコン７がＲＯＭ５に記憶されたソフトウェア、プログラムを実行することで各種機能を実現する。
【００１５】
駆動ＥＣＵ３のマイコン１６は、ＲＯＭ１４に記憶されたプログラムを実行することで、クランクセンサ１１に関する異常を生じたか否かを判定する異常判定部としての機能を備える。このマイコン１６は、異常を生じたときに各種処理を実行する異常時処理部、異常判定部により異常を生じたと判定されたときには演算ＥＣＵ２から正常時に送信される通信メッセージに基づいて駆動しない正常時処理部、としての機能を備える。
【００１６】
上記構成の作用について説明する。内燃機関の各気筒は、例えば４気筒４サイクルエンジンであればクランク角度１８０°ＣＡ毎を単位として単発又は複数回噴射するが、本実施形態では基本的な単発噴射について説明する。以下、通常時における単発噴射時の処理内容と、駆動ＥＣＵ３がクランクセンサ信号を受信不能になったときの異常時の処理内容とを分けて説明する。
【００１７】
＜正常時の処理内容＞
演算ＥＣＵ２のマイコン７は、主に、噴射量の演算処理と、コモンレール２２の圧力目標値の演算処理とを実施し、駆動ＥＣＵ３のマイコン１６は、主に、燃料噴射弁２０の駆動処理、及び、ポンプ２１の駆動処理を実施する。
【００１８】
＜演算ＥＣＵ２の正常モード時の処理＞
通常時には、演算ＥＣＵ２のマイコン７が噴射量の指令値及びポンプ２１の目標レール圧の指令値などを演算して駆動ＥＣＵ３に送信し、駆動ＥＣＵ３のマイコン１６が指令値を受信すると指令値に基づいて噴射処理に関する処理を行う。演算ＥＣＵ２のマイコン７も、駆動ＥＣＵ３のマイコン１６も、それぞれ入力回路９，１８を通じてクランクセンサ１１のクランクセンサ信号を入力する。このため、通常時には、演算ＥＣＵ２も駆動ＥＣＵ３も、クランクセンサ１１のクランクセンサ信号に基づいてクランク角度°ＣＡを算出できる。クランク角度°ＣＡは、上死点（ＴＤＣ：top dead center）を０°ＣＡとし、当該上死点を基準とした所定角度の前時点（ＢＴＤＣ：before ＴＤＣ）に同期したタイミングで処理される。
【００１９】
図２は、演算ＥＣＵ２のマイコン７がＢＴＤＣ１２０°ＣＡに同期して実行する処理を示している。まず、演算ＥＣＵ２のマイコン７は、クランクセンサ１１からクランクセンサ信号が入力されているか否かを判定し、これにより、ＢＴＤＣ１２０°ＣＡに同期する処理を実行するか否かを判定すると共に、クランクセンサ１１が正常に動作しているか否かを判定する。演算ＥＣＵ２は、クランクセンサ１１が正常に動作していることを条件として以下のＳ１２〜Ｓ１７の処理を実行するが、正常に動作していないときには、このＢＴＤＣ１２０°ＣＡのタイミングでは処理を行うことなく終了する。Ｓ１２においてＮＯと判定したときには、演算ＥＣＵ２のマイコン７は、所定のフェールセーフ処理を実行するか又は噴射値の指令値等を駆動ＥＣＵ３に送出しない（何れも図２には図示せず）。このため退避走行もしないことになるが、これらの処理については、本実施形態の特徴には関係しないため説明を省略する。
【００２０】
演算ＥＣＵ２のマイコン７は、Ｓ１１においてＹＥＳを判定すると、Ｓ１２において演算ＥＣＵ２の動作モードが正常モードであるか否かを判定する。演算ＥＣＵ２の動作モードは、マイコン７の内部にフラグとして記憶されており、通常時にはこのフラグが正常モードに設定されている。
【００２１】
このため、このフラグが正常モードとされている間には、演算ＥＣＵ２のマイコン７はＳ１２においてＹＥＳと判定する。すると演算ＥＣＵ２は、Ｓ１３において前述の各種センサ１０〜１２から取得されたセンサ信号に応じて目標レール圧を算出し、Ｓ１４において噴射量の指令値、及び、噴射開始角度（クランク角度°ＣＡ）を算出し、Ｓ１５においてＣＡＮＩＤを通常時噴射（INJ_NORMAL_MIDDLE）とし、噴射量（INJ_Q）、噴射開始角度（INJ_T）、及び、目標レール圧（PRS）をデータとして設定してネットワークＮに送出する。図３には、演算ＥＣＵ２から送信するデータの内容を示している。
【００２２】
ネットワークＮにはＥＣＵ２，３の他多数のＥＣＵ（図示せず）が接続されている。ＣＡＮ通信方式を用いているため、各種ＥＣＵ２，３等による通信データの衝突を考慮して、演算ＥＣＵ２は通信メッセージの優先度を設定する。この通常時噴射における通信メッセージの優先度は、異常時に係る各種処理の通信メッセージの優先度に比較して低い値（例えば、優先度５）に設定される。また後述するが、異常時噴射等の異常時に係る各種設定処理の通信メッセージの優先度は、通常時噴射の通信メッセージの優先度よりも高い値に設定される。
【００２３】
演算ＥＣＵ２のマイコン７は、Ｓ１２において動作モードのフラグが異常モードに設定されていると判定したときには、Ｓ１６において異常モード時のポンプ駆動処理、Ｓ１７において異常モード時の噴射制御処理、を実行するが、この詳細は後述する。
【００２４】
＜駆動ＥＣＵ３の正常モード時の受信割込処理＞
図４は駆動ＥＣＵ３による受信割込処理を概略的に示している。駆動ＥＣＵ３の側の通信回路１７は、ネットワークＮに送出された通信メッセージを受信割込処理により検出している。このとき図４に示すように、駆動ＥＣＵ３のマイコン１６は、動作モードが正常モードであるときにはＳ２１にてＮＯと判定し、通信回路１７によりネットワークＮに送出されている通信メッセージのＣＡＮＩＤが通常時噴射（INJ_NORMAL_MIDDLE）であると判断したときには、Ｓ２２において当該駆動ＥＣＵ３への通信メッセージであると判断して受信する。
【００２５】
通常時には、前述したように、演算ＥＣＵ２は、ＣＡＮＩＤを通常時噴射（INJ_NORMAL_MIDDLE）とし、噴射量（INJ_Q）、噴射開始角度（INJ_T）、及び、目標レール圧（PRS）のデータをネットワークＮに送出しているため、駆動ＥＣＵ３は、Ｓ２２においてＹＥＳと判定し、この通信メッセージを受信割込により受信する。そして駆動ＥＣＵ３のマイコン１６は、Ｓ２３において受信したデータ（噴射量（INJ_Q）、噴射開始角度（INJ_T）、及び、目標レール圧（PRS））を変数（Q_tmp、T_tmp、P_tmp）にそれぞれ退避する。
【００２６】
なお、通常時においては、たとえネットワークＮにＣＡＮＩＤが異常時圧力（PRS_ERR_HIGH）（Ｓ２４参照）、又は、異常時噴射（INJ_ERR_HIGH）（Ｓ２６参照）の通信メッセージが送出されていたとしても、駆動ＥＣＵ３がこの通信メッセージを受信することはない。異常時には、他の処理Ｓ２４〜Ｓ２７を行うが、異常時の詳細説明は後述する。
【００２７】
＜駆動ＥＣＵ３の正常モード時のクランク同期処理＞
図５Ａは、駆動ＥＣＵ３のマイコン１６がＢＴＤＣ９０°ＣＡに同期して実行する処理を示している。駆動ＥＣＵ３のマイコン１６は、まずＳ３１において駆動ＥＣＵ３の動作モードが正常モードであるか否かを判定する。この駆動ＥＣＵ３の動作モードもまた、そのマイコン１６の内部にフラグとして記憶されており、通常時にはこのフラグが正常モードに設定されている。このため、このフラグが正常モードとされている間には、駆動ＥＣＵ３のマイコン１６は、Ｓ３１においてＹＥＳと判定する。
【００２８】
すると駆動ＥＣＵ３のマイコン１６は、Ｓ３２において圧力センサ２３からコモンレール圧（燃料圧相当）の情報を入力回路１８を通じて取得し、Ｓ３３においてこの取得されたコモンレール圧の情報、及び、目標レール圧の変数P_tmpに基づいて圧力調整ポンプ２１の駆動開始角度、及び、当該ポンプ２１の駆動期間を算出し、Ｓ３４においてクランクセンサ１１のクランクセンサ信号、ポンプ２１の駆動開始角度、及び、ポンプ２１の駆動期間より、圧力調整ポンプ２１の駆動開始時刻，駆動終了時刻を算出する。そして、Ｓ３５において圧力調整ポンプ２１の駆動開始時刻、駆動終了時刻をタイマ設定する。Ｓ３５の圧力調整ポンプ２１の駆動処理は、設定時刻が到来したタイミングになったときにタイマ割込処理により実行される。
【００２９】
また、駆動ＥＣＵ３のマイコン１６は、Ｓ３６において入力回路１８から入力されるクランクセンサ１１のクランクセンサ信号、及び、噴射開始角度の変数T_tmpの情報に基づいて、燃料噴射弁２０の噴射開始時刻を算出し、Ｓ３７において燃料噴射弁２０の噴射開始時刻をタイマ設定する。
【００３０】
Ｓ３７においてタイマ設定された燃料噴射弁２０の噴射開始時刻が到来すると、駆動ＥＣＵ３のマイコン１６は図５Ｂに示すタイマ割込処理を実行する。図５Ｂに示すように、駆動ＥＣＵ３のマイコン１６は、Ｓ３８ａにおいて気筒番号（CYLNUM）に対応した現気筒の噴射を開始し、Ｓ３８ｂにおいてコモンレール２２のコモンレール圧を圧力センサ２３から取得し、Ｓ３８ｃにおいてコモンレール圧と噴射量の変数Q_tmpにより噴射期間を算出し、Ｓ３８ｄにおいて噴射終了時刻を設定する。そして、噴射終了時刻が到来すると、図５Ｃの噴射終了時刻のタイマ割込処理に示すように、Ｓ３９において気筒番号（CYLNUM）の現気筒の噴射を終了する。
【００３１】
なお、駆動ＥＣＵ３のマイコン１６は、動作モードが異常モードに設定されているときには、図５ＡのＳ３１においてＮＯと判定し、このＢＴＤＣ９０°ＣＡのタイミングでは処理を行うことなく終了する。通常時には、このようにして、燃料噴射弁２０の噴射処理及び圧力調整ポンプ２１の駆動処理が行われる。
【００３２】
＜異常を生じたときの処理内容説明＞
例えば、クランクセンサ信号の駆動ＥＣＵ３のマイコン１６への入力経路（例えば、図１では入力回路１８へのクランクセンサ信号の入力経路、又は、入力回路１８とマイコン１６との間の通信経路）に不具合を生じている、又は、生じたときには、マイコン１６は、クランクセンサ信号を受信不能になる。この不具合は、例えばハーネスの接触又は接続不良、入力回路１８の故障等が原因として挙げられる。このようなとき、演算ＥＣＵ２及び駆動ＥＣＵ３は協働して退避走行制御する。本実施形態では、駆動ＥＣＵ３は、前述した図５に示す通常時の処理内容に加えて、以下の図６に示す処理を定期的に実行する。
【００３３】
＜駆動ＥＣＵ３によるクランクセンサ１１の定期的チェック処理及び異常時の処理＞
図６に示すように、駆動ＥＣＵ３のマイコン１６は、Ｓ４１においてクランクセンサ１１のクランクセンサ信号を正常に入力しているか否かを定期的に判定し、クランクセンサ信号が正常に入力されていれば、Ｓ４１でＮＯと判定し処理を終了するが、クランクセンサ信号が正常に入力されていなければ、Ｓ４１でＹＥＳと判定し、ＣＡＮＩＤをクランクセンサ異常（ERR_HIGH）とした通信メッセージをネットワークＮに送出する。図７に異常伝達用の通信メッセージの概要を示す。この異常発生伝達メッセージは、全てのメッセージの中でも最重要メッセージとなるため、ＣＡＮＩＤの優先度を最も高く（例えば「１」）設定している。そして駆動ＥＣＵ３のマイコン１６は、図６のＳ４３において自身の動作モードを正常モードから異常モードに変更する。
【００３４】
＜演算ＥＣＵ２の異常発生伝達メッセージの受信割込処理＞
図８は、演算ＥＣＵ２の側における受信割込処理を概略的に示している。演算ＥＣＵ２の通信回路８は、ネットワークＮに送出された通信メッセージを受信割込処理により検出している。
【００３５】
図８に示すように、演算ＥＣＵ２のマイコン７は、Ｓ５１において自身が異常モードであるか否かを判定し、異常モードでないときにはＳ５１にてＮＯと判定し、Ｓ５２にて通信回路８によりネットワークＮを参照し、ネットワークＮに送出されているメッセージのＣＡＮＩＤがクランクセンサ異常（ERR_HIGH）であるか否かを確認する。演算ＥＣＵ２は、クランクセンサ異常（ERR_HIGH）の異常発生伝達メッセージを受信するとＳ５２にてＹＥＳと判定し、Ｓ５３において自身の動作モードを異常モードに変更する。これにより演算ＥＣＵ２はクランクセンサ異常（ERR_HIGH）の異常発生伝達メッセージを受信すると動作モードを異常モードに変更できる。なお、異常モードにおけるコモンレール圧の受信処理Ｓ５４、Ｓ５５については後述する。
【００３６】
＜演算ＥＣＵ２による異常モード時のポンプ駆動処理＞
演算ＥＣＵ２が、Ｓ５３において動作モードを異常モードに設定すると、図２のＳ１２にてＮＯと判定し、Ｓ１６にて異常モード時におけるポンプ駆動処理を行い、Ｓ１７において異常モード時噴射処理を行う。
【００３７】
図９は演算ＥＣＵ２の側における異常モード時のポンプ駆動処理を概略的に示している。まず、演算ＥＣＵ２のマイコン７は、Ｓ６１においてネットワークＮを通じて駆動ＥＣＵ３から異常時レール圧（PRS_RAIL_HIGH）の変数PRS_tmpを取得し、Ｓ６２においてポンプ２１の駆動開始角度及びその駆動期間を算出する。この異常時レール圧（PRS_RAIL_HIGH）の変数PRS_tmpの値は、異常モード時におけるコモンレール２２の内部圧力を示しているが、当初異常であるときには、この変数PRS_tmpは、駆動ＥＣＵ３の側から異常時レール圧（PRS_RAIL_HIGH）により送信されるまで設定されることはない。このため、異常モード時における変数PRS_tmpの初期値は、予め定められた所定値に設定しても良いし、通常時に図４のＳ２３において退避されている値P_tmpを用いて設定しても良い。
【００３８】
このＳ６２において、演算ＥＣＵ２のマイコン７は、コモンレール２２の内部燃料圧力が一定圧力となるように変数PRS_tmpに応じてポンプ２１の駆動開始角度、及びポンプ２１の駆動期間を算出する。そして、演算ＥＣＵ２のマイコン７は、Ｓ６３においてクランクセンサ１１のクランクセンサ信号と、ポンプ２１の駆動開始角度とによりポンプ２１の駆動開始時刻を算出する。そして演算ＥＣＵ２のマイコン７は、Ｓ６４においてポンプ２１の駆動割込処理の起動時刻を設定してこのルーチンを抜ける。
【００３９】
この起動時刻の設定処理では割込処理を起動するためのタイマをセットするが、このタイマの設定時刻は、ネットワークＮの通信処理の遅れ、駆動ＥＣＵ３の側における演算時間の遅れ、燃料噴射弁２０により実際に噴射されるまでの遅れ、を考慮し、この遅延時間を見込んで設定すると良い。すると、これらの実情に合わせて通信メッセージの送信タイミングを設定できる。これらの遅延時間は、予め実験又はシミュレーションなどにより算出された時間を、固定値又は各種車両状態に応じて変化する変数値として設定しても良い。
【００４０】
＜演算ＥＣＵ２による異常モード時の噴射制御処理＞
演算ＥＣＵ２のマイコン７は、図２に示されるＳ１６の異常モード時のポンプ駆動処理を終了すると、Ｓ１７において異常モード時の噴射制御処理を行う。図１０は異常モード時の噴射制御処理を概略的に示している。演算ＥＣＵ２のマイコン７は、Ｓ７１において燃料噴射弁２０の現気筒（CYLNUM）の噴射量、噴射開始角度を算出し、Ｓ７２においてクランクセンサ１１のクランクセンサ信号及び噴射開始角度により噴射割込処理の起動時刻を算出し、Ｓ７３において燃料噴射弁２０の噴射割込処理の起動時刻を設定してこのルーチンを抜ける。
【００４１】
＜ポンプ２１の駆動割込処理及び燃料噴射弁２０の噴射割込処理＞
図９のＳ６４にて設定されたポンプ２１の駆動割込処理の起動時刻が到来すると、図１１に示すように、演算ＥＣＵ２のマイコン７は、Ｓ８１において通信回路８により異常時圧力（PRS_ERR_HIGH）の通信メッセージをネットワークＮに送出する。また、図１０のＳ７３において燃料噴射弁２０の噴射割込処理の起動時刻が設定されると、図１２に示すように、演算ＥＣＵ２のマイコン７は、Ｓ９１において通信回路８により異常時噴射（INJ_ERR_HIGH）の通信メッセージをネットワークＮに送出する。図１３に異常時圧力（PRS_ERR_HIGH）の通信メッセージ、図１４に異常時噴射（INJ_ERR_HIGH）の通信メッセージの内容を示す。異常時圧力（PRS_ERR_HIGH）の通信メッセージには、ポンプ駆動期間（PRS_PER）のパラメータ（「燃料圧の調整指令期間」相当）が含まれている。
【００４２】
また、異常時噴射（INJ_ERR_HIGH）の通信メッセージには、噴射量（INJ_Q）、気筒番号（CYLNUM）のパラメータが含まれており、演算ＥＣＵ２が、これらの通信メッセージをネットワークＮに送出することで、ポンプ駆動期間（PRS_PER）、噴射量（INJ_Q）、気筒番号（CYLNUM）の指令値の情報を駆動ＥＣＵ３に送信できる。
【００４３】
これらの図１３及び図１４に示すように、異常時の通信メッセージの優先度（例えば「２」、「３」）は、通常時の通信メッセージの優先度（例えば「５」）よりも高く設定されている。また、これらの異常時噴射（INJ_ERR_HIGH）及び異常時圧力（PRS_ERR_HIGH）の通信メッセージの優先度（例えば「２」、「３」）は、最重要メッセージとなる前述した異常発生伝達メッセージの優先度（例えば「１」）より低く設定されている。
【００４４】
これらの異常時噴射（INJ_ERR_HIGH）及び異常時圧力（PRS_ERR_HIGH）の通信メッセージは、演算ＥＣＵ２から駆動ＥＣＵ３に対して制御指令タイミングを計るための情報である。このため、その優先度は、駆動ＥＣＵ３から演算ＥＣＵ２へ送出される他の通信メッセージ（例えば、異常時圧力（PRS_RAIL_HIGH）：後述参照）の優先度（例えば「４」）よりも高く設定される。
【００４５】
なお異常時圧力（PRS_ERR_HIGH）の内容は、異常時においてはコモンレール２２の目標燃料圧を一定に保つように設定することが望ましい。これにより、演算ＥＣＵ２のマイコン７は目標燃料圧を演算処理を行うことなく設定できるようになり処理負荷を軽減できる。
【００４６】
＜駆動ＥＣＵ３による異常モード時の受信割込処理＞
異常時には図１１、図１２に示したように、演算ＥＣＵ２が、異常時圧力（PRS_ERR_HIGH）の通信メッセージ、異常時噴射（INJ_ERR_HIGH）の通信メッセージをネットワークＮに送出するが、図４に示したように、駆動ＥＣＵ３は、異常モードにおいてもネットワークＮに送出された通信メッセージを受信割込処理により受信している。
【００４７】
この図４において、駆動ＥＣＵ３は、異常モードであるときにはＳ２１にてＹＥＳと判定し、ＣＡＮＩＤがＳ２４にて異常時噴射（INJ_ERR_HIGH）であったり、Ｓ２６にて異常時圧力（PRS_ERR_HIGH）であったりしたときには、当該駆動ＥＣＵ３への通信メッセージであると判断して受信し、駆動ＥＣＵ３がＳ２４にてＹＥＳと判定すると、Ｓ２５において異常モード時における燃料噴射弁２０の噴射制御処理を行う。また、駆動ＥＣＵ３が、Ｓ２６においてＹＥＳと判定すると、Ｓ２７において異常モード時におけるポンプ２１の駆動処理を行う。
【００４８】
＜駆動ＥＣＵ３による異常モード時の噴射制御処理＞
図１５は、図４のＳ２５の異常モード時における燃料噴射弁２０の噴射制御処理を示している。駆動ＥＣＵ３のマイコン１６は、Ｓ１０１において通信メッセージに含まれる異常時噴射（INJ_ERR_HIGH）の噴射量（INJ_Q）と気筒番号（CYLNUM）とをそれぞれ変数Q_tmp、Cyl_tmpに退避させる。そして駆動ＥＣＵ３のマイコン１６は、Ｓ１０２において変数Cyl_tmpに対応した気筒の燃料噴射弁２０を即時噴射制御開始する。その後、駆動ＥＣＵ３は、Ｓ１０３においてコモンレール２２のコモンレール圧を圧力センサ２３から入力回路１８を通じて取得し、Ｓ１０４においてコモンレール圧と噴射量の変数Q_tmpより噴射期間を算出し、Ｓ１０５において燃料噴射弁２０の噴射終了時刻（噴射期間）を設定する。なお、ここでは、駆動終了割込処理を起動するためのタイマを設定してこのルーチンを抜ける。
【００４９】
＜駆動ＥＣＵ３による異常モード時のポンプ駆動処理＞
図１６は、図４のＳ２７の異常モード時におけるポンプ駆動処理を概略的に示している。駆動ＥＣＵ３は、Ｓ１１１において通信メッセージに含まれる異常時圧力（PRS_ERR_HIGH）のポンプ駆動期間（PRS_PER）を変数Per_tmpに退避し、Ｓ１１２においてポンプ２１を即時駆動開始する。演算ＥＣＵ２による異常時圧力（PRS_ERR_HIGH）の通信メッセージの送信タイミングから駆動ＥＣＵ３による受信タイミングまでの時間は、ネットワークＮの通信処理時間で決定され概ね一定時間となる。このため、演算ＥＣＵ２は通信メッセージの送信タイミングを調整することでポンプ２１の駆動開始タイミングを調整制御できる。
【００５０】
駆動ＥＣＵ３のマイコン１６は、Ｓ１１２にてポンプ２１を即時駆動開始した後、Ｓ１１３においてポンプ２１の駆動終了時刻をタイマ設定し、Ｓ１１４にて圧力センサ２３によるコモンレール圧を入力回路１８を通じて取得し、Ｓ１１５においてＣＡＮＩＤを異常時レール圧（PRS_RAIL_HIGH）として通信メッセージをネットワークＮに送出してこのルーチンを抜ける。
【００５１】
図１７には、異常時レール圧（PRS_RAIL_HIGH）の通信メッセージの内容を概略的に示しているが、この図１７に示すように、異常時レール圧（PRS_RAIL_HIGH）の通信メッセージにはコモンレール圧力（PRS_RAIL）が含まれている。また、この異常時レール圧（PRS_RAIL_HIGH）の通信メッセージの優先度（例えば「４」）は、通常時の通信メッセージの優先度（例えば「５」）よりも高く設定されているものの、前述の演算ＥＣＵ２から駆動ＥＣＵ３への通信メッセージの優先度（例えば「３」）よりも低く設定されている。
【００５２】
図１８は燃料噴射弁２０の駆動終了タイマ割込処理を示している。図１５のＳ１０５にて設定された燃料噴射弁２０の噴射終了時刻が経過すると、駆動ＥＣＵ３は図１８に示すタイマ割込処理を実行することでＳ１２１にて燃料噴射弁２０の噴射を終了する。また、図１９はポンプ駆動終了タイマ割込処理を示している。図１６のＳ１１３にて設定されたポンプ駆動終了時刻が経過すると、駆動ＥＣＵ３は図１９に示すタイマ割込処理を実行することでＳ１２２にてポンプ２１の駆動を終了する。
【００５３】
演算ＥＣＵ２は、図８に示す受信割込処理において、Ｓ５１にてＹＥＳと判定し、Ｓ５４にて異常時レール圧（PRS_RAIL_HIGH）の通信メッセージをネットワークＮから受信すると、Ｓ５４にてＹＥＳと判定し、Ｓ５５において異常時レール圧（PRS_RAIL_HIGH）の通信メッセージに含まれるコモンレール圧力(PRS_RAIL)のデータを変数PRS_tmpに退避する。そして演算ＥＣＵ２は、図９に示す異常モード時におけるポンプ駆動処理のＳ６１においてこの変数PRS_tmpを入力し、Ｓ６２〜Ｓ６４の処理を行う。
【００５４】
これにより、駆動ＥＣＵ３が取得した異常時のコモンレール圧力の情報を演算ＥＣＵ２にフィードバックできるようになる。これにより演算ＥＣＵ２がポンプ２１によりコモンレール圧力を主体的に制御できるようになる。このとき、演算ＥＣＵ２のマイコン７は、目標とする駆動タイミングのクランク角度から、クランクセンサ１１から取得される現在のクランクセンサ信号の示すクランク角度を減算し、現在のエンジン回転数に応じてポンプ２１の駆動開始タイミングに変換することに応じて、Ｓ６３においてポンプ２１の駆動開始時刻を精度良く算出できるようになり、Ｓ６４においてポンプ２１の駆動割込処理の起動時刻を精度良く設定できる。
【００５５】
このように、たとえクランクセンサ１１のクランクセンサ信号が駆動ＥＣＵ３に入力されない又はされなくなった場合においても、演算ＥＣＵ２及び駆動ＥＣＵ３は、ポンプ２１の駆動処理、燃料噴射弁２０による噴射処理を協働して処理でき、退避走行に関する処理を正常に実行できる。
【００５６】
＜本実施形態の概念的なまとめ＞
要するに、通常時、正常時（正常モード）においては、駆動ＥＣＵ３はクランクセンサ１１のクランクセンサ信号を取得した角度同期処理にて燃料噴射弁２０を噴射制御すると共にポンプ２１を駆動処理するが、異常時（異常モード）においては、演算ＥＣＵ２が駆動ＥＣＵ３に通信メッセージを送出し駆動ＥＣＵ３が受信したタイミングで燃料噴射弁２０の噴射制御処理及びポンプ２１の駆動処理（燃料圧の駆動制御相当）を実行している。
【００５７】
このとき、駆動ＥＣＵ３は通信メッセージを受信したタイミングで噴射処理に関する処理を行うことになるため、演算ＥＣＵ２が通信メッセージを送信するタイミングに応じて燃料噴射弁２０の噴射制御処理及びポンプ２１の駆動処理を行うタイミングを制御できる。このため、演算ＥＣＵ２が通信メッセージを送信するタイミングを調整することで燃料噴射弁２０の噴射制御処理及びポンプ２１の駆動処理が行われるタイミングを主体的に制御できるようになり、退避走行に関する処理を正常に実行できる。
【００５８】
駆動ＥＣＵ３は、クランクセンサ１１に関する異常を生じたと判定されたときには、演算ＥＣＵ２から正常時に送信される通信メッセージに基づいては各種制御（燃料噴射弁２０の噴射制御、ポンプ２１の駆動処理）を行わないようになっている。このため動作の信頼性を高めることができる。
【００５９】
演算ＥＣＵ２は異常時には噴射量（INJ_Q）及び気筒を識別する気筒番号（CYLNUM）を駆動ＥＣＵ３に送信し、駆動ＥＣＵ３のマイコン１６は、これらの噴射量及び気筒番号を受信し当該気筒番号に対応した気筒に対し噴射量を設定するようにしているため、たとえクランクセンサ信号を取得できない異常時においても燃料噴射弁２０の各気筒に対応して噴射量を設定できるようになる。
【００６０】
またクランクセンサ異常（ERR_HIGH）の異常発生伝達メッセージは、その優先度が他の通信メッセージより最も高く例えば「１」に設定されているため、他の通信メッセージの通信の影響を受けることなく通信処理できるようになり、ネットワークＮの通信遅れの影響を除外でき、駆動ＥＣＵ３から演算ＥＣＵ２に異常の発生を素早く伝達できる。
【００６１】
即時処理するための異常時噴射（INJ_ERR_HIGH）及び異常時圧力（PRS_ERR_HIGH）の通信メッセージは、その優先度が他の通信メッセージよりも高く例えば「２」「３」に設定されているため、他の通信メッセージの通信の影響を極力受けることなく通信処理できるようになり、ネットワークＮの通信遅れの影響を最小限にできる。
【００６２】
演算ＥＣＵ２が、通信メッセージの送受信による通信遅れ、および、駆動ＥＣＵ３が通信メッセージを受信するタイミングから実際に噴射制御するまでの間の処理遅れ、に基づいて通信メッセージの送信タイミングを設定することで、演算ＥＣＵ２が燃料噴射弁２０からの噴射タイミングを正確に制御できる。
【００６３】
異常時において、演算ＥＣＵ２のマイコン７は目標燃料圧の演算処理を行うことなく駆動ＥＣＵ３が目標燃料圧を一定とするようにポンプ２１を制御する場合には、演算ＥＣＵ２がコモンレール２２の圧力の調整期間を駆動ＥＣＵ３に伝える必要がなくなりネットワークＮの通信負荷を低減できる。しかも演算ＥＣＵ２、駆動ＥＣＵ３の処理負荷を軽減できる。
【００６４】
演算ＥＣＵ２は正常時にはコモンレール２２の圧力目標値を送信し、異常時にはポンプ２１の駆動期間を送信し、駆動ＥＣＵ３はポンプ２１の駆動期間を設定するようにしているため、たとえクランクセンサ信号を取得できない異常時においてもコモンレール２２の内部燃料圧力を制御できるようになる。また駆動ＥＣＵ３によるポンプ２１の駆動期間の算出処理負担が軽減される。
【００６５】
異常モードにおいては、演算ＥＣＵ２のマイコン７が噴射量（INJ_Q）を算出して駆動ＥＣＵ３の側に送信し、駆動ＥＣＵ３がこの噴射量に応じて噴射期間を算出し当該噴射期間に応じて燃料噴射弁２０を噴射制御している。これにより、噴射制御に関する処理負担を分担できる。
【００６６】
（第２実施形態）
図２０及び図２１は第２実施形態の追加説明図を示している。第１実施形態では、クランクセンサ１１のクランクセンサ信号が駆動ＥＣＵ３のマイコン１６へ入力異常を生じたときに、内燃機関（エンジン）がストップすることなく退避走行する形態を示しているがエンジンストップする場合もある。本実施形態では、エンジンストップしない場合とエンジンストップする場合とを対比して説明を行う。
【００６７】
図２０及び図２１は正常時及び異常時の各部の動作状態をタイミングチャートで示している。通常、車両が始動され内燃機関が起動していれば、エンジン回転数が所定のアイドル回転数以上に高く保持されている。このとき、燃料噴射弁２０の噴射制御処理及びポンプ２１の駆動処理は正常に実行可能な状態となっている。
【００６８】
演算ＥＣＵ２のマイコン７は、エンストフラグの記憶領域を内部に保持している。演算ＥＣＵ２のマイコン７は、内燃機関が停止すると当該停止状態が検知されることでエンストフラグがオンされる。このため、マイコン７がこのエンストフラグを検知することでエンジンが停止したことを検知可能となる。
【００６９】
また演算ＥＣＵ２は、前述実施形態で説明した通常モード及び異常モードの他、始動モードを備えており、エンジンストップ状態（停止状態）でエンストフラグがオンしていることを条件とし、さらに動作モードが異常モードに移行したときに始動モードに移行する。演算ＥＣＵ２のマイコン７は、始動モードに移行したときにはエンジンを所定の始動手段（例えばセルモータ、セルスタータ：図示せず）を用いて自動的に再始動し、エンジン回転数を所定のアイドル回転数以上となるまで自動的に再上昇可能になっている。
【００７０】
上記構成の作用について説明する。
図２０のタイミングｔ１〜ｔ２に示すように、正常に噴射可能なときには、演算ＥＣＵ２及び駆動ＥＣＵ３の動作モードは共に正常モード（通常モード）に設定されており、エンストフラグも始動時モードもオフとされている。また、演算ＥＣＵ２も駆動ＥＣＵ３もクランクセンサ１１のクランクセンサ信号を正常に受信可能になっている。このため、演算ＥＣＵ２も駆動ＥＣＵ３もクランクの回転位置を把握でき、特に駆動ＥＣＵ３は、何れの気筒の燃料噴射弁２０を駆動して良いか把握でき、演算ＥＣＵ２から指令された噴射量に応じて駆動ＥＣＵ３が噴射制御処理できる。
【００７１】
クランクセンサ１１のクランクセンサ信号が図２０のタイミングｔ２において駆動ＥＣＵ３に入力されなくなると、駆動ＥＣＵ３はクランクセンサ１１のセンサ信号の入力異常を検出し、動作モードを異常モードに移行させる（図６のＳ４３参照）。ＣＡＮによるネットワークＮの通信処理には遅延があるため、演算ＥＣＵ２と駆動ＥＣＵ３とでは動作モードの切替タイミングが異なる。
【００７２】
このため、駆動ＥＣＵ３が異常モードに移行しても、演算ＥＣＵ２が正常モードになっていれば、演算ＥＣＵ２は図２０のタイミングｔ３において噴射指令信号として通常時噴射（INJ_NORMAL_MIDDLE）をネットワークＮに送出することもある。しかし、このタイミングｔ３において、駆動ＥＣＵ３はすでに異常モードとなっているため、図５ＡのＳ３１にてＮＯと判定されることになり、図５ＡのＳ３２〜Ｓ３６における処理を実行することがなくなり燃料噴射弁２０を噴射制御することはない（図２０のｔ４参照）。これにより、駆動ＥＣＵ３が異常モードに移行したときには、正常モードの演算ＥＣＵ２から噴射指令されたとしてもこの指令を無効にでき、予期しない挙動を未然に防ぐことができ、噴射制御処理の信頼性を高めることができる。
【００７３】
駆動ＥＣＵ３が、図６のＳ４２に示したようにクランクセンサ異常であることを送信すると、演算ＥＣＵ２は、図８のＳ５２に示したように、このクランクセンサ異常（ERR_HIGH）であることを受信し、図８のＳ５３において、演算ＥＣＵ２は動作モードを異常モードに移行させる（図２０のｔ５参照）。図２０に示しているように、ネットワークＮの通信処理等に係る遅延時間や退避走行を開始するまでの処理時間を要するが、実際にクランクセンサ信号の入力異常が発生してから、演算ＥＣＵ２が、動作モードを異常モードに移行し退避走行を開始するまでの間にもエンジン回転数が低下する。
【００７４】
図２０のタイミングｔ２〜ｔ５に示すように、例えばネットワーク通信処理時間等に多くの時間を必要としなかった場合、エンジン回転数がエンスト閾値Ｅｔに低下するまでの間に、演算ＥＣＵ２が動作モードを通常モードから異常モードに移行して退避走行を開始できれば、タイミングｔ５以降に示すように、エンジン回転数が再度上昇し例えば所定回転数以上になる。
【００７５】
演算ＥＣＵ２は、図１１のＳ８１、図１２のＳ９１において噴射指令信号として異常時圧力（PRS_ERR_HIGH）、異常時噴射（INJ_ERR_HIGH）の通信メッセージをネットワークＮに送出することで、駆動ＥＣＵ３は、ポンプ駆動時間（PRS_PER）、噴射量（INJ_Q）及び気筒番号（CYLNUM）を把握することができ、ネットワークＮから当該情報を受信したときに、即時、燃料噴射弁２０による噴射処理、ポンプ２１の駆動処理を実行できることになる。これにより、内燃機関がストップしなかったときには、始動時処理は不要となり、噴射対象の気筒の判別もできるため、駆動ＥＣＵ３が異常モードに移行すると直ぐに退避走行を開始できる。
【００７６】
他方、図２１には、内燃機関がストップする事例に対応したタイミングチャートを示している。図２１のタイミングｔ２において何らかの影響でクランクセンサ信号が駆動ＥＣＵ３に入力されなくなると、駆動ＥＣＵ３は動作モードを異常モードとし、クランクセンサ信号の入力異常であることをネットワークＮに送出し、演算ＥＣＵ２がこの情報を入力する。図２１のタイミングｔ２〜ｔ３ａにおいて、ネットワークＮの通信処理等に係る遅延時間や退避走行を開始するまでの種々の処理時間を要し、退避走行を開始するまでの間にエンジン回転数が低下する。
【００７７】
図２１のタイミングｔ３ｂに示すように、通信処理時間等に多くの時間を要し、エンジン回転数がエンスト閾値Ｅｔよりも低くなってしまうと、演算ＥＣＵ２は、エンストフラグがオンされることで内燃機関がストップしたことを把握する。このとき演算ＥＣＵ２は、内燃機関が回転停止したものと見做すことから、噴射対象の気筒を判別不能であると判定し（気筒判別処理ＯＦＦ）、噴射指令信号として通常時噴射（INJ_NORMAL_MIDDLE）の通信メッセージの出力を停止する（ｔ３ｂ以降ｔ６まで噴射指令信号を不出力）。
【００７８】
演算ＥＣＵ２は、タイミングｔ３ｂにおいてエンストフラグがオンされた後、ネットワークＮを通じてクランクセンサ信号の入力異常であることを駆動ＥＣＵ３から受信し、図２１のタイミングｔ５ａにおいて動作モードを異常モードにする。すると、演算ＥＣＵ２は、エンジンストップ状態（停止状態）でエンストフラグがオンしており、さらに動作モードが異常モードに移行したため始動モードに移行する。
【００７９】
演算ＥＣＵ２が、始動モードに移行すると、例えば通常時噴射（INJ_NORMAL_MIDDLE）、異常時噴射（INJ_ERR_HIGH）、異常時圧力（PRS_ERR_HIGH）等の通信メッセージによる各種噴射指令信号をネットワークＮに送出することはない。このため、駆動ＥＣＵ３が噴射制御処理、ポンプ２１の駆動処理を行うこともない。
【００８０】
図２１のタイミングｔ５ａにおいて、演算ＥＣＵ２が始動モードに移行すると、演算ＥＣＵ２は前述の所定の始動手段を用いてエンジンを始動させるため、エンジン回転数が上昇する。エンジン回転数が上昇し、図２１のタイミングｔ３ａにおいて、エンジン回転数がエンスト閾値Ｅｔ以下に設定された気筒判別閾値に達すると、演算ＥＣＵ２は、入力回路９を通じてマイコン７に入力されたクランクセンサ１１のクランクセンサ信号に応じて、噴射対象となる気筒を判別可能になる。
【００８１】
これにより演算ＥＣＵ２はタイミングｔ３ａの時点から退避走行を開始できる。演算ＥＣＵ２が退避走行を開始すると、図２１のタイミングｔ６において始動モードをモードオフとして異常モードに移行する。またエンジン回転数がエンスト閾値Ｅｔにまで上昇するとエンストフラグがオフされる。これにより異常モードで退避走行可能になる。なお、図２１中では、エンストフラグのオフタイミングと始動時モードの解消タイミング（異常モードへの移行タイミング）とをタイミングｔ６で一致させているが、必ずしも一致していなくても良い。
【００８２】
＜本実施形態の概念的なまとめ＞
エンジン停止時にエンジン回転数がエンスト閾値Ｅｔよりも低下すると、演算ＥＣＵ２は始動モードに移行してエンジン回転数がエンスト閾値Ｅｔに上昇するまで異常モードにおける異常時噴射（INJ_ERR_HIGH）、異常時圧力（PRS_ERR_HIGH)等の通信メッセージによる噴射指令信号を出力しないようにしている。これにより始動モードにおいてはエンジン回転数がエンスト閾値Ｅｔに上昇するまで、駆動ＥＣＵ３が処理を実行することがなくなり動作信頼性を向上できる。
【００８３】
（第３実施形態）
図２２Ａから図４１は第３実施形態の追加説明図を示している。第１及び第２実施形態では、クランクセンサ１１の角度１８０°ＣＡ中における噴射発数について特徴とすることなく単発噴射を前提として説明を行ったが、第３実施形態では、多段噴射に適用した形態を示す。以下の説明では、同一処理を行うステップ番号に同一番号を付すと共に類似の処理を行うところに類似のステップ番号（例えば添え字「ａ」を付す）などして、必要に応じて説明を省略し、異なる処理を行うところには他のステップ番号を付して説明を行う。
【００８４】
例えば、４気筒４サイクルエンジンの場合、上死点ＴＤＣを基準とした前後のクランク角度１８０°ＣＡの範囲において例えば５回だけ多段噴射する。これらの各噴射を、以下、それぞれパイロット噴射Ｆ１、プレ噴射Ｆ２、メイン噴射Ｆ３、アフター噴射Ｆ４、ポスト噴射Ｆ５と称し、全体の噴射をまとめる又はそれぞれの一部を称するときには、必要に応じて「噴射段」と記載する。
【００８５】
＜全体処理の流れの説明＞
このような場合、正常時には図２２Ａに示すように、駆動ＥＣＵ３は、ネットワークＮから各噴射段Ｆ１〜Ｆ５の噴射開始角度（INJ_PILOT_T、INJ_PRE_T、INJ_MAIN_T、INJ_AFTER_T、INJ_POST_T）、及び、噴射量（INJ_PILOT_Q、INJ_PRE_Q、INJ_MAIN_Q、INJ_AFTER_Q、INJ_POST_Q）を含む通信メッセージを受信し、これらの噴射開始角度及び噴射量に応じて多段噴射制御する。
【００８６】
他方、異常時には図２２Ｂに示すように、駆動ＥＣＵ３のマイコン１６は、ネットワークＮから通信メッセージを受信したタイミングでパイロット噴射制御を開始し、この受信タイミングを基準として、パイロット−プレインターバル時間（PILOT_PRE_INT）、パイロット−メインインターバル時間（PILOT_MAIN_INT）、パイロット−アフターインターバル時間（PILOT_AFTER_INT）、パイロット−ポストインターバル時間（PILOR_POST_INT）、を設定し、これらの時間の経過タイミングを、それぞれプレ噴射Ｆ２、メイン噴射Ｆ３、アフター噴射Ｆ４、ポスト噴射Ｆ５の噴射制御の開始タイミングとする。
【００８７】
すなわち、演算ＥＣＵ２は、初段のパイロット噴射Ｆ１の噴射制御処理以外の後段の噴射段Ｆ２〜Ｆ５の噴射制御処理のタイミングを通信メッセージの送信タイミングからの経過時間（PILOT_PRE_INT、PILOT_MAIN_INT、PILOT_AFTER_INT、PILOR_POST_INT）で制御する。そして、駆動ＥＣＵ３のマイコン１６は、演算ＥＣＵ２から経過時間（PILOT_PRE_INT、PILOT_MAIN_INT、PILOT_AFTER_INT、PILOR_POST_INT）の情報を受信し、通信メッセージの受信タイミングから経過時間の情報を経過したタイミングにおいて後段の噴射段Ｆ２〜Ｆ５の噴射制御処理を行う。
【００８８】
また駆動ＥＣＵ３のマイコン１６は、演算ＥＣＵ２から各噴射段Ｆ１〜Ｆ５の噴射量（INJ_PILOT_Q、INJ_PRE_Q、INJ_MAIN_Q、INJ_AFTER_Q、INJ_POST_Q）を受信し、この噴射量の指令値に応じて多段噴射する。以下では、これらの方法に沿った処理を詳細説明する。
【００８９】
＜演算ＥＣＵ２による正常モード時の処理＞
演算ＥＣＵ２は、第１実施形態の図２に代えて図２３に示す処理を行う。演算ＥＣＵ２のマイコン７は、Ｓ１２において動作モードが正常モードであるときにはＳ１２にてＹＥＳと判定し、Ｓ１３にて目標レール圧を算出し、Ｓ１４ａにおいて各噴射段Ｆ１〜Ｆ５の噴射量、噴射開始角度を算出し、Ｓ１５ａにおいてＣＡＮＩＤを通常時噴射（INJ_NORMAL_MIDDLE_1〜3）とした通信メッセージを送出する。また、演算ＥＣＵ２のマイコン７は、Ｓ１２において動作モードが異常モードであるときにはＮＯと判定し、Ｓ１６において異常モード時のポンプ駆動処理を行い、Ｓ１７ａにおいて異常モード時における多段噴射制御処理を行う。図２４〜図２６には多段噴射における演算ＥＣＵ２から駆動ＥＣＵ３に送信するデータの内容例を示している。
【００９０】
図２４に示すように、通常時噴射（INJ_NORMAL_MIDDLE_1）のパラメータは、メイン噴射量（INJ_MAIL_Q）、メイン噴射開始角度（INJ_MAIN_Q）、目標レール圧（PRS）、を含んでいる。また図２５に示すように、通常時噴射（INJ_NORMAL_MIDDLE_2）のパラメータは、パイロット噴射量（INJ_PILOT_Q）、パイロット噴射開始角度（INJ_PILOT_T)、プレ噴射量（INJ_PRE_Q）、プレ噴射開始角度（INJ_PRE_Q）を含んでいる。また図２６に示すように、通常時噴射（INJ_NORMAL_MIDDLE_3）のパラメータは、アフター噴射量（INJ_AFTER_Q）、アフター噴射開始角度（INJ_AFTER_T）、ポスト噴射量（INJ_POST_Q）、ポスト噴射開始角度（INJ_POST_T）を含んでいる。
【００９１】
このように多段噴射処理の場合、図２４〜図２６に示す通常時噴射のパラメータは、第１実施形態で説明したパラメータ（図３参照）に比較して多く、このため、演算ＥＣＵ２が駆動ＥＣＵ３に送信すべきデータ量が多い。したがって演算ＥＣＵ２は、複数（例えば３）の通信メッセージのフレームに分けてネットワークＮに送出している。なお、後述説明するが、異常時噴射のパラメータ（図３３〜図３５参照）も同様である。
【００９２】
この図２４〜図２６に示されるパラメータは、通常時噴射に用いられるパラメータであるため、優先度は異常時噴射に用いられるパラメータよりも低く（例えば、７〜９）設定されている。これらの通常時噴射のパラメータの中では、メイン噴射Ｆ３に係るパラメータ（INJ_MAIN_Q、INJ_MAIN_T）やコモンレール２２の目標レール圧のパラメータ（PRS）の優先度（例えば７）が最も高く、パイロット噴射Ｆ１、プレ噴射Ｆ２に係るパラメータの優先度（例えば８）が次に高く、アフター噴射Ｆ４、ポスト噴射Ｆ５に係るパラメータの優先度（例えば９）が最も低く設定されている。
【００９３】
＜駆動ＥＣＵ３の正常モード時の受信割込処理＞
駆動ＥＣＵ３による受信割込処理を図４に代えて図２７に示している。駆動ＥＣＵ３のマイコン１６は、通常モードであるときにはＳ２１においてＮＯと判定し、ＣＡＮＩＤが通常時噴射（INJ_NORMAL_MIDDLE1〜3）の通信メッセージを受信したときには、図２７のＳ２２ａにおいてＹＥＳと判定し、Ｓ２３ａにおいて通常時噴射の噴射段Ｆ１〜Ｆ５の噴射量（INJ_XX_Q）、噴射開始角度（INJ_XX_T）、目標レール圧（PRS）を、変数Q_XX_tmp、T_XX_tmp、P_tmpに退避する。この噴射段Ｆ１〜Ｆ５の噴射量（INJ_XX_Q）は、図２４〜図２６のパイロット噴射量（INJ_PILOT_Q）、メイン噴射量（INJ_MAIN_Q）、プレ噴射量（INJ_PRE_Q）、アフター噴射量（INJ_AFTER_Q）、ポスト噴射量（INJ_POST_Q）に相当するパラメータを示している。また、噴射開始角度（INJ_XX_T）は、パイロット噴射開始角度（INJ_PILOT_Q）、メイン噴射開始角度（INJ_MAIN_T）、プレ噴射開始角度（INJ_PRE_T）、アフター噴射開始角度（INJ_AFTER_T）、ポスト噴射開始角度（INJ_POST_T）、に相当するパラメータを示している。図２７のＳ２４〜Ｓ２９に示す異常時の処理内容は後述する。
【００９４】
＜駆動ＥＣＵ３による正常モード時の角度同期処理＞
駆動ＥＣＵ３のマイコン１６が、ＢＴＤＣ９０°ＣＡに同期して実行する処理を図５Ａに代えて図２８Ａに示している。駆動ＥＣＵ３のマイコン１６は、まずＳ３１において駆動ＥＣＵ３の動作モードが正常モードであるか否かを判定し、正常モードとされている間には、Ｓ３２において圧力センサ２３からコモンレール圧の情報を入力回路１８を通じて取得し、Ｓ３３においてこの取得されたコモンレール圧、及び、目標レール圧の変数P_tmpにより、ポンプ２１の駆動開始角度及びその駆動期間を算出し、Ｓ３４においてクランクセンサ１１のクランクセンサ信号、ポンプ２１の駆動開始角度及びその駆動期間よりポンプ２１の駆動開始時刻及び駆動終了時刻を算出する。そして駆動ＥＣＵ３のマイコン１６は、Ｓ３５においてポンプ２１の駆動開始角度、駆動期間よりポンプ２１の駆動開始時刻及び駆動終了時刻を設定する。このＳ３５の圧力調整ポンプ２１の駆動処理は、設定時刻が到来したタイミングになったときにタイマ割込処理により実行される。
【００９５】
そして、駆動ＥＣＵ３のマイコン１６は、Ｓ３６ａにおいて各噴射段Ｆ１〜Ｆ５の噴射量の変数Q_XX_tmp、及び、各噴射開始角度の変数T_XX_tmp、及び、入力回路１８から入力されるクランクセンサ１１のクランクセンサ信号に基づいて燃料噴射弁２０の噴射開始時刻を算出し、Ｓ３７ａにおいて各燃料噴射弁２０の噴射開始時刻を各噴射段Ｆ１〜Ｆ５に対応した複数個（ここでは５個）のタイマ（図２８ＢにはタイマＴＩ１〜ＴＩ５と記載）に設定する。
【００９６】
図２８Ｂに示すように、各噴射段Ｆ１〜Ｆ５に対応したタイマＴＩ１〜ＴＩ５による割込処理が実行されると、Ｓ３８ａａにおいて気筒番号（CYLNUM）の現気筒の噴射制御を開始し、Ｓ３８ｂｂにおいて圧力センサ２３からコモンレール圧を取得し、Ｓ３８ｃｃにおいて各噴射量の変数Q_XX_tmpとコモンレール圧により噴射期間を算出し、Ｓ３８ｄｄにおいて噴射終了時刻を終了用に別に設けられたタイマＴＩ６に設定する。そして図２８Ｃに示すように、このタイマＴＩ６による割込処理が行われるとＳ３８ｅｅにおいて現気筒の噴射制御処理を終了する。
【００９７】
図２９は、このときの各タイマＴＩ１〜ＴＩ６の計数結果とタイマ割込に応じて行われる各噴射段Ｆ１〜Ｆ５とを示している。駆動ＥＣＵ３のマイコン１６は、図２９のタイミングｔ１１において各噴射段Ｆ１〜Ｆ５の噴射開始時刻を設定して各タイマＴＩ１〜ＴＩ５を一斉にスタートし、各タイマＴＩ１〜ＴＩ５が各噴射（パイロット、プレ、メイン、アフター、ポスト）の噴射開始時刻の計数値に達すると各噴射段Ｆ１〜Ｆ５の噴射制御を実行し、各噴射段Ｆ１〜Ｆ５の噴射制御を実行開始するタイミングｔ１２、ｔ１３、ｔ１４、ｔ１５、ｔ１６においてタイマＴＩ６をスタートさせる。そして、タイマＴＩ６が各噴射の噴射終了時刻の計数値に達するタイミングｔ２２、ｔ２３、ｔ２４、ｔ２５、ｔ２６において各噴射段Ｆ１〜Ｆ５の噴射制御を停止することになる。通常時には、このようにして燃料噴射弁２０の噴射制御処理が行われる。
【００９８】
なお、駆動ＥＣＵ３のマイコン１６は、動作モードが異常モードに設定されているときには、図２８ＡのＳ３１においてＮＯと判定し、このＢＴＤＣ９０°ＣＡのタイミングでは処理を行うことなく終了する。
【００９９】
＜駆動ＥＣＵ３による定期的処理＞
本実施形態においても第１実施形態と同様に、駆動ＥＣＵ３のマイコン１６は、前述した図２８Ａ〜図２８Ｃに示す通常時の処理内容に加えて、第１実施形態で説明した図６に示す処理を定期的に実行する。これにより、クランクセンサ１１のクランクセンサ信号の入力異常を生じたときには、駆動ＥＣＵ３は、ＣＡＮＩＤをクランクセンサ異常（ERR_HIGH）とした異常伝達通信メッセージのフレームをネットワークＮに送出する。
【０１００】
図３０は、このクランクセンサ信号異常（ERR_HIGH）の通信メッセージを示している。この通信メッセージは、クランクセンサ信号異常（ERR）を含んでいる。この通信メッセージの優先度は、最も高い優先度（例えば「１」）に設定されており、最重要メッセージとして設定されている。このとき演算ＥＣＵ３のマイコン１６は、この通信メッセージのフレームを図８に示した受信割込処理により受信し、Ｓ５３において異常モードに移行する。
【０１０１】
演算ＥＣＵ２による圧力調整ポンプ２１の異常モードの駆動制御処理は、第１実施形態の図９、図１１を用いて説明した処理と同様であるため説明を省略する。異常モードにおける多段噴射処理は、以下のように実行される。多段噴射処理の場合、通常時噴射のパラメータ（図２４〜図２６参照）と同様に異常時噴射のパラメータ（図３３〜図３５参照）も、演算ＥＣＵ２が駆動ＥＣＵ３に送信すべきデータは多くなる。このため、演算ＥＣＵ２のマイコン７は、図３１のＳ９１ｂ、Ｓ９１ｃ及び図３２のＳ９１ａに示すように、複数（例えば３）の通信メッセージのフレームに分けてネットワークＮに送出する。
【０１０２】
図３１、図３２は、演算ＥＣＵ２による異常時多段噴射制御処理を図１０、図１２に対応して示している。図３１に示すように、演算ＥＣＵ２のマイコン７は、異常モードに設定されると、Ｓ７１ａにおいて各噴射段Ｆ１〜Ｆ５の噴射量、及び、各噴射段Ｆ１〜Ｆ５の噴射開始角度を算出し、Ｓ７２ａにおいて各噴射段Ｆ１〜Ｆ５の噴射開始角度、クランクセンサ１１のクランクセンサ信号により各噴射段Ｆ１〜Ｆ５の噴射開始時刻を算出する。そして、演算ＥＣＵ２のマイコン７は、Ｓ９１ｂ、Ｓ９１ｃにおいてＣＡＮＩＤを異常時噴射（INJ_ERR_HIGH_2）、異常時噴射（INJ_ERR_HIGH_3）とする通信メッセージを順次送出し、その後、Ｓ７３ａにおいてパイロット噴射の噴射割込処理の起動時刻をタイマ設定する。
【０１０３】
Ｓ９１ｂ及びＳ９１ｃにおいて、これらの異常時噴射（INJ_ERR_HIGH_2、INJ_ERR_HIGH_3）の通信メッセージを先に送出する理由は、後の異常時噴射（INJ_ERR_HIGH_1）の通信メッセージの送出タイミングで駆動ＥＣＵ３による燃料噴射弁２０の多段噴射制御の開始タイミングを計るためである。
【０１０４】
ここで、異常時噴射（INJ_ERR_HIGH_1）のパラメータは、図３３に示すように、パイロット噴射Ｆ１と最も重要なメイン噴射Ｆ３、及び、そのパイロット噴射Ｆ１とメイン噴射Ｆ３の間隔を示す時間（PILOT-MAIN_INT）など、比較的優先度が高い（例えば「２」）通信メッセージのパラメータである。また異常時噴射（INJ_ERR_HIGH_2）、及び、異常時噴射（INJ_ERR_HIGH_3）の通信メッセージは、図３４〜図３５に示すように、前述の優先度が高い通信メッセージを除いた他の噴射（例えば、プレ噴射Ｆ２、アフター噴射Ｆ４、ポスト噴射Ｆ５）に係る通信メッセージのパラメータを主に示している。
【０１０５】
例えば、図３３に示すように、異常時噴射（INJ_ERR_HIGH_1）の通信メッセージは、メイン噴射量（INJ_MAIN_Q）、パイロット噴射開始からメイン噴射開始までの時間（PILOT_MAIN_INT）、パイロット噴射量（INJ_PILOT_Q）、気筒番号（CYLNUM）のパラメータを含んでいる。図３４に示すように、異常時噴射（INJ_ERR_HIGH_2）の通信メッセージは、プレ噴射量（INJ_PRE_Q）、パイロット噴射開始からプレ噴射開始までのインターバル時間（PILOT_PRE_INT）、アフター噴射量（INJ_AFTER_Q）、気筒番号（CYLNUM）のパラメータを含んでいる。図３５に示すように、異常時噴射（INJ_ERR_HIGH_3）の通信メッセージは、パイロット噴射開始からアフター噴射開始までのインターバル時間（PILOT_AFTER_INT）、ポスト噴射量（INJ_POST_Q）、気筒番号（CYLNUM）のパラメータを含んでいる。
【０１０６】
これらの異常時噴射に係る情報としては、通常時噴射によるパラメータ情報に比較して、通常時噴射におけるパイロット噴射開始角度（図２５参照）が不要であり、気筒番号（CYLNUM）を示す情報が必要となる（図３３、図３４、図３５参照）。
【０１０７】
駆動ＥＣＵ３は、図２７の受信割込処理を行うことで、異常モードにおいて異常時噴射（INJ_ERR_HIGH_2〜3）の通信メッセージのフレームを受信すると、Ｓ２１でＹＥＳ、Ｓ２４及びＳ２６でＮＯ、Ｓ２８でＹＥＳと判定し、Ｓ２９において異常時噴射（INJ_ERR_HIGH_2〜3）の通信メッセージに含まれる噴射量（INJ_XX_Q）、時間（PILOT_PRE_INT、PILOT_AFTER_INT、PILOT_POST_INT）、気筒番号（CYLNUM）をそれぞれ変数（Q_XX_tmp、INT_XX_tmp、Cyl_tmp）に退避させる。
【０１０８】
そして演算ＥＣＵ２は、図３１のＳ７３ａに示すように、タイマ割込みにより起動時刻が到来したタイミングで、図３２のＳ９１ａにおいて異常時噴射（INJ_ERR_HIGH_1）の通信メッセージのフレームをネットワークＮに送出する。駆動ＥＣＵ３は、図２７の受信割込処理を行うことで、異常モードにおいて異常時噴射（INJ_ERR_HIGH_1）の通信メッセージのフレームを受信すると、Ｓ２４においてＹＥＳと判定し、Ｓ２５において異常モード時における燃料噴射弁２０の噴射制御処理を実行する。
【０１０９】
図３６から図３８は、駆動ＥＣＵ３による異常モード時における燃料噴射弁２０の噴射制御処理を示している。駆動ＥＣＵ３は、図３６のＳ１０１ａにおいて異常時噴射（INJ_ERR_HIGH_1）の通信メッセージに含まれるメイン噴射量及びパイロット噴射量（INJ_MAIN_Q、INJ_PILOT_Q）とパイロット噴射開始からメイン噴射開始までの時間（PILOT_MAIN_INT）と気筒番号（CYLNUM）とをそれぞれ変数Q_XX_tmp、INT_XX_tmp、Cyl_tmpに退避させる。
【０１１０】
そして駆動ＥＣＵ３は、Ｓ１０２ａにおいて変数Cyl_tmpに対応した現気筒の燃料噴射弁２０を即時噴射制御開始する。その後、駆動ＥＣＵ３は、Ｓ１０３においてコモンレール２２のレール圧を圧力センサ２３から入力回路１８を通じて取得し、Ｓ１０４ａにおいてプレ噴射Ｆ２、メイン噴射Ｆ３、アフター噴射Ｆ４、ポスト噴射Ｆ５に係る噴射開始時刻を設定し、Ｓ１０４ｂにおいてパイロット噴射量及びコモンレール圧よりパイロット噴射Ｆ１の噴射期間を算出し、Ｓ１０５ａにおいて噴射終了時刻をタイマＴＩ５に設定する。タイマＴＩ５の割込を発生し噴射終了時刻が到来すると、図３８のＳ１０９ａに示すように、変数Cyl_tmpに対応した現気筒の燃料噴射弁２０のパイロット噴射制御処理を終了する。
【０１１１】
そして図３７に示すように、パイロット噴射Ｆ１の後の噴射段Ｆ２〜Ｆ５に対応したタイマＴＩ１〜ＴＩ４による割込処理が実行されると、Ｓ１０６において変数Cyl_tmpに対応した現気筒の噴射制御を開始し、Ｓ１０７において圧力センサ２３からコモンレール圧を取得し、Ｓ１０８において各噴射量の変数Q_XX_tmpとコモンレール圧により噴射期間を算出し、Ｓ１０９において噴射終了時刻を終了用に別に設けられたタイマＴＩ５に設定する。そして図３８のＳ１０９ａに示すように、このタイマＴＩ６による割込処理が行われると変数Cyl_tmpに対応した現気筒の燃料噴射弁２０の各噴射段Ｆ２〜Ｆ５の噴射制御処理を終了する。
【０１１２】
なお、演算ＥＣＵ２が駆動ＥＣＵ３に送信する異常時圧力（PRS_ERR_HIGH）の通信メッセージを図３９に示しており、駆動ＥＣＵ３が演算ＥＣＵ２に送信する異常時レール圧（PRS_RAIL_HIGH）の通信メッセージを図４０に示している。図３９に示す異常時圧力（PRS_ERR_HIGH）の通信メッセージは優先度が例えば「３」に設定されている。この異常時圧力（PRS_ERR_HIGH）の通信メッセージの優先度「３」が、異常時噴射（INJ_ERR_HIGH_1）の通信メッセージの優先度（例えば「２」）に続いて比較的高い理由は、演算ＥＣＵ２により当該通信メッセージが送信されるタイミングが駆動ＥＣＵ３によりポンプ２１を駆動するタイミングに直結するためであり、この通信メッセージが異常モード時におけるポンプ２１の駆動タイミングを計るために重要な通信メッセージであるためである。
【０１１３】
図４０に示す異常時レール圧（PRS_RAIL_HIGH）の通信メッセージは優先度が例えば「６」に設定されている。この異常時レール圧（PRS_RAIL_HIGH）の通信メッセージは、駆動ＥＣＵ３が、圧力センサ２３によるコモンレール圧のセンサ値を演算ＥＣＵ２に伝達するための通信メッセージであり、その優先度は通常時のメッセージよりも高くする必要があるものの異常モード時の通信メッセージの中では比較的優先度を低くしても良い。
【０１１４】
図４１には異常モード時における噴射開始時刻及び噴射終了時刻の計測タイミングを示している。まず、この図４１のタイミングｔ３１に示すように、図３６のＳ１０２ａにおいてパイロット噴射Ｆ１について即時噴射制御開始する。この図４１のタイミングｔ３１において、駆動ＥＣＵ３のマイコン１６は全てのタイマＴＩ１〜ＴＩ５を起動する。
【０１１５】
そして駆動ＥＣＵ３は、図４１のタイミングｔ４１においてタイマＴＩ５によりパイロット噴射Ｆ１の終了時刻が到来したことを検知すると、燃料噴射弁２０の噴射制御を終了し、タイマＴＩ５をクリアする。その後、駆動ＥＣＵ３は、図４１のタイミングｔ３２においてタイマＴＩ１によりプレ噴射Ｆ２の噴射開始時刻が到来したことを検知すると、燃料噴射弁２０のプレ噴射Ｆ２に係る噴射制御を開始し、タイマＴＩ１をクリアし、プレ噴射Ｆ２の噴射制御終了時刻をタイマＴＩ５に設定し再起動する。図４１のタイミングｔ４２においてタイマＴＩ５によりプレ噴射Ｆ２の噴射制御終了時刻が到来したことを検知すると、プレ噴射Ｆ２の噴射制御を終了する。この後の図４１の説明は省略するが、これらの処理が、メイン噴射Ｆ３、アフター噴射Ｆ４、及び、ポスト噴射Ｆ５について繰り返される（タイミングｔ３３、ｔ４３、ｔ３４、ｔ４４、ｔ３５、ｔ４５参照）。
【０１１６】
＜本実施形態に係る概念的なまとめ＞
以上説明したように、多段噴射処理においても退避走行に関する処理を正常に実行できる。
【０１１７】
特に、多段噴射する場合には、演算ＥＣＵ２は、多段噴射のうち初段のパイロット噴射Ｆ１に噴射するタイミングを通信メッセージの送信タイミングにて制御し、駆動ＥＣＵ３のマイコン１６は、通信メッセージの受信タイミングにおいてパイロット噴射Ｆ１について即時噴射制御するようにしているため、演算ＥＣＵ２がパイロット噴射Ｆ１の噴射制御タイミングを計ることができる。
【０１１８】
また、演算ＥＣＵ２のマイコン７は、初段のパイロット噴射Ｆ１の噴射制御処理以外の後段の噴射段Ｆ２〜Ｆ５の噴射制御処理のタイミングを通信メッセージの送信タイミングからの経過時間（PILOT_PRE_INT、PILOT_MAIN_INT、PILOT_AFTER_INT、PILOR_POST_INT）で制御するように構成され、駆動ＥＣＵ３のマイコン１６は、経過時間の情報を受信し、通信メッセージの受信タイミングから経過時間の情報を経過したタイミングにおいて後段の噴射段Ｆ２〜Ｆ５の噴射制御処理を行うようにしているため、退避走行に関する処理を正常に実行できる。
【０１１９】
特に、通常時には６個のタイマＴＩ１〜ＴＩ６を用いて噴射制御処理できると共に異常時には５個のタイマＴＩ１〜ＴＩ５を用いて噴射制御処理できるようになる。
（第４実施形態）
図４２から図４４は第４実施形態の追加説明図を示している。第１実施形態では、異常モードにおいて演算ＥＣＵ２側において噴射量を算出して駆動ＥＣＵ３に送信し、駆動ＥＣＵ３がこの噴射量に応じて噴射期間を算出し当該噴射期間に応じて燃料噴射弁２０を噴射制御する形態を説明したが、これに限られるものではない。第４実施形態は、異常モード時において演算ＥＣＵ２の側で噴射期間を算出し、この噴射期間の情報を駆動ＥＣＵ３に送信し、駆動ＥＣＵ３がこの噴射期間に基づいて噴射制御する形態を示している。
【０１２０】
＜演算ＥＣＵ２による燃料噴射弁２０の噴射制御処理＞
図４２は、図１０に代えて異常モード時の演算ＥＣＵ２の噴射制御処理の流れをフローチャートにより示している。この図４２に示すように、演算ＥＣＵ２のマイコン７は、Ｓ７１において噴射量、燃料噴射弁２０の噴射開始角度を算出し、Ｓ７２においてクランクセンサ１１のクランクセンサ信号及び噴射開始角度より噴射割込処理の起動時刻を算出し、Ｓ７４において圧力センサ２３によるコモンレール圧と受信した噴射量とを用いて噴射期間を算出し、Ｓ７３において燃料噴射弁２０の噴射割込処理の起動時刻を設定してこのルーチンを抜ける。このとき、コモンレール圧の情報は、図９を参照して前述説明したように、駆動ＥＣＵ３から異常時レール圧（PRS_RAIL_HIGH）の情報を取得することで行われる。そして、燃料噴射弁２０の噴射割込処理の起動時刻が設定されると、演算ＥＣＵ２のマイコン７は、図１２に示すように、Ｓ９１においてＣＡＮＩＤとして異常時噴射（INJ_ERR_HIGH）の通信メッセージをネットワークＮに送出する。
【０１２１】
＜駆動ＥＣＵ３による異常モード時の噴射制御処理＞
駆動ＥＣＵ３は図４に示した受信割込処理を実行することで異常時噴射（INJ_ERR_HIGH）の通信メッセージを受信すると、図４３に示す駆動ＥＣＵ３による噴射制御処理を実行する。図４３は図１５に代わる異常モード時の駆動ＥＣＵ３の噴射制御処理の流れを示しており、また図４４は、図１４に代わる異常時噴射（INJ_ERR_HIGH）の通信メッセージのパラメータの説明図を示している。
【０１２２】
図４４に示すように、異常時噴射（INJ_ERR_HIGH）の通信メッセージは、噴射量（INJ_Q）に代えて噴射期間（INJ_TQ）をパラメータとして含んでいる。駆動ＥＣＵ３のマイコン１６は、図４３のＳ１０１において通信メッセージに含まれる異常時噴射（INJ_ERR_HIGH）の噴射期間（INJ_TQ）と気筒番号（CYLNUM）とをそれぞれ変数TQ_tmp、Cyl_tmpに退避させる。駆動ＥＣＵ３のマイコン１６は、Ｓ１０２において変数Cyl_tmpに対応した気筒の燃料噴射弁２０を即時噴射制御開始する。その後、Ｓ１０５において燃料噴射弁２０の噴射終了時刻（噴射期間）を設定する。なおここでは、噴射制御終了割込処理を起動するためのタイマを設定してこのルーチンを抜ける。タイマ割込を生じると燃料噴射弁２０を噴射制御終了することになる。これにより、第１実施形態と同様の作用を奏することになる。
【０１２３】
本実施形態に示すように、演算ＥＣＵ２が噴射量（INJ_Q）に代えて噴射期間（INJ_TQ）の情報を駆動ＥＣＵ３に送信するようにしても良い。
すなわち、通常時に駆動ＥＣＵ３が負担する噴射期間の演算処理を、異常時に演算ＥＣＵ２のマイコン７が負担している。具体的に、演算ＥＣＵ２のマイコン７は、駆動ＥＣＵ３から圧力センサ２３によるコモンレール圧（異常時レール圧（PRS_RAIL_HIGH））の情報を受信し、この圧力センサ２３のセンサ値と噴射量の指令値とより噴射期間を演算処理して駆動ＥＣＵ３に送信するようにしている。これにより駆動ＥＣＵ３の処理負荷を軽減できるようになる。
【０１２４】
（第５実施形態）
図４５から図４８は第５実施形態の追加説明図を示している。第５実施形態は、各通信メッセージのパラメータの変形例について説明する。
【０１２５】
＜通常時噴射に係る通信メッセージのパラメータの変形例＞
以下、通常時噴射（INJ_NORMAL_MIDDLE_X）の通信メッセージに含まれるパラメータの変形例を説明する。図４５は図２５に代わる通常時噴射（INJ_NORMAL_MIDDLE_2）の通信メッセージに含まれるパラメータ、図４６は図２６に代わる通常時噴射（INJ_NORMAL_MIDDLE_3）の通信メッセージに含まれるパラメータ、を示している。なお、図２４に示す通常時噴射（INJ_NORMAL_MIDDLE_1）の通信メッセージに含まれるパラメータは変更しないためここでの図示を省略している。
【０１２６】
図４５に示すように、メイン噴射Ｆ３を除いた各噴射段（パイロット、プレ、アフター、ポスト）Ｆ１、Ｆ２、Ｆ４、Ｆ５の噴射量（INJ_PILOT_Q，INJ_PRE_Q，INJ_AFTER_Q，INJ_POST_Q）をまとめると共に、図４６に示すように、メイン噴射Ｆ３を除いた各噴射段Ｆ１、Ｆ２、Ｆ４、Ｆ５の噴射開始角度（INJ_PILOT_T，INJ_PRE_T，INJ_AFTER_T，INJ_POST_T）をまとめて送信するようにしても良い。各噴射段Ｆ１〜Ｆ５では、噴射量と噴射開始角度のパラメータが与えられない限り、噴射制御に係るパラメータが確定しないため駆動ＥＣＵ３が噴射制御することはできない。このため、各噴射段Ｆ１〜Ｆ５の噴射量や噴射開始角度のパラメータをそれぞれまとめても良く、また図示はしていないが、これらのパラメータを混在させても良く、同一の通信メッセージの内部であればそのパラメータの順序は問われない。このとき、これらのメッセージの優先度は、図２５及び図２６と、図４５及び図４６とを対比して示すと理解し易いが、通常時噴射（INJ_NORMAL_MIDDLE_2）の優先度と通常時噴射（INJ_NORMAL_MIDDLE_3）の優先度とを入れ替えても良い（図中の優先度「８」←→「９」）。ただし、メイン噴射Ｆ３に係る通常時噴射（INJ_NORMAL_MIDDLE_1）の通信メッセージは、図２４に示したように全噴射段Ｆ１〜Ｆ５の中で最も重要なため、その通信メッセージの優先度を他の噴射段Ｆ１、Ｆ２、Ｆ４、Ｆ５の通信メッセージより高い優先度（例えば「７」）とすることが望ましい。
【０１２７】
＜異常時噴射に係る通信メッセージのパラメータの変形例＞
以下、異常時噴射（INJ_ERR_HIGH_X）の通信メッセージに含まれるパラメータの変形例を説明する。図４７は図３４に代わる異常時噴射（INJ_ERR_HIGH_2）の通信メッセージに含まれるパラメータ、図４８は図３５に代わる異常時噴射（INJ_ERR_HIGH_3）の通信メッセージに含まれるパラメータ、を示している。なお、図３４に示す異常時噴射（INJ_ERR_HIGH_1）の通信メッセージに含まれるパラメータは変更していないためここでの図示を省略している。
【０１２８】
異常時噴射（INJ_ERR_HIGH_X）の通信メッセージも通常時噴射（INJ_NORMAL_MIDDLE_X）の通信メッセージと同様に、駆動ＥＣＵ３は各噴射段Ｆ１〜Ｆ５の噴射量と噴射開始角度が入力されない限り噴射制御開始することはない。このため、図４７に示すように、パイロット噴射Ｆ１及びメイン噴射Ｆ３を除いたプレ噴射Ｆ２、アフター噴射Ｆ４、ポスト噴射Ｆ５の噴射量（INJ_PRE_Q，INJ_AFTER_Q，INJ_POST_Q）をまとめると共に、図４８に示すように、メイン噴射Ｆ３を除いたプレ噴射Ｆ２、アフター噴射Ｆ４、ポスト噴射Ｆ５の噴射開始までのインターバル時間（PILOT-AFTER_INT，PILOT-PRE_INT，PILOT-POST_INT）のパラメータをまとめても良い。また図示はしていないが、これらのパラメータを混在させても良く、同一の通信メッセージの内部であればそのパラメータの順序は問わない。
【０１２９】
このときこれらの優先度は、図３４及び図３５と、図４７及び図４８とを対比して示すと理解し易いが、異常時噴射（INJ_ERR_HIGH_2）の優先度と異常時噴射（INJ_ERR_HIGH_3）の優先度とを入れ替えても良い（図中の優先度「４」←→「５」）。ただし、パイロット噴射量を含む異常時噴射（INJ_ERR_HIGH_1）の通信メッセージは、当該メッセージの送信タイミングが即時噴射制御する時刻に直結するため、その通信メッセージの優先度を他の噴射段の通信メッセージより高い優先度（例えば「３」）とすることが望ましい。これにより、演算ＥＣＵ２によるパイロット噴射Ｆ１に係る異常時噴射（INJ_ERR_HIGH_1）の通信メッセージの送信タイミングと、駆動ＥＣＵ３によるパイロット噴射Ｆ１の制御開始タイミングとの時間差を最小限に抑えることができる。
【０１３０】
（第６実施形態）
図４９Ａから図５８Ｄは第６実施形態の追加説明図を示している。例えば第２実施形態ではタイマＴＩ１〜ＴＩ６を６つ使用して多段噴射する形態を説明したが、第６実施形態はタイマＴＩ１、ＴＩ２を２つ使用して多段噴射する場合の形態を説明する。まずタイマＴＩ１、ＴＩ２を２つ使用した場合の各噴射段Ｆ１〜Ｆ５の期間の設定方法について説明する。
【０１３１】
＜各噴射段Ｆ１〜Ｆ５の噴射期間及びインターバル期間の設定方法＞
図４９Ａに正常時の流れを示すように、駆動ＥＣＵ３のマイコン１６は、ＢＴＤＣ９０°ＣＡのタイミングｔ５１からパイロット噴射Ｆ１の噴射開始角度とクランクセンサ信号とにより噴射開始時刻を算出し、パイロット噴射開始時刻においてパイロット噴射Ｆ１を実行し、当該パイロット噴射Ｆ１以外の各噴射段Ｆ２〜Ｆ５の噴射開始時刻をその前段Ｆ１〜Ｆ４の噴射開始時刻からのインターバル時間（PILOT_PRE_INT，PRE_MAIN_INT，MAIN_AFTER_INT，AFTER_POST_INT）として演算ＥＣＵ２から受信してタイマＴＩ２に設定し、このタイマＴＩ２の割込が発生すると順次噴射段Ｆ２〜Ｆ５の噴射制御を開始する（タイミングｔ５２〜ｔ５６）。このときタイマＴＩ２をクリアすると共にタイマＴＩ１に各噴射段Ｆ２〜Ｆ５の噴射終了時刻（噴射期間）を設定し、このタイマＴＩ１の割込により噴射制御を終了する（タイミングｔ５２〜ｔ６２、ｔ５３〜ｔ６３、ｔ５４〜ｔ６４、ｔ５５〜ｔ６５、ｔ５６〜ｔ６６）。
【０１３２】
また、図４９Ｂに異常時の流れを示すように、駆動ＥＣＵ３のマイコン１６は、演算ＥＣＵ２からの指令をネットワークＮから受信したタイミングｔ７１でパイロット噴射Ｆ１に係る噴射制御を開始し、この受信タイミングｔ７１でパイロット噴射期間をタイマＴＩ１に設定すると共に、次回のプレ噴射Ｆ２までのパイロット−プレインターバル時間（PILOT_PRE_INT）をタイマＴＩ２に設定する。このパイロット噴射Ｆ１はタイミングｔ８１においてタイマＴＩ１の割込により終了する。
【０１３３】
そして、駆動ＥＣＵ３のマイコン１６は、タイミングｔ７２でタイマＴＩ２の割込が発生しプレ噴射Ｆ２の噴射開始時間が到来するとプレ噴射期間をタイマＴＩ１に設定すると共に、次回のメイン噴射Ｆ３までのプレ−メインインターバル時間（PRE_MAIN_INT）をタイマＴＩ２に再設定する。このプレ噴射Ｆ２はタイミングｔ８２においてタイマＴＩ１の割込により終了する。
【０１３４】
同様に繰り返すが、駆動ＥＣＵ３のマイコン１６は、タイミングｔ７３でタイマＴＩ２の割込が発生しメイン噴射Ｆ３の噴射開始時間が到来するとメイン噴射期間をタイマＴＩ１に設定すると共に、次回のアフター噴射Ｆ４までのメイン−アフターインターバル時間（MAIN_AFTER_INT）をタイマＴＩ２に再設定する。このメイン噴射Ｆ３はタイミングｔ８３においてタイマＴＩ１の割込により終了する。
【０１３５】
そして駆動ＥＣＵ３のマイコン１６は、タイミングｔ７４でタイマＴＩ２の割込が発生しアフター噴射Ｆ４の噴射開始時間が到来するとアフター噴射期間をタイマＴＩ１に設定すると共に、次回のポスト噴射Ｆ５までのアフター−ポストインターバル時間（AFTER_POST_INT）をタイマＴＩ２に再設定する。このアフター噴射Ｆ４はタイミングｔ８４においてタイマＴＩ１の割込により終了する。そして駆動ＥＣＵ３のマイコン１６は、タイミングｔ７５でタイマＴＩ２の割込が発生しポスト噴射Ｆ５の噴射開始時間が到来するとポスト噴射期間をタイマＴＩ１に設定する。このポスト噴射Ｆ５はタイミングｔ８５においてタイマＴＩ１の割込により噴射制御を終了する。
【０１３６】
前述したように、タイマＴＩ１、ＴＩ２には、各噴射段Ｆ１〜Ｆ５の噴射期間、及び、インターバル時間（PILOT_PRE_INT，PRE_MAIN_INT，MAIN_AFTER_INT，AFTER_POST_INT）を設定する。噴射期間は、噴射量とコモンレール２２の圧力により求めることができるが、本実施形態の通信メッセージのパラメータは第３実施形態等に示したパラメータとは異なるため、以下では通常時噴射及び異常時噴射の通信メッセージの各パラメータを説明する。
【０１３７】
図５０から図５２は、図２４から図２６に代わる通常時噴射（INJ_NORMAL_MIDDLE_X）の通信メッセージの内容を示している。図５０に示すように、図２４に示したメイン噴射開始角度（INJ_MAIN_Q）に代えて、プレ噴射開始からメイン噴射開始までのインターバル時間（PRE_MAIN_INT）のパラメータを通常時噴射（INJ_NORMAL_MIDDLE_1）の通信メッセージに含めるように設定している。
【０１３８】
また図５１に示すように、通常時噴射（INJ_NORMAL_MIDDLE_2）の通信メッセージには、各噴射段Ｆ１、Ｆ２、Ｆ４、Ｆ５の噴射量（INJ_PILOT_Q，INJ_PRE_Q，INJ_AFTER_Q，INJ_POST_Q）のパラメータをまとめている。また、図５２に示すように、通常時噴射（INJ_NORMAL_MIDDLE_3）の通信メッセージは、パイロット噴射開始角度（INJ_PILOT_T）、パイロット噴射開始からプレ噴射開始までのインターバル時間（PILOT_PRE_INT）、メイン噴射開始からアフター噴射開始までのインターバル時間（MAIN_AFTER_INT）、アフター噴射開始からポスト噴射開始までのインターバル時間（INJ_POST_INT）のパラメータを含んでいる。また、第３実施形態と比較して、図５１に示す通常時噴射（INJ_NORMAL_MIDDLE_2）の通信メッセージの優先度と、図５１に示す通常時噴射（INJ_NORMAL_MIDDLE_3）の通信メッセージの優先度とを入れ替えている（図中の優先度「８」←→「９」）。
【０１３９】
また図５３から図５５は、図３３から図３５に代わる異常時噴射（INJ_ERR_HIGH_X）の通信メッセージの内容を示している。図５３に示すように、図３３に示したパイロット噴射開始からメイン噴射開始までのインターバル時間（PILOT_MAIN_INT）のパラメータに代えて、プレ噴射開始からメイン噴射開始までのインターバル時間（PRE_MAIN_INT）のパラメータを異常時噴射（INJ_ERR_HIGH_1）の通信メッセージに含めるように設定している。また図５４に示すように、異常時噴射（INJ_ERR_HIGH_2）の通信メッセージには、各噴射段Ｆ２、Ｆ４、Ｆ５の噴射量（INJ_PRE_Q，INJ_AFTER_Q，INJ_POST_Q）と気筒番号（CYLNUM）のパラメータをまとめている。
【０１４０】
また図５５に示すように、異常時噴射（INJ_ERR_HIGH_3）の通信メッセージは、メイン噴射開始からアフター噴射開始までのインターバル時間（MAIN_AFTER_INT）、パイロット噴射開始からプレ噴射開始までのインターバル時間（PILOT_PRE_INT）、アフター噴射開始からポスト噴射開始までのインターバル時間（AFTER_POST_INT）、及び、気筒番号（CYLNUM）のパラメータを含んでいる。また、第３実施形態と比較して、図５４に示す異常時噴射（INJ_ERR_HIGH_2）の通信メッセージの優先度と、図５５に示す異常時噴射（INJ_ERR_HIGH_3）の通信メッセージの優先度とを入れ替えている（図中の優先度「５」←→「４」）。
【０１４１】
＜正常モード時の処理＞
前述実施形態でも示したように、正常モード時には、演算ＥＣＵ２は通常時噴射（INJ_NORMAL_MIDDLE_X（X＝１〜３）））の通信メッセージをネットワークＮに送出し、駆動ＥＣＵ３はこの通信メッセージを受信割込処理により受信する。また、駆動ＥＣＵ３のマイコン１６は、以下に示す角度同期処理をＢＴＤＣ９０°にて実行する。
【０１４２】
＜駆動ＥＣＵ３による正常モード時の角度同期処理＞
図５６Ａは駆動ＥＣＵ３のマイコン１６が、ＢＴＤＣ９０°ＣＡのタイミングに同期して実行する処理を示しており、図４９Ａのタイミングｔ５１において実行される。
【０１４３】
駆動ＥＣＵ３のマイコン１６は、まずＳ３１において駆動ＥＣＵ３の動作モードが正常モードであるか否かを判定し、正常モードとされている間には、Ｓ３２にて圧力センサ２３からコモンレール圧の情報を入力回路１８を通じて取得し、Ｓ３３においてこの取得されたコモンレール圧、及び、目標レール圧の変数P_tmpに基づいてポンプ２１の駆動開始角度、及びその駆動期間を算出し、Ｓ３４においてクランクセンサ１１のクランクセンサ信号、ポンプ２１の駆動開始角度、及び、ポンプ２１の駆動期間より、ポンプ２１の駆動開始時刻及び駆動終了時刻を算出する。そして、Ｓ３５においてポンプ２１の駆動開始時刻及び駆動終了時刻を設定する。このＳ３５の圧力調整ポンプ２１の駆動処理は、設定時刻が到来したタイミングになったときにタイマ割込処理により実行される。
【０１４４】
そして、駆動ＥＣＵ３のマイコン１６は、Ｓ３６ｂにおいて、まず「現在の噴射段」の変数として最初の「パイロット噴射段Ｆ１」を記憶設定する。そして、マイコン１６は、Ｓ３６ｃにおいて、パイロット噴射開始角度の変数T_PILOT_tmp、及び、入力回路１８から入力されるクランクセンサ１１のクランクセンサ信号に基づいて、パイロット噴射Ｆ１の噴射開始時刻を算出し、Ｓ３６ｃにおいてタイマＴＩ２に設定する。そして、マイコン１６は、Ｓ３６ｚにおいてパイロット噴射Ｆ１の噴射量の変数Q_PILOT_tmpとコモンレール圧の情報によりパイロット噴射Ｆ１の噴射期間を算出する。
【０１４５】
そして、タイマＴＩ２の割込が発生すると、図５６Ｂ及び図５６Ｃに示すように処理を実行する。これらの図５６Ｂ及び図５６Ｃに示す処理において、図４９Ａのタイミングｔ５２に対応してタイマＴＩ２の割込が発生すると、まずＳ１４１において現気筒の噴射制御を即時開始し、Ｓ１４２において圧力センサ２３によりコモンレール圧を取得した後、Ｓ１４３以降の処理において噴射段Ｆ１〜Ｆ５を表す変数INJ()に応じて処理を変更している。
【０１４６】
すなわち図５６Ａに示すように、噴射段の変数INJ()が「パイロット噴射Ｆ１」とされているときには、Ｓ１４３でＹＥＳと判定し、Ｓ１４４においてパイロット噴射Ｆ１の噴射量とコモンレール圧より噴射期間を算出し、Ｓ１４５においてパイロット噴射終了時刻をタイマＴＩ１に設定する。そしてＳ１４６においてプレ噴射開始時刻をタイマＴＩ２に再設定し、Ｓ１４７において噴射段の変数INJ()を「プレ噴射Ｆ２」とする。図４９Ａのタイミングｔ６２に対応してタイマＴＩ１の割込が発生すると、図５６ＤのＳ１７１においてパイロット噴射Ｆ１の噴射制御を終了する。
【０１４７】
その後、図４９Ａのタイミングｔ５３に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「プレ噴射Ｆ２」とされている。このため、図５６ＢのＳ１４１で現気筒のプレ噴射Ｆ２の制御を即時開始し、Ｓ１４２において圧力センサ２３によりコモンレール圧を取得した後、Ｓ１４８でＹＥＳと判定し、Ｓ１４９においてプレ噴射Ｆ２の噴射量とコモンレール圧により噴射期間を算出し、Ｓ１５０においてプレ噴射終了時刻をタイマＴＩ１に設定する。そしてＳ１５１においてメイン噴射開始時刻をタイマＴＩ２に再設定し、Ｓ１５２において現在の噴射段の変数INJ()を「メイン噴射Ｆ３」とする。図４９Ａのタイミングｔ６３に対応してタイマＴＩ１の割込が発生すると、図５６ＤのＳ１７１においてプレ噴射Ｆ２の噴射制御を終了する。
【０１４８】
さらにその後、図４９Ａのタイミングｔ５４に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「メイン噴射Ｆ３」とされている。このため、図５６ＢのＳ１４１で現気筒のメイン噴射Ｆ３の制御を即時開始し、Ｓ１４２において圧力センサ２３によりコモンレール圧を取得した後、Ｓ１５３でＹＥＳと判定し、Ｓ１５４においてメイン噴射Ｆ３の噴射量とコモンレール圧により噴射期間を算出し、Ｓ１５５においてメイン噴射終了時刻をタイマＴＩ１に設定する。そしてＳ１５６においてアフター噴射開始時刻をタイマＴＩ２に再設定し、Ｓ１５７において現在の噴射段の変数INJ()を「アフター噴射Ｆ４」とする。そして図４９Ａのタイミングｔ６４に対応してタイマＴＩ１の割込が発生すると、図５６ＤのＳ１７１においてメイン噴射Ｆ３の噴射制御を終了する。
【０１４９】
さらにその後、図４９Ａのタイミングｔ５５に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「アフター噴射Ｆ４」とされている。このため、図５６ＢのＳ１４１で現気筒のアフター噴射Ｆ４の制御を即時開始し、Ｓ１４２において圧力センサ２３によりコモンレール圧を取得した後、図５６ＣのＳ１５８でＹＥＳと判定し、Ｓ１５９においてアフター噴射Ｆ４の噴射量とコモンレール圧により噴射期間を算出し、Ｓ１６０においてアフター噴射終了時刻をタイマＴＩ１に設定する。そして、Ｓ１６１においてポスト噴射開始時刻をタイマＴＩ２に再設定し、Ｓ１６２において噴射段の変数INJ()を「ポスト噴射Ｆ５」とする。そして図４９Ａのタイミングｔ６５に対応してタイマＴＩ１の割込が発生すると、図５６ＤのＳ１７１においてアフター噴射Ｆ４の噴射制御を終了する。
【０１５０】
さらにその後、図４９Ａのタイミングｔ５６に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「ポスト噴射Ｆ５」とされている。このため、図５６ＢのＳ１４１で現気筒のポスト噴射Ｆ５の制御を即時開始し、Ｓ１４２において圧力センサ２３によりコモンレール圧を取得した後、図５６ＣのＳ１６３でＹＥＳと判定し、Ｓ１６４においてポスト噴射Ｆ５の噴射量とコモンレール圧により噴射期間を算出する。そして、Ｓ１６５において噴射終了時刻をタイマＴＩ１に設定する。そして図４９Ａのタイミングｔ６６に対応してタイマＴＩ１の割込が発生すると、図５６ＤのＳ１７１においてポスト噴射Ｆ５の噴射制御を終了する。このような流れで一巡の噴射制御処理を実行できる。
【０１５１】
＜異常モード時の処理内容＞
また異常モード時には、図４９Ｂに示したように、ネットワークＮの受信割込を生じたタイミングを基準としてタイマＴＩ１、ＴＩ２を使用する。
【０１５２】
＜駆動ＥＣＵ３による異常モード時の受信割込処理＞
異常時において駆動ＥＣＵ３は図２７に代えて図５７に示す受信割込処理を実行する。図５７に示すように、異常モード時において、駆動ＥＣＵ３がＣＡＮＩＤとして異常時噴射（INJ_ERR_HIGH2〜3）の通信メッセージを受信するとＳ２８でＹＥＳと判定し、Ｓ２９で異常時噴射（INJ_ERR_HIGH_2〜3）の通信メッセージに含まれる噴射量（INJ_XX_Q）、時間（MAIN_AFTER_INT、PILOT_PRE_INT、PRE_POST_INT）、気筒番号（CYLNUM）をそれぞれ変数（Q_XX_tmp、INT_XX_tmp、Cyl_tmp）に退避させる。また、駆動ＥＣＵ３が、異常時噴射（INJ_ERR_HIGH1）の通信メッセージを受信すると、Ｓ２４でＹＥＳと判定し、Ｓ２５において図３６〜図３８に代えて図５８Ａ〜図５８Ｃに示す異常モード時の噴射制御処理を実行する。
【０１５３】
＜駆動ＥＣＵ３による異常モード時の燃料噴射弁２０の噴射制御処理＞
駆動ＥＣＵ３のマイコン１６は、図５８ＡのＳ１０１ａにおいて通信メッセージに含まれる異常時噴射（INJ_ERR_HIGH）の噴射量（INJ_Q）と気筒番号（CYLNUM）とをそれぞれ変数Q_tmp、Cyl_tmpに退避させる。そして駆動ＥＣＵ３のマイコン１６は、Ｓ１０２ａにおいて変数Cyl_tmpに対応した現気筒の燃料噴射弁２０を噴射制御開始する。
【０１５４】
その後、駆動ＥＣＵ３は、Ｓ１０３においてコモンレール２２のコモンレール圧を圧力センサ２３から入力回路１８を通じて取得し、Ｓ１０４ｂにおいてコモンレール圧と各噴射段Ｆ１〜Ｆ５の噴射量の変数Q_XX_tmpより噴射期間を算出し、Ｓ１０５ｂにおいて燃料噴射弁２０のパイロット噴射Ｆ１の終了時刻（噴射期間）をタイマＴＩ１に設定する（図４９Ｂのタイミングｔ７１参照）。
【０１５５】
そして、駆動ＥＣＵ３のマイコン１６は、Ｓ１８１において噴射段の変数INJ()として「プレ噴射Ｆ２」を設定し、プレ噴射Ｆ２の噴射開始時刻をタイマＴＩ２に設定する。なお、ここでは、パイロット噴射Ｆ１の噴射終了時刻の割込処理を起動するためのタイマＴＩ１を設定すると共に、プレ噴射Ｆ２の割込処理を起動するためのタイマＴＩ２を設定してこのルーチンを抜ける。図４９Ｂのタイミングｔ８１に対応してタイマＴＩ１の割込が発生すると、図５８ＣのＳ１０９ａにおいてパイロット噴射Ｆ１の噴射制御を終了する。
【０１５６】
タイマＴＩ２の割込が発生すると、駆動ＥＣＵ３は図５８Ｂに示すように処理を実行する。この図５８Ｂに示す処理では、図４９Ｂのタイミングｔ７２に対応してタイマＴＩ２の割込が発生すると、まずＳ１８３において燃料噴射弁２０を即時制御開始し、Ｓ１８４において圧力センサ２３によりコモンレール圧を取得した後、噴射段の変数INJ()に応じて処理を変更している。
【０１５７】
すなわち、図５８Ｂに示すように、噴射段の変数INJ()が「プレ噴射Ｆ２」とされているときには、Ｓ１８５でＹＥＳと判定し、Ｓ１８６においてプレ噴射Ｆ２の噴射量とコモンレール圧より噴射期間を算出し、Ｓ１８７においてプレ噴射Ｆ２の噴射終了時刻をタイマＴＩ１に設定し、Ｓ１８８においてメイン噴射開始時刻をタイマＴＩ２に再設定する。そして、Ｓ１８９において噴射段の変数INJ()を「メイン噴射Ｆ３」とする。その後、図４９Ｂのタイミングｔ８２に対応してタイマＴＩ１の割込が発生すると、図５８ＣのＳ１０９ａにおいてプレ噴射Ｆ２の制御を終了する。
【０１５８】
その後、図４９Ｂのタイミングｔ７３に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「メイン噴射Ｆ３」とされているため、Ｓ１８３で現気筒のメイン噴射Ｆ３の噴射制御を即時開始してＳ１８４でコモンレール圧を取得した後、Ｓ１９０でＹＥＳと判定し、Ｓ１９１においてメイン噴射Ｆ３の噴射量とコモンレール圧より噴射期間を算出し、Ｓ１９２においてメイン噴射Ｆ３の噴射終了時刻をタイマＴＩ１に設定し、Ｓ１９３においてアフター噴射Ｆ４の噴射開始時刻をタイマＴＩ２に再設定する。そして、Ｓ１９４において噴射段の変数INJ()を「アフター噴射Ｆ４」とする。その後、図４９Ｂのタイミングｔ８３に対応してタイマＴＩ１の割込が発生すると、図５８ＣのＳ１０９ａにおいてメイン噴射Ｆ３の制御を終了する。
【０１５９】
さらにその後、図４９Ｂのタイミングｔ７４に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「アフター噴射Ｆ４」とされているため、Ｓ１８３で現気筒のアフター噴射Ｆ４の噴射制御を即時開始してＳ１８４でコモンレール圧を取得した後、Ｓ１９５でＹＥＳと判定し、Ｓ１９６においてアフター噴射Ｆ４の噴射量とコモンレール圧より噴射期間を算出し、Ｓ１９７においてアフター噴射Ｆ４の噴射終了時刻をタイマＴＩ１に設定し、Ｓ１９８においてポスト噴射開始時刻をタイマＴＩ２に再設定する。そして、Ｓ１９９において噴射段の変数INJ()を「ポスト噴射Ｆ５」とする。その後、図４９Ｂのタイミングｔ８４に対応してタイマＴＩ１の割込が発生すると、図５８ＣのＳ１０９ａにおいてアフター噴射Ｆ４の制御を終了する。
【０１６０】
さらにその後、図４９Ｂのタイミングｔ７５に対応して再度タイマＴＩ２の割込が発生したときには、噴射段の変数INJ()が「ポスト噴射Ｆ５」とされているため、Ｓ１８３で現気筒のポスト噴射Ｆ５の噴射制御を即時開始してＳ１８４でコモンレール圧を取得した後、Ｓ２００でＹＥＳと判定し、Ｓ２０１においてポスト噴射Ｆ５の噴射量とコモンレール圧より噴射期間を算出し、Ｓ２０２においてポスト噴射Ｆ５の噴射終了時刻をタイマＴＩ１に設定する。その後、図４９Ｂのタイミングｔ８５に対応してタイマＴＩ１の割込が発生すると、図５８ＣのＳ１０９ａにおいてポスト噴射Ｆ５の制御を終了する。このような流れで一巡の噴射制御処理を実行できる。
【０１６１】
このようにタイマＴＩ１、ＴＩ２を２つだけ用いた場合においても、前述実施形態と同様に、正常モード時及び異常モード時の処理を実行できるようになる。本実施形態によれば、例えば、第３実施形態に比較して、使用するタイマＴＩ１、ＴＩ２の個数を削減できる。
【０１６２】
（他の実施形態）
本発明は前述実施形態に限定されるものではなく、例えば、以下に示す変形又は拡張が可能である。
【０１６３】
前述の第３実施形態では、５段噴射について例を挙げたが、３段、７段、９段噴射、などにも適用できる。
説明の簡略化のため、ポンプ２１を駆動制御することで燃料圧を加圧調整する形態を示しているが、減圧弁を調整することで燃料圧を減圧調整する形態に適用しても良い。
【０１６４】
ＣＡＮをネットワークＮの通信方式の一例として挙げて説明したが、これに限定されるものではなく、例えば、ＣＡＮ−ＦＤ、ＬＩＮ、ＦｌｅｘＲａｙ（登録商標）、ＭＯＳＴ（Media Oriented Systems Transport：登録商標）、のうち何れか一つの方式を適用しても良い。
【０１６５】
前述実施形態では、４気筒４サイクルエンジンを例に挙げて説明したが、これに限られるものではない。例えば、６気筒４サイクルエンジンであればクランク角度１２０°ＣＡを周期として噴射処理がなされるが、この場合も前述実施形態を同様に適用できる。各実施形態（第１〜第５実施形態）の構成は矛盾しない限り互いに組み合わせて適用できる。
【０１６６】
特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。
【０１６７】
また本発明は、前述した実施形態に準拠して記述したが、本発明は当該実施形態や構造に限定されるものではないと理解される。本発明は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【０１６８】
図面中、１は噴射制御システム、２は演算ＥＣＵ（演算装置）、３は駆動ＥＣＵ（駆動装置、電子制御装置）、１６はマイコン（異常時処理部、異常判定部、正常時処理部）、１７は通信回路（受信部）、１８は入力回路（取得部）、を示す。
【図１】
2018155101.tif 000003
【図２】
2018155101.tif 000004
【図３】
2018155101.tif 000005
【図４】
2018155101.tif 000006
【図５Ａ】
2018155101.tif 000007
【図５Ｂ】
2018155101.tif 000008
【図５Ｃ】
2018155101.tif 000009
【図６】
2018155101.tif 000010
【図７】
2018155101.tif 000011
【図８】
2018155101.tif 000012
【図９】
2018155101.tif 000013
【図１０】
2018155101.tif 000014
【図１１】
2018155101.tif 000015
【図１２】
2018155101.tif 000016
【図１３】
2018155101.tif 000017
【図１４】
2018155101.tif 000018
【図１５】
2018155101.tif 000019
【図１６】
2018155101.tif 000020
【図１７】
2018155101.tif 000021
【図１８】
2018155101.tif 000022
【図１９】
2018155101.tif 000023
【図２０】
2018155101.tif 000024
【図２１】
2018155101.tif 000025
【図２２Ａ】
2018155101.tif 000026
【図２２Ｂ】
2018155101.tif 000027
【図２３】
2018155101.tif 000028
【図２４】
2018155101.tif 000029
【図２５】
2018155101.tif 000030
【図２６】
2018155101.tif 000031
【図２７】
2018155101.tif 000032
【図２８Ａ】
2018155101.tif 000033
【図２８Ｂ】
2018155101.tif 000034
【図２８Ｃ】
2018155101.tif 000035
【図２９】
2018155101.tif 000036
【図３０】
2018155101.tif 000037
【図３１】
2018155101.tif 000038
【図３２】
2018155101.tif 000039
【図３３】
2018155101.tif 000040
【図３４】
2018155101.tif 000041
【図３５】
2018155101.tif 000042
【図３６】
2018155101.tif 000043
【図３７】
2018155101.tif 000044
【図３８】
2018155101.tif 000045
【図３９】
2018155101.tif 000046
【図４０】
2018155101.tif 000047
【図４１】
2018155101.tif 000048
【図４２】
2018155101.tif 000049
【図４３】
2018155101.tif 000050
【図４４】
2018155101.tif 000051
【図４５】
2018155101.tif 000052
【図４６】
2018155101.tif 000053
【図４７】
2018155101.tif 000054
【図４８】
2018155101.tif 000055
【図４９Ａ】
2018155101.tif 000056
【図４９Ｂ】
2018155101.tif 000057
【図５０】
2018155101.tif 000058
【図５１】
2018155101.tif 000059
【図５２】
2018155101.tif 000060
【図５３】
2018155101.tif 000061
【図５４】
2018155101.tif 000062
【図５５】
2018155101.tif 000063
【図５６Ａ】
2018155101.tif 000064
【図５６Ｂ】
2018155101.tif 000065
【図５６Ｃ】
2018155101.tif 000066
【図５６Ｄ】
2018155101.tif 000067
【図５７】
2018155101.tif 000068
【図５８Ａ】
2018155101.tif 000069
【図５８Ｂ】
2018155101.tif 000070
【図５８Ｃ】
2018155101.tif 000071