(57)【特許請求の範囲】
【請求項１】
主燃料とその代替燃料とを選択的に切替えて単一エンジンの運転制御を行うエンジン制御システムであって、
前記主燃料の噴射制御を行う第１制御部と、
前記代替燃料の噴射制御を行うと共に前記第１制御部と通信可能に接続され、燃料切替要求の発生時に前記第１制御部へ燃料切替信号を送信する第２制御部と、
を具備し、
前記第２制御部は、特定気筒の圧縮行程、膨張行程、排気行程、吸気行程を１サイクルとして捉え、前記燃料切替要求が発生した現サイクル内で前記燃料切替信号の送受信が完了するタイミングで前記燃料切替信号を前記第１制御部へ送信し、
両制御装置は送受信した燃料切替信号を基に燃料噴射許可判断を行い、
前記主燃料から前記代替燃料への燃料切替要求の発生時において、
前記第１制御部は、前記燃料切替信号を受信した現サイクルの次サイクル以降に前記主燃料の噴射を停止し、
前記第２制御部は、前記燃料切替信号を送信した現サイクルの次サイクル以降に前記代替燃料の噴射を実施し、
前記代替燃料から前記主燃料への燃料切替要求の発生時において、
前記第１制御部は、前記燃料切替信号を受信した現サイクルの次サイクル以降に前記主燃料の噴射を実施し、
前記第２制御部は、前記燃料切替信号を送信した現サイクルの次サイクル以降に前記代替燃料の噴射を停止する
ことを特徴とするエンジン制御システム。
【請求項２】
前記第２制御部は、前記燃料切替要求が発生した時点でのエンジン回転数が燃料切替許容回転数より高い場合、現サイクルでの前記燃料切替信号の送信を中止することを特徴とする請求項１に記載のエンジン制御システム。
【請求項３】
前記燃料切替信号の送信タイミングは、前記燃料切替信号の通信遅れ時間を考慮して設定されることを特徴とする請求項１または２に記載のエンジン制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン制御システムに関する。
【背景技術】
【０００２】
近年では、車両の燃費性能及び環境保護性能を向上させる技術として、ガソリン等の液体燃料とその代替燃料である圧縮天然ガス（ＣＮＧ）等の気体燃料とを選択的に切替えて単一エンジンの運転制御を行うバイフューエルエンジンシステムの導入が進んでいる（下記特許文献１参照）。
【０００３】
このバイフューエルエンジンシステムは、開発及び製造コストを抑えるために、既存のガソリンシステムに対してガスシステムを後付けで組み合わせて構成されることが多い。そのため、バイフューエルエンジンシステムには、ガソリン燃料の噴射制御を行う１ｓｔ−ＥＣＵ（Electronic Control Unit）と、ガス燃料の噴射制御を行う２ｎｄ−ＥＣＵとの２つのＥＣＵが別個に設けられている。
【０００４】
従来、燃料の切替は、１ｓｔ−ＥＣＵが生成した液体燃料噴射信号（液体インジェクタに供給すべき駆動パルス信号）を、一度、２ｎｄ−ＥＣＵに入力し、２ｎｄ−ＥＣＵが現在選択されている燃料に応じて液体燃料噴射信号を液体インジェクタに出力するか、或いは液体燃料噴射信号を気体燃料噴射信号に補正して気体インジェクタに出力することで実現される。
【０００５】
つまり、図４（ａ）に示すように、２ｎｄ−ＥＣＵは現在選択されている燃料が液体燃料であれば（燃料切替フラグ＝０）、１ｓｔ−ＥＣＵから入力される液体燃料噴射信号を液体インジェクタに出力することで液体燃料噴射を実施し、また、現在選択されている燃料が気体燃料であれば（燃料切替フラグ＝１）、１ｓｔ−ＥＣＵから入力される液体燃料噴射信号を気体燃料に適合する気体燃料噴射信号に補正して気体インジェクタに出力することで気体燃料噴射を実施する。このように、燃料の切替は、２ｎｄ−ＥＣＵの内部処理で完結しているため、ＥＣＵ間の通信による時間遅れは考慮する必要がなく、燃料切替フラグの変化（燃料切替要求の発生）と同時に燃料の切替が実施される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０６７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、近年では、車両用ＥＣＵ間の通信方式として、例えばＣＡＮ通信のようなデジタル通信が採用されることが一般的となっており、バイフューエルエンジンシステムにおいてもパルス通信方式からデジタル通信方式への移行が進みつつある。このようなデジタル通信方式を１ｓｔ−ＥＣＵと２ｎｄ−ＥＣＵとの通信に採用した場合、燃料切替信号の送受信に通信遅れが生じるため、１度の燃料噴射でガソリン燃料とガス燃料とが同時に噴射される虞がある。
【０００８】
図４（ｂ）は、デジタル通信方式を採用した場合において、例えば膨張行程中にガソリン燃料からガス燃料への切替えを行う様子を示すタイミングチャートである。この図に示すように、２ｎｄ−ＥＣＵが膨張行程の開始時に１ｓｔ−ＥＣＵへ燃料切替信号を送信し、１ｓｔ−ＥＣＵがその燃料切替信号を排気行程の開始時に受信したと仮定する。
【０００９】
ここで、膨張行程中に燃料噴射時期が到来する場合、１ｓｔ−ＥＣＵは未だ燃料切替信号を受信していないので、燃料噴射時期からガソリン燃料の噴射を実施し、排気行程で燃料切替信号を受信した時点で即座にガソリン燃料の噴射を停止する。一方、２ｎｄ−ＥＣＵは、膨張行程の開始時に１ｓｔ−ＥＣＵへ燃料切替信号を送信した後、燃料噴射時期からガス燃料の噴射を実施する。
【００１０】
つまり、燃料切替信号が１ｓｔ−ＥＣＵ側で受信されるまでの膨張行程中において、ガソリン燃料とガス燃料とが同時に噴射されることになる。このような異種燃料の同時噴射は、エミッションの悪化やエンジン出力の低下を招く原因となる。また、デジタル通信方式を採用した場合、両燃料の噴射が実施されないといった現象も生じる虞もある。
【００１１】
本発明は、上述した事情に鑑みてなされたものであり、主燃料とその代替燃料とを選択的に切替えて単一エンジンの運転制御を行うエンジン制御システムにおいて、燃料切替時のエンジントラブルを防止することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明では、エンジン制御システムに係る第１の解決手段として、主燃料とその代替燃料とを選択的に切替えて単一エンジンの運転制御を行うエンジン制御システムであって、前記主燃料の噴射制御を行う第１制御部と、前記代替燃料の噴射制御を行うと共に前記第１制御部と通信可能に接続され、燃料切替要求の発生時に前記第１制御部へ燃料切替信号を送信する第２制御部と、を具備し、前記第２制御部は、特定気筒の圧縮行程、膨張行程、排気行程、吸気行程を１サイクルとして捉え、前記燃料切替要求が発生した現サイクル内で前記燃料切替信号の送受信が完了するタイミングで前記燃料切替信号を前記第１制御部へ送信し、両制御装置は送受信した燃料切替信号を基に燃料噴射許可判断を行うことを特徴とする。
このようなエンジン制御システムによれば、第１制御部と第２制御部と間の通信遅れ時間に起因する主燃料と代替燃料との同時噴射、及び両燃料の未噴射を防止することができ、その結果、燃料切替時のエンジントラブルを防止することができる。
【００１３】
また、本発明では、エンジン制御システムに係る第２の解決手段として、上記第１の解決手段において、前記第２制御部は、前記燃料切替要求が発生した時点でのエンジン回転数が燃料切替許容回転数より高い場合、現サイクルでの前記燃料切替信号の送信を中止することを特徴とする。
通信遅れ時間が一定であるのに対して、エンジン回転数が高い程、各行程の進行速度は速くなる（言い換えれば、１サイクルの周期が短くなる）。そのため、エンジン回転数が高いと、燃料切替要求が発生した現サイクル内で燃料切替信号の送受信を完了できない可能性がある。そこで、上記のように、燃料切替要求が発生した時点でのエンジン回転数が燃料切替許容回転数より高い場合には、現サイクルでの燃料切替信号の送信を中止することにより、主燃料と代替燃料との同時噴射、及び両燃料の未噴射をより確実に防止することができる。
【００１４】
また、本発明では、エンジン制御システムに係る第３の解決手段として、上記第１または第２の解決手段において、前記燃料切替信号の送信タイミングは、前記燃料切替信号の通信遅れ時間を考慮して設定されることを特徴とする。
デジタル通信の仕様によって通信遅れ時間がどれくらいになるのかは事前にわかることである。そこで、上記のように、燃料切替信号の送信タイミングを、燃料切替信号の通信遅れ時間を考慮して設定することにより、燃料切替要求が発生した現サイクル内で確実に燃料切替信号の送受信を完了させることができる。
【００１５】
また、本発明では、エンジン制御システムに係る第４の解決手段として、上記第１〜第３のいずれかの解決手段において、前記主燃料から前記代替燃料への燃料切替要求の発生時において、前記第１制御部は、前記燃料切替信号を受信した現サイクルの次サイクル以降に前記主燃料の噴射を停止し、前記第２制御部は、前記燃料切替信号を送信した現サイクルの次サイクル以降に前記代替燃料の噴射を実施することを特徴とする。
これにより、主燃料から代替燃料への燃料切替時における主燃料と代替燃料との同時噴射、及び両燃料の未噴射をより確実に防止することができる。
【００１６】
また、本発明では、エンジン制御システムに係る第５の解決手段として、上記第１〜第３のいずれかの解決手段において、前記代替燃料から前記主燃料への燃料切替要求の発生時において、前記第１制御部は、前記燃料切替信号を受信した現サイクルの次サイクル以降に前記主燃料の噴射を実施し、前記第２制御部は、前記燃料切替信号を送信した現サイクルの次サイクル以降に前記代替燃料の噴射を停止することを特徴とする。
これにより、代替燃料から主燃料への燃料切替時における主燃料と代替燃料との同時噴射、及び両燃料の未噴射をより確実に防止することができる。
【発明の効果】
【００１７】
本発明によれば、主燃料とその代替燃料とを選択的に切替えて単一エンジンの運転制御を行うエンジン制御システムにおいて、燃料切替時のエンジントラブルを防止することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態におけるエンジン制御システムの構成概略図である。
【図２】エンジン制御システムの燃料切替動作を表すタイミングチャートである。
【図３】上記燃料切替動作を実現するために１ｓｔ−ＥＣＵ１５及び２ｎｄ−ＥＣＵ１６が実施する燃料切替制御を表すフローチャートである。
【図４】従来技術の問題点を指摘するために用いたタイミングチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施形態について、図面を参照しながら説明する。なお、以下では、本発明に係るエンジン制御システムとして、ガソリン等の液体燃料（主燃料）とその代替燃料である圧縮天然ガス（ＣＮＧ）等の気体燃料とを選択的に切替えて単一エンジンに供給するバイフューエルエンジンシステムを例示して説明する。
【００２０】
図１は、本実施形態におけるエンジン制御システムの構成概略図である。この図１に示すように、本実施形態におけるエンジン制御システムは、クランク角度センサ１、ＴＤＣセンサ２、吸気圧センサ３、吸気温センサ４、スロットル開度センサ５、冷却水温センサ６、燃料圧力センサ７、燃料温度センサ８、点火コイル９＃１〜９＃４、液体燃料噴射弁１０＃１〜１０＃４、燃料ポンプ１１、気体燃料噴射弁１２＃１〜１２＃４、遮断弁１３、燃料切替スイッチ１４、１ｓｔ−ＥＣＵ（Electronic Control Unit）１５及び２ｎｄ−ＥＣＵ１６から構成されている。
【００２１】
なお、本実施形態において、制御対象であるエンジンは４気筒エンジンであると仮定する。また、点火コイル９＃１〜９＃４は、第１気筒（＃１）から第４気筒（＃４）のそれぞれの気筒に設置された点火コイルである。同様に、液体燃料噴射弁１０＃１〜１０＃４と気体燃料噴射弁１２＃１〜１２＃４は、第１気筒から第４気筒のそれぞれの気筒に設置された液体燃料噴射弁と気体燃料噴射弁である。
【００２２】
クランク角度センサ１は、例えば電磁式ピックアップセンサであり、エンジンのクランクシャフトが一定角度回転する毎に極性の異なる１対のパルス信号を１ｓｔ−ＥＣＵ１５及び２ｎｄ−ＥＣＵ１６に出力する。ＴＤＣセンサ２は、例えば電磁式ピックアップセンサであり、エンジンのカムシャフトが１回転する毎に（言い換えれば、第２気筒のピストンが吸気行程のＴＤＣ（上死点）直前の位置に到達する毎に）極性の異なる１対のパルス信号を１ｓｔ−ＥＣＵ１５及び２ｎｄ−ＥＣＵ１６に出力する。
【００２３】
吸気圧センサ３は、感部が吸気流路に露出するようにエンジンの吸気管に設置されており、吸気管の内部圧力（吸気圧）に応じた吸気圧信号を１ｓｔ−ＥＣＵ１５に出力する。吸気温センサ４は、感部が吸気流路に露出するようにエンジンの吸気管に設置されており、吸気管の内部温度（吸気温度）に応じた吸気温信号を１ｓｔ−ＥＣＵ１５に出力する。スロットル開度センサ５は、エンジンの吸気管に設けられたスロットルバルブの開度に応じたスロットル開度信号を１ｓｔ−ＥＣＵ１５に出力する。冷却水温センサ６は、エンジンの冷却水温度に応じた冷却水温信号を１ｓｔ−ＥＣＵ１５に出力する。
【００２４】
燃料圧力センサ７は、気体燃料タンクから気体燃料噴射弁１２＃１〜１２＃４へ至る気体燃料供給経路におけるレギュレータ下流側の気体燃料の圧力を検出し、その検出結果を表す燃料圧力信号を２ｎｄ−ＥＣＵ１６に出力する。燃料温度センサ８は、上記レギュレータ下流側の気体燃料の温度を検出し、その検出結果を表す燃料温度信号を２ｎｄ−ＥＣＵ１６に出力する。
【００２５】
点火コイル９＃１〜９＃４は、それぞれ１次巻線と２次巻線からなるトランスであり、１ｓｔ−ＥＣＵ１５から１次巻線に供給される点火用電圧信号を昇圧して２次巻線からエンジンの各気筒に設置された点火プラグに供給する。液体燃料噴射弁１０＃１〜１０＃４は、それぞれ吸気流路に噴射口が露出するように吸気管（インテークマニホールド）に設置された電磁弁であり、１ｓｔ−ＥＣＵ１５から供給される燃料噴射弁駆動信号に応じて、液体燃料タンクから供給される液体燃料（ガソリン等）を噴射口から噴射する。燃料ポンプ１１は、１ｓｔ―ＥＣＵ１５から供給されるポンプ駆動信号に応じて、液体燃料タンク内の液体燃料を汲み出して液体燃料噴射弁１０＃１〜１０＃４の燃料入口に圧送する。
【００２６】
気体燃料噴射弁１２＃１〜１２＃４は、吸気流路に噴射口が露出するように吸気管（インテークマニホールド）に設置された電磁弁であり、２ｎｄ−ＥＣＵ１６から供給される燃料噴射弁駆動信号に応じて、気体燃料タンクから供給される気体燃料（ＣＮＧ等）を噴射口から噴射する。遮断弁１３は、気体燃料タンクからレギュレータに至る気体燃料供給経路に介挿された電磁弁であり、２ｎｄ−ＥＣＵ１６から供給される遮断弁駆動信号に応じて開弁動作及び閉弁動作を行うことで、気体燃料タンクからの気体燃料の供給開始と停止を切替える役割を担っている。
【００２７】
燃料切替スイッチ１４は、手動操作による燃料の切替えを可能とするスイッチであり、そのスイッチの状態、つまりエンジンで使用する燃料として液体燃料が選択されているのか、気体燃料が選択されているのかを示す燃料指定信号を２ｎｄ−ＥＣＵ１６に出力する。
【００２８】
１ｓｔ−ＥＣＵ１５は、液体燃料（主燃料）によるエンジン運転制御を行う第１制御部であり、波形整形回路１５ａ、Ａ／Ｄ変換器１５ｂ、点火回路１５ｃ、燃料噴射弁駆動回路１５ｄ、ポンプ駆動回路１５ｅ、ＲＯＭ(Read Only Memory)１５ｆ、ＲＡＭ(Random Access Memory)１５ｇ、通信回路１５ｈ及びＣＰＵ（Central Processing Unit）１５ｉを備えている。
【００２９】
波形整形回路１５ａは、クランク角度センサ１及びＴＤＣセンサ２から入力される信号を方形波のパルス信号（クランクパルス信号、ＴＤＣパルス信号）に波形整形してＣＰＵ１５ｉに出力する。なお、クランクパルス信号は、クランクシャフトが一定角度回転するのに要した時間を１周期とする信号である。また、ＴＤＣパルス信号は、カムシャフトが１回転（クランクシャフトが２回転）するのに要した時間を１周期とする信号であって、例えば第２気筒のピストンが吸気行程のＴＤＣ直前の位置に到達した時点で方形波パルスの立上がりエッジが発生する信号である。
【００３０】
Ａ／Ｄ変換器１５ｂは、吸気圧センサ３から入力される吸気圧信号、吸気温センサ４から入力される吸気温信号、スロットル開度センサ５から入力されるスロットル開度信号、及び冷却水温センサ６から入力される冷却水温信号を、デジタル信号（吸気圧値、吸気温値、スロットル開度値、冷却水温値）に変換してＣＰＵ１５ｉに出力する。
【００３１】
点火回路１５ｃは、不図示のバッテリから供給される電源電圧を蓄積するコンデンサを備え、ＣＰＵ１５ｉからの要求に応じて、コンデンサに蓄積された電荷を点火用電圧信号として各気筒の点火コイル９＃１〜９＃４の１次巻線に放電する。燃料噴射弁駆動回路１５ｄは、ＣＰＵ１５ｉからの要求に応じて燃料噴射弁駆動信号を生成して各気筒の液体燃料噴射弁１０＃１〜１０＃４に出力する。ポンプ駆動回路１５ｅは、ＣＰＵ１５ｉからの要求に応じてポンプ駆動信号を生成して燃料ポンプ１１に出力する。
【００３２】
ＲＯＭ１５ｆは、ＣＰＵ１５ｉの各種機能を実現するためのエンジン制御プログラムや各種設定データを予め記憶している不揮発性メモリである。ＲＡＭ１５ｇは、ＣＰＵ１５ｉがエンジン制御プログラムを実行して各種動作を行う際に、データの一時保存先に用いられる揮発性のワーキングメモリである。通信回路１５ｈは、ＣＰＵ１５ｉによる制御の下、１ｓｔ−ＥＣＵ１５と２ｎｄ−ＥＣＵ１６とのデジタル通信（例えばＣＡＮ通信）を実現する通信インターフェイスであり、通信ケーブルを介して２ｎｄ−ＥＣＵ１６と接続されている。
【００３３】
ＣＰＵ１５ｉは、ＲＯＭ１５ｆに記憶されているエンジン制御プログラムに従い、波形整形回路１５ａから入力されるクランクパルス信号及びＴＤＣパルス信号と、Ａ／Ｄ変換器１５ｂから得られる吸気圧値、吸気温値、スロットル開度値及び冷却水温値と、通信回路１５ｈを介して２ｎｄ−ＥＣＵ１６から得られる各種情報に基づいて、液体燃料によるエンジン運転制御を行う。
【００３４】
具体的には、ＣＰＵ１５ｉは、波形整形回路１５ａから入力されるクランクパルス信号及びＴＤＣパルス信号に基づいて各気筒の行程及びピストン位置を判断する機能を有しており、ピストンが点火時期に対応する位置に到達した時点で、点火コイル９＃１〜９＃４のいずれかに点火用電圧信号が供給されるように点火回路１５ｃを制御する。
【００３５】
また、このＣＰＵ１５ｉは、通信回路１５ｈを介して２ｎｄ−ＥＣＵ１６から受信した燃料切替信号を基に現在選択中の燃料が液体燃料であると判断した場合、ポンプ駆動回路１５ｅに対してポンプ駆動信号の生成を要求して燃料ポンプ１１を作動させて、各気筒の液体燃料噴射弁１０＃１〜１０＃４へ液体燃料の供給を開始すると共に、ピストンが燃料噴射時期に対応する位置に到達した時点で、液体燃料噴射弁１０＃１〜１０＃４のいずれかに燃料噴射弁駆動信号が供給されるように燃料噴射弁駆動回路１５ｄを制御する。
【００３６】
一方、２ｎｄ−ＥＣＵ１６は、気体燃料（代替燃料）によるエンジン運転制御を行う第２制御部であり、波形整形回路１６ａ、Ａ／Ｄ変換器１６ｂ、通信回路１６ｃ、燃料噴射弁駆動回路１６ｄ、遮断弁駆動回路１６ｅ、ＲＯＭ１６ｆ、ＲＡＭ１６ｇ及びＣＰＵ１６ｈを備えている。
【００３７】
波形整形回路１６ａは、クランク角度センサ１及びＴＤＣセンサ２から入力される信号を方形波のパルス信号（クランクパルス信号、ＴＤＣパルス信号）に波形整形してＣＰＵ１６ｈに出力する。Ａ／Ｄ変換器１６ｂは、燃料圧力センサ７から入力される燃料圧力信号及び燃料温度センサ８から入力される燃料温度信号を、デジタル信号（燃料圧力値、燃料温度値）に変換してＣＰＵ１６ｈに出力する。
【００３８】
通信回路１６ｃは、ＣＰＵ１６ｈによる制御の下、１ｓｔ−ＥＣＵ１５と２ｎｄ−ＥＣＵ１６とのデジタル通信（例えばＣＡＮ通信）を実現する通信インターフェイスであり、通信ケーブルを介して１ｓｔ−ＥＣＵ１５（詳細には通信回路１５ｈ）と接続されている。燃料噴射弁駆動回路１６ｄは、ＣＰＵ１６ｈからの要求に応じて燃料噴射弁駆動信号を生成して各気筒の気体燃料噴射弁１２＃１〜１２＃４に出力する。遮断弁駆動回路１６ｅは、ＣＰＵ１６ｈからの要求応じて遮断弁駆動信号を生成して遮断弁１３に出力する。
【００３９】
ＲＯＭ１６ｆは、ＣＰＵ１６ｈの各種機能を実現するためのエンジン制御プログラムや各種設定データを予め記憶している不揮発性メモリである。ＲＡＭ１６ｇは、ＣＰＵ１６ｈがエンジン制御プログラムを実行して各種動作を行う際に、データの一時保存先に用いられる揮発性のワーキングメモリである。
【００４０】
ＣＰＵ１６ｈは、ＲＯＭ１６ｆに記憶されているエンジン制御プログラムに従って、燃料切替スイッチ１４から入力される燃料指定信号と、波形整形回路１６ａから入力されるクランクパルス信号及びＴＤＣパルス信号と、Ａ／Ｄ変換器１６ｂから得られる燃料圧力値及び燃料温度値と、通信回路１６ｃを介して１ｓｔ−ＥＣＵ１５から受信した各種情報とに基づいて気体燃料によるエンジン運転制御を行う。
【００４１】
具体的には、ＣＰＵ１６ｈは、波形整形回路１６ａから入力されるクランクパルス信号及びＴＤＣパルス信号に基づいて各気筒の行程及びピストン位置を判別する機能を有しており、燃料切替スイッチ１４から入力される燃料指定信号を基に現在選択中の燃料が気体燃料であると判断した場合、遮断弁駆動回路１６ｅに対して遮断弁駆動信号の生成を要求して遮断弁１３を開弁させて、各気筒の気体燃料噴射弁１２＃１〜１２＃４へ気体燃料の供給を開始すると共に、ピストンが燃料噴射時期に対応する位置に到達した時点で、気体燃料噴射弁１２＃１〜１２＃４のいずれかに燃料噴射弁駆動信号が供給されるように燃料噴射弁駆動回路１６ｄを制御する。
【００４２】
次に、上記のように構成されたエンジン制御システムの燃料切替動作について、図２のタイミングチャートを参照しながら詳細に説明する。
図２に示すように、１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉ及び２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、クランクパルス信号及びＴＤＣパルス信号に基づいて各気筒の行程及びピストン位置を判別すると、特定気筒（例えば第１気筒）の圧縮行程、膨張行程（爆発行程）、排気行程、吸気行程を１サイクルとして捉える。
【００４３】
ここで、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、燃料切替スイッチ１４から入力される燃料指定信号に基づいて燃料切替要求が発生したか否かを判断し、燃料切替要求が発生した現サイクル内で燃料切替信号の送受信が完了するタイミングで、燃料切替信号を１ｓｔ−ＥＣＵ１５へ送信する。
【００４４】
例えば、図２に示すように、サイクルＣＹ１の膨張行程において液体燃料から気体燃料への燃料切替要求が発生した（この時、ＣＰＵ１６ｈによって燃料切替フラグが「１」にセットされる）と仮定する。第１気筒の燃料噴射可能範囲は、圧縮行程から吸気行程までの範囲である（他の気筒も同様）。そのため、液体燃料と気体燃料との同時噴射を回避するには、サイクルＣＹ１の次のサイクルＣＹ２の圧縮行程に入る前、つまり燃料切替要求が発生したサイクルＣＹ１内で燃料切替信号の送受信を完了させる必要がある。
【００４５】
つまり、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、サイクルＣＹ１の膨張行程において液体燃料から気体燃料への燃料切替要求が発生すると、燃料切替信号がサイクルＣＹ１の吸気行程中に１ｓｔ−ＥＣＵ１５側で受信されるように、サイクルＣＹ１の排気行程で燃料切替信号を１ｓｔ−ＥＣＵ１５へ送信する。
【００４６】
なお、デジタル通信としてＣＡＮ通信を採用した場合、フレーム単位で通信が行われるため、燃料切替信号の通信遅れ時間は、１フレームの情報量（ＡＴ情報量及び車体コントロール情報量などを含む）によって定まる。従って、燃料切替信号の送信タイミングは、その通信遅れ時間を考慮して、燃料切替信号の希望受信タイミング（例えば吸気行程の開始時点）から所定時間分遡ったタイミングで設定される。
【００４７】
図２では、一例として、サイクルＣＹ１の排気行程で燃料切替信号を２ｎｄ−ＥＣＵ１６から１ｓｔ−ＥＣＵ１５へ送信する場合、つまり排気行程中のあるタイミングを燃料切替信号の送信タイミングとして設定する場合を示したが、本願発明の趣旨（燃料切替要求が発生した現サイクル内で燃料切替信号の送受信を完了させる）から、燃料切替信号の送信タイミングは通信遅れ時間の長さによって適宜変更しても良いことは勿論である。
【００４８】
例えば、通信遅れ時間が短ければ、サイクルＣＹ１の吸気行程中に燃料切替信号を２ｎｄ−ＥＣＵ１６から１ｓｔ−ＥＣＵ１５へ送信するようにしても良い。また、通信遅れ時間が長ければ、サイクルＣＹ１の膨張行程或いは圧縮行程中に燃料切替信号を２ｎｄ−ＥＣＵ１６から１ｓｔ−ＥＣＵ１５へ送信するようにしても良い（但し、この場合、サイクルＣＹ１の膨張行程或いは圧縮行程中に燃料切替要求が発生することが条件となる）。
【００４９】
ここで注意すべき点はエンジン回転数である。通信遅れ時間が一定であるのに対して、エンジン回転数が高い程、各行程の進行速度は速くなる（言い換えれば、１サイクルの周期が短くなる）。そのため、図２に示すように、例えばサイクルＣＹ１の排気行程中に燃料切替信号を２ｎｄ−ＥＣＵ１６から１ｓｔ−ＥＣＵ１５へ送信する場合でも、エンジン回転数が高ければ、サイクルＣＹ１の吸気行程中に１ｓｔ−ＥＣＵ１５側で燃料切替信号を受信できない可能性がある。そこで、燃料切替要求が発生した時点でのエンジン回転数が燃料切替許容回転数より高い場合には、現サイクルでの燃料切替信号の送信を中止する機能を２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈに持たせることが望ましい。
【００５０】
そして、図２に示すように、サイクルＣＹ１の吸気行程中に１ｓｔ−ＥＣＵ１５側で燃料切替信号を受信できた場合（この時、１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉによって燃料切替フラグは「１」にセットされる）、ＣＰＵ１５ｉは、燃料切替信号を２ｎｄ−ＥＣＵ１６から受信したサイクルＣＹ１の次のサイクルＣＹ２以降に液体燃料の噴射を停止する（液体燃料の噴射許可フラグを「０」にリセットする）。一方、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、燃料切替信号を１ｓｔ−ＥＣＵ１５へ送信したサイクルＣＹ１の次のサイクルＣＹ２以降に燃料噴射時期が到来する毎に気体燃料の噴射を実施する（気体燃料の噴射許可フラグを「１」にセットする）。
【００５１】
以上説明した燃料切替動作によって、１ｓｔ−ＥＣＵ１５と２ｎｄ−ＥＣＵ１６と間の通信遅れ時間に起因する液体燃料と気体燃料との同時噴射、及び両燃料の未噴射を防止することができ、その結果、燃料切替時のエンジントラブルを防止することができる。
【００５２】
なお、以上は液体燃料から気体燃料への燃料切替時の動作に関する説明であるが、気体燃料から液体燃料への燃料切替時の動作も同様である。つまり、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、液体燃料から気体燃料への燃料切替要求が発生したか、或いは気体燃料から液体燃料への燃料切替要求が発生したかに関わらず、燃料切替要求が発生した現サイクル内で燃料切替信号の送受信が完了するタイミングで、燃料切替信号を１ｓｔ−ＥＣＵ１５へ送信する。
【００５３】
但し、気体燃料から液体燃料への燃料切替要求の発生時においては、１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉは、燃料切替信号を２ｎｄ−ＥＣＵ１６から受信したサイクルＣＹ１の次のサイクルＣＹ２以降に燃料噴射時期が到来する毎に液体燃料の噴射を実施する一方、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、燃料切替信号を１ｓｔ−ＥＣＵ１５へ送信したサイクルＣＹ１の次のサイクルＣＹ２以降に気体燃料の噴射を停止する点で、液体燃料から気体燃料への燃料切替時とは異なる。
【００５４】
図３は、上述した液体燃料から気体燃料への燃料切替時の動作を実現するために、１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉ及び２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈが実行する燃料切替制御を表すフローチャートである。
図３（ａ）に示すように、２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈは、まず、燃料切替スイッチ１４から入力される燃料指定信号に基づいて、液体燃料から気体燃料への燃料切替要求が発生したか否かを判断する（ステップＳ１）。
【００５５】
ステップＳ１において「Ｎｏ」の場合、ＣＰＵ１６ｈは、燃料切替制御を終了する（「ＥＸＩＴ」）。一方、上記ステップＳ１において「Ｙｅｓ」の場合、ＣＰＵ１６ｈは、クランクパルス信号を基にエンジン回転数Ｎｅを算出し、当該エンジン回転数Ｎｅが燃料切替許容回転数Ｎｅｍａｘより高いか否かを判定する（ステップＳ２）。
【００５６】
なお、図２で説明したように、排気行程で燃料切替信号を送信する場合、燃料切替許容回転数Ｎｅｍａｘは下記（１）式で表される。下記（１）式において、「Ｔtrans」は通信遅れ時間（単位はｓｅｃ）であり、「３０」は１回転数（単位はｒｐｍ）を１回転するのに必要な時間（単位はｓｅｃ）へ変換するための係数である。
Ｎｅｍａｘ  ＜  ３０／Ｔtrans      ・・・・（１）
【００５７】
上記ステップＳ２において「Ｙｅｓ」の場合、つまりエンジン回転数Ｎｅが燃料切替許容回転数Ｎｅｍａｘより高く、燃料切替要求が発生した現サイクル内で燃料切替信号の送受信が完了しないと判断される場合、ＣＰＵ１６ｈは、燃料切替制御を終了することで現サイクルでの燃料切替信号の送信を中止する。
【００５８】
一方、上記ステップＳ２において「Ｎｏ」の場合、つまりエンジン回転数Ｎｅが燃料切替許容回転数Ｎｅｍａｘ以下であって、燃料切替要求が発生した現サイクル内で燃料切替信号の送受信が完了すると判断される場合、ＣＰＵ１６ｈは、第１気筒の現行程が現サイクル内での排気行程か否かを判定する（ステップＳ３）。
【００５９】
上記ステップＳ３において「Ｙｅｓ」の場合、つまり第１気筒の現行程が現サイクル内での排気行程である場合、ＣＰＵ１６ｈは、燃料切替フラグを「１」にセットし（ステップＳ４）、その燃料切替フラグを燃料切替信号として１ｓｔ−ＥＣＵ１５へ送信する（ステップＳ５）。一方、上記ステップＳ３において「Ｎｏ」の場合、つまり第１気筒の現行程が現サイクル内での排気行程ではない場合、ＣＰＵ１６ｈは、第１気筒の現行程が次サイクル内での圧縮行程か否かを判定する（ステップＳ６）。
【００６０】
上記ステップＳ６において「Ｙｅｓ」の場合、つまり第１気筒の現行程が次サイクル内での圧縮行程である場合、ＣＰＵ１６ｈは、気体燃料の噴射許可フラグを「１」にセットし（ステップＳ７）、以降は燃料噴射時期が到来する毎に気体燃料の噴射を実施する。一方、上記ステップＳ６において「Ｎｏ」の場合、つまり第１気筒の現行程が次サイクル内での圧縮行程ではない場合、ＣＰＵ１６ｈは、燃料切替制御を終了する。
【００６１】
また、図３（ｂ）に示すように、１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉは、まず、第１気筒の現行程が現サイクル内での吸気行程か否かを判定する（ステップＳ１１）。このステップＳ１１において「Ｙｅｓ」の場合、つまり第１気筒の現行程が現サイクル内での吸気行程である場合、ＣＰＵ１５ｉは、２ｎｄ−ＥＣＵ１６から送信される燃料切替信号（「１」にセットされた燃料切替フラグ）を受信する（ステップＳ１２）。
【００６２】
一方、上記ステップＳ１１において「Ｎｏ」の場合、つまり第１気筒の現行程が現サイクル内での吸気行程ではない場合、ＣＰＵ１５ｉは、燃料切替フラグが「１」か否かを判定する（ステップＳ１３）。このステップＳ１３において「Ｎｏ」の場合、つまり燃料切替フラグが「０」の場合、ＣＰＵ１５ｉは、燃料切替制御を終了する。一方、上記ステップＳ１３において「Ｙｅｓ」の場合、つまり燃料切替フラグが「１」の場合、ＣＰＵ１５ｉは、第１気筒の現行程が次サイクル内での圧縮行程か否かを判定する（ステップＳ１４）。
【００６３】
上記ステップＳ１４において「Ｙｅｓ」の場合、つまり第１気筒の現行程が次サイクル内での圧縮行程である場合、ＣＰＵ１５ｉは、液体燃料の噴射許可フラグを「０」にセットして液体燃料の噴射を停止する（ステップＳ１５）。一方、上記ステップＳ１４において「Ｎｏ」の場合、つまり第１気筒の現行程が次サイクル内での圧縮行程ではない場合、ＣＰＵ１５ｉは、燃料切替制御を終了する。
【００６４】
以上のような燃料切替制御を１ｓｔ−ＥＣＵ１５のＣＰＵ１５ｉ及び２ｎｄ−ＥＣＵ１６のＣＰＵ１６ｈが実行することで、図２で説明した液体燃料から気体燃料への燃料切替時の動作が実現され、通信遅れに起因する燃料切替時のエンジントラブルを防止することができる。
【００６５】
なお、上記実施形態では、４気筒のエンジンを例示して説明したが、エンジンの気筒数に関係なく、本発明を適用することができる。また、１つのＥＣＵ内において、ＣＰＵ１５ｉ及びＣＰＵ１６ｈに相当する２つのＣＰＵが互いにデジタル通信可能に接続されているようなシステムであっても、本発明を適用することができる。この場合、２つのＣＰＵが本発明の第１制御部及び第２制御部に相当する。
【符号の説明】
【００６６】
１…クランク角度センサ、２…ＴＤＣセンサ、３…吸気圧センサ、４…吸気温センサ、５…スロットル開度センサ、６…冷却水温センサ、７…燃料圧力センサ、８…燃料温度センサ、９＃１〜９＃４…点火コイル、１０＃１〜１０＃４…液体燃料噴射弁、１１…燃料ポンプ、１２＃１〜１２＃４…気体燃料噴射弁、１３…遮断弁、１４…燃料切替スイッチ、５…１ｓｔ−ＥＣＵ（第１制御部）、６…２ｎｄ−ＥＣＵ（第２制御部）
【図１】
0005557651.tif 000002
【図２】
0005557651.tif 000003
【図３】
0005557651.tif 000004
【図４】
0005557651.tif 000005