(57)【要約】【課題】  自動車等の内燃機関の運転制御を行う電子制御装置であって、クランク角度を計測し、これに同期してリアルタイム角度制御を行い始動時の信頼性を向上できるクランク角度依存ジョブ制御装置を提供する。【解決手段】  クランク軸のクランク角度信号に同期して制御処理を実行する内燃機関の制御装置であって、前記制御装置は、前記制御処理を行う一連のジョブ１Ａ〜１Ｄを備え、該一連のジョブの各ジョブは、前記内燃機関の１サイクル内で所定のクランク角度毎に割付けられており、前記各ジョブがロールバックして制御処理の実行を可能にしてなる。【選択図】  図３
2005061331.tif 000002
【特許請求の範囲】
【請求項１】
クランク軸のクランク角度信号に同期して制御処理を実行する内燃機関の制御装置であって、
前記制御装置は、前記制御処理を行う一連のジョブを備え、該一連のジョブの各ジョブは、前記内燃機関の１サイクル内で所定のクランク角度毎に割付けられており、前記各ジョブがロールバックして制御処理の実行を可能にしていることを特徴とする内燃機関の制御装置。
【請求項２】
前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度以内である場合に、未実施である前記各ジョブを選択的にロールバックして制御処理を実行することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度を越えた場合は、前記ロールバックを行わず、かつ、前記一連のジョブの後続する前記各ジョブを実行しないことを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項４】
前記ロールバックをするか否かを判定する処理は、前記各ジョブが割付けられたクランク角の少なくとも１つのクランク角に割付けられることを特徴とする請求項１〜３のいずれか一項に記載の内燃機関の制御装置。
【請求項５】
前記ロールバックをするか否かを判定する処理は、前記各ジョブが割付けられたクランク角以外のクランク角度に割付けられることを特徴とする請求項１〜３のいずれか一項に記載の内燃機関の制御装置。
【請求項６】
クランク軸のクランク角度信号に同期して、制御処理を実行する内燃機関の制御方法であって、
前記制御処理は、前記内燃機関の１サイクル内で所定のクランク角度毎に割付けられた一連のジョブの各ジョブに基づき実行され、前記各ジョブは、ロールバックして制御処理の実行が可能であることを特徴とする内燃機関の制御方法。
【請求項７】
前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度以内である場合に、前記ロールバックを行い、未実施である前記各ジョブを選択的にロールバックして制御処理を実行することを特徴とする請求項６に記載の内燃機関の制御方法。
【請求項８】
前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度を越えた場合は、前記ロールバックを行わず、かつ、前記一連のジョブの後続する前記各ジョブを実行しないことを特徴とする請求項６に記載の内燃機関の制御方法。
【請求項９】
前記ロールバックをするか否かを判定する処理は、前記各ジョブが割付けられたクランク角の少なくとも１つのクランク角に割付けられていることを特徴とする請求項６〜８のいずれか一項に記載の内燃機関の制御方法。
【請求項１０】
前記ロールバックをするか否かを判定する処理は、前記各ジョブが割付けられたクランク角以外のクランク角度に割付けられていることを特徴とする請求項６〜８に記載のいずれか一項に内燃機関の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に係り、特に、クランク角度を計測し、これに同期してリアルタイムで制御を行う内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の回転角度に基づき、予めソフトウェアで規定された制御を行う角度同期式制御装置においては、内燃機関の回り始めは、最も考慮しなければならない特殊状態にある。これは、言わば通常回転運動に移行するまでの過渡状態と言えるもので、特に、角度制御をするために所定角度に割付けられた制御アイテムが、先行する角度で実施されるジョブの生成する情報を利用する場合に、設計が困難である。
【０００３】
従来、この種の問題に対処するためには、内燃機関の回転開始待ちに移行する前、すなわち制御システムの電源印加による立ち上がり時に適当な初期値を設定しておき、これによって上記先行する制御出力（結果）の代替をさせるという設計手法が用いられてきた。
【０００４】
また、内燃機関停止中においても、内燃機関がおかれている環境によって、上記先行する制御出力（結果）が、時々刻々変化する場合は、内燃機関が回転を開始するまで適当な定時タスクを起動しておき、それによって値の入れ替えを行う技術が公知となっている。
【０００５】
また、この他にも、各プロセスのプロセス間通信を監視し、分散チェックポイント生成の対象となるプロセス間で同期して第１のチェックポイントを生成し、各プロセス毎のタイミングでプロセス毎にローカルな第２のチェックポイントを生成し、障害発生時に、少なくともその障害が発生した故障プロセスに関するプロセス間通信の監視結果に応じて、第１及び／または第２のチェックポイントの有効性を調べるチェックポイント生成方法が提案されている（例えば、特許文献１）。
【０００６】
【特許文献１】特開平９−２５１４０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の内燃機関制御においても、制御の高度化・精細化に伴い、種々の出力デバイスが採用されつつあるが、その中でもスマート・アクチュエータと呼ばれるデバイスは、制御装置が逐一関与せずともある程度、知的・自立的な動作を行うことができる。
【０００８】
その典型的な動作の態様は、先ず制御装置が、スマート・アクチュエータ自身が収集できない環境情報、及び種々のアクチュエータ自身の動作バリエーションから特定のモードを選択するための指令情報を送出した後に、実際に動作を開始すべきタイミングでトリガ信号を送出するという二段階動作を要求するものが多く、しかも、この環境情報・コマンドと起動トリガとの間には、スマート・アクチュエータ自身が先行情報を解釈する時間的余裕が必要である。
【０００９】
このような状況を考慮した場合、前記従来技術は採用することができない。なぜならば、初期値を一度のみ与えてそのまま回転待機状態にする方法は、回転開始時に突発的に発生する外部条件の変化に対応することができないからである。また、回転開始時までに周期的に起動する定時タスクにより値を入れ替える方法は、基本的に定時タスクとクランク軸回転が非同期であるので、前述したスマート・アクチュエータ自身が先行情報を解釈する時間的余裕を設計値として明確に与えることができず、動作が成り行き任せとなるからである。
【００１０】
しかも、このスマート・アクチュエータが内燃機関に複数取り付けられている場合、問題は複雑となる。通常、起動トリガ線は、制御装置より各スマート・アクチュエータ毎に結線されるとしても、前述の環境情報・コマンドを受け渡しする配線は、省線化のため共用化・集約化され、シリアル通信路などが使われることが多い。この場合、制御装置と各スマート・アクチュエータとの一対一通信を仮定すると、この通信路は各スマート・アクチュエータにとって排他的に奪い合うべき共有資源となる。従って、通信トラフィックの集中や競合を避けるために、この通信路を使用するジョブもクランク角度毎に割り付けられ処理（負荷）分散を図らねばならず、ますます定時タスク処理との適合性が悪くなっている。
【００１１】
本発明は、上述の如き問題点を解消するためになされたものであって、その目的とするところは、ハードウェア・コストの増加がなく、ジョブ間のリソースの競合問題を排除でき、時間的（角度的）デッドラインを通常動作と同じだけ確保することができる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
上述の目的を達成すべく、本発明に係る内燃機関の制御装置は、クランク軸のクランク角度信号に同期して制御処理を実行する内燃機関の制御装置であって、前記制御装置は、前記制御処理を行う一連のジョブを備え、該一連のジョブの各ジョブは、前記内燃機関の１サイクル内で所定のクランク角度毎に割付けられており、前記各ジョブがロールバックして制御処理の実行を可能にしていることを特徴としている。
【００１３】
本発明に係る内燃機関の制御装置は、前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度以内である場合に、未実施である前記各ジョブを選択的にロールバックして制御処理を実行することを特徴としている。
【００１４】
本発明に係る内燃機関の制御装置は、前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から前記制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度を越えた場合は、前記ロールバックを行わず、かつ、前記一連のジョブの後続する前記各ジョブを実行しないことを特徴としている。
【００１５】
本発明に係る内燃機関の制御装置は、前記ロールバックをするか否かを判定する処理が、前記各ジョブが割付けられたクランク角の少なくとも１つのクランク角に割付けられることを特徴としている。
【００１６】
本発明に係る内燃機関の制御装置は、前記ロールバックをするか否かを判定する処理が、前記各ジョブが割付けられたクランク角以外のクランク角度に割付けられることを特徴としている。
【００１７】
本発明に係る内燃機関の制御方法は、クランク軸のクランク角度信号に同期して、制御処理を実行する内燃機関の制御方法であって、前記制御処理は、前記内燃機関の１サイクル内で所定のクランク角度毎に割付けられた一連のジョブの各ジョブに基づき実行され、前記各ジョブは、ロールバックして制御処理の実行が可能であることを特徴としている。
【００１８】
本発明に係る内燃機関の制御方法は、前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から前記制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度以内である場合に、前記ロールバックを行い、未実施である前記各ジョブを選択的にロールバックして制御処理を実行することを特徴としている。
【００１９】
本発明に係る内燃機関の制御方法は、前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度を越えた場合は、前記ロールバックを行わず、かつ、前記一連のジョブの後続する前記各ジョブを実行しないことを特徴としている。
【００２０】
本発明に係る内燃機関の制御方法は、前記ロールバックをするか否かを判定する処理が、前記各ジョブが割付けられたクランク角の少なくとも１つのクランク角に割付けられていることを特徴としている。
【００２１】
本発明に係る内燃機関の制御方法は、前記ロールバックをするか否かを判定する処理が、前記各ジョブが割付けられたクランク角以外のクランク角度に割付けられていることを特徴としている。
【発明の効果】
【００２２】
本発明による内燃機関の制御装置によれば、内燃機関の始動時；クランクの回転開始時点まで意図的にアクチュエータとのやり取りを行わずとも、回転が開始した時点を表わす開始のクランク角度を用いて、ジョブをロールバックして一連のジョブシーケンスを完了することができる。また、ロールバックすることにより、通常割付けられた角度より後続するジョブに極めて時間的に近い時点で、未実施のジョブが実行されるので、システムの制御応答性を向上させることができる。さらに、回転開始時におけるジョブ挙動をリソースするような競合問題を排除して、ジョブの挙動を明確化することができる。
【００２３】
しかも、従来の制御ソフトウェアにロールバック処理を簡便に、追加実装する形で実施化できるので、ハード機器の追加をする必要はなく、コストの上昇を抑えることができる。
【００２４】
また、予めクランク軸に設けた許容クランク角を用いて、一連のジョブ間の時間的デッドラインを通常動作と同じだけ確保することができるので、機関回転開始時という過渡時におけるシステム挙動の信頼性付与に大幅に貢献できる。
【発明を実施するための最良の形態】
【００２５】
以下に添付の図面を参照して、この発明の実施の形態を詳細に説明する。図１は、本実施形態の制御装置を備えた内燃機関のシステム全体の構成の概略を示したものである。
【００２６】
図１において、内燃機関１は、いわゆるＭＰＩ（多気筒燃料噴射）方式の４気筒内燃機関であって、該内燃機関１の各気筒２には、吸気管３と排気管４とが接続されていると共に、該気筒２の上部には点火プラグ５が配置され、吸気管３には燃料を噴射するインジェクタ８が配置されている。また、吸気管３の入口にはエアクリーナ９が配置され、気筒２の吸気管３を接続する吸込側には吸気弁６が配置され、排気管４を接続する吐出側には排気弁７が配置されている。
【００２７】
ここで、各気筒２内に導かれる空気は、エアクリーナ９を介して、下流にある絞り弁２１で、空気流量を調整されると共に、気筒２内で燃焼される燃料は、燃料タンクから燃料ポンプ（図示していない）によって吸引・加圧され、インジェクタ８から該吸気管３内に噴射され、吸入空気と混合されて気筒２内に吸入される。そして、点火プラグ５により点火された後、気筒２内で燃焼し、燃焼排ガスは、排気弁７を経て排気管４に排出される。
【００２８】
内燃機関１には、制御装置１０が備えられ、該制御装置１０は、内燃機関１の各部に配置されたセンサ（クランク角度検出センサ１３、スロットル検出センサ２３、及び空燃比検出センサ２４）等の出力信号を入力すると共に、該入力信号に基づいて演算し出力信号として出力され、インジェクタ８、絞り弁２１等を制御する。
【００２９】
制御装置１０は、低速通信線１７、１９を通じて、電磁駆動弁用スマート・アクチュエータ１４、１５と情報を交信する。例えば、制御装置１０から電磁駆動弁用スマート・アクチュエータ１４、１５への情報としては、スマート・アクチュエータ自身が収集できない環境情報（油温、給排気ポート差圧等の外乱情報）、及び種々のアクチュエータ自身の動作バリエーションから特定のモードを選択するコマンド類である。一方、電磁駆動弁用スマート・アクチュエータ１４、１５から制御装置１０への情報としては、アクチュエータ自身の診断情報等があげられる。
【００３０】
そして、上記情報の設定の後に、制御装置１０は、高速トリガ線１６、１８を通じて、電磁駆動弁用スマート・アクチュエータ１４、１５に対して起動トリガを送り、吸排気弁の動作を実行する。上述した内容は、内燃機関の単気筒分についてのみの結線関係を示したが、これらと同様の構成で、他の気筒も結線されている。
【００３１】
図２は、４気筒エンジンにおいて、制御装置１０が所定のクランク角度毎に同期して制御処理が行われるように、一連のジョブの割付けを示した概念図である。
【００３２】
そして、制御処理を構成する一連のジョブを実行するための各ジョブを気筒毎に分類すると次のようになる。すなわち、ジョブ１Ａ、１Ｂ、１Ｃ、１Ｄは第１気筒用のジョブであり、ジョブ３Ａ、３Ｂ、３Ｃ、３Ｄは第３気筒用のジョブであり、ジョブ４Ａ、４Ｂ、４Ｃ、４Ｄは第４気筒用のジョブ、ジョブ２Ａ、２Ｂ、２Ｃ、２Ｄは第２気筒用のジョブであり、これらのジョブは、クランク角が一致することなく、内燃機関の１サイクル内で所定のクランク角毎に割り付けられ、一連のジョブとして実行される。
【００３３】
これら各気筒毎のジョブの実行する制御内容を示すと、図２に図示するジョブ１Ａを含むジョブＸＡ（頭字Ｘは気筒番号１〜４を示す）は外部事象のＡ／Ｄ変換、ジョブ１Ｂを含むジョブＸＢ（頭字Ｘは気筒番号１〜４を示す）は外乱要因の計算、ジョブ１Ｃを含むジョブＸＣ（頭字Ｘは気筒番号１〜４を示す）は電磁駆動弁用スマート・アクチュエータとの通信制御、及びジョブ１Ｄを含むジョブＸＤ（頭字Ｘは気筒番号１〜４を示す）は電磁駆動弁用スマート・アクチュエータに対する開弁トリガ信号を示している。具体的には、ジョブＸＡ、ジョブＸＢ、及びジョブＸＣは、クランク角度に対して定角度で割り付けられ、ジョブＸＤは、期間のバルブタイミングに対して揺らぎがあるものの、ジョブＸＤは、通信制御ジョブＸＣに対して設計的なディレー時間（電磁駆動弁用スマート・アクチュエータが通信内容を解釈可能な時間）が確保できるようになっている。
【００３４】
以上のように、各気筒用のジョブに対して、複数気筒全体としての角度割付けがなされ、制御装置１０の内部処理について適度な処理（負荷）分散が図れるようになっている。従って、Ａ／Ｄ変換デバイス（図示せず）及び低速通信線１７、１９を駆動する通信デバイス（図示せず）が、制御装置１０の中に唯一しか含まれていない資源（すなわち、各気筒のスマート・アクチュエータに取っての共有資源）だとしても、資源競合を発生することなく複数気筒のアクチュエータを同時に制御することができる。
【００３５】
図３（ａ）、（ｂ）は、図２の第１気筒の割り当てられた一連のジョブ（制御処理）の実行を示す一実施例を説明するための角度割付けの概念図であり、（ａ）は、内燃機関の始動回転時の開始のクランク角度が、一連のジョブの開始時以前にある場合であり、（ｂ）は、割付けられた一連のジョブの途中から制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度以内である場合である。
【００３６】
また、本実施例では、ジョブ１Ｃが割付けられたクランク角度を許容クランク角度とし、ジョブ１Ｃが割付けられたクランク角度でロールバックを行うかどうかを判定している。すなわち、内燃機関の始動回転時に、割付けられた一連のジョブ（ジョブ１Ａ〜１Ｄ）の途中から制御処理が開始され、かつ開始のクランク角度が予め設けた許容クランク角度以内の場合のときに、先に示した判定により、ロールバックして、一連のジョブのうち、未実施（開始のクランク角度以内）のジョブを実行する。
【００３７】
具体的には、図３の（ａ）に示すように、内燃機関の回転始動時における開始のクランク角度（開始位置）３０１が、ジョブ１Ａの前より始まっており、先に示した判定において、ロールバックする条件が成立していない（割付けられた一連のジョブの途中から制御処理が開始されていない）ので、この場合は、ロールバックすることなく、一連のジョブは通常回転時と同じく、各ジョブが割付けられた所定のクランク角度でシーケンシャルに実行される。
【００３８】
一方、図３（ｂ）のように、クランク軸の回転始動時における開始のクランク角度（開始位置）３０２が、割付けられた一連のジョブの途中から始まっている場合は、開始のクランク角度３０２が、ジョブ１Ａからジョブ１Ｄまでの間にあり、かつ開始のクランク角度３０２がジョブ１Ｃ以前（許容クランク角度以内）にあるので、先に示した判定の条件を満足し、通常ならばジョブ１Ｃがなされる角度で、一連のジョブの頭である未実施のジョブ１Ａ、及びジョブ１Ｂもロールバックして実行され、結果としてジョブ１Ａ’、ジョブ１Ｂ’及び本来のジョブ１Ｃ’が集中して実行されることになる。
【００３９】
しかし、このジョブが集中実行される角度スロットは、本来ジョブ１Ｃがなされる角度であるので、もともと所定の気筒専用に割り付けられたものである。従って、クランク角度が設定値と異なるロールバックして実行されたジョブ１Ａ’でＡ／Ｄ変換デバイス（図示せず）を起動しても、資源競合が発生しない。また、ジョブ１Ｃ’で通信デバイス（図示せず）を起動しても資源競合が起きないことは、図３の（ａ）で示す通常状態の角度割付けから明らかである。
【００４０】
また、図３の（ａ）では、通信ジョブ１Ｃと後続する起動トリガジョブ１Ｄの間には一定角度分の間隙が設けられている。これは、電磁駆動弁用スマート・アクチュエータ１４、１５が通信内容を解釈する時間を設定するものであり、通常は時間的デッドラインの形で設定される。しかしながら、本実施例ではクランク角度による割付けで実行しているので、内燃機関の最高回転速度における角度時間を考慮されて設定されることは言うまでもない。
【００４１】
一方、図３（ｂ）ではロールバックして実行されるジョブ１Ａ’及びジョブ１Ｂ’の実行時間分だけこのディレー時間が短縮される傾向にあるが、もともと安全率を加味して設定された許容クランク角度であり問題は生じない。よって、本実施例の如くロールバックを実行しても、後続するジョブ１Ｄ’との間に通常時と同等の適切なディレー時間を設定することができる。
【００４２】
このように本実施例の内燃機関の制御装置は、所定のクランク角度毎に各ジョブ１Ａ〜１Ｄが割り付けられ、処理を実行するので、たとえ、複数設けた、一連のジョブを実行するとしても、各ジョブの処理内容を考慮して所定のクランク角に適切な割付けをしさえすれば、資源競合を発生することなく複数のアクチュエータを同時に制御することができる。回転開始時点まで意図的にアクチュエータとのやり取りを行わずとも、許容クランク角度を設けて判定し、各ジョブをロールバックして、未実施のジョブを実行することにより、一連のジョブシーケンスを完了させるものである。また、ロールバックすることにより、通常割付けられた角度より、後続するジョブに極めて時間的に近い時点で、実行される。さらに、予め許容クランク角度を設定することで、後続するジョブとの時間的デッドラインを設定することができる。
【００４３】
さらに、すべて未実施のジョブを実行せずとも、ロールバックしたジョブのうち、必要なジョブだけを実行してもよい。図３（ｂ）では、本来ならばジョブ１Ｃが実行される角度で、その前にジョブ１Ａ’とジョブ１Ｂ’を実行しているが、例えば、固定的な初期値の設定のみが差し当たり必要であり、Ａ／Ｄ変換等が必要でなければ、ジョブ１Ａ’の実行を省略（又はジョブ１Ａのロールバック自体を省略）しても良い。
【００４４】
このように、回転開始時点まで意図的にアクチュエータとのやり取りを行わずとも、開始のクランク角度で、未実施のジョブをロールバックして一連のジョブシーケンスを完了させることができる。また、選択的にロールバックして前記ジョブは実行されるので、一連のジョブシーケンスを完成せずとも、前記ロールバックすべきジョブのオーバーヘッドが大きく、割付けられた角度スロット中に処理が完了しない場合、ひとまず直近の後続するジョブに直接関与する処理のみを選択的に実行し、残りの処理は次回に行うことができる。そして、後続するジョブの初期値設定のみ行えば、通常時になされる制御の全てをロールバックする必要がない。
【００４５】
また、本実施例では、回転開始のクランク角度が規定された許容クランク角度以内でジョブのロールバックが可能かどうかの判定を、通常ジョブ１Ｃに割付けられたクランク角度で判定している。このように、一連の既存ジョブの中に含ませることで、既存処理手順の最小限の拡張のみで良いので、コストの上昇を抑えることができる。さらに、制御装置とアクチュエータ間の結合が排他的共有資源で行われていたとしても、もともと処理（負荷）分散のために角度割り付けされていたジョブスロットでロールバックが行われるので、共有資源の競合や通信トラフィックの増加を引き起こすことがない。
【００４６】
さらに、別の実施例として、このジョブ１Ｃを実際の仕事を何も行わず、判定をするジョブとして、クランク回転開始時にロールバックが必要かどうかを判定する処理のみに割り当てても良い。これにより、既存の処理と独立した角度に処理スロットを割付けることより、既存処理の角度配置と独立してロールバックを行うことが可能となる。そして、後続するジョブまでのデッドラインを確保すると共に、後続するジョブが実行可能な回転開始時の所定のクランク角度を広げ、システムの制御応答性が向上する。
【００４７】
図４（ａ）、（ｂ）は、図２の第１気筒の割り当てられた一連のジョブ（制御処理）の実行を示す図３とは異なる他の実施例を説明するための角度割付けの概念図であり、（ａ）は、内燃機関の始動回転時の開始のクランク角度が、一連のジョブの開始時以前にある場合であり、（ｂ）は、前記割付けられた前記一連のジョブの途中から前記制御処理が開始され、かつ、該開始のクランク角度が、許容クランク角度を越えた場合である。
【００４８】
また、本実施例では、第一実施例と同様の判定に加え、次に示す判定を行っている。すなわち、この判定は、前記内燃機関の始動回転時に、前記割付けられた前記一連のジョブ（ジョブ１Ａ〜１Ｄ）の途中から前記制御処理が開始され、かつ開始のクランク角度が予め設けた許容クランク角度を越えた場合には、ロールバックを行わず、また、一連のジョブのうち、開始のクランク角度以降のジョブも実行しない。
【００４９】
具体的には、図４（ａ）は、図３（ａ）と同じく、内燃機関の回転始動時における開始のクランク角度（開始位置）４０１が一連のジョブシーケンスの前から始まっており、通常状態と等しいジョブ実行態様を示している。
【００５０】
しかし、図４（ｂ）では、内燃機関の回転始動時における開始のクランク角度（開始位置）４０２が、ジョブ１Ａ〜１Ｄ内にあり、かつジョブ１Ｃ以後（開始のクランク角度が、許容クランク角度を越えているところ）で検出を開始しているので、ジョブ１Ｄは実行されない。よって、このような判定時には、図３の（ｂ）に示すようなロールバックは行わない。これは、この段階でロールバックを行ったとしても、ジョブ１Ｄを実行するまでの時間がかなり短いため、誤作動を起す可能性があるからである。
【００５１】
このように、前記ロールバックによってなされる予定のジョブが、後続するジョブとの間で時間的デッドラインを満足しない（許容クランク角度を超えた）場合は、ロールバックは行わず、かつジョブ１Ｄを実行すべきクランク角度に達しても、該当するジョブの実行を行わず、ジョブにより制御されるアクチュエータなどの一連の動作の誤動作を防止するものである。この棄却されたジョブによる動作は、クランク角度が次回一連のジョブシーケンス初回の時点まで巡ってきたときに、一連の正規シーケンスの一環としてリトライされる。
【００５２】
図５は、所定のクランク角毎に割付けられたジョブ１Ａ〜１Ｄを示す図であり、図６は、図５のジョブ１Ａ〜１Ｄに基づいて制御処理を実行する制御フロー図である。
【００５３】
図５では、適当な基準クランク角度５０１を設定し、この基準クランク角度５０１を０°としたときの各ジョブ１Ａ〜１Ｄに対応して割付けられた角度を、α、β、γ及びδと設定している。
【００５４】
そして、図６に示すように、判定ステップ６０１、判定ステップ６０２、及び処理ステップ６０３は、内燃機関が回転を開始しているかどうかを検出する処理を示している。判定ステップ６０１では、起動済みフラグ（初期値はＯＦＦ）が既にセットされており、機関の回転を検出した時点以降ならば、判定ステップ６０４にジャンプし、一連の回転検出処理はスキップされる。そうでなければ、続く判定ステップ６０２で、スタータスイッチ１２の状態を検知する。もし、スタータスイッチ１２がＯＮであるならば、機関の回転が始まったことを意味しているので、続く処理ステップ６０３で起動済みフラグをＯＮし判定ステップ６０４へ移行する。スタータスイッチ１２がＯＦＦのままならば、回転待機中であるので何もせずに処理を終了する。
【００５５】
判定ステップ６０４では、クランク角度が図５のジョブ１Ａを起動すべき角度αであるか、クランク角度検出センサ１３の検出値からチェックする。もし検出したクランク角度がαであるならば、処理ステップ６０５でロールバック済みフラグをＯＮし、処理ステップ６０６で本来のジョブ１Ａを実行し、本フローを完了する。
【００５６】
また、ここに示すロールバック済みフラグは、初期値はＯＦＦであり、一連のジョブ起動角度で、それ以前にやり残したジョブがあるかどうかを検出する目的で使用している。ロールバック済みフラグがＯＦＦの場合は、図３の（ｂ）に示したように、やり残したジョブがあり、逆にロールバック済みフラグがＯＮの場合は、やり残したジョブがない（ロールバック済みである）ことを示している。
【００５７】
判定ステップ６０７では、クランク角度が図５のジョブ１Ｂを起動すべき角度βであるかクランク角度検出センサ１３の検出値からチェックする。もし検出したクランク角度がβであるならば、判定ステップ６０８でロールバック済みフラグをチェックする。ロールバック済みフラグがＯＮならば、上述のようにやり残したジョブがないので処理ステップ６１１へ飛び、本来のジョブ１Ｂを行って終了する。ロールバック済みフラグがＯＦＦならば、処理ステップ６０９でロールバック済みフラグをＯＮにし、処理ステップ６１０でジョブ１Ａをロールバックして実行し、引き続き本来の仕事であるジョブ１Ｂを処理ステップ６１１で実行し終了する。
【００５８】
判定ステップ６１２では、クランク角度が図５のジョブ１Ｃを起動すべき角度γであるか、クランク角度検出センサ１３の検出値からチェックする。もし検出したクランク角度がγであるならば、判定ステップ６１３でロールバック済みフラグをチェックする。ロールバック済みフラグがＯＮならば、同じくやり残したジョブがないので処理ステップ６１７へ飛び、本来のジョブ１Ｃを行って終了する。ロールバック済みフラグがＯＦＦならば、処理ステップ６１４でロールバック済みフラグをＯＮにし、処理ステップ６１５でジョブ１Ａを、処理ステップ６１６でジョブ１Ｂをロールバックして実行し、引き続き本来の仕事であるジョブ１Ｃを処理ステップ６１７で実行し終了する。
【００５９】
判定ステップ６１８では、クランク角度が図５のジョブ１Ｄを起動すべき角度δであるかクランク角検出センサ１３の検出値からチェックする。もし検出したクランク角度がδであるならば、判定ステップ６１９でロールバック済みフラグをチェックする。ロールバック済みフラグがＯＦＦならば、本来先行すべきジョブが実行されていないので、誤動作を回避するために何も行わず終了する。また、ロールバック済みフラグがＯＮならば、続く処理ブロック６２０で本来のジョブ１Ｄを実行しフローを終了する。
【００６０】
このように、本発明によれば、ロールバック済みフラグの追加実装と、それに基づく条件分岐処理等の追加で、従来からある制御にロールバック処理を簡便に追加実装することができるためハード面の追加コストは全く増加されない。
【００６１】
以上、本発明のいくつかの実施例について詳述したが、本発明は、前記の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の精神を逸脱しない範囲で、種々の設計変更を行うことができるものである。
【００６２】
例えば、本実施例では電磁駆動弁をその制御対象として例示されているが、電磁駆動弁に限定するものではなく、クランク軸回転に同期して制御がなされるスマート・アクチュエータならば他のアクチュエータでも良い。例えば、可変バルブ機構用アクチュエータ、燃料噴射用アクチュエータ、気筒点火用アクチュエータ、吸排気の制動・共鳴用アクチュエータ、及びエンジンブロック制振用アクチュエータ等の種々のアクチュエータに適用が可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態の制御装置を備えた内燃機関の全体のシステム構成の概略図。
【図２】図１の制御装置において、多気筒内燃機関における制御処理するジョブをクランク角度に従って割付けた状態を示した概念図。
【図３】図２の角度割付けに基づく制御処理の一実施例を示し、（ａ）は、開始のクランク角度が、一連のジョブの開始時点前にある場合を示した図であり、（ｂ）は、開始のクランク角度が、一連のジョブの途中にある場合を示した図。
【図４】図３の別の実施例を示し、（ａ）は、開始のクランク角度が、一連のジョブの開始時点前にある場合を示した図であり、（ｂ）は、開始のクランク角度が、一連のジョブの途中にある場合を示した図。
【図５】図２の概念図において基準位置を設定し、ジョブ１Ａ〜１Ｄを所定のクランク角毎に割付けられた状態を示す図。
【図６】図５のジョブ１Ａ〜１Ｄに基づいて制御処理を実行する制御フロー図。
【符号の説明】
【００６４】
１  内燃機関
１Ａ−１Ｄ  ジョブ
１０  制御装置
１２  スタータスイッチ
１３  クランク角度検出センサ
１４・１５  電磁駆動弁用スマート・アクチュエータ
１６・１８  高速トリガ線
１７・１９  低速通信線
【図１】
2005061331.tif 000003
【図２】
2005061331.tif 000004
【図３】
2005061331.tif 000005
【図４】
2005061331.tif 000006
【図５】
2005061331.tif 000007
【図６】
2005061331.tif 000008