ENGINE CONTROL SYSTEM

Abstract: An electronic engine control system is proposed utilizing a digital microprocessor for controlling the timing mechan­ ism (13) and fuel pump rack limit (23) to set the engine timing of, and maximum allowable rate of fuel delivery to, an integral combustion engine (11) so that maximum engine performance is obtained with smoke and emissions limited to required levels. A plurality of timing maps (61-64) are provided, for different modes of engine operation, each map having predetermined timing control signals values pro­ grammed therein corresponding to the optimal timing advance at a particular engine speed, or particular optimal timing advance at a particular engine speed, or a particular combination of engine speed and position of the fuel rack (21). A timing map selector (65) identifies the mode of engine operation and selects the appropriate timing map (61-64) to control the timing mechanism (13) by the particular pro­ grammed signal for the existing engine speed and fuel rack position. A similar map (71-74) will output a particular programmed fuel/air signal in accordance with the existing engine speed and timing, the fuel/air signal having been predetermined to correspond to the maximum fuel/air ratio for fuel combusion to meet set limits for that engine speed and timing. The fuel/air signal is multiplied in accordance with existing manifold pressure and the resultant fuel delivery signal is used to set the rack limit for maximum allowable fuel delivery to the engine.

Description: ENGINE CONTROL SYSTEM This invention relates generally to engine control systems for regulating engine timing advance and the rack limit position of a fuel pump associated with the engine. The operation of a diesel engine is controlled basically by varying the amount of fuel delivered to the engine cylinders and by setting the time of fuel injection into the cylinders relative to the time that the pistons reach top dead center on their compression strokes. In general, the amount of fuel delivered to the engine will control the speed of the engine and the timing of fuel injection will affect the efficiency of fuel combustion and engine operation. For example, if the engine speed increases, the timing advance angle of fuel injection must be increased to provide more time in a cycle of operation for compression, ignition and combustion of the injected fuel. If the timing advance is too great,-however, ignition and combustion will occur toq early in the cycle and the efficiency of operation will be adversely affected. A typical four-stroke-cycle diesel engine includes a timing shaft which is gear driven by the engine crank shaft at half engine speed, the timing shaft being coupled to the camshaft of a fuel pump by a timing mechanism so that the fuel pump is engine driven and will deliver fuel to half of the engine cylinders during one engine revolution and to the other half of the cylinders during the next revolution. The fuel pump generally includes a movable, throttle-actuated fuel rack, under the control of the engine operation, to vary the amount of fuel delivered by the pump to the engine, up to the maximum amount permitted by a-governor, or rack limit. The timing mechanjsm will vary the angular relationship between the rotating timing shaft and fuel pump camshaft to control the time of fuel injection into the cylinders. The U.S. Environmental Protection Agency (EPA) has set Federal emission standards regulating the amount of smoke and gaseous emission which may be exhausted from an engine. Catalytic converters and exhaust gas recirculation have been used to reduce emission to acceptable levels, but at a significant reduction to fuel economy. It is preferable, as in the present invention, to control engine operation so that the fuel in the engine cylinders burns sufficiently and the exhaust components are within the allowable levels. To achieve the desired degree of combustion of the fuelair mixture in the cylinders, a sufficient amount of air, relative to the amount of fuel in the mixture must be present for combustion and sufficient time must be allowed for the fuel to burn. In order to accomplish this, it is necessary to regulate the operation of the fuel pump so that the amount of fuel which the operator can demand, by throttle operation, to be delivered to the cylinders, be limited to that which can be burned with the necessary degree of combustion in the available air in the fuelair mixture and at the same time fuel injection timing must be closely controlled. As a consequence, there is a need for an automatic engine control which will precisely regulate engine timing and rack limit so that emission standards are met with the least possible loss of overall engine efficiency. There are considerable prohlems involved in providing such an engine control. If an engine were to be operated at a constant speed and constant load, it would be a relatively simple matter to set the timing and fuel rack for optimal performance. However, that is not the case where vehicle engines are concerned, since many different modes of engine operation are necessary. Operation of the engine while cold will require settings of optimal timing advance for the many various combinations of engine speed and fuel rate which are different from the optimal timing advance for engine operation at normal running temperatures. Optimal timing advance for steady state running will differ between highway and urban operation. They will likewise differ when the engine is accelerating or decelerating. The optimal position of the rack limit for a given engine speed and timing will depend upon whether the engine is in a normal running or lugging mode and also upon the altitude at which the engine is operating. The various different modes of engine operation, each requiring different settings of engine timing and/or rack limit position, make it necessary that the engine control be able to identify the particular mode in which the engine is operating and to set the timing advance and/or rack limit for optimal performance.at the various combinations of engine speed and fuel delivery that are encountered in such mode. An engine control system must continuously monitor the actual speed of the engine and the actual timing advance to which the timing mechanism has set the fuel pump. In order to provide precise control over operation, the achieved speed and timing advance must be measured with precision and any changes in speed or timing angle must be noted with as small a lag time as possible. It is desirable to update the status of these monitored conditions many times during a single engine revolution, which introduces another problem in that inherent engine torsionals will cause the instantaneous engine speed to vary somewhat sinusoidally over two full revolutions of the engine. As a consequence it is necessary that the torsional variations in speed be cancelled to provide engine speed indications many times during an engine revolution, with each speed indication being that of the average speed of the engine. In order to set the rack limit to control the maximum allowable amount of fuel which the operator can cause to be injected at any time into the engine, it is first necessary to determine the optimal amount of fuel which can be burned with the desired efficiency in an engine cylinder. There has been a problem in determining this amount since this rate of fuel delivery is an interdependent function of engine timing advance, engine speed and amount of air introduced into the cylinders along with the fuel. According to the invention a control system for an engine system which includes an engine having a crankshaft, an operator-controlled throttle, a fuel pump for supplying fuel to the engine, the fuel pump having a fuel control means for controlling the amount of fuel delivered to the engine -a first engine control means comprising a timing means for setting the engine timing advance and a second engine control means comprising settable fuel control limit means for limiting the maximum amount of fuel deliverable'from the fuel pump to the engine, comprises a first condition signal means for monitoring a first condition of the engine in operation and for generating a first condition signal having a value dependent upon the magnitude of the first condition; a second condition signal means for monitoring second condition of the engine in operation and for generating a second condition signal having a value dependent upon the magnitude of the second condition; control signal means for storing a plurality of engine control signal values, each corresponding to a desired setting of the first or second engine control means for engine operation at a particular combination of the first and second engine conditions, and for issuing an engine control signal in accordance with the particular values of the first and second engine condition signals generated by the first and second condition signal means; and means for setting one of the engine control means in accordance with the value of the generated engine control signal Preferably, the first signal means is arranged to sense the speed of the engine, the second condition signal means is arranged to sense-the setting of the fuel control means and the engine control means which is set is the timing means. Alternatively, the first condition signal means is arranged to cause the speed of the engine, the second condition signal means is arranged to sense the setting of the timing means, and the engine control means which is set is the fuel control limit means. For further control, the system may include a third condition-signal means for monitoring a third condition of the engine in operation and for generating a third condition signal having a value dependent upon the magnitude of the third condition, the control signal means also storing a plurality of engine signal values, each corresponding to a desired setting of the first or second engine control means for engine operation at a particular combination of the first and third engine conditions, and for issuing a. second engine control signal in accordance with the particular values of the first and third engine condition signals generated by the first and third condition signal means; and means for setting the other of the engine control means in accordance with the value of the second engine control signal. Such separate control signal means, can be prograiTwed for desired timing angle advance relative to different combinations of actual engine speed and fuel rack positions for a particular mode of engine operation. Selector means can select the proper control signal means in accordance with the particular mode in which the engine is operating, deliver the selected control signal to actuate the timing means, and set the engine timing to the desired value for the existing actual spped and fuel rack position. The fuel delivery rate, used to set the rack limit, can be determined-by obtaining the optimal fuel/air ratio for the particular speed and timing angle of the engine and by multiplying such fuel/air ratio by the manifold pressure to obtain a value proportional to the r:Pximum amount of fuel to be injected into an engine cylinder. Advantageously, instantaneous engine speed signals are measured a plurality of times for each revolution of the engine, and each time an instantaneous speed signal is obtained, the instantaneous speed signals obtained during the past two engine revolutions are averaged to cancel out the effect of engine torsionals so that an average speed signal is obtained a plurality of times for each revolution of the engine. - In a further aspect of the invention digital condition and control signals in binary form are used in the control system and an interpolation method is used in the control signal means to obtain the predetermined control signals by reading a grogrammed memory in accordance with the most significant bits of the control signal, and by interpolating between adjacent programmed signals in accordance with the least significant bits of the control signals. One example of a control system according to the invention, together with modifications thereof, will now be described with reference to the accompanying drawings in which: Figure 1 is a block diagram of an engine-fuel pump system and a control system therefor utilizing the present invention; Figure 2 is a block diagram of one of the control signal means of Figure 1, and in particular, the cold engine timing map; Figure 3 is a three dimensional graph illustrating the memory portion of the-map of Figure 2; Figures 4 and 5 illustrate the three-dimensional schedules of the fuel/air limit and rack limit position maps of Figure 1; Figure 6 is a block diagram of one of the two dimensional maps of Figure 1 and in particular, the transient timing map; ; Figures 7 and 8 illustrate the two-dimensional schedules of the altitude derating and torque rise limit maps of Figure 1; Figure 9 is a block diagram of the timing map selector of Figure 1; Figure 10 is a generally schematic view of the physical components of the engine fuel system of Figure 1 and the sensors used therewith for sensing engine speed and timing advance angle; Fig. 11 is a graph illustrating the effect of engine torsionals; Fig. 12 is a graph illustrating the torsional cancellation technique by which average engine speedsignals are obtained for use in the present invention; Fig. 13 is a block diagram of one form of the data processors of Fig. 10; Fig. 14 is a timing chart of the signals produced by the flywheel and fuel camshaft sensors of Fig. 10 and used in the data processor of Fig. 13; Fig. 15 is a modification of a portion of the data processor of Fig. 13; ; Fig. 16 is block diagram of an alternate form of the data processor of Fig. 10; Fig. 17 is a timing chart of the signals produced by the flywheel and fuel camshaft sensors of Fig. 10-and used in thedata processor of Fig. 16. Referring now to the drawings, wherein a preferred embodiment of the invention is illustrated, Fig. 1 shows in block diagram form a control system 10 for use with internal combustion engine 11. The engine 11, which may be a four-stroke-cycle diesel engine, drives a timing shaft 12 which is coupled, by engine timing means 13, to the fuel camshaft 14 of fuel pump 16. As is conventional, timing means 13 will set a minimum phase shift between the timing shaft 12 and fuel camshaft 14 so that fuel pump 16 will deliver fuel from fuel tank 17 to the cylinders of engine 11 at a minimum advance angle, typically 140 BTDC, on the compression stroke of the engine pistons. Actuation of the timing means 13 by a timing actuator 18 will vary the timing of fuel delivery between minimum and maximum advance angles. The fuel pump 16 has a movable fuel rack 21, actuated by an operator-controllable throttle, such as foot pedal 22, to control the amount of fuel delivered by fuel pump 16 to the engine 11. As best shown in Fig. 1, depression of the foot pedal 22 will move the fuel rack 21 to the left to increase fuel delivery. Release of the foot pedal will move fuel rack 21 to the right, decreasing fuel delivery. A reciprocatable rack limit 23, functioning as a governor, will prevent leftward (fuel increasing) movement of fuel rack 21 beyond the limit set by rack limit actuator 24, even though the operator may be then demanding a greater fuel flow by depression of foot pedal 22. Rack limit 23 allows rightward movement of fuel rack 21 from the limit position so that the operator may control fuel delivery by foot pedal 22 between minimum fuel delivery and the maximum set by tack limit 23. The timing means 13 and fuel rack limit 23 constitute first and second settable engine control means which are themselves controlled by the control system 10 of the present invention. This control system 10 has two primary functions. First, the control system 10 functions to cause timing actuator 18 to adjust the engine timing means 13 and thereby set the proper engine timing advance angle for efficient combustion. Second, it functions to cause rack limit actuator 24 to move rack limit 23 and-set it to limit the maximum amount of fuel which the -fuel pump can deliver to the;engine cylinders. Preferably, the following conditions of engine qperation are continuously monitored and used in the control system 10 to set the engine timing and rack limit position: actual engine timing, engine temperature,-throttle position, fuel rack position, actual engine speed, atmospheric pressure and intake manifold pressure. A timing sensor 26 continuously monitors the magnitude of the actual timing advance angle set by engine timing means 13 and generates a condition signal having a value dependent upon the magnitude of the timing advance. This condition signal is shaped and prescaled by signal conditioner 27, converted from a frequency signal to d digital signal by frequency/digital converter 28 and applied to input line 29 of microprocessor 30. As will be described hereinafter, the actual timing information is updated 0 0 every 30 or 60 of engine rotation, depending upon the particular embodiment of the sensor system used. This will be described subsequently in connection with Figs. 10-17. The engine temperature is monitored, as for example by a conventional analog sensor 31 which senses the temperature of the engine coolant, to determine whether'the engine is cold, as on start-up, or whether it has reached normal running condition. The condition signal from the engine temperature sensor 31 is shapes and prescaled by conditioner 32, converted from analoc: to digital form by converter 33, and applied to microprocessor input line 34. Throttle position is monitored by sensor 36, which may include a potentiometer linked to foot petal 22, to determine whether the operator has called for acceleration by a depression of the pedal or deceleration by a release of the-pedal. The actual position of f-nel rack 21 is sensed by rack position sensor 37, which may include a potentiometer linked- to the fuel rack 21, to provide information as to the amount of fuel being delivered by fuel pump 16 to engine 11. Actual engine speed is continuously monitored by the engine speed sensor 38. As will be described hereinafter, new actual engine speed signals are generated every 300 or 600 of engine rotation, depending upon the particular sensor system used, so that the engine control system 10 will respond very quickly to changes in engine speed. Atmospheric pressure and intake manifold pressure are monitored by conventional pressure transducers 39 and 40, respectively. The operating condition signals from sensors 36-40 are likewise shaped and prescaled by signal conditioners 32, converted to digital form by converters 41-45, analog-digital or frequency-digital, depending upon the nature of the condition signals, and applied to input lines 46-50 of the microprocessor 30. In general, the microprocessor 30 will respond to the condition signals of the aforementioned sensors 31,36,37,38,39,40 and will output engine control signals to set the engine timing and rack limit to desired and predetermined positions. In the preferred embodiment, themicroprocessor 30 includes a plurality of "maps" for controlling engine timing and rack position. The various maps described below each constitute a control signal means for storing a plurality of engine control signals, with each stored control signal having a predetermined value corresponding to a desired setting of one of the engine control means 13 or 23 for desired operation at a particular combination of engine operating conditions, and for generating an engine control signal having the predetermined value co-rresponding to the particular value of the engine operating conditions as indicated by the engine condition signals. Alore particularly, microprocessor 30 includes four maps, 61,62,63 and 64 which are used to control the engine timing. As indicated in Fig. 2 the "cold engine map 61 will have stored within its read-only memory 61a (Fig. 2) a plurality of predetermined engine timing control signals for various combinations of actual engine speed and rack position. The values of the timing control signals are determined empirically for¯an engine family by carrying out tests on a cold engine (of that family) and compiling a schedule of the optimum values of engine timing for various combinations of engine speed and rack position which will enable the engine to operate with its exhaust to meet the EPA emission standards. After this engine timing schedule has been completed, the values are programmed into the various cells of read-only memory 61a. The actual speed and rack position condition signals are applied to map 61 during operation of the vehicle, and the map will output, to timing map selector 65 an engine control signal having the desired value, for the existing speed and fuel rack positions which ill set the timing means 13 for engine operation meeting particular emission standards. The "transient timing map" 62 will have stored therewithin the proper timing angle values for different engine speeds, such values again having been determined by testing for efficient gin operation when the engine is accelerating or decelerating. The actual engine spee signals are applied to the map with corresponding engine timing angle signals being output to selector 65. The "steady state urban timing map 63 and "steady state highway timing map" 64 are similar to the cold engine-timing map 61 in that maps 63 and 64 have -stored therewithin the proper engine timing value for each combination of engine speed and rack position, such values again being predetermined to meet particular standards for urban and highway driving, respectively. Also, as before, the particular timing angle values for the existing engine speed and rack position are output to map selector 65. 35ap selector 65 functions to determine which of the following modes of engine operation exists: cold,' transient, steady state urban or steady state highway; and to allow the timing angle control signals at the output of the correct one of the maps 61-64 to pass to summing junction 66. If the timing angle control signals indicate that the engine timing should be changed, summing junction 66 will output a signal to a pulse width modulator 67 and a power amplifier 68 will then drive the timing actuator 18 so that the engine timing means 13 will change the engine timing to the desired timing advance angle between timing shaft 12 and fuel camshaft 14. The timing sensor 26 senses the engine timing and provides a signal which, after processing by the signal conditioner 27 and frequency to digital converter 28, is output to the microprocessor input line 29. The signal is then fed to summing junction 66 so that the output of the summing junction 66 will cease when the actual engine timing equals the desired engine timing. Because of the smoke and emission requirements, fuel flow must be related to air flow through the engine so that sufficient air is provided for substantially complete fuel combustion. The -fuel/air ratio for a given smoke level will vary with engine speed. To prevent engine lugging, more fuel must be injected, but-with the fuel/air ratio being controlled to maintain efficient fuel combustion. During acceleration or deceleration it is desired for the engine 11 to produce maximum power within acceptable smoke limits. Operation at high altitudes requires a decrease in fuel delivery to maintain the proper fuel/air ratio for proper combustion. The rate of air flow through the engine will vary with the manifold pressure and the rate of fuel flow will vary with the position of fuel rack 21. The maps 71,72,73 and 74 of microprocessor 30 are used in the present system to set the position of rack limit 23 and thereby limit the amount of movement of fuel rack 21 in its fuel-increasing direction so that the engine operator cannot cause the fuel injection rate and consequently the fuel/air ratio to increase beyond that which will produce an acceptable amount of smoke in the engine exhaust. The "fuel/air limit map" 71 has programmed therein predetermined values, established by empirical testing, corresponding to the maximum fuel/air ratio for sufficient combustion to meet particular standards for various different combinations ofengine speed and timing within the operating ranges of those conditions. In operation, map 71 will output a fuel/air signal proportional to the maximum amount of fuel to amount of air of the mixture to be injected into the engine during a stroke thereof for the then existing timing angle and engine speed. The fuel/air output signal of map 71 is applied to multiplier 76, along with the condition signal from the intake nanifold pressure sensor 10, the latter signal being proportional to the intake pressure, for example, in pounds per square inch gauge. Since the weight of air injected into the engine cylinders with the fuel is proportional to the manifold pressure, multiplier 76 will output a signal proportional to the maximum weight of fuel to be injected during a stroke thereof. The output of multiplier 76 is then multiplied in multiplier 77 by KF, a dimensional constant dependent upon the cylinder size and fuel pump size of the particular engine 11 and fuel pump 16, to give a fuel-delivery signal proportional to the maximum weight of fuel to be delivered to the engine 11 during a piston stroke thereof. The fuel-delivery signal from multiplier 77 is input into "rack limit position map" 72, which has stored therewithin rack limit position values, predetermined in accordance with the physical characteristics of the fuel pump 16. These correspond to the positions at which the rack limit 23 is to be set to give the desired rate of fuel delivery at the existing engine (and hence fuel pump) speed. The rack limit position control signals from map 72 are output to map selector 78. When, in operation, the engine speed decreases due to a loading, the fuel rack 21 must be allowed to move and provide more fuel to the engine. The "torque rise limit map" 73 is provided to increase the rack limit position and thereby allow the fuel rack 21 to move in a fuel-increas,ing direction in such mode of operation and thereby prevent engine lugging. The torque rise limit map 73 has stored therein rack limit position control signal values, predetermined to allow more fuel to be injected at lower speeds without causing emissions exceeding the particular standards. The rack limit-position control signals generated by map 73 in response to application of engine speed signals thereto are applied through summing junction 79 to selector 78. The "altitude derating map" 74 has stored therewith in rack limit position control signal valucs, predetermined to meet particular standards, for, different, values of ambient air pressure. The output of map 74 is applied to summing junction 79 which functions to decrease the value of the rack limit position control signal and thus cut back the fuel rack 21 at higher altitudes to maintain an optimal fuel/air ratio. Map selector 78 functions as a "least win logic" so that the lowest value of the rack limit position control signals from map 72 and the signal from summing junction 79 is output to summing junction 81. If such control signal indicates that the position of rack limit 23 is to be changed, summing junction 81 will output a signal to pulse width modulator 82 and power amplifier 83 will then drive the rack limit actuator 24 to cause the desired movement of rack limit 23. The position of rack limit 23 is sensed by rack limit sensor 84, which may include a potentiometer coupled to the rack limit 23, and the signal therefrom is conditioned and prescaled by signal conditioner 85, converted to digital form by converter 86 and fed back to the summing junction 81 so that the rack limit actuator 24 will cease to be driven when the actual rack limit position is the same as the desired rack limit position. Figs. 2 and 3 illustrate the manner in which an engine timing control signal from the cold engine timing map 61 is obtained for a particular combination of actual engine speed and rack position. As used herein, the term "map" includes a read-only memory and the input andtoutput circuitry of the memory. The input line 47 into microprocessor 30 has an eight-bit binary signal, or byte, thereon from rack position sensor 37 representing the actual position of fuel rack 21. The signal will have been prescaled to the range of rack movement so that the 256 possible combinations of the byte represent the corresponding number of incremental positions of the rack between its minimum and maximum position. Likewise, input line 48 will have a byte thereon, the particular binary value of which will represent a particular engine speed within the range of minimum and maximum operating speeds. As shown in Fig. 2, the cold engine timing map 61 includes a read-only memory 61a having a three-dimensional schedule with 16 rows and 16 columns, and with a Z-value byte stored within the memory for each combination of a row and column. The 256 bytes stored in the memory are determined, for the family of engine with which the control system is to be used, through testing 'to represent the correct timing angle advance for the various possible combinations of rack position and engine speed which will meet particular standards. If the byte values for the timing angle signal were plotted graphically, the scheduled byte values would lie on a three-dimensional surface 91, at the intersection of the 16 rows thereon corresponding to different values of rack position and the 16 columns corresponding to the different values of actual engine speed. In the particular form of the present invention described herein, the rack position signal on line 47 and the actual engine speed signal on line 48 will be updated at most each time the. engine 11 rotates through 300, and the binary values of these signals will remain constant between updates. -In operation, the four most significant bits (X1) of the rack position signal on input line 47 will be applied to row selector 101, and the four most significant bits (Y1) of the engine speed signal on input line 48 will be applied to column selector 102 to select the particular row (X1) and column (Y1) of memory 61a. The Z1 byte (Fig. 4) corresponding to the X1 row and Y1 column is outputted from memory 61a and Z output selector 103 to the Z1 memory 104. The X1 bits are also applied to stepper 106 which adds a binary 1 to the X1 value and the stepped (X1 + 1) bits are then applied to row selector 101, while the Y1 bits are applied to column selector 102, to select the (X1 + 1) row and Y1 column. The Z2 byte for the (X1 + 1) row and Y1 column is then stored into the Z2 memory 107. Similarly, the (Y1 + 1) value from stepper 108 and the X1 value are applied to the map and the corresponding Z3 byte is stored in the Z3 memory 109.- Subsequently, the (X1 + 1) bits and (Y1 + 1) bits are applied to the map 61 and the corresponding z byte is stored in the Z4 memory 110. After the Zl and Z2 bytes have been obtained, they are applied to the function generator 111, together with the four least significant bits (xl) of the rack position byte and the Z byte is a obtained, wherein Za = Z1 + (Z2-Z1) X1 16 As is seen from Fig. 3, the value of Za is an interpolated value between the values Z1 and Z2 for Y1 and corresponding to the degree of difference between X1 and X1 + 1 represented by the xl value of the rack position byte. Similarly, after the Z3 and Z4 bytes have been obtained, function generator 112 will produce an interpolated Zb byte having a value between the Z3 and z4 bytes (for Y1 + 1). Finally, the Za and Zb bytes will be applied to function generator 113 which produces a Z byte Zo = Za + (ZbZa) y1 16 Again as seen from Fig. 3, Z0 is an interpolated value between the values z and z a b (for Y1 + X1) corresponding to the degree of difference between Y1 and (Y1 + 1) represented by the y1 value of the actual engine speed byte. The interpolated ZO byte is then stored in memory, or latch, 114 for use in the control system 10 until the time that the rack position and engine speed input information has been next updated and a new Z0 signal has been calculated. With the disclosed interpolation system of obtaining a timing advance angle byte corresponding to particular rack position and engine speed bytes, memory utilization is only about 400 bytes, accuracy is 0.48 and execution speed is about 800 microseconds. With an engine rotating at 2000 rum, and with input information being updated every 300 of engine revolution, updating will occur every 2500 microseconds, thus affording ample time for calculation of the output signal. The steady state urban timing map 63 and steady state highway timing map 64 are three dimensional maps generally similar to the cold engine timing map of Figs. 2 and 3. Interpolated values of timing advance control signals are obtained from these maps 63,64 in the same manner as that previously detailed for the cold engine timing' map 61. Maps 63 and 64 differ from the cold engine maps 62, and from each other, only in the specific desired timing angle control signal that is, the z-valve-stored within the memory cells of these maps for the various combinations of rack position and engine 'speed. Again, the values of the stored bytes in maps 63 and 64 are determined for an engine family to meet particular standards for urban or highway driving respectively. The read-only memories 71a and 72a of fuel/air limit map 71 and rack limit position map 72 are generally illustrated in Figs. 4 and 5, respectively. As for the cold engine timing map 61, these are three dimensional memories with predetermined bytes stored therein, and interpolated byte signals are obtained therefrom in the same way as described above. As will be noted, the memory 71a of fuel/air limit map 71 has stored bytes corresponding to the optimal fuel/air ratio for different combinations of engine speed and the actual timing angle. The memory 72a of rack limit position map 72 has stored therewith byte values which will represent the limit position of rack 21 to deliver the desired amount of fuel at a particular engine speed. The transient timing map 62 of Fig. 6, induces a two-dimensional read-only memory 62a, having. 16 rows and 16 possible control signal bytes for each particular row. As illustrated in Fig. 6, the four most significant bits (X1) of the engine speed byte on input line 48 are applied to the row selector 101 to select tne proper ,row of map 62, and the corresponding Y1 byte stored in the output is sent to the Y1 memory li6. Stepper 106 adds a binary 1 to X1, and the (X1 4 1) binary bits are applied to the row selector to select the next, (X1 + 1), row and the corresponding (Y1 + 1) .byte is outputted to the (Y1 + 1) memory 117. The Y1 and (Y1 + 1) bytes are then applied to function generator 118, along with the least significant bits xl of the engine speed byte to betain a calculated and interpolated Y0 byte correspolding to the particular engine speed byte on input line 48. The Yo timing advance angle byte is then sent broadside to a YO memory or latch 119 for use in controlling the timing means 13 until the next .Y0 byte is calculated. The memory portion 74a of the altitude derating map 74 is illustrated in Fig. 7 and has stored therewith in rack position bytes for different values of barometric pressure. As will be noted, the values of the stored rack limit position control signals decrease, as at 121, for low values of barometric pressure. The purpose for the altitude derating map 74 in the present control system is to cut back the rack (by a lower value rack limit position control signal) at higher altitudes so as to provide an optimal air-fuel ratio. As with the other maps herein, the values stored within the map 74 are predetermined to meet particular standards. The memory portion 73a at the torque rise limit map 73 is illustrated in Fig. 8, and has stored therewithin rack limit position control data, in byte form, for different vales of engine speed. As previously mentioned, when engine speed decreases due to load the rack will inherently move to provide more fuel to the engine, and the torque rise table willlimit such movement so that exhaust emissions will be held to proper limits. The dotted line 122.in Fig. 8 shows the correction that will be imposed under lugging conditions by the rack cut-bck of altitude derating map 74 at high elevations. Fig. 9 illustrates a form of selector 65 which may be used to determine which of the timing maps 61-64 is td be used to control the timing advance angle of the, engine 11. The engine temperature signal from the engine temperature sensor 31 is applied to gate control 131. On initial engine operation, the engine temperature sensor 31 will output a low temperature value causing the Q output to close gate 132, allowing the timing advance angle control signal from the cold engine timing map 61 to pass through to the output 133 of selector 65. Gates 134,135 and 136 will be held open, so that the outputs of maps 62,63 and 64 will be prevented from appearing at the selector output 133. -When the engine has reached normal operating temperature, gate control 131 will open gate 132 to disconnect the cold engine timing map 61 from the selector output and will close gates 134-136 to allow the appropriate map 62,63 or 64 to control the timing advance angle. The throttle position signal from sensor 36 is applied to gate control 137. In general, the throttle position signal will be generated by sensor 36 only when, the operator has substantially depressed the pedal for acceleration or substantially released the pedal for deceleration. When such a signal is present, gate control 137 will set the Q output causing gate 138 to close connecting the transient timing map 62 to 'the selector output 3!i (if the engine is at normal operating temperature) and will cause gates 139 and 140 to open so that the steady state maps 63 and 64 cannot control the timing advance angle. When the throttle position signal ceases (i.e. when the operator ceases calling for significant acceleration or deceleration) gate control 137 will open gate 138 to disconnect the transient timing map 62 from the selector output 133 and will close gates 139 and 140 to enable the timing advance angle to be controlled by one or the other of the steady state maps 63 or 64. The throttle-position signal is also applied to the urban condition detector 142 together with the signal from a differentiator 143. The engine speed signal from the engine speed sensor 38 is applied to differentiator 143 which will output an engine-speed-change signal in response to changes in engine speed. The urban condition detector 142 functions to generate a signal upon a concurrence of the throttle position signal Åand an engine-speed-change signal' from differentiator 143, i.e. when the operator is calling for acceleration and the engine speed is increasing, or when the operator is calling for deceleration and the engine speed is slowing. The signals from detector 142 are applied to counter 144 and ifSthe count of such signals reaches a predetermined number before the counter 144 is reset by timer 145, the Q output of counter 144 will set the gate control 146 so that its Q output will close gate 147 to connect the steady state urban timing map 63.-to selector output 133 (provided that gates 139 and 134 are also closed.) After being reset, counter 144 will again count the signals from urban condition detector. As long as the number of such signals during the period of timer 145 remains above the predetermined number, gate control 146 will remain set and the steady state urban timing map 63 will remain connected to selector output 133. If, however, the count of signals from detector 143 does not exceed the predetermined number buy the time of the reset signal from timer 145, the reset signal and the Q output of counter 144 will cause AND gate 148 to reset gate control 146. Gate 147 will open and the Q output of gate control 146 will cause gate 149 to close, connecting 'the steady. state highway timing map 64 to the selector output 132. The time period of timer 145 and the number o-f signals from detector 142 needed to set gate control 146are chosen to distinguish between driving conditions which occur in urban or highway driving. Urban driving requires frequent accelerations or decelerations because of stop signs, heavy traffic and the like. Highway driving, on the other hand, will require only occasional accelerations or decelerations, as when another vehicle is being passed. During highway driving, the engine speed will decrease or increase without change in throttle positions, such as when the vehicle goes up or down grades, but such changes in engine speed will not cause the urban condition detector 142 to output a signal to counter 144 since a throttle position signal is concurrently required for such detector signal. Fig. 10 illustrates portions of interest of a conventional engine and fuel system. In particular, a crankshaft 211 of engine 11 has a flywheel 212 fixed thereon and meshed gears 213 and 214, on crankshaft 211 and timing shaft 12, respectively, transmit engine rotation to the timing shaft 12. For a four-stroke-cycle diesel engine 11 the gear ratio of gears 213 and 214 is such that the timing shaft 12 is driven at half the speed of the engine 11. Timing means 13 rotatively drives a camshaft 14 of fuel pump 16 by the timing shaft 12 and is arranged to vary, within a predetermined range, the angular relationship between the timing shaft 12 and fuel pump camshaft 14 so that fuel is delivered to the engine cylinders at the-proper time in the cycle of engine operation. As illustrated in Fig. 10, timing means 13 may comprise a-differential type assembly. The system may be set initially to deliver fuel from fuel tank 17 and fuel line 233 to the engine 11 at a minimum advance (typically 140) before top dead center of the engine pistons in the appropriate half of the cycle. The timing advance actuator 18 means will cause the timing means 13 to set the advance angle of fuel delivery at a desired value greater than minimum during operation of the engine 11, as by actuation of solenoid valve 234 in response to the output of amplifier 68. The timing advance means will cause the fuel camshaft 14 to be driven at the same speed as that of timing shaft 12, but the angular relationship of the two shafts will be varied from the minimum advance relationship to provide the correct timing for the given conditions. The fuel pump 16 has a movable fuel rack 21, which-controls the amount of fuel flowing through the fuel pump 16. As mentioned previously," the fuel rack 21 is moved in response to foot pedal 22, and its movement is limited by fuel rack limit 23. Fuel rack limit 23 may be the piston of hydraulic cylinder 241, with piston movement being controlled by actuation of solenoid valve 242 in response to the output of amplifier 83. A first rotation responsive means 246 is provided for generating a signal each successive time that engine 11 has rotated through 360/N degrees, N being an integer. As illustrated here, the rotation responsive means 246 includes a plurality of holes 247 in flywheel 212, equi-angularly spaced relative to, and equi-distantly spaced from the axis of the flywheel. Holes 247 thus provide surface irregularities on the ferromagnetic flywheel 212 which. constitute magnetically-sensible features which rotate in a circular path around the crank shaft 211. Alternatively, the first rotation responsive means 246 may be associated with gear 213, or gear 214 on the timing shaft 12, the gear being provided with holes 247. Rotation responsive means 246 also includes a first signal generating means 248 for generating a first signal 249 (Fig. 14) in response to each movement of a flywheel hole 247 past a predetermined point in the circular path of movement of holes 247. In particular, the signal generating means 248 includes a fixed magnetic sensor 250 located adjacent the circular path of movement, the location of the sensor 250 thus determining the predetermined point in the path of movement of holes 247. As illustrated, flywheel 212 has twelve holes 247 and thus a first signal 249 will be generated each time the engine rotates through 360/12, or 30 degrees. Since timing shaft 12 is driven at half the engine speed, a first signal will be generated each time the timing shaft rotates through 15 degrees. A second rotation responsive means 251 is provided for generating a second signal each successive time that the engine has rotated through 360/N degrees. As illustrated here, the rotation responsive means 251 fixed to fuel camshaft 14 for rotation therewith, includes á circular member 252 having a plurality of holes 253 equi-angularly spaced around member 223 and all at the same distance from the axis of camshaft 14. As before, holes 253 provide magnetically-sensible, surface irregularity features which move in a circular path around camshaft 14. Rotation responsive means 251 also includes a second signal generating means 254 for generating a second signal 255 (Fig. 14) in response to each movement of a hole 253 past a predetermined point in the circular path of movement of holes 253. As illustrated, the signal generating means 254 includes a fixed magnetic sensor 256 located adjacent the circular path of movement of holes 253. Again, the fixed location of sensor 256 determines the predetermined point in the path of movement of holes 253. As illustrated, circular member 252 has twenty-four holes 253, and thus a second signal 255 will be generated for each 15 degrees of rotation of camshaft 14. Or, since fuel camshaft 14 is driven at half engine speed, a second signal 255 will be generated for each 30 degrees of rotation of engine 10. With the illustrated system, the number of first signals 249 from the flywheel sensor 250 will be equal to the number of second signals 255 from the fuel camshaft sensor 256 during any given length of time, such as the time that it takes the engine crank shaft 211, or the time that it takes- either of the timing or fuel camshaft 12 or 14 to rotate through a-full revolution, and the time interval between consecutive first signals 249 will be equal to the time interval between consecutive second signals 258. The phase relationship of the first and second signals 249 and 255 will vary in accordance with the timing advance angle set by the timing means 13. The first and second signals from the flywheel sensor 250 and fuel camshaft sensor 256 are then sent to the data processor 260 wherein the signals are used to generate digital signals proportional to the engine speed and the timing advance angle of the fuel pump. In the illustrated system, the engine speed and timing advance angle signals are also generated in a manner so as to cancel out the effect of engine torsionals. Piston-operated inte,rnal-combustion engines have inherent imbalances which cause regularly occurring disturbances in the operation of the engine. Since one-half of the pistons drive the crank shaft 211 during one complete engine revolution and the other one-half of the pistons drive the crank shaft 211 during the subsequent revolution, and since these two sequences have a discrete set of disturbances associated with them, the two revolutions will neverhave precisely the same characteristics. The crank shaft 211 will always have a somewhat different amount of power transmitted to it during one full revolutipn than the one immediately preceding or following. As is detailed in Fig. 11, the inherent engine imbalances will produce a half order torsional having a full cycle during two full engine revolutions, a first order torsional occurring in one full engine .revolution, a second order torsional occurring in one-half- an engine revolution, and so on with higher order torsionals of decreasing magnitude. The-result of the torsionals is that the instantaneous engine speed will vary as the engine rotates. The mass of the drive system and flywheel will damp' the effect of the imbalances but the actual speed will still vary sinusoidally through two engine revolutions, with the engine alternately accelerating and decelerating. The technique used in the present invention to cancel out the effect of engine torsionals is illustrated in Fig. 12. The instantaneous speed of the engine 11 is determined N/M times for each full revolution of the engine, N being an integer representing the number of times that a signal from the flywheel sensor 249 is generated during a full engine revolution, and M being either 1 or 2, depending upon whether a new, updated speed determination is made each time a flywheel sensor signal 249 is generated or whether a new, updated speed determination is made for every other flywheel sensor signal 249. (N/M)-P consecutive instantaneous speed determinations are then added and divided by (N/M)P, P being an integer representing a number of full engine revolutions, to obtain an average engine speed during the P number of engine revolutions. For example, if the speed determinations are to be averaged over two full engine revolutions (P = 2) and a rotation responsive means 246 is used with twelve holes 247 in flywheel 212 (N - 12), and a speed determination is made for each time (M = 1) the flywheel sensor 250 senses the movement of a hole 247 therepast (as in Figs. 16 and 17) , then 24 successive speed determinations will be averaged. As seen in Fig. 12, if the instantaneous speed determinations at the 24 sampling points in the sampling period beginning with a and ending with a' are taken, half of the instantaneous speed determination will be greater and half will be less than the average engine speed, so that when averaged the 24 speed determinations will equal the average speed of the engine for the sampling period. The same will be true for any of the other sampling periods b-b', c-c', and-so forth. As is also apparent, if the speed averaging is done at each point a',b',c' and so on, then the average engine speed will be updated each time the engine has rotated through 360/N, or 30, degrees. If an instantaneous speed determination is made for every other hole 247 (M = 2) then twelve speed determinations will be made and averaged, e.g. at a,c,e and so on, for two full engine revolutions. The successive averagings will again each be equal to the actual average engine speed, but the average engine speed information will only be available for every 60 degrees of engine rotation. Fig. 13 illustrates one embodiment of data processor 260 which can be used to generate average speed and average timing advance angle signals in response to generation of signals by the flywheel and fuel camshaft sensors 250 and 256. As is seen in Fig. ;4, flywheel sensor 250 will generate a series of first signals 249 in response each passage of a flywheel hole 247 therepast, with a time lapse of T1 between consecutive leading edges of the signals. The fuel camshaft sensor 256 will likewise generate a series of second signals 255, each also having a time lapse of T , between consecutive signals. The first and second signals 249 and 255 will be out of phase with each other in an amount dependent upon the position of the timing means 13, and there will be a time lapse of T2 between the leading edge of a second signal 255 and the leading edge of the next successive first signal 249. The time lapse T1 is inversely proportional to engine speed -- the faster the speed of engine rotation, the shorter the time of T1 and vice versa. The time lapse T2, for any given phase relation between the timing and fuel camshaft 12 and 14 is also inversely proportional to engine speed. The ratio of T2/T1 is proportional to the degree of phase relation between the timing and fuel camshafts 12 and 14, and will remain constant for any given degree of phase relation regardless of engine speed. In the data processor 260 of Fig. 13, a fixed frequency clock 265 generates a continuous series of high frequency clock pulses which are applied to the inputs of the T1 gate 266 and the T2 gate 267. The first signal 249 from the flywheel sensor 250 is applied to flip-flop 268 so that a low Q flip-flop output from alternate first signals 249 will cause the T1 gate 266 to close and a high Q flip-flop output from the next successive first signal 249 will cause the T1 sate 266 to open. During the time that the T1 gate 266 is closed, clock pulses from clock 265 will pass through the gate to the-T1 pulse counter 269 and be counted. When the To gate is then -opened, the T1 pulse counter 269 will have a-count of the number of clock pulses occurring during the time interval beginning and ending with successive first signals 249. Since clock 265 has a fixed frequency, the count of the T1 pulse counter 269 will be inversely proportional to the speed of the engine. After the T1 gate has opened, the count T1(t), i.e. the instantaneous count for 300 of engine revolution, in the T1 counter is applied to divider 271, along with a constant KR, the divider 271 functioning to divide the constant KR by the count Tl(t) and serving as a speed-indicating means for generating a-n instantaneous speed-indicating signal, SPD(t), which is inversely proportional to the count Tl(t) of the counter 266 and is thus directly proportional to the instantaneous engine speed measured during the time the T1 gate 266 was closed. The constant KR is chosen to scale the Tl(t) count so that a useful eight-bit binary coded SPD(t) signal is obtained by divider 271. The SPD(t) signal is then applied to the input cell of shift register 272, the shift register having NP/M number of cells. In the embodiment presently described, shift register 272 would have 12 cells. As the engine continues to rotate, the successively generated speed-indicating signals SPD(t) will be applied to shift register 272 so that the shift register will have, at any time, the 12 most recent successive speed-indicating signals therein. Each time a new SPD(t) signal has been entered into shift register 272, the signals in all of the shift register cells are applied to the speed averaging means 273, shown here as an adder-divider, which adds the NP/M number of speed-indicating signals and divides the sum by NP/M to generate an average speed signal. The adder-divider 273 outputs the average speed signal into the 8-bit memory, or latch 74 which stores such signal until the next average speed signal is generated. The 8-bit or byte, signal is applied to input line 48 of microprocessor 30 and used as an input to the four timing maps 61-64, the fuel/air limit map 71, the torque rise limit map 73 and the rack limit position map 72. The engine speed signal is also applied to differentiator 143 which controls the function of the timing map selector 65. During the time that the T1 gate 266 has been closed by the high Q output of flip-flop 268 in response to a first signal 249, the Q output of flip-flop 268 is also applied to AND gate 276 to enable the next successive second signal 255 from the fuel camshaft sensor 256 to close the T2 gate 267. The T2 gate 267 will be opened in response to the same first signal 249 which opens the T1 gate 266. During the time the T2 gate 267 is closed, the T2 counter 277 will count clock pulses passing through gate 267 and will thus obtain a count of the number of clock pulses occurring in the time interval beginning with a second signal 255 and ending with the next successive first signal 249. As may be seen, the gates 266 and 267 and pulse counters 269 and 277 constitute a counting means 278 for counting clock pulses occurring in the time interval T1 beginning and ending with consecutive first signal 249 from the pulse generating means 248 and for counting clock pulses occurring in the time interval T2 beginning with a second signal 255 from pulse generating means 251 and ending with the next successive first signal 249 from pulse generating means 248. When the engine is first started, the timing means 13 will be a minimum advance, e.g. 140 BTDC, and there will be an initial angular phase relation between the timing and fuel camshafts 12 and 14 to cause fuel delivery to the engine with minimum advance. Likewise, there will be an initial phase relation between the first signals 249 from the flywheel sensor 250 and the second signal 255 from the fuel camshaft sensor 256, corresponding to minimum advance, with a second signal 256 preceding the next successive first signal 255 by a particular degree of rotation. It is an aspect of the present embodiment that the circular member 252 on the fuel camshaft 14can be randomly fixed thereto, without regard to whether its holes 253 have any particular orientation with respect to the holes 247 of the flywheel. For example, in one engine, for a given timing advance angle, it might take 100 of engine rotation between a second signal 255 and the next successive first signal 249, whereas in another engine, and with the same timing advance, it might require 200 of engine rotation between a second signal 255 and the next successive first signal 249. In any given system, however, with the flywheel 212 fixed to crankshaft 211 and the circular member 252 fixed to the fuel camshaft 14, and with the sensor members 250 and 256 fixed relative to the circular paths of the sensible holes 247 and 253-, the angle through which the engine must turn, between a second signal 255 and the next succeeding first signal 2-49, will be the same for any given degree of timing advance angle. At engine start up, the engine will initially operate at minimum advance angle. The counts of, both counters 269 and 277 are both applied to divider 279, along with a constant KT, the divider 279 functioning to generate an initial, or reference, timing advance angle signal TIM(o) = T2(o)KT/Tl(o), corresponding to minimum advance angle, e.g. 14o BTDC. Dividing one count by the other gives a signal which is proportional to the degree of engine rotation between a second signal 255 and the next succeeding first signal 249 relative to the degree of engine rotation between consecutive first signals 249. Such signal is thus independent of engine speed. The constant KT scales that divided counts to provide a useful binary coded signal, with the constant KT also representing the angle that the engine turns between successive first signals. Thus, in the particular system shown, if T1 = T2, then the signal TIM would represent a timing advance of 300. The initial timing advance angle signal TIM(o) is then stored for use in the data processor 260 until the engine is shut down. After the initial timing advance angle signal TIM(o) has been generated, the counts of counters 269 and 277 are applied to divider 280, which functions to generate an instantaneous timing advance signal TIM(t) = T2(t) KT Tl(t), , each time following a new count by counters 269 and 277. In the embodiment of Fig. 13, 300 of engine rotation are required to develop the counts in counters 269 and 277 and a new timing advance signal TIM(t) will be generated in the next 300 of engine rotation. Accordingly, six new timing advance signals TIM(t) will be generated for each full engine revolution. The initial and instantaneous timing advance signals TIM(o) and TIM(t) are applied to logic circuit 281. If-the magnitude of the instantaneous timing advance signal TIM(t) is not less than the magnitude of the initial timing advance signal TIM(o), function generator 282 will subtract the initial timing advanc,e signal TIM(o) from the instantaneous timing advance signal TIM(t) which is proportional to the actual degree of timing advance produced by the timing means 13. If the instantaneous timing advance signal TIM(t) is less than the initial timing advance signal TIM(o), then function generator 283 will add the angle KT to the instantaneous timing advance signal TIM(t) and then subtract the initial timing advance signal TIM(o) therefrom to generate a positive true ,timing signal TIM(t) to which is proportional to the actual angle of advance from minimum advance. The successive true timing advance signals TIM(T) are entered into and advanced through the NP/M cell shift register 284. Each time a new TIM(T) signal is entered into shift register 284, the TIM(T) signals in the shift register cells are applied to adder-divider 285 which functions as an angle-averaging means for generating an average timing angle advance signal. Such signal is output into the 8-bit memory 286, or latch, which stores the signal until the next average timing advance angle signal is generated. The byte in memory 286 is applied to input line 29 of microprocessor 30 and used as an input to the fuel/air limit map 71. Fig. 15 illustrates a modification of the system of Fig. 14, which may be used in an engine system wherein the timing advance means 13 is physically constrained so that a maximum timing advance of 200, from minimum advance is obtainable. In this case, the TIM (o) and TIM(t) timing advance angle signals are applied to the,TIM(o) 100 and TIM(t) 100 logic circuits 281a and 281b and the function generators 282 and 283 are actuated in accordance with the logic circuits to generate the desired true timing advance signals TIM(T). As explained above, when the data processor 260 of Fig. 13 is used with the engine-fuel pump system of Fig. 10, the circular member 252 may be randomly fixed on the fuel camshaft 14, but the average speed and average timing advance signals will be updated only six times for each full engine revolution. The data processor 260a 6f Fig. 16, when used with the engine-2uel pump system of Fig. 10, enables the average speed and average timing advance signals to be updated -twelve times for each full engine revolution (i.e. M = 1), utilizing the same first and second rotation responsive means 246 and 251. In this embodiment, however, the circular member 252 must be more accurately located on the fuel camshaft 14 (or the fixed location of the fixed sensors 249 and/or 255 must be more accurately chosen) so that at minimum timing advance a particular second signal 255 is generated slightly before a particular first signal 249 and at maximum timing advance such second signal is generated before the same first signal 249 but after the preceding first signal 249. For example, if the maximum timing advance is 200 from minimum, then the circular member 252 should be oriented on the fuel camshaft 14 so that, at minimum timing advance angle, a second signal 255 will be generated somewhere between one and nine degrees in advance of a first signal 249. The data processor 260a of Fig. 16 differs from that of Fig. 13 in that each second signal 255 from the fuel camshaft sensor 256 is used to close the T2 gate 267, with the gate being opened by the next first signal 249 from the flywheel sensor 250. Thus, a new count by the T2 counter 277 of the clock pulses from the fixed frequency clock 265 is obtained each time the engine rotates through 300, or, twelve times during a full engine rotation. The data processor 260a also differs in that gate 266 is closed by each first signal 249 from the flywheel sensor 250 and is opened by the next occurring second signal 255 from the fuel camshaft sensor 256. The clock pulses during this. period are then counted by the T3 counter 269a, with the count being proportional to the length of this time period., After the T3 count has been obtained and during the time that the T2 counter 277 is counting clock pulses, the T3 count is sen.t to adder 269b, enabling the T3 counter 269a to be reset. After the T2 count has been obtained by counter 277, it too is sent to adder 269b and a T1 = T2 + T3 signal is generated during the time the next T3 count is being obtained. As is seen in Fig. 17, regardless of the time relation of the sensor signals 249 and 255, the time periods T 2 T3 will always equal the time period T1. Thus, gates 266 and 267, pulse counters 269a and 277 and adder 269b constitute counting means 278 for counting clock pulses occurring in the time interval T1 beginning and ending with consecutive first signals from the pulse generating means 248 and for counting clock pulses occurring in the time interval T2 beginning with a second signal 255 from pulse generating means 251 and ending with the next successive first-signal 249 from pulse generating means 248. The T1 signal from adder 269b, generated for each 300 of engine revolution, is then sent to divider 271, and an average speed indicating signal is generated by the shift register 272 (with 24 cells) and adder-divider 273 as before. In this case, 24 instantaneous speed indicating signals will be averaged for two full engine revolutions and a new average speed 'indicating signal will be generated for each successive 300 of engine revolution. The T1 signal from adder 269b and the T2 signal from counter 277 will also be applied, as before, to dividers 279 and 280 wherein an initial timing advance signal TIM(o) and subsequent instantaneous timing advance signals TIM(t) are generated. Since the circular member 252 on'the fuel camshaft 14 is oriented so that the instantaneous timing advance signal TIM(t) is always greater in magnitude than the initial timing advance signal TIM(o), these signals are then sent directly to function generator 282 wherein is generated the instantaneous true timing advance signal TIM(T) = TIM(t) - TIM(o). The TIM(T) signals are sent successively to 24-cell shift register 284 and the 24 signals occurring during two full revolutions of the engine are averaged by adder-divider 285 and latched into the 8-bit memory, or latch 286, once for each successive 300 of engine rotation. As may be seen from the above, the control system 10 of the present invention providers an integrated and automatic regulation of engine timing and maximum allowable fuel rate so that maximum engine performance can be realized, in its various modes of operation, while limiting smoke and emissions to required levels. The disclosed control system is particularly useful with four-stroke-cycle diesel engines used in highway trucks. Although the invention has been described particularly in connection with diesel engine operation, it is to be realized that gasoline engines present the same general problem of emission control, and that the specifically disclosed invention could be readily adapted to control the ,ignition timing of a gasoline engine and the maximum allowable amount of fuel delivery to the cylinder of such engine in a manner -as disclosed herein.

Claims: CLAIMS 1. A control system (10) for an engine system which includes an engine (11) having a crankshaft (211), an operator-controlled throttle (22), a fuel pump (16) for supplying fuel to the engine, the fuel pump having a fuel control means (21) for controlling the amount of fuel delivered to the engine, a first engine control means (13) comprising a timing means for setting the engine timing advance, and a second engine control means (23) comprising settable fuel control limit means for limiting the maximum amount of fuel deliverable from the fuel pump to the engine, characterized in that the control system (10) comprises a first condition signal means (38, 32, 43) for monitoring a first condition of the engine in operation and for generating a first condition signal having a value dependent upon the magnitude of the first condition; a second condition signal means (37, 32, 43 or 26, 27, 28) for monitoring a second condition of the engine in operation and for generating a second condition signal having a value dependent upon the magnitude of the second condition; control means (30) for storing a plurality of engine control' signal values, each corresponding to a desired setting of the first or second engine control means (13 or 23)for engine operation at a particular combi- nation of the first and second engine conditions, and for issuing an engine control signal in accordance with the particular values of the first and second engine condition signals generated by the first and second condition signal means; and means (18 or 24) for setting one of the engine control means in accordance with the value of the generated engine control signal. 2. A control system according to claim 1 wherein the first condition signal means (38, 32, 43) is arranged to sense the speed of the engine (11), the second condition signal means (37, 32, 43) is arranged to sense the setting of the fuel control means (21), and the engine control means which is set is the timing means (13). 3. A control system according to claim, wherein the first condition signal means (38, 32, 43) is arranged to sense the speed of the engine -(11), the second' condition signal means (26, 27, 28) is arranged to sense the setting of the timing means (13), and the engine control means xinich is set is the fuel control limit means (23). 4. A control system (10) according to any of claims 1 to 3, further including a third condition signal means (37, 32, 43 or 26, 27, 28) for monitoring a third condition of the engine in operation and for generating a third condition signal having a value dependent upon the magnitude of the third condition, the control signal means, (30) also storing a plurality engine control signal values, each corresponding to a desired setting of the first or second engine control means (13 or 23) for engine operation at a ,partlcular combination of the first and third engine conditions, and for issuing a second-engine control signal in accordance with-the particular values of the first and third engine condition signals generated by the first and third condition signal means; and means (24 or 18) for setting the other of the engine control means in accordance with the value of the second engine control signal. 5. A control system (10) 'according to claim 4, when dependent on claim 2, wherein the third condition signal means (26, 27, 28) is arranged to sense the setting of the timing means (13), and the engine control means which is set in the fuel control limit means (23). 6. A control system (10) according to claim.4, when dependent on claim 3, wherein the third condition signal means (37, 82, 43) is arranged to sense the setting of the fuel control means (21), and the engine control means which is set is the timing means (13). 7. A control system (10) according to claim 2, wherein the timing means (13) comprises means for varying the timing of fuel injection to the engine relative to crankshaft rotation. 8.- A control system according to claim 3 or claim 6, wherein the control signal means (30) includes fuel/air signal means (71) for storing a plurality of fuel/air signal values each corresponding to a desired fuel-air ratio for engine operation at a particular combination of engine speed and engine timing and for generating a fuel-air signal having the predetermined value corresponding to the particular values of the first and second or first and third condition signals generated by the first and second or first and third condition signal means, the control system further including means (40, 32, 45) for generating a manifold pressure condition signal having a value proportional to the manifold pressure of the engine; means (76, 77) for generating a fuel-delivery signal having a value proporational to the value of the generated fuel/air signal divided by the value of the generated manifold pressure condition signal; and means (72) for setting the fuel control limit means (23) the means (72) having stored therein a plurality of fuel control limit position control signal values, each corresponding to a desired setting of the fuel control limit (23) for engine operation- at a particular combination of fuel delivery and engine speed and for generating a fuel control limit position signal having a predetermined value corresponding to the particular values of the first condition signal generated by the first condition signal means and the fuel-delivery signal generated by the setting means (72). 9. A control system according to any of claims 1 to 8, wherein the first and second condition signals are each in binary coded form with a plurality of most significant bits and a plurality of'least significant bits, and wherein the control signal means (.30) includes a readonly memory having a plurality of control signal values in binary form memory mapped in a series of rows and columns, each control signal value having of the Z values; stepping means for increasing by a binary one the binary values of the most significant bits of each of one of the condition signals; means for selecting a first row of the memory map in accordance with the binary value of the most significant bits of the one condition signal and for selecting a second row of the memory map in accordance with the increased value of the most significant bits of the one condition signal; means for selecting a first column of the memory map in accordance with the binary value of the most significant bits of another condition signal and for selecting a second column of the memory map in accordance with the increased value of the most significant bits of that other condition signal; means for storing outside of the' memory the value ( Z1) of the control signal from the first row and first column of the memory map, the value (z2) of the control signal from the second row and first column of the memory map, the value (Z of the control signal from the first row and second column of the memory map, and the value'(Z4) of the control signal from the second row and second colymn of the memory map; means for obtaining an interpolated binary binary value Za equal to Z1 plus the difference between Z2 and, Z1 which is proportional to the binary value of the least significant bits of the one condition signal; means for obtaining an interpolated binary value Zb equal to Z3 plus the difference between Z4 and Z3 which is proportional to the binary value of the least significant bits of the one condition signal; and means for obtaining a final interpolated control signal having a binary value ZO equal to Za plus the difference between Zb and Za which is proportional to the binary value of the least significant bits of the other condition signal. 10. A control system according to any of claims 1 to 9, wherein the first condition signal means (38, 32, 43) includes clock means (265) for generating a series of fixed frequency clock pulses; rotation responsive means (246) for generating a signal each successive time that the engine has rotated through 360/N degrees, N being an integer; counting means (269) for obtaining a count of the number of clock pulses occurring during a time interval beginning and ending with successive signals of the rotation responsive means (246), the counting means (269) having the function of obtaining a new such count each successive time that the engine has rotated through 360 M/N degrees, M being an integer; means (271) for generating a speed-indicating signal inversely proportional to each count of the counting means (269) each time that the engine has rotated through 360 M/N degrees; and averaging means (272, 273) for generating the first condition signal each time that the engine has rotated through 360 M/N degrees, the first condition signal being equal to the sum of the number of successive speed-indicating signals obtained during two complete revolutions of the engine divided by the number of successive speed-indicating signals. 11. A control system according to claim 10, wherein the first condition signal means (38, 32, 43) further includes a second rotation responsive means (256) for generating a signal each successive time that the engine has rotated through 360/N degrees, and wherein the counting means (269) obtains the count of the number of clock pulses occuring during a time interval beginning and ending with successive pulses of the first mentioned rotation responsive means (246) in response to separately counting the number of clock pulses occurring in the interval beginning with a signal from the first mentioned rotation responsive means (246) and-ending with the next occurring signal and counting the number of clock pulses occuring in the time interval beginning with the last mentioned signal from the second rotation responsive means (256) and ending with the next occurring signal of the first mentioned rotation responsive means (246). 12. A control system according to any of claims 1 to 9, wherein one of the condition signal means includes at least one first sensible member (212) rotatable at a speed proportional to the speed of the engine crankshaft (211); a first signal generating means (248) for generating a plurality of first signals on rotation of the first sensible member; at least one second sensible member (252) rotatable at a speed proportional to the speed of the fuel pump drive shaft; a second signal generating means (254) for' generating a plurality of second signals on rotation of the second sensible member; clock means (265) for generating a series of fixed frequency clock pulses; counting means (269, 277) for: a) obtaining a first count of the number of clock pulses occuring during the time interval (T1) beginning and ending with consecutive signals from one of the first' and second signal generators (248,254), b) Obtaining a second count of the number of clock pulses occurring in the time interval (T2) beginning with a signal from one of the first and second signal generators and end ing with a successive-signal from the other of the first and second signal enerators (248,254);and angle-indicating means for generating the condition signal of one of the condition signal means, the condition signal being proportional to the ratio of the first and second counts of the counting means. 13. A control system according to claim 12, wherein the one condition signal means is arranged such-that N number of each of the first and second signals are generated by the first and second generator means (248, 254) during one full revolution of the crankshaft (211), N being an integer, wherein the counting means (269, 277) obtains N/M number of successive first and second counts during one full revolution, M being an integer, wherein the angle-indicating means generates N/N number of successive angle-indicating signals during one full revolution; and further including averaging means (272, 273) for generating the one condition signal each time that the engine has rotated through 360 N/N degrees, the one condition signal being equal to the sum of the number of successive angleindicating signals obtained during two complete engine revolutions divided by the number of successive signals. 14. A control system according to claim 13, wherein TIM = T2 KT in which N TIM = the angle indicating signal, T1 = the first count of the counting means T2 = second count of the counting means KT = a constant, and the angle-indicating means a) generating an initial reference angle indicating signal TIM (o), b)- generating a subsequent angle-indicating signal TIM (t), c) generating a corrected angle-indicating signal TIM (T) wherein TIM (T) = TIM (t) - TIM (o), when TIM (t) > TIM (o), and TIM (T) = TIM (t)+KT-TIM(o), when TIM (t) < TIM (o). 15. A control system according to claim 12, wherein the other condition signal means includes means for generating the condition signal of the other condition signal means with the condition signal being inversely proportional to the first count of the counting means. 16. A control system according to any of claims 1 to 15, wherein the control signal means (30) includes first means for generating a first set of timing control signals each having a predetermined value corresponding to a desired engine timing for a first mode of engine operation and for a particular combination of engine speed and fuel control means positions, and second means for generating a second set of timing control signals each having a predetermined value corresponding to a desired engine timing for a second mode of engine operation and for a particular combination of actual engine speed and fuel control means position; and selector means (65) for selecting the first set of timing control signals to be used in controlling the timing means (13) when the engine is in said first mode of 'operation and for selecting the second set of timing. control signals to be used in controlling the timing means (13) when said engine is in the second mode of operation. 17. A control system according to claim 16, wherein the first mode of engine operation is steady state urban operation and the second mode of engine operation is steady state highway operation and wherein the control system includes means (143) for generating an engine-speed-change signal in response to a change in engine speed; means (36) for generating a throttleposition signal in response to a depression or release of-the throttle; and wherein the selector means (65) includes means for obtaining a count of the number of times in a predetermined length of time that an enginespeed-change signal and a throttle-position signal are concurrently generated, and means for selecting the first set of timing control signals of the first means when the count is above a predetermined number and for selecting the second set of timing control signals of the second means when the count is below the predetermined number. 18. A control system according to claim 17, wherein the control system includes means (31) for sensing the temperature of the engine'; and wherein the selector means (65) includes means for selecting the firs set of timing control signals of the first means when the temperature of the engine is below a predetermined value and for selecting the second set of timing control signals of the second means when the temperature is above the predetermined value. 19. A control system according to claim 16 or claim 17, wherein theecontrol signal means (30) includes third means for generating a third set of timing control signals corresponding to a desired engine timing for a third mode of engine operation and for a particular combination of actual engine speed and fuel control means position; means (31) for sensing the temperature of the engine; and selector means for s,electing the third set of timing control signals to be used in,' controlling'the timing means where the temperature of the engine is below a predetermined value and for selecting the first set or the second set of timing control signals to be used in controlling the timing means in accordance with whether the engine is in its first or second mode of operation and the temperature of the engine is above the predetermined value. 20. A control system according to claim 16, wherein the control signal means (30) includes first means for generating a first set of timing control signals each having a predetermined value corresponding to a desired engine timing for a first mode of engine operation and for a predetermined combination of actual engine speed and fuel control means position, and second means.for generating a second set of timing control signals each having a predetermined value corresponding to a desired engine timing for a second mode of engine operation and for a particular combination of actual engine speed and fuel control means position; the control means also generating a third set of-timing control signals each having a predetermined value corresponding to a desired engine timing for a particular engine speed during acceleration and deceleration; means (36) for generating a throttle-position signal in response to depression or release of the throttle; and the selector means (65) selecting the third set of timing advance control signals for controlling the timing means when the throttle-position signal is present and for selecting one of the first and second sets of timing advance control signals of the first and second means for controlling the timing means when the throttle position signal is not present.

Inventors: STEVENSON, THOMAS T., SZENTES, JOHN F., ZENIOS, MARIOS C.
Applicants: CATERPILLAR INC.
Application year: 1982
Main classification: F02D41
IPC codes: F02B3, F02B75, F02D41