"第1,第2燃料を選択的に切り替えて単一エンジンの運転制御を行うエンジン制御システムであって、前記エンジンから排出される排気ガスの残留酸素量を検出するセンサと、前記センサの検出信号が入力可能な入力端を有しており、前記第1燃料による前記エンジンの運転制御を行うとともに、前記入力端から入力される信号に基づいて空燃比が目標空燃比になるように空燃比フィードバック制御を行う第1制御装置と、前記センサの検出信号が入力される入力部と、前記第2燃料が選択された場合に前記入力部に入力された検出信号を補正する補正部と、該補正部で補正された検出信号を前記第1制御装置の入力端に出力する出力部とを有する第2制御装置とを備えることを特徴とするエンジン制御システム。前記補正部は、前記第1燃料が選択されるときの空燃比と前記センサの出力との関係に対する、前記第2燃料が選択されるときの空燃比と前記センサの出力との関係のずれ量に応じて、前記入力部に入力された検出信号を補正することを特徴とする請求項1記載のエンジン制御システム。前記補正部は、前記第1燃料が選択された場合には、前記入力部に入力された検出信号を補正せずに前記出力部に出力することを特徴とする請求項1又は請求項2記載のエンジン制御システム。前記第2制御装置は、前記第2燃料による前記エンジンの運転制御を行い、前記第1制御装置は、前記第2燃料が選択された場合には、前記空燃比フィードバック制御に係る制御量を前記第2制御装置に出力することを特徴とする請求項1から請求項3の何れか一項に記載のエンジン制御システム。ところで、上述した特許文献1に開示された技術では、O2センサからの出力信号を波形整形手段で整形してからガソリン用制御装置に入力させるだけであるから、確かに構成が大幅に複雑化することはないと考えられる。しかしながら、引用文献1では、O2センサからの出力信号を単純に波形整形するだけであるため、高精度な空燃比フィードバック制御を実現することができないという問題がある。ここで、空燃比フィードバック制御は、周知の通り、エンジンの運転制御において、空燃比が目標値理論空燃比となるように燃料噴射量を制御することをいう。一般的な空燃比フィードバック制御は、空燃比が目標値に対してリッチであれば、燃料噴射量が減少するようにフィードバック補正量を設定し、空燃比が目標値に対してリーンであれば、燃料噴射量が増加するようにフィードバック補正量を設定することで空燃比を目標値に収束させるものである。上記の空燃比フィードバック制御の精度が悪いと、排気ガスの状態が悪化して環境に影響を与えるとともに燃費性能の低下を招く虞がある。このため、バイフューエルエンジンシステムにおいて、環境対策を図りつつ燃費性能を向上させるためには、液体燃料を使用する場合、及び気体燃料を使用する場合の何れの場合であっても、高精度に空燃比フィードバック制御を行う必要がある。本発明は、上記事情に鑑みてなされたものであり、使用燃料に応じた高精度の空燃比フィードバック制御を実現することができるエンジン制御システムを提供することを目的とする。上記課題を解決するために、本発明のエンジン制御システムは、第1,第2燃料を選択的に切り替えて単一エンジンの運転制御を行うエンジン制御システムであって、前記エンジンから排出される排気ガスの残留酸素量を検出するセンサと、前記センサの検出信号が入力可能な入力端を有しており、前記第1燃料による前記エンジンの運転制御を行うとともに、前記入力端から入力される信号に基づいて空燃比が目標空燃比になるように空燃比フィードバック制御を行う第1制御装置と、前記センサの検出信号が入力される入力部と、前記第2燃料が選択された場合に前記入力部に入力された検出信号を補正する補正部と、該補正部で補正された検出信号を前記第1制御装置の入力端に出力する出力部とを有する第2制御装置とを備えることを特徴としている。また、本発明のエンジン制御システムは、前記補正部が、前記第1燃料が選択されるときの空燃比と前記センサの出力との関係に対する、前記第2燃料が選択されるときの空燃比と前記センサの出力との関係のずれ量に応じて、前記入力部に入力された検出信号を補正することを特徴としている。また、本発明のエンジン制御システムは、前記補正部が、前記第1燃料が選択された場合には、前記入力部に入力された検出信号を補正せずに前記出力部に出力することを特徴としている。また、本発明のエンジン制御システムは、前記第2制御装置が、前記第2燃料による前記エンジンの運転制御を行い、前記第1制御装置が、前記第2燃料が選択された場合には、前記空燃比フィードバック制御に係る制御量を前記第2制御装置に出力することを特徴としている。本発明によれば、第2燃料が選択された場合に、第2制御装置の入力部に入力されたセンサからの検出信号を補正部で補正し、補正した検出信号を出力部から出力して第1制御装置の入力端に入力させるようにしているため、第2燃料が選択されたときに生ずるセンサの特性変化が補正され、これにより第2燃料が選択された場合であっても高精度の空燃比フィードバック制御を実現することができるという効果がある。以下、図面を参照して本発明の一実施形態によるエンジン制御システムについて詳細に説明する。尚、以下では、ガソリン等の液体燃料第1燃料と圧縮天然ガスCNG等の気体燃料第2燃料とを選択的に切り替えて単一エンジンに供給するバイフューエルエンジンシステムの制御を行うエンジン制御システムを例に挙げて説明する。図1は、本発明の一実施形態によるエンジン制御システムの要部構成を示すブロック図である。図1に示す通り、本実施形態のエンジン制御システム1は、センサ群10、制御対象群20、燃料切替スイッチ30、第1ECUElectronicControlUnit40第1制御装置、及び第2ECU50第2制御装置を備えており、液体燃料又は気体燃料をエンジンに供給してエンジンの運転制御を行う。センサ群10は、クランク角度センサ11、吸気圧センサ12、吸気温センサ13、スロットル開度センサ14、冷却水温センサ15、O2センサ16センサ等からなり、エンジンの状態を検出するために設けられる。クランク角度センサ11は、例えば電磁式ピックアップセンサであり、エンジンのクランクシャフトが一定角度回転する毎に極性の異なる一対のパルス信号を第1ECU40及び第2ECU50に出力する。吸気圧センサ12は、感部が吸気流路に露出するようにエンジンの吸気管に設置されており、吸気管の内部圧力吸気圧に応じた吸気圧信号を第1ECU40に出力する。吸気温センサ13は、感部が吸気流路に露出するようにエンジンの吸気管に設置されており、吸気管の内部温度吸気温度に応じた吸気温信号を第1ECU40に出力する。スロットル開度センサ14は、エンジンの吸気管に設けられたスロットルバルブの開度に応じたスロットル開度信号を第1ECU40に出力する。冷却水温センサ15は、エンジンの冷却水温度に応じた冷却水温信号を第1ECU40に出力する。O2センサ16は、例えばガス検知物質としてジルコニアを用いた酸素センサであり、ガス接触部が排気流路に露出するようにエンジンの排気管に設置されており、排気ガスの酸素濃度残留酸素量を示す酸素濃度信号を第2ECU50に出力する。制御対象群20は、点火コイル21、液体燃料噴射弁22、燃料ポンプ23、気体燃料噴射弁24、及び遮断弁25等からなり、エンジンを動作させるために設けられる。点火コイル21は、1次巻線と2次巻線からなるトランスであり、第1ECU40から1次巻線に供給される点火信号を昇圧して2次巻線からエンジンの点火プラグに供給する。液体燃料噴射弁22は、吸気流路に噴射口が露出するように吸気管に設置された電磁弁であり、第1ECU40から供給される燃料噴射弁駆動信号に応じて、液体燃料タンクから供給される液体燃料を噴射口から噴射する。燃料ポンプ23は、第1ECU40から供給されるポンプ駆動信号に応じて、液体燃料タンク内の液体燃料を汲み出して液体燃料噴射弁22の燃料入口に圧送する。気体燃料噴射弁24は、吸気流路に噴射口が露出するように吸気管に設置された電磁弁であり、第2ECU50から供給される燃料噴射弁駆動信号に応じて、気体燃料タンクから供給される気体燃料を噴射口から噴射する。遮断弁25は、気体燃料タンクからレギュレータに至る気体燃料供給経路に介挿された電磁弁であり、第2ECU50から供給される遮断弁駆動信号に応じて、気体燃料タンクからの気体燃料を気体燃料噴射弁24に供給するか否かを切り替える。燃料切替スイッチ30は、手動操作による燃料の切り替えを可能とするスイッチであり、そのスイッチの状態、つまりエンジンで使用する燃料として液体燃料が選択されているのか、気体燃料が選択されているのかを示す燃料指定信号を第2ECU50に出力する。第1ECU40は、波形整形回路41、回転数カウンタ42、A/D変換器43、点火回路44、燃料噴射弁駆動回路45、ポンプ駆動回路46、ROMReadOnlyMemory47a、RAMRandomAccessMemory47b、通信回路48、及びCPUCentralProcessingUnit:中央処理装置49を備える。かかる構成の第1ECU40は、液体燃料によるエンジン運転制御及び空燃比フィードバック制御を行う。波形整形回路41は、クランク角度センサ11からのパルス信号を、方形波のパルス信号に波形整形し、回転数カウンタ42及びCPU49に出力する。つまり、この方形波のパルス信号は、クランクシャフトが一定角度回転するのに要した時間を1周期とする信号である。以下では、この波形整形回路41から出力される方形波のパルス信号をクランクパルス信号という。回転数カウンタ42は、波形整形回路41からのクランクパルス信号に基づいてエンジン回転数を算出し、その算出結果をCPU49に出力する。A/D変換器43は、吸気圧センサ12からの吸気圧信号、吸気温センサ13からの吸気温信号、スロットル開度センサ14からのスロットル開度信号、冷却水温センサ15からの冷却水温信号、及び入力端T1から入力される酸素濃度信号詳細は後述するを入力とし、これらをディジタル信号吸気圧値、吸気温値、スロットル開度値、冷却水温値、酸素濃度値に変換してCPU49に出力する。点火回路44は、不図示のバッテリから供給される電力を蓄えるコンデンサを備えており、CPU49からの要求に応じてコンデンサに蓄えられた電力を放電することによって点火コイル21の1次巻線に点火信号を出力する。燃料噴射弁駆動回路45は、CPU49からの要求に応じて、燃料噴射弁駆動信号を生成して液体燃料噴射弁22に出力する。ポンプ駆動回路46は、CPU49からの要求に応じてポンプ駆動信号を生成して燃料ポンプ23に出力する。ROM47aは、CPU49の各種機能を実現するためのエンジン制御プログラムや各種設定データを予め記憶している不揮発性メモリである。RAM47bは、CPU49がエンジン制御プログラムを実行して各種動作を行う際に、エンジン制御プログラムで用いられる各種データを一時的に保存するために用いられる揮発性メモリである。通信回路48は、通信ケーブルC1を介して第2ECU50と接続されており、CPU49による制御の下で、第2ECU50との間でデータ通信を行う。CPU49は、ROM47aに記憶されているエンジン制御プログラムに従って、液体燃料によるエンジン運転制御を行う。具体的には、波形整形回路41からのクランクパルス信号、回転数カウンタ42からのエンジン回転数、及びA/D変換器43からのディジタル信号吸気圧値、吸気温値、スロットル開度値、冷却水温値、酸素濃度値と、通信回路48を介して得られる第2ECU50からの各種情報に基づいて液体燃料によるエンジン運転制御を行う。より具体的に、CPU49は、波形整形回路41からのクランクパルス信号に基づいてクランクシャフトの回転状態言い換えると、シリンダ内におけるピストン位置を監視する。そして、ピストンが点火時期に対応する位置に到達した時点で、点火回路44に対して点火信号の出力を要求して、点火コイル21を点火させる制御を行う。また、CPU49は、通信回路48で受信される第2ECU50からの燃料指定信号で示される燃料が液体燃料である場合には、液体燃料の噴射制御を行う。つまり、CPU49は、ポンプ駆動回路46に対してポンプ駆動信号の生成を要求するとともに、ピストンが燃料噴射時期に対応する位置に到達した時点で燃料噴射弁駆動回路45に対して燃料噴射弁駆動信号の生成を要求することにより、液体燃料噴射弁22による液体燃料の噴射を実施する。更に、CPU49は、上述した液体燃料によるエンジン運転制御に加えて、A/D変換器43からの酸素濃度値を参照しつつ空燃比フィードバック制御を行う。具体的に、CPU49は、A/D変換器43からの酸素濃度値に基づいて空燃比を算出し、この空燃比が目標空燃比に対してリッチであれば、燃料噴射量が減少するようなフィードバック補正量を演算し、空燃比が目標空燃比に対してリーンであれば、燃料噴射量が増加するようなフィードバック補正量を演算する。そして、CPU49は、通信回路48で受信される第2ECU50からの燃料指定信号で示される燃料が液体燃料である場合には、演算により得られたフィードバック補正量を用いて燃料噴射量の補正を行い、補正後の燃料噴射量分の液体燃料がエンジンに噴射されるように液体燃料噴射弁22を制御する。これに対し、上記の燃料指定信号で示される燃料が気体燃料である場合には、CPU49は、演算により得られたフィードバック補正量空燃比フィードバック制御に係る制御量を、通信回路48を介して第2ECU50に送信する。第2ECU50は、波形整形回路51、回転数カウンタ52、A/D変換器53入力部、D/A変換器54出力部、燃料噴射弁駆動回路55、遮断弁駆動回路56、ROM57a、RAM57b、通信回路58、及びCPU59補正部を備える。かかる構成の第2ECU50は、気体燃料によるエンジン運転制御を行う。波形整形回路51は、クランク角度センサ11からのパルス信号を、方形波のパルス信号クランクパルス信号に波形整形して回転数カウンタ52及びCPU59に出力する。回転数カウンタ52は、波形整形回路51からのクランクパルス信号に基づいてエンジン回転数を算出し、その算出結果をCPU59に出力する。A/D変換器53は、O2センサ16からの酸素濃度信号を入力とし、この酸素濃度信号をディジタル信号酸素濃度値に変換してCPU59に出力する。D/A変換器54は、CPU59で補正された酸素濃度値詳細は後述するをアナログ信号酸素濃度信号に変換し、変換したアナログ信号を、第1ECU40の入力端T1に接続された信号線C2を介して第1ECU40に出力する。燃料噴射弁駆動回路55は、CPU59からの要求に応じて燃料噴射弁駆動信号を生成して気体燃料噴射弁24に出力する。遮断弁駆動回路56は、CPU59からの要求応じて遮断弁駆動信号を生成して遮断弁25に出力する。ROM57aは、CPU59の各種機能を実現するためのエンジン制御プログラムや各種設定データを予め記憶している不揮発性メモリである。RAM57bは、CPU59がエンジン制御プログラムを実行して各種動作を行う際に、エンジン制御プログラムで用いられる各種データを一時的に保存するために用いられる揮発性メモリである。通信回路58は、通信ケーブルC1を介して第1ECU40と接続されており、CPU59による制御の下で、第1ECU40との間でデータ通信を行う。CPU59は、ROM57aに記憶されているエンジン制御プログラムに従って、気体燃料によるエンジン運転制御を行う。具体的には、燃料切替スイッチ30から入力される燃料指定信号、波形整形回路51から入力されるクランクパルス信号、及び回転数カウンタ52から得られるエンジン回転数と、通信回路58を介して第1ECU40から得られる各種情報とに基づいて気体燃料によるエンジン運転制御を行う。より具体的に、CPU59は、燃料切替スイッチ30からの燃料指定信号で示される燃料が気体燃料である場合に、気体燃料の噴射制御を行う。つまり、CPU59は、遮断弁駆動回路56に対して遮断弁駆動信号の生成を要求して遮断弁25を開放させるとともに、ピストンが燃料噴射時期に対応する位置に到達した時点で、燃料噴射弁駆動回路55に対して燃料噴射弁駆動信号の生成を要求することにより、気体燃料噴射弁24による気体燃料の噴射を実施する。また、CPU59は、上記の燃料指定信号で示される燃料が気体燃料である場合に、通信回路58で受信される第1ECU40からのフィードバック補正量を用いて燃料噴射量の補正を行い、補正後の燃料噴射量分の気体燃料がエンジンに噴射されるように気体燃料噴射弁24を制御する。つまり、CPU59は、気体燃料が選択されている場合には、第1ECU40で行われる空燃比フィードバック制御が、第2ECU50を介して実現されるようにする。更に、CPU59は、上記の燃料指定信号で示される燃料が気体燃料である場合に、A/D変換器53からの酸素濃度値を補正し、補正した酸素濃度値をD/A変換器54に出力する処理を行う。具体的に、CPU59は、液体燃料が選択されるときの空燃比とO2センサ16の出力との関係に対する、気体燃料が選択されるときの空燃比とO2センサ16の出力との関係のずれ量に応じてA/D変換器53からの酸素濃度値を補正する。このような補正を行うのは、気体燃料が選択される場合であっても、高精度の空燃比フィードバック制御を実現するためである。図2は、本発明の一実施形態において、気体燃料が選択された場合に生ずるO2センサの特性変化を説明する図である。図2に示す通り、O2センサ16は、ガス検知物質としてのジルコニアの両面に白金系の電極を取り付けた構成であり、酸素濃度が高い側センサ側から低い側排気流路側へ酸素イオンが移動することによって生ずる起電力によって酸素濃度を検出するものである。ここで、気体燃料が選択される場合には、液体燃料が選択される場合に比べて、排気ガス中の水素H2の濃度が増加例えば、2倍程度に増加し、図2に示す通り、ジルコニアの内部を排気流路側からセンサ側に移動する水素イオンの量が増大する。すると、増大した水素イオンの分だけ大きな起電力が生じ、これによってO2センサ16の出力が大きくなる。これは、O2センサ16の特性が、実際の酸素濃度よりも高い酸素濃度を検出する特性に変化したことを意味する。このような特性が変化したO2センサ16から出力される酸素濃度信号を用いて算出される空燃比は、実際の空燃比よりもリッチになるため、空燃比フィードバック制御の精度が低下する。本実施形態では、以上の特性が変化したO2センサ16から出力される酸素濃度信号A/D変換器53からの酸素濃度値を前述した通りに補正することによって、気体燃料が選択される場合であっても、高精度の空燃比フィードバック制御を実現するようにしている。具体的に、CPU59は、例えばROM57aに記憶された補正テーブル上述したO2センサ16の特性変化液体燃料が選択されるときの空燃比とO2センサ16の出力との関係に対する、気体燃料が選択されるときの空燃比とO2センサ16の出力との関係のずれ量を補正し得るテーブルを用いてA/D変換器53からの酸素濃度値を補正する。この補正テーブルは、O2センサ16から出力される酸素濃度信号の値毎に補正量を規定したテーブルであり、予め実験を行って作成されたものである。尚、高精度の空燃比フィードバック制御を実現するためには、上記の補正テーブルを用いてA/D変換器53からの酸素濃度値を補正するのが望ましい。但し、空燃比フィードバック制御を行っている最中に、排気ガス中の水素濃度が大幅に変わらないのであれば、補正テーブルを用いずに、予め値が固定された補正値を用いて補正を行っても良い。このような補正値を用いると、補正テーブルを用いる場合に比べてCPU59の処理量を低減することができる。CPU59は、燃料切替スイッチ30からの燃料指定信号で示される燃料が液体燃料である場合には、A/D変換器53からの酸素濃度値を補正せずにD/A変換器54に出力する。これは、液体燃料が選択される場合には、気体燃料が選択される場合に生ずるO2センサ16の特性変化が生じないため、補正をする必要がないからである。尚、CPU59は、通信回路58を制御して、燃料切替スイッチ30から入力される燃料指定信号を第1ECU40に送信させる機能も有する。次に、上記構成におけるエンジン制御システムの動作について説明する。尚、以下では、説明を簡単にするために、空燃比フィードバック制御に関する動作のみを説明するものとし、燃料切替スイッチ30によって液体燃料が選択された場合の動作、燃料切替スイッチ30によって気体燃料が選択された場合の動作について順に説明する。液体燃料が選択された場合の動作燃料切替スイッチ30が手動操作されることによって液体燃料が選択されると、燃料切替スイッチ30から第2ECU50のCPU59に対して、液体燃料が選択された旨を示す燃料指定信号が出力される。すると、CPU59は、通信回路58を制御して燃料指定信号を第1ECU40に送信させるとともに、A/D変換器53からの酸素濃度値を補正せずにD/A変換器54に出力する。これにより、O2センサ16から出力される酸素濃度信号が、第2ECU50で補正されずに第1ECU40の入力端T1に入力される。第2ECU50からの燃料指定信号が通信回路48で受信されると、第1ECU40のCPU49は、ROM47aから目標空燃比を読み出し、その目標空燃比を用いて空燃比フィードバック制御を行う。具体的に、CPU49は、A/D変換器43から出力される酸素濃度値第2ECUで補正が行われていない酸素濃度値に基づいて空燃比を算出し、この空燃比が目標空燃比に対してリッチであれば、燃料噴射量が減少するようなフィードバック補正量を演算し、算出した空燃比が目標空燃比に対してリーンであれば、CPU49は、燃料噴射量が増加するようなフィードバック補正量を演算する。そして、CPU49は、演算により得られたフィードバック補正量を用いて燃料噴射量の補正を行い、補正後の燃料噴射量分の液体燃料がエンジンに噴射されるように液体燃料噴射弁22を制御する。尚、補正前の燃料噴射量は、CPU49が事前にエンジン回転数やスロットル開度値等のエンジン運転状態を示す情報を基に算出していた値である。気体燃料が選択された場合の動作燃料切替スイッチ30が手動操作されることによって気体が選択されると、燃料切替スイッチ30から第2ECU50のCPU59に対して、気体燃料が選択された旨を示す燃料指定信号が出力される。すると、CPU59は、通信回路58を制御して燃料指定信号を第1ECU40に送信させるとともに、ROM57aから補正テーブルを読み出してA/D変換器53からの酸素濃度値を補正し、補正した酸素濃度値をD/A変換器54に出力する。これにより、第2ECU50で補正された酸素濃度信号が第1ECU40の入力端T1に入力される。第2ECU50からの燃料指定信号が通信回路48で受信されると、第1ECU40のCPU49は、ROM47aから目標空燃比を読み出し、その目標空燃比を用いて空燃比フィードバック制御を行う。具体的に、CPU49は、A/D変換器43から出力される酸素濃度値第2ECUで補正が行われた酸素濃度値に基づいて空燃比を算出し、目標空燃比に対する空燃比の関係リッチ又はリーンに応じたフィードバック補正量を演算する。そして、CPU49は、通信回路48を制御して、演算により得られたフィードバック補正量を第2ECU50に送信する。第1ECU40から送信されてきたフィードバック補正値が通信回路58で受信されると、第2ECU50のCPU59は、そのフィードバック補正量を用いて燃料噴射量の補正を行う。そして、補正後の燃料噴射量分の気体燃料がエンジンに噴射されるように気体燃料噴射弁24を制御する。図3は、本発明の一実施形態における効果を説明するための図である。図3に示すグラフは、O2センサ16の特性を示すグラフであって、横軸に空燃比をとり、縦軸にO2センサ16の出力電圧をとっている。尚、図3に示す通り、液体燃料が選択されている場合には、O2センサ16の出力電圧がV2のときに目標空燃比R1になるものとする。気体燃料が選択された場合には、O2センサ16の特性変化が生ずるため、例えば実際の空燃比が目標空燃比R1であったとしても、O2センサ16の出力電圧は、V2よりも高いV1になる。すると、このO2センサ16の出力電圧に基づいて算出される空燃比は目標空燃比R1に対してリッチになる目標空燃比R1からδだけずれた空燃比になるため、目標空燃比R1からずれた空燃比になるように空燃比フィードバック制御が行われることになる。これに対し、本実施形態では、電圧がV1からV2になるように、第2ECU50のCPU59がO2センサ16の出力電圧を補正しているため、O2センサ16の出力電圧に基づいて算出される空燃比は本来の目標空燃比R1になる。このようにして、O2センサ16の特性変化に起因する空燃比のずれ量δが、O2センサ16の出力電圧が補正されることによって解消され、高精度の空燃比フィードバック制御を実現することができる。以上、本発明の一実施形態について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、ガソリン等の液体燃料と圧縮天然ガスCNG等の気体燃料とを用いる場合を例に挙げて説明したが、本発明はガソリン及び圧縮天然ガス以外の燃料を用いる場合にも適用可能である。"