Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FUEL INJECTOR TRIMMING IN A MULTI-FUEL ENGINE
Document Type and Number:
WIPO Patent Application WO/2016/197253
Kind Code:
A1
Abstract:
In bi-fuel engines trimming values for liquid fuel injectors can drift away from predetermined values when operating in a gaseous fuel mode. A method for trimming a first fuel injector operable to inject a first fuel during a first fuelling mode and a second fuel injector operable to inject a second fuel during a second fuelling mode of a multi-fuel engine includes, during the first fuelling mode, (a) calculating a first short term trim for the first fuel injector as a function of oxygen content in exhaust gases; and (b) calculating a first long term trim for the first fuel injector as a function of a history of the first short term trim; and during the second fuelling mode, (c) recording the first long term trim when entering the second fueling mode; (d) continuing steps (a) and (b); (e) calculating a second short term trim for the second fuel injector as a function of the oxygen content in exhaust gases; and (f) calculating a second long term trim for the second fuel injector as a function of a history of the second short term trim; where the second long term trim is calculated more frequently than the first long term trim such that a difference between the first long term trim and the recorded first long term trim is maintained below a predetermined magnitude.

Inventors:
FANG CHAOHONG (AU)
Application Number:
PCT/CA2016/050668
Publication Date:
December 15, 2016
Filing Date:
June 10, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WESTPORT POWER INC (CA)
International Classes:
F02D41/30; F02D19/06; F02D41/14
Foreign References:
US7735476B22010-06-15
Attorney, Agent or Firm:
WESTPORT POWER INC. (Vancouver, British Columbia V6P 6G2, CA)
Download PDF:
Claims:
What is claimed is:

1. A method for trimming a first fuel injector operable to inject a first fuel during a first fuelling mode and a second fuel injector operable to inject a second fuel during a second fuelling mode of a multi-fuel engine comprising: during the first fuelling mode: (a) calculating a first short term trim for the first fuel injector as a function of a signal representative of an oxygen content in exhaust gases; and

(b) calculating a first long term trim for the first fuel injector as a function of a history of the first short term trim; during the second fuelling mode:

(c) recording the first long term trim when entering the second fueling mode;

(d) continuing steps (a) and (b);

(e) calculating a second short term trim for the second fuel injector as a function of the signal representative of the oxygen content in exhaust gases; and

(f) calculating a second long term trim for the second fuel injector as a function of a history of the second short term trim; wherein the second long term trim is calculated more frequently than the first long term trim whereby a magnitude of a difference between the first long term trim and the recorded first long term trim is maintained below a predetermined value during the second fuelling mode.

2. The method of claim 1 , wherein the first fuel is a liquid fuel and the second fuel is a gaseous fuel.

3. The method of claim 1 or 2, wherein the first fuel is one of ethanol, petrol and blends of these fuels.

4. The method of claim 1, 2 or 3, wherein the second fuel is at least one of hydrogen, methane, natural gas and propane.

5. The method of any one of claims 1-4, further comprising performing step (f) when a ratio between the first long term trim and the recorded first long term trim is less than or greater than one.

6. The method of any one of claims 1-5, further comprising performing steps (b) and (f) when the multi-fuel engine is operating during steady state conditions.

7. The method of claim 6, wherein steady state conditions comprise stable engine speed and stable engine load.

8. The method of claim 6, further comprising performing step (b) when the first short term trim is less than or greater than one and performing step (f) when the second short term trim is less than or greater than one.

9. The method of claim 6, further comprising performing step (f) when the second short term trim is less than or greater than a ratio between the first long term trim and the recorded first long term trim.

10. The method of any one of claims 1-9, further comprising calculating a pulse width for the first fuel injector as a function of the first short term trim and the first long term trim. 11. The method of any one of claims 1-10, further comprising calculating a pulse width for the second fuel injector as a function of the second short term trim and the second long term trim.

12. A multi-fuel engine apparatus for trimming a first fuel injector operable to inject a first fuel during a first fuelling mode and a second fuel injector operable to inject a second fuel during a second fuelling mode, the multi-fuel engine apparatus comprising: a first electronic controller operatively connected with the first fuel injector and programmed to

(a) calculate a first short term trim for the first fuel injector as a function of a signal representative of an oxygen content in exhaust gases; and

(b) calculate a first long term trim for the first fuel injector as a function of a history of the first short term trim; a second electronic controller operatively connected with the second fuel inj ector and programmed to : during the second fuelling mode:

(c) record the first long term trim when entering the second fueling mode;

(d) calculate a second short term trim for the second fuel injector as a function of the signal representative of the oxygen content in exhaust gases; and

(e) calculate a second long term trim for the second fuel injector as a function of a history of the second short term trim; wherein the second long term trim is calculated more frequently than the first long term trim whereby a magnitude of a difference between the first long term trim and the recorded first long term trim is maintained below a predetermined value during the second fuelling mode.

Description:
FUEL INJECTOR TRIMMING IN A MULTI-FUEL ENGINE

Field of the Invention

[0001] The present application relates to fuel injector trimming in a multi-fuel engine and in particular an engine that can operate in more than one fuelling mode. Background of the Invention

[0002] Bi-fuel internal combustion engines are fuelled with two different fuels and can operate with a single fuel at a time. A typical bi-fuel engine operates with a liquid fuel such as petrol (also known as gasoline) and a gaseous fuel such as compressed natural gas (CNG) or liquefied propane gas (LPG). A petrol engine that was designed to be fuelled with petrol can be adapted to operate as a bi-fuel engine, and can operate in a petrol mode where it is fuelled with petrol or in a gaseous fuel mode where it is fuelled with CNG or LPG. The adaptation involves adding a gaseous fuel system including fuel injectors to introduce the gaseous fuel and a means of actuating these injectors. A gaseous fuel electronic controller can be employed to actuate the gaseous fuel injectors or an underlying petrol electronic controller and associated control system can be adapted as the means of actuating.

[0003] In some applications it is not possible to modify the petrol control system, such as in after-market applications, when adapting a petrol engine for bi-fuel operation. For each engine cycle the petrol electronic controller will generate driving signals to actuate the petrol injectors even when the bi-fuel engine is in gaseous fuel mode. To prevent the petrol injectors from being actuated, electronically controlled switches can be used to interrupt the petrol injectors from the driving signals. If the gaseous fuel injectors had the same impedance characteristics as the petrol injectors, and were actuated with driving signals having the same timing and pulse width as the petrol driving signals, then the petrol driving signals could be simply diverted to the gaseous fuel injectors. However, due to a variety of reasons including the differences between liquid fuels and gaseous fuels, gaseous fuel injectors generally have different electrical characteristics than petrol injectors and their associated driving signals have different timing and pulse width requirements, such that the petrol injector driving signals cannot be used to directly drive the gaseous fuel injectors. The petrol control system monitors the voltage and/or current of a driving signal for diagnostic and control purposes when it actuates a petrol injector with the driving signal. In gaseous fuel mode, the petrol driving signals can be directed to emulation injectors having similar electrical characteristics as the petrol injectors if they are not used to drive the gaseous fuel injectors directly, such that the petrol control system can continue to monitor the voltage and/or current of the driving signal unaware that the petrol injectors are not being actuated. [0004] The petrol control system employs a trimming algorithm for the actuation of the petrol injectors by monitoring the output of an exhaust gas oxygen sensor that determines the oxygen concentration in the exhaust gas. The petrol control system can estimate the actual amount of petrol that was injected by knowing how much oxygen was drawn into the cylinder during the intake stroke and how much remains in the exhaust after combustion of the injected fuel. Trim values are calculated that are used to adjust the driving signals for the petrol injectors to maintain a desired air-fuel equivalence ratio. When in the gaseous fuel mode, the trimming algorithm of the petrol control system continues to operate even though the petrol injectors are actually not being actuated and the actual trim values for the petrol injectors drift away from the desired trim values as a result. When the engine returns to the petrol mode the use of incorrect trim values for the petrol injectors can result in torque disturbances, excessive levels of emissions and cold start performance degradation. It is a challenge to add the gaseous fuel system without adapting the petrol control system such that when operating in gaseous fuel mode the actual trim values for the petrol injectors do not drift away from desired values.

[0005] United States Patent No. 8,706,383, issued April 22, 2014 to Sauve et al. ("Sauve"), discloses a bi-fuel control system comprising an engine control module that generates fuel injector command signals for fuel injectors of the engine and a fuel injector control module that generates compensated fuel injector signals based on the fuel injector command signals and engine parameters received from the engine control module. The engine control module may generate fuel injector command signals for a gaseous fuel mode based on signals received from the fuel injector control module. Fuel system specific trim adjustments are used in bi-fuel applications, and the engine control module is capable of providing fuel control adaptation for two fuel systems. The available adaptation parameters include both long term primary and secondary fuel corrections. The long term secondary corrections are based on post-oxygen sensor feedback. Both the engine control module and the fuel injector control module transmit information to each other and both these modules employ this information for the calculation and/or generation of other parameters and signals. The techniques disclosed in the Sauve patent are not applicable to aftermarket bi-fuel applications, or any bi-fuel application where a base engine control unit for a primary fuel cannot be modified to work with a secondary control unit employed to control a secondary fuel.

[0006] The state of the art is lacking in techniques for improving the operation of a fuel trimming algorithm in multi-fuel engines. The present method and apparatus provides a technique for improving the operation of a control system for a multi-fuel internal combustion engine.

Summary of the Invention

[0007] An improved method for trimming a first fuel injector operable to inject a first fuel during a first fuelling mode and a second fuel injector operable to inject a second fuel during a second fuelling mode of a multi-fuel engine includes, during the first fuelling mode, (a) calculating a first short term trim for the first fuel injector as a function of a signal representative of an oxygen content in exhaust gases; and (b) calculating a first long term trim for the first fuel injector as a function of a history of the first short term trim; and during the second fuelling mode, (c) recording the first long term trim when entering the second fueling mode; (d) continuing steps (a) and (b); (e) calculating a second short term trim for the second fuel injector as a function of the signal representative of the oxygen content in exhaust gases; and (fj calculating a second long term trim for the second fuel injector as a function of a history of the second short term trim; where the second long term trim is calculated more frequently than the first long term trim such that a magnitude of a difference between the first long term trim and the recorded first long term trim is maintained below a predetermined value during the second fuelling mode, hi an exemplary embodiment the first fuel is a liquid fuel and the second fuel is a gaseous fuel. The first fuel can be one of ethanol, petrol and blends of these fuels. The second fuel can beat least one of hydrogen, methane, natural gas and propane.

[0008] The method can further include performing step (f) when a ratio between the first long term trim and the recorded first long term trim is less than or greater than one. Preferably, the method further includes performing steps (b) and (f) when the multi-fuel engine is operating during steady state conditions. Steady state conditions can include stable engine speed and stable engine load. During stead state conditions, the method can further include performing step (b) when the first short term trim is less than or greater than one and performing step (f) when the second short term trim is less than or greater than one. Alternatively, step (f) can be performed when the second short term trim is less than or greater than a ratio between the first long term trim and the recorded first long term trim. A pulse width for the first fuel injector can be calculated as a function of the first short term trim and the first long term trim, and a pulse width for the second fuel injector can be calculated as a function of the second short term trim and the second long term trim.

[0009] An improved multi-fuel engine apparatus for trimming a first fuel injector operable to inject a first fuel during a first fuelling mode and a second fuel injector operable to inject a second fuel during a second fuelling mode, the multi-fuel engine apparatus includes a first electronic controller operatively connected with the first fuel injector and programmed to (a) calculate a first short term trim for the first fuel injector as a function of a signal representative of an oxygen content in exhaust gases; and (b) calculate a first long term trim for the first fuel injector as a function of a history of the first short term trim; a second electronic controller operatively connected with the second fuel injector and programmed to, during the second fuelling mode, (c) record the first long term trim when entering the second fueling mode; (d) calculate a second short term trim for the second fuel injector as a function of the signal representative of the oxygen content in exhaust gases; and (e) calculate a second long term trim for the second fuel injector as a function of a history of the second short term trim; where the second long term trim is calculated more frequently than the first long term trim such that a magnitude of a difference between the first long term trim and the recorded first long term trim is maintained below a predetermined value during the second fuelling mode.

Brief Description of the Drawings

[0010] FIG. 1 is a schematic view of a multi-fuel engine apparatus according to one embodiment.

[0011J FIG. 2 is a schematic view of a liquid fuelling algorithm for the multi-fuel engine apparatus of FIG. 1.

[0012] FIG. 3 is a schematic view of a gaseous fuelling algorithm for the multi- fuel engine apparatus of FIG. 1. [0013] FIG. 4 is a flow chart view of a liquid-fuel-injector trimming algorithm of FIG. 1.

[0014] FIG. 5 is a flow chart view of a gaseous-fuel-injector trimming algorithm of FIG. 1.

Detailed Description of Preferred Embodiment(s) [0015] Referring to the schematic view of FIG. 1, multi-fuel engine 10 is illustrated according to one embodiment where an engine that was originally designed for fuelling with a liquid fuel has been adapted to be fuelled additionally or alternatively with a gaseous fuel. Liquid fuel supply 20 delivers liquid fuel to liquid fuel rail 30 at a pressure suitable for late cycle direct injection into combustion chambers 50a through 50f (collectively 50a-f). Late cycle direct injection refers to introducing the fuel directly into the combustion chamber later in the compression stroke. Alternatively, or additionally, in other embodiments liquid fuel supply 20 can deliver liquid fuel to rail 30 at a pressure suitable for early cycle direct injection. Liquid fuel injectors 40a through 40f (collectively 40a-f) are in fluid communication with the liquid fuel rail and directly introduce liquid fuel into respective combustion chambers 50a-f when commanded by electronic controller 60. Liquid fuel delivery and injection system 55 includes liquid fuel supply 20, liquid fuel rail 30 and liquid fuel injectors 40a-f. Gaseous fuel supply 70 delivers gaseous fuel to gaseous fuel rail 80 at a pressure suitable for introduction into respective intake ports of combustion chambers 50a-f. In a preferred embodiment gaseous fuel is stored as a compressed gas in pressurized storage vessels, or cylinders. In other embodiments the gaseous fuel can be stored in liquefied form in a cryogenic storage vessel. Gaseous fuel injectors 90a through 90f (collectively 90a-f) are in fluid communication with the gaseous fuel rail and introduce gaseous fuel upstream of intake valves associated with respective combustion chambers 50a-f when commanded by electronic controller 100. In other embodiments a single point injection system or mixer can be employed instead of gaseous fuel injectors 90a-f, or alternatively gaseous fuel can be directly introduced into combustion chambers 50a-f by way of direct gaseous fuel injectors. Temperature sensor 110 and pressure sensor 120 send signals to electronic controller 100 representative of gaseous fuel temperature and pressure respectively in gaseous fuel rail 80, such that gaseous fuel density can be determined to more accurately meter gaseous fuel through gaseous fuel injectors 90a-f. Alternatively, in other embodiments a sensor including both a temperature sensor and pressure sensor can be employed. Gaseous fuel delivery and injection system 95 includes gaseous fuel supply 70, gaseous fuel rail 80 and gaseous fuel injectors 90a-f. In the illustrated embodiment there are six cylinders; however this is merely an application example, and in other embodiments there can be a different number of cylinders.

[0016] In an exemplary embodiment the liquid fuel is petrol and the gaseous fuel is natural gas. In a liquid fuel mode of operation only liquid fuel is burned in combustion chambers 50a-f, and electronic controller 60 commands liquid fuel injectors 40a-f to inject fuel accordingly. In a gaseous fuel mode of operation only gaseous fuel is burned in combustion chambers 50a-f, and electronic controller 100 commands gaseous fuel injectors 90a-f to inject fuel accordingly. In a co-fuelling mode of operation both liquid fuel injectors 40a-f and gaseous fuel injectors 90a-f are each actuated to introduce a portion of the total fuel introduced into combustion chambers 50a-f. The actuation of the liquid fuel injectors and the gaseous fuel injectors in the liquid fuel mode, the gaseous fuel mode and the co-fuelling mode will be described in more detail below.

[0017] Intake air is received in intake manifold 130 through throttle 140, In the liquid fuel, gaseous fuel and co-fuelling modes of operation engine 10 operates at or near a stoichiometric air/fuel ratio (lambda) as a function of engine operating conditions such that throttle 140 is in a range of positions from nearly closed to fully open depending on the engine operating conditions. To improve power, turbocharger system 150 can boost the pressure in intake manifold 130 above ambient pressure to increase the mass of oxygen delivered to combustion chambers 50a-f during intake strokes. Pressurized exhaust gases from exhaust manifold 160 make turbine 170 spin that in turn drives compressor 180 to compress intake air to a desired level of boost. Compressed intake air leaving the outlet of compressor 180 is elevated in temperature as a result of compression, compared to fresh intake air, and is communicated through charge air cooler 190 where it is cooled. Turbo air bypass (TAB) valve 200 can be actuated by electronic controller 60 between a closed position and a fully open position, and any intermediate position therebetween, to communicate boosted intake air upstream of throttle 140 back to the inlet of compressor 180 to reduce the likelihood of compressor surge that could be caused by backflow coming from throttle 140 during transient conditions. Similarly, waste-gate valve 210 can be actuated by electronic controller 60 between a closed position and a fully opened position, and to any position in between these positions, to allow at least a portion of exhaust gases to bypass turbine 170.

[0018] Exhaust gases from combustion chambers 50a-f are communicated through exhaust manifold 160 past exhaust gas oxygen sensor 320 that generates signal 325 representative of an oxygen content in the exhaust gases and communicates this signal to electronic controller 60. The oxygen content in the exhaust gases is representative of the effective air-fuel ratio in combustion chamber 50a-f. The effective air-fuel ratio can change from cycle to cycle due to fluctuations in the amount of air that is inducted into the combustion chambers and the amount of fuel that is introduced. Although typically combustion chambers of internal combustion engines have fixed swept volumes, there can be changes in the amount of air that is ingested due to changes in air pressure and temperature, changes in the bulk flow of air and changes in intake valve timing from cycle-to-cycle and over time. The accuracy of liquid and gaseous fuel delivery and injection systems 55 and 95 can also fluctuate from cycle-to-cycle and change over time. To continuously improve the accuracy of the delivery and injection systems 55 and 95, fuel injector trimming is employed to adjust the base values of fuel injector on times for commanded quantities of fuel injection, which are stored in look-up tables or maps, as will be explained in more detail below. [0019] During certain engine operating conditions, a portion of exhaust gases can be communicated to intake manifold 130 through exhaust gas recirculation (EGR) system 220. Controller 60 commands EGR valve 230 between a closed position and a fully open position, and any intermediate position therebetween, to control the EGR mass flow rate through EGR system 220, for a given back pressure in exhaust manifold 160. EGR cooler 240 reduces the temperature of exhaust gases to protect the intake manifold and to lower in-cylinder temperatures. In the illustrated embodiment at least a portion of exhaust gases from all cylinders 50a-f can be recirculated to intake manifold 130. In other embodiments any other EGR architecture can be employed, such as those that dedicate one or more cylinders, or one or more exhaust ports, to EGR, although EGR is not a requirement for the teachings herein. Exhaust gases not passing through EGR system 220 are communicated through turbine 170 and/or wastegate valve 210 to engine after-treatment system 250. As used herein air system 260 includes throttle 140, TAB valve 200, wastegate valve 210 and EGR valve 230, and each one of these valve components can be in a closed or fully opened position, and in a range of intermediate partially opened positions. Engine 10 includes other conventional components which are not illustrated. Engine 10 can be for a vehicle, and can also be employed in marine, locomotive, mine haul, power generation and stationary applications.

[0020] Electronic controller 60 receives sensor information from conventional sensors employed in internal combustion engines, generally represented by input 270, and commands conventional actuators, generally represented by output 280. The actuators include those that actuate throttle 140, TAB valve 200, wastegate valve 210 and EGR valve 230, in addition to other actuators. Electronic controller 60 also commands liquid fuel supply 20 and liquid fuel injectors 40a-f to introduce fuel into combustion chambers 50a-f. Electronic controller 60 is also referred to as a base engine control unit (ECU), which is the electronic controller for engine 10 before it was adapted to be additionally or alternatively fuelled with gaseous fuel. Electronic controller 100 is the controller for gaseous fuel supply system 95 and receives sensor information from sensors 110 and 120 and other conventional sensors employed in gaseous fuel supply systems, generally represented by input 290, and commands conventional actuators in gaseous fuel supply systems, generally represented by output 300. Electromc controller 100 also commands gaseous fuel supply 70 and gaseous fuel injectors 90a-f to introduce fuel upstream of intake valves associated with combustion chambers 50a-f. Electronic controller 100 can be in commumcation with electronic controller 60 by way of communication bus 310, which can be for example a controller area network (CAN) bus. It is noteworthy that electronic controller 60 does not need to be adapted to operate with gaseous fuel supply system 95, such that electronic controller 60 generates liquid fuel injector drive signals for each engine cycle for all engine modes including the petrol and co-fuelling modes, as will be explained in more detail below. For clarity not all electrical connections with electronic controllers 60 and 100 are illustrated in FIG. 1. Electronic controllers 60 and 100 can include both hardware and software components. The hardware components can include digital and/or analog components. In the illustrated embodiment electronic controllers 60 and 100 are each computers including a processor and memories, including one or more permanent memories, such as FLASH, EEPROM or a hard disk, and a temporary memory, such as volatile a memory, for example a random access memory (RAM), for storing and executing a program.

[0021] Referring now to FIG. 2, the illustrated liquid fuelling algorithm 330 is programmed into electronic controller 60 and employed to determine pulse width information for generating drive signals for actuating liquid fuel injectors 40a-f to introduce a predetermined quantity of liquid fuel into combustion chambers 50a-f as a function of engine operating conditions. Fuel command module 340 generates liquid fuel command 380 based on inputs including engine speed 350, engine load 360 and throttle or pedal position 370. Liquid fuel command 380 is representative of a desired amount of liquid fuel that is to be introduced by each one of liquid fuel injectors 40a-f during an engine cycle. Liquid-fuel-to-on-time module 390a generates liquid-fuel- injector-pulse- width 450a based on inputs including liquid fuel command 380, liquid fuel pressure 400, liquid-fuel-short-term-trim 410a and liquid-fuel-long-term-trim 420a. Liquid-fuel-injector-pulse-width 450a is employed to generate a driving signal for actuating liquid fuel injector 40a that is encoded with a pulse having a duration equal to the pulse width that when applied to the injector will actuate it to introduce the desired amount of liquid fuel. There are respective liquid-fuel-to-on-time modules 390b-f for respective liquid fuel injectors 40b-f. Liquid fuel pressure 400 is representative of pressure in liquid fuel rail 30 (seen in FIG. 1). Liquid-fuel-short- term-trim 410a and liquid-fuel-long-term-trim 420a are factors that adjust the amount of liquid fuel to be introduced by liquid fuel injector 40a. In the illustrated embodiment these factors adjust base-pulse-width 430, which is the default pulse width for all liquid fuel injectors 40a-f, according to equation 1 below, where LFIPW is liquid-fuel-injector-pulse-width 450a, LFBPW is liquid-fuel-base-pulse-width 430, LFSTT is liquid-fuel-short-term-trim 410a, and LFLTT is liquid-fuel-long-term-trim 420a. Alternatively, these factors could adjust liquid fuel command 380, however it is not the fuel command that is incorrect but rather the pulse width of the driving signal that attempts to actuate the fuel injector to deliver the desired amount of fuel. LFIPW = LFBPW * LFSTT * LFLTT equation 1

[0022] Liquid-fuel-short-term-module 460a calculates liquid-fuel-short-term-trim 410a as a function of signal 325 representative of oxygen content in exhaust gases. There are respective liquid-fuel-short-tcrm-modules 460b-f for respective liquid fuel injectors 40b-f. Liquid-fuel-short-term-trim 410a is employed to correct for undesired changes in the air-fuel ratio from cycle to cycle. Undesired changes in the cycle-to- cycle air-fuel ratio can be caused by changes and/or fluctuations in the amount of air inducted into the combustion chambers and/or the amount of fuel introduced into the combustion chambers. Liquid-fuel-long-term-module 470a calculates liquid-fuel- long-term-trim 420a periodically as a function of a history of liquid-fuel-short-term- trim 410a. Preferably, liquid-fuel-long-term-trim 420a is calculated when multi-fuel engine 10 is operating under steady state conditions, such as when engine speed 350, engine load 360 and throttle or pedal position signal 370 are stable, and when liquid- fuel-short-term-trim 410a is less than or greater than one (1). There are respective liquid-fuel-long-term-modules 470b-f for respective liquid fuel injectors 40b-f. Liquid-fuel-long-term-trim 420a is employed to correct for changes in accuracy of liquid fuel delivery and injection system 55 related to liquid fuel injector 40a that occur over time. Adjustments to liquid-fuel-short-term-trim 410a that are caused by cycle-to-cycle changes (as opposed to changes that occur over time) in air induction and fuelling accuracy should not affect liquid-fuel-long-term-trim 420a. In other words, liquid-fuel-short-term-trim 410a adjusts liquid fuelling to improve air-fuel ratio accuracy from cycle to cycle, and liquid-fuel-long-term-trim 420a improves liquid fuel injection accuracy by correcting for changes that occur over time in that part of liquid fuel delivery and injection system 55 related to liquid fuel injector 40a. When liquid-fuel-long-term-trim 420a is calculated typically liquid-fuel-short-term- trim 410a is reset, for example back to one ( 1 ) .

[0023] Referring now to FIG. 3, the illustrated gaseous fuelling algorithm 530 is programmed into electronic controller 100 and employed to determine pulse width information for generating drive signals for actuating gaseous fuel injectors 90a-f to introduce a predetermined quantity of gaseous fuel into combustion chambers 50a-f as a function of engine operating conditions. Fuel command module 540 generates gaseous fuel command 580 based on inputs including engine speed 350, engine load 360 and throttle or pedal position 370. Gaseous fuel command 580 is representative of a desired amount of gaseous fuel that is to be introduced by each one of gaseous fuel injectors 90a-f during an engine cycle. Gaseous-fuel-to-on-time module 590a generates gaseous-fuel-injector-pulse-width 650a based on inputs including gaseous fuel command 580, gaseous fuel pressure 600, gaseous-fuel-short-term-trim 610a and gaseous-fuel-long-term-trim 620a. Gaseous-fuel-injector-pulse-width 650a is employed to generate a driving signal for actuating gaseous fuel injector 90a that is encoded with a pulse having a duration equal to the pulse width that when applied to the injector will actuate it to introduce the desired amount of gaseous fuel. There are respective gaseous-fuel-to-on-time modules 5 0b-f for respective gaseous fuel injectors 90b-f. Gaseous fuel pressure 600 is representative of pressure in gaseous fuel rail 80 (seen in FIG. 1). Gaseous-fuel-short-term-trim 610a and gaseous-fuel-long- term-trim 620a are factors that adjust the amount of gaseous fuel to be introduced by gaseous fuel injector 90a. In the illustrated embodiment these factors adjust base- pulse-width 630, which is the default pulse width for all gaseous fuel injectors 90a-f, according to equation 1 below, where GFIPW is gaseous-fuel-injector-pulse- width 650a, GFBPW is gaseous-fuel-base-pulse-width 630, GFSTT is gaseous-fuel-short- term-trim 610a, and GFLTT is gaseous-fuel-long-term-trim 620a. Alternatively, these factors could adjust gaseous fuel command 580, however it is not the fuel command that is incorrect but rather the pulse width of the driving signal that attempts to actuate the fuel injector to deliver the desired amount of fuel.

GFIPW = GFBPW * GFSTT * GFLTT equation 2

[0024] Gaseous-fuel-short-term-module 660a calculates gaseous-fuel-short-term- trim 610a as a function of signal 325 representative of oxygen content in exhaust gases, There are respective gaseous-fuel-short-term-modules 660b-f for respective gaseous fuel injectors 90b-f. Gaseous-fuel-short-term-trim 610a is employed to correct for undesired changes in the air-fuel ratio from cycle to cycle. Undesired changes in the cycle-to-cycle air-fuel ratio can be caused by changes and/or fluctuations in the amount of air inducted into the combustion chambers and/or the amount of fuel introduced into the combustion chambers. Gaseous-fuel-long-term- module 670a calculates gaseous-fuel-long-term-trim 620a periodically as a function of a history of gaseous-fuel-short-term-trim 610a. Preferably, gaseous-fuel-long-term- trim 620a is calculated when multi-fuel engine 10 is operating under steady state conditions, such as when engine speed 350, engine load 360 and throttle or pedal position signal 370 are stable, and when gaseous-fuel-short-term-trim 610a is less than or greater than a predetermined learning value, which will be explained in more detail below. There are respective gaseous-fuel-long-term-modules 670b-f for respective gaseous fuel injectors 90b-f. Gaseous-fuel-long-term-trim 620a is employed to correct for changes in accuracy of gaseous fuel delivery and injection system 95 related to gaseous fuel injector 90a that occur over time. Adjustments to gaseous-fuel-short-term-trim 610a that are caused by cycle-to-cycle changes (as opposed to changes that occur over time) in air induction and fuelling accuracy should not affect gaseous-fuel-long-term-trim 620a. In other words, gaseous-fuel-short-term- trim 610a adjusts gaseous fuelling to improve air-fuel ratio accuracy from cycle to cycle, and gaseous-fuel-long-term-trim 620a improves gaseous fuel injection accuracy by correcting for changes that occur over time in that part of gaseous fuel delivery and injection system 95 related to gaseous fuel injector 90a. When gaseous-fuel-long- term-trim 620a is calculated typically gaseous-fuel-short-term-trim 610a is reset, for example back to the predetermined learning value.

[0025] Referring now to FIG. 4, the illustrated liquid-fuel-injector-trimming- algorithm 700 for trimming liquid fuel injectors 40a-f is now described. Liquid-fuel- injector-trimming-algorithm 700 is programmed into electronic controller 60. During liquid fuel mode 710, liquid-fuel-short-term-trims 410a-f are calculated in step 720 as a function of signal 325 representative of an oxygen content in exhaust gases. In step 730, liquid-fuel-long-term-trims 420a-f are calculated as a function of a history of liquid-fuel-short-term-trims 410a-f respectively. Referring now to FIG. 5, the illustrated gaseous-fucl-injector-trimming-algorithm 800 for trimming gaseous fuel injectors 90a-f is now described. Gaseous-fuel-injector-trimming-algorithm 800 is programmed into electronic controller 100. During gaseous fuel mode 810, the values of liquid-fuel-long-term-trims 420a-f are recorded in step 820 when gaseous fuel mode is entered from liquid fuel mode 710. While in gaseous fuel mode 810, steps 720 and 730 are continued to be carried out by electronic controller 60 and this is represented by step 830. Steps 720 and 730 are continuously performed in gaseous fuel mode since electronic controller 60 is unaware that multi-fuel engine 10 is operating on gaseous fuel. Gaseous-fuel-short-term-trims 610a-f are calculated in step 840 as a function of signal 325 representative of an oxygen content in exhaust gases. In step 850, gaseous-fuel-long-term-trims 620a-f are calculated as a function of a history of gaseous short term trim values 610a-f respectively. Step 850 is carried out more frequently than step 730 (calculation of liquid-fuel-long-tcrm-trims) such that a magnitude of a difference between respective liquid-fuel-long-term-trims 420a-f and respective recorded liquid-fuel-long-term-trims is maintained below a predetermined value during gaseous fuelling mode 810.

[0026J In an exemplary embodiment, liquid long term trim values 420a-f are updated periodically during steady state conditions whenever liquid short term trim values 410a-f are less than or greater than one (1); and gaseous long term trim values 620a-f are updated periodically during steady state conditions whenever gaseous short term trim values 610a-f are less than or greater than the predetermined learning value, which preferably is a ratio between respective liquid long term trim values 410a-f and the recorded liquid long term trim values. In this manner, during gaseous fuel mode, liquid-long-term-trims 420a-f will stop learning new values (step 730) when liquid- fuel-short-term-trims 410a-f are equal to one (1), but gaseous-fuel-long-term-trims 610a-f will continue to be updated with new values whenever the recorded (step 820) and actual (step 850) liquid-fuel-long-term-trims are different, which will cause changes in signal 325 and subsequently liquid-fuel-short-term-trims 410a-f thereby forcing changes in liquid-fuel-long-term-trims 420a-f such that they converge back to the recorded liquid-fuel-long-term-trims. In gaseous fuel mode, as liquid-fuel-long- term-trims 420a-f adjust, the predetermined learning value is adjusting as well, since it is defined as the ratio between the actual and recorded liquid-fuel-long-term-trims. After the respective actual and recorded liquid-fuel-long-term-trims converge, then the predetermined learning value is one (1), and gaseous-fuel-long-term-trims 620a-f can be updated whenever gaseous-fuel-short-term-trims 610a-f are less than or greater than one (1). This technique reduces the likelihood of liquid-fuel-long-term-trims 420a-f from drifting away during gaseous fuel mode from the values that were learned during liquid fuel mode. Otherwise, if these trim values were allowed to drift away during gaseous fuel mode than upon returning to the liquid-fuel-mode liquid-fuel- injectors 40a-f would either introduce too much or too little fuel compared to what is commanded by liquid fuel command 380 (seen in FIG. 2) causing torque disturbances and increased emissions.

[0027] While particular elements, embodiments and applications of the present invention have been shown and described, it will be understood, that the invention is not limited thereto since modifications can be made by those skilled in the art without departing from the scope of the present disclosure, particularly in light of the foregoing teachings.