Abstract:
Apparatus is disclosed for use in acquiring data from an internal combustion engine so that an analysis may be made as to whether any malfunction exists in the various cylinders. A succession of electrical pulses are provided and which correspond with successive crankshaft positions as the crankshaft of the engine rotates through at least one engine cycle. The time duration between the successive pulses corresponds with the time duration between successive crankshaft positions. A sufficient number of pulses are produced so as to correspond with a plurality of crankshaft positions for each power period, there being as many power periods as the number of cylinders in the engine. Circuitry is provided for responding to the pulses for the purposes of measuring the time interval between successive pulses. Time interval samples are provided having values which correspond with associated measured time intervals. These samples are then utilized to determine the existance of any cylinder malfunctions.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     Some of the subject matter disclosed herein, together with amplified disclosure dealing with a preferred data processor, is disclosed and claimed in a commonly owned co-pending application filed on even date herewith by G. Buck et al. Ser. No. 781,313 entitled &#34;Apparatus for Diagnosing Faults In Individual Cylinders In An Internal Combustion Engine&#34;. 
     BACKGROUND AND FIELD OF THE INVENTION 
     This invention relates to the art of diagnosing engines and, more particularly, to improvements in data acquisition for use in determining whether malfunctions exist in individual cylinders of an engine. 
     The invention is particularly applicable for use in conjunction with providing data as to the operation of compression ignition engines and is described herein with respect thereto; although it will be understood that the invention is not limited thereto and may be used in other applications, such as for providing data as to the operation of spark ignition engines. 
     Engine analyzers employing data acquisition means are known in the prior art. Examples of prior art patents on this subject include the U.S. Patents to Hanson, No. 3,994,160, Hanson et al. No. 3,942,365, Hanson et al. No. 3,972,230, and Emerson, No. 3,815,411. In general, these patents disclose systems wherein a data acquisition circuit responds to the operation of an engine and obtains a measure of the time interval of each power period. The data representing the time interval of each power period is forwarded to the acquisition circuitry which determines the average speed of each power period since the average speed is related to the reciprocal of the time interval of each power period. Such information does not reflect the actual variations in speed taking place during each power period, but only the average speed. Consequently, only average speed information is employed by the analyzer in determining the existance of any malfunction conditions, such as low power performance. 
     The present invention provides improvements over that suggested by such prior art. More particularly, the data acquisition circuit incorporated in the present invention provides a plurality of electrical pulses sufficient in number that a plurality of pulses are provided during each power period. Also, the acquisition circuitry includes means for measuring the time interval between successive pulses and then provides a plurality of time interval samples for each power period. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the present invention to provide improvements in acquiring data for use in diagnosing internal combustion engines to determine the existance of malfunctions in the cylinders thereof. 
     It is a more specific object of the present invention to provide improvements in such data acquisition circuitry such that a plurality of time intervals, each representative of the time interval between successive crankshaft positions, are obtained for each power period. 
     In accordance with the present invention, a succession of electrical pulses are provided which respectively correspond with successive crankshaft positions as an engine&#39;s crankshaft rotates through at least one engine cycle and such that the time duration between successive pulses corresponds with the time interval occurring as the crankshaft moves through associated successive crankshaft positions. The time interval between successive pulses is measured and time interval samples are provided with each sample having a value corresponding with an associated measured time interval. These interval samples are then employed for determining cylinder malfunctions. 
     In accordance with a more limited aspect of the present invention, an electrical marker pulse is provided once each engine cycle and such that it has a known relationship to a specific crankshaft position within an engine cycle. 
     In accordance with a still further aspect of the present invention, the marker pulse is employed for modifying an associated one of the time interval samples as a marked sample for use in identifying the samples with respect to crankshaft positions. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The foregoing and other objects and advantages of the invention will now be described in conjunction with a preferred embodiment as taken in conjunction with the accompanying drawings which are a part hereof and wherein: 
     FIG. 1 is a schematic-block diagram illustration of the apparatus employed in accordance with the invention; 
     FIG. 2 is a schematic-block diagram illustration of the signal processing circuitry; 
     FIG. 3 is a chart of interval time with respect to ring gear teeth illustrating the fluctuations of a normal engine with the crankshaft being driven by a crank motor; 
     FIG. 4 is a chart similar to that of FIG. 3, but illustrating the fluctuations occuring with a low compression condition in one of the cylinders; 
     FIG. 5 is a chart of interval time with respect to ring gear teeth and showing the fluctuations as a normal engine is rapidly accelerated with fuel supplied from one speed to a higher speed; 
     FIG. 6 is an enlarged section of the graph of FIG. 5 and is used in conjunction with the description of operation given herein; and, 
     FIG. 7 is a chart similar to that of FIG. 5, but illustrating the fluctuations occurring with low power performance in one of the cylinders. 
    
    
     DETAILED DESCRIPTION 
     Referring now to the drawings, wherein the showings are for purposes of illustrating a preferred embodiment of the invention only and not for purposes of limiting same, FIG. 1 illustrates the analyzer in conjunction with testing a Diesel engine DE. In the example given herein, the engine is a fuel injected engine having six cylinders in line. The firing order of the cylinders is 1-5-3-6-2-4. This is a for cycle engine which means that the crankshaft requires two revolutions for all cylinders to fire. As is conventional, the crankshaft 10 carries a flywheel 12 having a ring gear 14 carried on its outer periphery. This ring gear is provided with 118 evenly spaced teeth extending radially outward in an annular array. As is well-known, the ring gear teeth are employed during the starting process when engaged by a crank motor 15 so as to drive the crankshaft. 
     The analyzer employs a sensor for sensing the passage of each ring gear tooth at a particular point. This is accomplished by mounting a suitable reluctance or magnetic type sensor on the flywheel housing 20 so that the sensor extends through housing 20 so as to be positioned to produce one pulse for each tooth of the ring gear. These pulses are supplied to a signal processor SP to be described in greater detail below. Thus, for each revolution of the crankshaft 10, the sensor 18 will provide a total of 118 pulses to the signal processor. Since one engine cycle requires two revolutions of the crankshaft, 236 pulses will be supplied to the processor for each engine cycle. Since the engine being described is a six cylinder engine, each engine cycle will include the six power periods with each power period including a compression stroke and an acceleration stroke. 
     It is desirable to obtain information to relate the ring gear pulses to crankshaft positions. This is accomplished by producing one pulse, referred to herein as a crank marker pulse, for each engine cycle so that the crank marker pulse is associated with a crankshaft position in the engine cycle. Preferably, the crank marker pulse is produced so as to be essentially coincident with one of the ring gear pulses. Since the engine being described produces two crankshaft revolutions for each engine cycle, a single pulse for each engine cycle may be obtained from a camshaft 24 which is geared to the crankshaft internally of the engine such that the camshaft makes but one revolution per engine cycle. Consequently, a disc 26 may be mounted to the exposed end of the camshaft with the disc carrying a suitable marker such as a bolt 28 or the like. The location of bolt 28 has a known crankshaft position relationship to a particular tooth on the ring gear 14. A suitable reluctance type sensor 30 serves as the camshaft sensor to produce one crank marker pulse for each engine cycle and this pulse is supplied to the signal processor SP. 
     The signal processor SP receives the pulses obtained from the camshaft sensor 30 and under computer control forwards data, in the form of samples, for storage in a memory. The samples forwarded by the signal processor take the form of multi-bit digital words. For one engine cycle of engine DE, there will be 236 samples. Each sample represents the time interval between successive pulses provided by the flywheel sensor 18. These samples are supplied to a general purpose computer which is programmed to use the samples and to make a fault diagnosis. When the diagnosis has been completed, a suitable display representative of the diagnosis is presented by a visual display DP and a print-out may be provided by a printer PR. It is contemplated that the analyzer may be employed for testing various engine types and information may be supplied to the computer as to the engine type as by means of a suitable multidigit thumbwheel selector or keyboard KB. It is further contemplated that the computer may be provided with different test programs for the various engine types and these may be stored on a suitable cassette tape TA and read by a tape reader TR for loading into the computer&#39;s memory. The engine analyzer preferably employs a programmed general purpose computer including a central processing unit CPU and external memory including a read-only memory M-1 including suitable interface control and an external random access memory M-2, together with suitable interface control. In the embodiment illustrated, the CPU may be a microprocessor provided by National Semiconductor Corporation and known as Model IMP-16. This particular microprocessor is a 16-bit machine and employs a control read-only memory having micro instructions therein for internal control of the CPU, together with several arithmetic logic units and two 4K by 16-bit random access memories. This is a P-MOS circuit. This particular microprocessor is by way of example only, as microprocessors provided by other manufacturers may be used for accomplishing the functions to be described herein. The bus structure may take the form of that illustrated in FIG. 1 and which includes an address bus ADD for addressing the input/output control IO, the read-only memory M-1, or the random access memory M-2. A control bus CON extends from the CPU for providing control signals to the input/output control IO, the read-only memory M-1, and the random access memory M-2. The control bus conventionally carries such signals as READ, and WRITE. For example, when the CPU addresses memory M-1, a READ signal on the control bus COM, when directed to the read-only memory M-1, will cause data at a particular address in the memory to be read out and placed on the DATA IN BUS DIB for transport to the CPU. The data obtained from the peripherals may be supplied to the CPU by a I/O DATA IN BUS IOB-I. The CPU may store data and instructions in memory M-2 through DATA OUT BUS DOB. Also, data may be outputted from the CPU to some peripherals by an I/O DATA OUT BUS IOB-O. 
     As is conventional, the internal control of the CPU is controlled by the micro instructions contained in the internal read-only memory within the CPU. These instructions are modified from an external read-out memory M-1 which may be considered as being programmed with macro instructions. Additional macro instructions may be written into the random access memory M-2. These will determine the manner in which the system operates to perform the diagnostic analysis to be described in greater detail hereinafter. 
     Having now generally described the system as set forth in FIG. 1, attention will now be directed to a detailed description of the present embodiment. The description which follows will present a detailed description of a signal processor SP and the manner in which the computer operates upon the samples. 
     SIGNAL PROCESSOR 
     The signal processor SP is illustrated in FIG. 2. This circuit, which is under the control of the computer, serves a data collection function. Data taken into the signal processor in the form of pulses from the flywheel sensor 18 are conditioned by a squaring circuit 100 and pulses taken from the camshaft sensor 30 are conditioned by a squaring circuit 102. Each time the signal processor has processed a sample, it will raise its INTERRUPT line 104 so as to signal to the computer that a sample is ready. A control but CB extends from the IO control and this control bus provides several control signals under program control to the signal processor. This includes a STOP control line 106 which, when raised, provides a signal to stop sampling operations. Another control line is the RING COUNT line 108 which, when raised, serves to activate the signal processor to perform a counting function and provide an output sample which provides information as to the number of teeth on the ring gear. There are two START control lines 110 and 112. When START control 110 is raised, it commands the signal processor to provide a sampling function at a normal clock speed. However, when START line 112 is raised, it commands the signal processor to perform a sampling operation at a clock speed of 1/10th that of normal. These points will be explained in greater detail below. One additional control line extending from the control bus CB to the signal processor is the LOAD control line 114. When this line is raised, it provides a command causing the samples, which has been gathered by the processor, to be sent to the CPU by DATA IN BUS DI. This sample, under program control, will be routed to a particular address in the random access memory M-2. 
     Depending on the program involved, a first operation of the signal processor may be considered as the RING COUNT operation. In such a case then, the control bus CB under the program control will raise its RING COUNT line 108. This applies a binary &#34;1&#34; signal to set a flip-flop 120. Once this flip-flop is set, it enables an AND gate 122 so that it may respond to the next crank marker pulse. The next crank marker pulse provided by the squaring circuit 102 is applied through AND gate 122 to trigger a JK flip-flop 124 to its set condition. When flip-flop 124 is in a set condition, it enables an AND gate 128. With AND gate 128 enabled, it serves to pass ring gear pulses, taken from the squaring circuit 100, through the AND gate and, thence, through an OR gate 130 to the count input C of a conventional binary counter 132. This counter will count upwards from a zero count condition (the counter had been previously reset). As each tooth on the ring gear passes sensor 18, the counter 132 will be incremented by one count. The counting will continue until AND gate 128 is disabled. This occurs in response to the next detection of a crank marker. When this occurs, another pulse is provided by the squaring circuit 102 which will now trigger flip-flop 124 to its reset condition through enabled AND gate 122. This, in turn, will disable AND gate 128. As flip-flop 124 is reset, a binary &#34;0&#34; signal is also supplied through an inverter 129 which, in turn, provides a binary &#34;1&#34; signal to OR gate 134 to raise the INTERRUPT line 104 which extends from the signal processor to the IO control. The computer now knows that the commanded sampling function (obtain a ring gear count) has been completed and that a sample is ready. Under program control, the control bus CB will now raise its LOAD line 114. This is a binary &#34;1&#34; signal which is applied to the load input of multi-bit parallel in-parallel out shift register 136. By way of example, the data employed herein may be 16-bit words and, hence, register 136 may take the form of a  16-bit shift register. This now permits the contents of counter 132 to be loaded into the shift register 136 through enabled AND gate 138. It is to be appreciated that the counter also takes the form of a multi-bit binary counter. Preferably, this is a 15-bit counter as is a companion counter 133, to be discussed hereinafter. The 15-bits are loaded in parallel through AND gate 138 to the least significant 15 bit positions of register 136. The most significant bit position is normally set at a binary &#34;0&#34; level for reasons as will be discussed in greater detail hereinafter. This 16-bit sample which is representative of the ring gear count is now available to the DATA IN BUS DI and this sample may now be processed by the computer. 
     When the control bus raised its LOAD line 114, this also stopped the ring gear count by applying a binary &#34;1&#34; signal through an OR gate 144 to reset flip-flop 120 and reset counter 132 through enabled AND gate 131 and OR gate 146. AND gate 131 is enabled by disabled flip-flop 174 through inverter 135. The circuit is now ready to perform another function. 
     Under the program control, the next function to be performed by the signal processor may be the collection of time interval samples. Each is the time interval occurring between successive crankshaft positions as represented by successive ring gear teeth. This operation may be commenced under program instructions by the control bus CB raising either START control line 110 or START control line 112, depending upon the clock rate desired. For example, a power performance test will be described hereinafter and during that test the clock rate to be in effect will be the normal clock rate. The normal clock rate in this embodiment is a 10 MHZ clock rate with the clock pulses being derived from a suitable clock 150. Another test to be described herein is a compression test and, during this test, the clock rate in effect will be 1/10th the normal clock rate. Consequently then, if the normal clock rate is desirable, the control bus CB will raise its START line 110. If a slower clock rate is desired, the control bus will raise START line 112. 
     Assume, for example, that control bus raised START line 110, as for a power performance test. This will cause a binary &#34;1&#34; signal to be applied so as to set a flip-flop 152. This, in turn, will enable AND gate 154 so as to pass clock pulses at the normal rate from clock 150 through the AND gate and, thence, through an OR gate 156. The clock pulses, as passed by OR gate 156, will be applied through either an AND gate 158 or an AND gate 160 to the clock input C of counters 133 and 132 respectively. Only one of these counters will be active at any one time and this will be described hereinafter. 
     If, on the other hand, the control bus had raised START line 112, then this would set a flip-flop 162. This would, in turn, enable an AND gate 166 so as to pass clock pulses from clock 150, as descreased in clock rate by a divide-by-ten circuit 168. The slower clock pulses would then be passed through OR gate 156 to the active counter. Whether START line 110 or 112 is raised, the operation is essentially the same except for the clock rate. Thus, the setting of flip-flop 152 causes a binary &#34;1&#34; signal to be applied through an OR gate 170 and be inverted by an inverter 171. A binary &#34;0&#34; signal will now be applied through an OR gate 172 to remove the previous reset signal to a flip-flop 174. Similarly, if flip-flop 162 is set by raising START line 112, a binary &#34;0&#34; signal is applied through OR gate 172 to remove the reset input of flip-flop 174. 
     The circuit will now wait for the camshaft sensor 30 to detect a crank marker on the camshaft 24 of the engine DE. Once the bolt or marker 28 has been detected by the sensor, a crank marker pulse is applied by the squaring circuit 102 to set flip-flop 174. This enables an AND gate 176 so as to pass ring gear pulses from the squaring circuit 100. When flip-flop 174 is set by the crank marker pulse, the pulse also sets a flip-flop 178. This flip-flop then applies a binary &#34;1&#34; signal to the most significant bit position MSB of shift register 136. As was previously discussed, this bit position is normally set with a binary &#34;0&#34; signal. However, when a sample of an interval time is also representative of the detection of a crank marker, then this sample will be provided with a binary &#34;1&#34; signal level in the most significant bit position. The sample which identifies the crank marker provides the computer with information as to the location of the crank marker relative to an interval time associated with a particular tooth on the ring gear. In the example being discussed, it is to be kept in mind that the ring gear will make two revolutions for each revolution of the camshaft and only one of the 236 samples will include the crank marker information. The computer is programmed such that it knows which succeeding sample is representative of the top dead center crankshaft position in the next power period. Since the firing order is known, this then identifies the tooth samples with the correct cylinders. 
     There are sufficient teeth on the ring gear such that the detection of the crank marker by sensor 30 is essentially coincident with the detection of a ring gear tooth by sensor 18. With both of these pulses being detected, the ring gear pulse is passed by AND gate 176 to trigger a flip-flop 180 to its set condition. With flip-flop 180 being set, it enables AND gate 158 to pass clock pulses from OR gate 156 to the count input C of counter 133. Counter 133 will now count these clock pulses until detection of the next ring gear tooth. When this occurs, flip-flop 180 will be triggered through enabled AND gate 176. Also, the detection of the next ring gear tooth causes a binary &#34;1&#34; signal to be passed by OR gate 134 so as to raise the INTERRUPT line 104 to signal to the computer that the first sample has been collected. The time interval count as represented by the count in counter 133 will, under program instructions, be loaded into the 15 least significant bit positions of the 16-bit shift register 136. The count that will be loaded will be the count then existing in counter 133 and this will be passed through an AND gate 184 in the multiplexer 140. This AND gate is enabled to pass the count in response to flip-flop 180 being triggered to its reset condition through inverter 181. The 15-bit count will be loaded into the 15 least significant bit positions of register 136 in response to the LOAD line 114 being raised. Also, the binary &#34;1&#34; signal from flip-flop 178 will now be loaded into the most significant bit position MSB of register 136. This 16-bit sample which represents a time interval between two successive occurrences of ring gear pulses is now available on the DATA IN BUS DI and, under program instructions, will be loaded at a particular address into the random access memory M-2. 
     Flip-flop 178 was reset through OR gate 183 in response to the control bus raising its LOAD line 114 so that a binary &#34;0&#34; signal is now applied to the most significant bit position of register 136 for the succeeding samples. Also, when the LOAD line 114 was raised, it also served to reset counter 133 through AND gate 186 and OR gate 188. Since flip-flop 180 has been reset, AND gate 158 is disabled and prevents clock pulses from being passed to the counter 133. Instead, the next succeeding time interval is being counted by counter 132. That is, flip-flop 180 is now in its reset condition which provides a binary &#34;0&#34; to inverter 181 which, in turn, provides a binary &#34;1&#34; to enable AND gate 160 so as to pass the clock pulses through OR gate 130 to the clock input C of counter 132. This counter will now count the clock pulses received from clock 150 until the next detection of a ring gear tooth. When this occurs, a flip-flop 180 will be triggered thereby disabling AND gate 160 to prevent clock pulses from being passed to the counter 132. In addition, a binary &#34;1&#34; signal is also applied through the OR gate 134 to raise the INTERRUPT line 104 so as to alert the computer that a second sample is ready to be loaded into the random access memory M-2. In response, the computer will cause the control bus CB to raise its LOAD line 114 so as to load the contents of counter 132 into the shift register 136 so that it is available on the DATA IN BUS. In addition, when the LOAD line 114 is raised, a binary &#34;1&#34; signal is passed by an AND gate 190 and, thence, through OR gate 146 to reset counter 132. Since flip-flop 180 is now in its set condition, it enables AND gate 158 to pass clock pulses from the clock so as to be counted by counter 133 to obtain the time interval for a third sample. 
     This operation continues with alternate time interval samples being counted by counters 132 and 133 until the computer has determined that sufficient number of samples, pursuant to the program control, has been obtained. At that point in time, the computer will then cause the control bus CB to raise its STOP control line 106 to reset all flip-flops as well as reset counters 132 and 133. This completes the data collection operation and the computer will, now under program control, perform a diagnostic analysis based on the samples taken. 
     PERIPHERALS 
     As noted in FIG. 1, the other peripherals to the input/output control IO include the visual display DP, the printer PR, the tape reader TR, and the keyboard KB. Unlike the signal processor SP described with respect to FIG. 2, these additional peripherals may take the form of conventional state-of-the-art devices and, in themselves, do not form a part of the present invention. It is preferred, however, that such peripherals be provided and be suitable for use with a computer of the type described herein. For example, it is contemplated that the present invention may be employed for testing various types of engines and that different test programs may be recorded on a suitable storage device, such as cassette tape TA. In this case, the computer may need identification from an operator as to which engine type is to be tested so that the tape reader TR can read the appropriate test program on the tape TA. This information is provided to the computer by suitable keyboard KB. Under computer control, the keyboard may be enabled by raising a control line 200 so that data entered into the keyboard may be applied by the input/output control IO to the CPU. During the transmission of data, the keyboard may raise its busy line 201 to indicate to the computer that the keyboard is busy. The computer may actuate the tape reader TR through a suitable control line 202 to cause the tape reader to read a particular section of the tape TA at which the test program is located. This information will then be fed back to the computer by way of a suitable data line 204. During the reading of the tape, the tape reader may raise its busy line 206 to let the computer know that the tape reader is busy. Thereafter the computer will execute its stored programs, both those taken from a tape TA and stored, for example, in the random access memory M-2, as well as other programs which may be in the random access memory or in the read-only memory M-1. The program may involve taking samples as discussed previously, together with a diagnostic analysis program with respect to the samples taken. The printer PR serves the function of providing a print-out of the results of the diagnosis made by the computer. Consequently, when the computer outputs the results to the printer, it may do this by raising a control line 210 to actuate the printer PR which then will provide a print-out of the data provided on the input/output DATE OUTPUT BUS IOB-O. While the printer is providing its printing function, it may signal its busy condition to the CPU by raising its busy line 212. Similarly, the video display DP is used to provide a visual display to the operator of certain messages such as commands for the operator, as well as computer output results. This is accomplished under program control by the computer raising a control line 214 to actuate the display DP to provide a visual display of the data provided on the IO DATA OUTPUT BUS IOB-O. 
     The I/O control may conventionally include a plurality of gates to perform a multiplexing function to allow one of the peripherals to communicate with the CPU. In the event that the only peripheral involved is the signal processor, then the I/O control is non-existent or at least quite simple. Thus, the signal processor could communicate essentially directly with the CPU. 
     COMPRESSION TEST 
     Reference is now made to FIG. 3 which is a curve made by connecting points which have been plotted and which are representative of interval times with respect to ring gear teeth. As will be recalled, the signal processor SP times the intervals between successive ring gear pulses so that for one engine cycle of the embodiment being described there are 236 interval times. FIG. 3 represents a plot of interval times for a normal engine which is operating without power, but is being cranked as with a starter or crank motor 15. The plot points shown in FIG. 3 are by way of illustration only, it being understood that there are some 236 such points. In the plot the upward slopes, for example from point V 6  to point P 2 , represent compression strokes on the various cylinders, whereas the downward slopes on the curve, such as from point P 2  to point V 2 , represent the power or acceleration strokes. It is to be remembered that whereas the interval time is plotted in an increasing direction in the upward direction of FIG. 3, engine speed varies in the opposite sense. 
     From the previous discussions relating to data sample collection, it is recalled that a crank marker is detected by the camshaft sensor 30 and the time interval sample taken at that time is the crank marker sample (the most significant bit is set to a binary &#34;1&#34; level). The location of this crank marker relative to a given crankshaft position is known. This is illustrated in FIG. 3 and that the number of ring gear teeth LSH from the crank marker identifies point P 2  as the top dead center crankshaft position of cylinder number 2. This then provides sufficient information for the computer to identify the top dead center crankshaft positions P 1 , P 3 , P 4 , P 5 , and P 6  of cylinders 1, 3, 4, 5, and 6 because the computer is programmed such that it knows the firing order, i.e., cylinders 1-5-3-6-2-4-1. Also, the computer can now identify the valley positions V 1 , V 2 , V 3 , V 4 , V 5 , and V 6 . 
     The plot in FIG. 4 is essentially the same as that of FIG. 3, but shows the variations which occur with a low compression fault condition existing at cylinder 4. It will be noted that the peak point P 4  &#39; is substantially lower than that of the peak point P 4  for the normal engine. Thus, what has happened is that as the piston moved in an upward direction toward its top dead center position, the time intervals became shorter and shorter with respect to that of the normal curve. This is representative of low compression in cylinder 4. This may be because of a leaky valve in the cylinder or worn rings on the piston or a faulted head gasket or perhaps a hole in the piston. Any one or combination of these faults would be responsible for a low compression condition existing at cylinder 4. 
     The computer is programmed to compare the interval times at the peaks and the succeeding valleys. With reference to FIG. 4, the computer looks at the time interval at peak point P 2  and subtracts from that value the time interval at the valley V 2  to obtain the value corresponding with compression index I 2 . The value of index I 2  is a measure of the acceleration of the piston in cylinder 2 during the stroke from the peak point P 2  to the valley point V 2 . The computer is programmed to perform this calculation for each of the cylinders to obtain the values of compression indices I 2 , I 4 , I 1 , I 5 , I 3 , and I 6 . With respect to the measurements taken for the plot of FIG. 4, it is noted that the compression index I 4  is substantially lower than that for indices I 1 , I 2 , I 3 , I 5 , and I 6 . This is because of the low compression in cylinder 4 caused by gas leaking during the compression stroke thereby providing less resistance to the movement of the piston in the upward direction and less pressure to help movement in the downward direction. 
     The computer is programmed to determine the average of the compression indices. The average compression index may be considered as I A  where: 
     
         I.sub.A =(I.sub.1 +I.sub.2 +I.sub.3 +I.sub.4 +I.sub.5 +I.sub.6)/6 (Eq. 1) 
    
     After the average compression index I A  is calculated, the computer compares the compression index of each cylinder with the average to obtain the compression ratio. Thus: 
     
         Compression ratio (cylinder 1)=I.sub.1 /I.sub.A            (Eq. 2) 
    
     This ratio then is made for each cylinder to obtain the compression ratios. Table I below is an exemplary table showing cylinder and compression ratios with a faulted cylinder 4. 
     
                       TABLE I______________________________________Cylinder            CompressionNo.                 Ratio______________________________________1                   1.035                   1.033                   1.006                   1.062                   1.024                   0.86______________________________________ 
    
     From Table I, it is seen that a compression ratio of 0.86 for cylinder 4 is indicative of low compression. 
     The computer is also programmed to compare each of the compression ratios, such as those in Table I, with a threshold for determining whether any cylinder is to be considered as being faulted. For example, if any compression ratio has a value less than 0.90, then this will be considered as a faulted cylinder. In the example being given, the threshold comparisons would indicate that such a faulted condition exists for cylinder 4. The computer will now cause a read-out as by printer PR (or by a visual display such as display DP if desired) to provide a read-out of this condition. The read-out then by the printer might state LOW COMPRESSION--CYLINDER 4. The read-out may also provide the information shown in Table I. 
     POWER PERFORMANCE 
     The power performance test is made with fuel being supplied to the engine under test and a determination is made of the power performance of the various cylinders. The power performance test may be referred to as a snap throttle test since it requires the operator to rapidly accelerate the engine as by snapping the throttle control so that the engine speeds up from some idle speed toward some higher speed. 
     The operation involved in the power performance test will now be described with reference to FIGS. 5, 6, and 7. The curve in FIG. 5 shows a plot of time intervals with respect to ring gear teeth. It is to be remembered that speed varies inversely with interval time. The plot shows a normal engine operating during the snap or full throttle condition. The test will start at some desired idle speed such as 600 rpm and the computer, sensing the engine is operating at that speed, will instruct the operator to begin the test by displaying BEGIN SNAP on the video display DP. The operator now rapidly advances the throttle to the maximum fuel position. As the speed increases, the computer continues to periodically check the engine speed for a threshold level which designates a point after which valid samples may be taken for the test procedure. The monitoring of the engine may be done in various ways, such as externally of the computer as with a tachometer or the like, or by acquiring ring gear interval times since the reciprocal of the interval time is indicative of engine speed. 
     Once the engine speed attains a level corresponding with the threshold level T 1  (see FIG. 5), the computer will commence gathering time interval samples for storage. Sufficient samples should be taken so that there are at least two crank marker samples. Once this group of samples has been taken and stored in the memory, the computer may make its diagnostic analysis of the time interval samples. At this time, the computer may also notify the operator as by displaying END SNAP on the visual display DP to alert the operator that the sampling has been completed. The operator may now reset the throttle to the minimum fuel position. 
     The interval sample containing the first detected crank marker has a known relationship to the location of the top dead center position of the first cylinder which immediately follows the crank marker. In the illustration given in FIG. 5, the distance, the ring gear teeth, is indicated as LSH from the crank marker to the top dead center of cylinder 2. Since the firing order is known; to wit, 1-5-3-6-2-4-1 etc., the interval samples in FIG. 5 may now be associated with specific power periods for the respectively associated cylinders. 
     FIG. 6 is an enlarged section of the plot of FIG. 5 for the power period for cylinder member 2. In this test, interval samples within each power period are to be compared with each other to obtain a power index PI. The power indices for the respective cylinders are then compared. The interval time samples of two points in the power period are examined. Preferably, these two points both take place during the acceleration stroke portion of the power period and, for example, with respect to FIG. 6, these points may be considered as points P A  and P B , each representative of the interval time between successive ring gear teeth at different locations on the ring gear during the power stroke. As will be recalled, the power stroke is the period during which the piston is accelerating due to the combustion of the gases above the cylinder. So as to be sure that the first point P A  is beyond the location of the top dead center an offset O 1  is added to the top dead center position LSH relative to the crank marker position. The value of offset O 1  in the ring gear teeth is dependent on the engine type being tested. This then has identified sample point P A . The next sample point P B  within this same power period, is obtained by adding an additional offset O 2  from the location of the first sample point P A . The computer is programmed to perform this function in selecting the test sample points P A  and P B . The sample point P B  in the first power period has a known distance in terms of gear teeth from the next sample P A  for the next cylinder, cylinder number 4. This offset may be termed as offset O 3 . Consequently, each sample point P A  is taken at the same relative crankshaft position in each power period, as is also true with each sample point P B . The power index PI for each cylinder is obtained by subtracting the value of the interval time at point P B  from the interval time at point P A . Thus, the power index for each cylinder is calculated in accordance with the formula: 
     
         PI=P.sub.A -P.sub.B                                        (Eq. 3) 
    
     For the six cylinder engine being discussed, the computer will now calculate, in accordance with equation 3, the power indices PI 1 , PI 2 , PI 3 , PI 4 , PI 5 , and PI 6  for cylinders 1-6 respectively. Thus, a table is obtained corresponding with Table II below. 
     
                       TABLE II______________________________________CylinderNo.                   PI______________________________________2                     PI.sub.24                     PI.sub.41                     PI.sub.15                     PI.sub.53                     PI.sub.36                     PI.sub.6______________________________________ 
    
     From an examination of Table II, the computer has now determined the acceleration (power index) contribution of each cylinder. 
     From an examination of FIG. 5, it will be apparent that as the power indices are calculated for the cylinders in the firing order of 2-4-1-5-3-6, the respective power indices associated with these cylinders will become decreasely smaller for a normal operating engine. This is because the engine is accelerating and the time required for the engine to cause the crankshaft to turn one crank position, i.e., from one ring gear position to the next, will become decreasingly smaller as the samples are taken. For a given type engine, the amount by which these power indices decrease is known since the slope of the plot of FIG. 5 is known. Thus, for example, with reference to FIG. 6, the computer can determine the speed S at which sample point P A  is taken. Since the slope of the plot in FIG. 6 is known for a normal engine, then the power index PI can be normalized or corrected from one cylinder to the next in accordance with the following formula: 
     
         PI&#39;=PI-G(S)+H                                              (Eq. 4) 
    
     where G, H are constants of the particular engine series being tested and PI&#39; is the corrected power index. The values then in Table II are now collated in accordance with Table III. 
     
                       TABLE III______________________________________CylinderNo.        PI          S          PI&#39;______________________________________2          PI.sub.2    S.sub.2    PI.sub.2 &#39;4          PI.sub.4    S.sub.4    PI.sub.4 &#39;1          PI.sub.1    S.sub.1    PI.sub.1 &#39;5          PI.sub.5    S.sub.5    PI.sub.5 &#39;3          PI.sub.3    S.sub.3    PI.sub.3 &#39;6          PI.sub.6    S.sub.6    PI.sub.6 &#39;______________________________________ 
    
     The computer will now serve to compute the average corrected power index, PI A  &#39;, in accordance with the following formula: 
     
         PI.sub.A &#39;=(PI.sub.1 &#39;+PI.sub.2 &#39;+PI.sub.3 &#39;+PI.sub.4 &#39;+PI.sub.5 &#39;+PI.sub.6 &#39;)/6                                                      (Eq. 5) 
    
     Having obtained the average value of the corrected power indices, the computer will now compare the value of each corrected power index to the average power index in accordance with the following formula: 
     
         Power index ratio=PI&#39;/PI.sub.A &#39;                           (Eq. 6) 
    
     Table IV below provides representative value of the ratios of the corrected power index for each cylinder relative to the corrected average power index. 
     
                       TABLE IV______________________________________CylinderNo.               Ratio______________________________________1                 1.055                 1.053                 1.026                 1.082                 1.044                 0.76______________________________________ 
    
     It will be noted from Table IV, that the power index ratio of cylinder 4 is indicative of a low power performance. This is represented in the plot of FIG. 7. This plot is quite similar to that of FIG. 5, but shows the variations resulting from a faulted engine with a fault being in cylinder 4. The power loss will cause the curve to be somewhat higher in FIG. 7 as indicated by the dotted line. The fault occurred in cylinder 4 because of low power performance. This may be the result of a faulty fuel system in that fuel is improperly injected into cylinder 4. 
     The computer is also programmed to compare each of the computed ratios of Table IV with a threshold. In this case, the threshold may be 0.90. If any of the power index ratios is less than 0.90, the computer will output a message identifying which cylinder exhibits an unacceptable low power level. In the example being given then, the computer would output the message LOW PERFORMANCE, CYLINDER 4. This message may be outputted by way of the visual display DP or with a read-out by means of printer PR. In addition to the low performance message, the computer will also provide an output message providing the information shown in Table IV so that the operator may have a comparative read-out of the power performance of the various cylinders. This message may likewise be provided by either the video display DP or the printer PR under computer control. In the event that the computer determines that the ratio comparison against the threshold level is satisfactory, then the display will be ENGINE PASS PERFORMANCE TEST. This message may be displayed as with the video display DP or printer out by the printer PR. This completes the power performance test. 
     Whereas the invention has been described with respect to a preferred embodiment, it is to be appreciated that various modifications may be made within the scope of the appended claims.