Patent Number: 
Section: description

Although the present invention is sometimes described herein in the context of performing diagnostic tests on an outboard engine, the present invention can be utilized in connection with diagnostic tests for many different types of engines, including automobile engines. For example, and although the present invention is described herein in connection with an engine that includes fuel injection, the invention can be utilized in connection with engines that include any one of a wide variety of fuel injection mechanisms, electrically powered engines and in engines that include other fuel or energy supply systems. In addition, the methods and apparatus for enabling operator selection of a language as described herein can be utilized in many different applications in addition to diagnostic testing. The present invention is not limited to use in connection with only outboard engine diagnostic test operations. FIG. 1 is a block diagram of an engine 10 and an external computer 12 coupled to engine 10. Engine 10 is, in one embodiment, an internal combustion engine including fuel injection, such as an Evinrude outboard engine commercially available from Bombardier Motor Corporation of America, Waukegan, Ill. As explained above, engine 10 may be an automobile engine, or any other type of engine which can benefit from the use of diagnostic software. Engine 10 includes an electronic control unit (ECU) 14 coupled to engine components such as engine ignition 16 and fuel injectors 18, which can be conventional or non-conventional. Generally, ECU 14 controls operation of engine 10 and provides information to the operator by controlling various indicator lights in gauges. ECU 14 controls operation of engine 10 by, for example, controlling firing of spark plugs via ignition 16 and controlling supply of fuel to the engine cylinders via injectors 18. Computer 12 is a diagnostic computer that is coupled by a command/data link 25 to ECU 14 for use by a diagnostic operator or repairman for servicing engine 10. Computer 12 includes a microprocessor 20 coupled to a random access memory (RAM) 22 and a read only memory (ROM) 24. Computer 12 also has a monitor 21 with a display screen 23. In one embodiment, computer 12 is a battery-powered laptop computer, and processor 20 is a 286 MHz MSDOS processor. Of course, other operating systems such as MacOS, Linux or Windows NT could be used. Likewise, higher speed processors such as 386 MHz, 486 MHz, Pentium, PentiumII, Cyrix, AMD, Celeron or other more modern processor may be used. Also, ROM 24 includes, in one embodiment, at least 400 kilobytes of available memory. However, the required amount of memory depends upon the program in which the present invention is associated. Computer 12 also includes, for example, a monochromatic or color display 23 and a keyboard 25 for entry of user commands and data Many other types and models of computers can be used, and the present invention is not limited to practice in connection with any one particular type of computer. Commands, programs and data are transmitted from microprocessor 20 to ECU 14 via link 25. Commands, programs and data are transmitted from ECU 14 to processor 20 via link 25. For some operations, only commands will be sent and for other operations only data will be sent. Programs may be sent only on start-up or may be sent periodically as various functions all are selected and activated. As described hereinafter in more detail, ROM 24 includes text files 26 and database files 28. Files 26 and 28 are loaded into ROM from a CD, a high-capacity disk such as a xe2x80x9cZIP diskxe2x80x9d, xe2x80x9cJAZZ diskxe2x80x9d or xe2x80x9cSuper Diskxe2x80x9d, or just a standard floppy disk, e.g., a 1.44 Meg 3xc2xd inch floppy disk, depending primarily upon the size and complexity of the files 26 and 28. Text files 26 contain the text for various screen displays to be shown on the display of computer 12. Although the term xe2x80x9ctext filesxe2x80x9d is used, it will be understood that this term means any file containing data which can be read by computer 12 to cause the display of textual material, or screen displays, on display screen 23. Database files 28 contain the fault codes and other information to be utilized in connection with diagnostic operations. By having text files 26 external separate from the program, no display text internal to the program is required, and there is no need to recompile the program just for a language change. That is, if an operator wants the screens displayed in a different language from the current language (e.g., the operator wants the screen displays in French rather than English), the operator simply follows the steps described below and the program then utilizes the text files corresponding to the selected language to generate screen displays. Prior to operation, the diagnostic software program is loaded into computer 12 from, for example, a floppy disk. An install program is run to cause the diagnostic program, including text files and data bases, to be loaded into ROM 24. In one specific exemplary embodiment, sixteen text files are used for storing text associated with eight different languages such as, for example, English, Francais (French), Espanol (Spanish), Portuguese, Deutsch (German), Italiano (Italian), Swedish, and Finnish. Any multiple number of languages could be used. Upon initialization of the diagnostic program now stored in computer 12, microprocessor 20 uploads from ROM 24 and into RAM 22 text files 26 having the screen display information in English, and causes a screen display 30 (shown in FIG. 2) to be shown on the display screen 23. Although the default language in the embodiment described herein is English, the default language could be any one of the languages for which text files exist. Screen display 30 provides three options 1) (FFI DIAGONOSTICS), 2) (SERVICE UTILITIES) OR X (EXIT PROGRAM). Upon receiving an input indicating that an operator has pressed a 1 key on keyboard 25 in response to the display 30, processor 20 causes a screen display 50 as shown in FIG. 3 to be shown on the computer display. If the operator desires at this stage to configure the computer for a non-English language, the operator may enter a setup program by pushing the F3 key on keyboard 25. Upon receiving an input indicating that an operator has pressed the F3 key on keyboard 25, processor 20 then causes a screen display 52 as shown in FIG. 4 to be shown on the computer display. An operator can then select 1 (SELECT LANGUAGE), 2 (CHANGE COMM PORT), or x (EXIT SETUP) on keyboard 25. If the operator selects a 1, then processor 20 causes a language selection screen display 54 as shown in FIG. 5 to be shown on display screen 23. When screen display 54 is being displayed on-screen 23, an operator can then select 1 (ENGLISH), 2 (FRANCAIS), 3 (ESPANOL), 4 (PORTUGUESE), 5 (GERMAN), 6 (ITALIAN), 7 (SWEDISH), 8 (FINNISH) or x (EXIT) on keyboard 25. For example, if the operator selects 2, i.e., French, then microprocessor 20 uploads from ROM 24 the text file(s) corresponding to French text into RAM 22. That is, the text files from the selected language are copied over the text files currently stored in RAM 22. Processor 20 when generating screen displays then subsequently uses the most recently uploaded text files and returns the operator to screen display 50 (shown in FIG. 3). Upon pressing any key on keyboard 25 while screen 50 is displaying, computer 12 displays the main menu screen display 56 (shown in FIG. 6). Generally, and in some diagnostic testing operations, microprocessor 20, in response to operator commands, instructs ECU 14 to energize certain selected components to verify operation, e.g., to verify operation of ignition 16 and fuel injectors 18. In verifying operation of ignition 16, for example, a command from processor 20 causes ECU 14 to fire a respective ignition circuit, and the operator can observe whether the circuit does, in fact, fire. In one embodiment the portion of the ignition preceding the ignition coil is all in ECU 14, so that ECU 14 may electrically determine if the ignition coil, is working properly. This allows the ECU to determine whether it is spark plugs or ignition coil that is causing any observed failure to fire. In other diagnostic testing operations, microprocessor 20 instructs ECU 14 to display various operating conditions of engine 10. FIGS. 6-10 illustrate screen displays associated with performing an ignition coil test. After performing the program set-up operations as described above, processor 20 causes main menu screen display 56 as shown in FIG. 6 to be displayed on the computer display. If, for example, the operator desires to perform a static test, the operator presses the 2 key on keyboard 25. Upon receipt of data indicating the user selection, processor 20 executes the routine associated with the selected test. Particularly, upon receiving an input corresponding to the user selection of 2, processor 20 causes a static testing menu screen display 58 as shown in FIG. 7 to be displayed. The operator can then select one of four tests by selecting 1-4, or can exit by selecting x. If the operator desires to test ignition firing, the operator selects 2. It will be understood that any number of static tests could be performed, and that the four tests shown in FIG. 7 are only exemplary. Upon receipt of the user selection of 2, processor 20 causes a warning screen display 60 as shown in FIG. 8 to be displayed. The operator can then continue by either canceling the test by selecting  less than ESC greater than , or proceeding with the test by selecting any other key of keyboard 25. If processor 20 receives an input indicating that the operator desires to continue with testing, then processor 20 causes a message screen display 62 as shown in FIG. 9 to be displayed. The message instructs the operator to remove all spark plug leads and to connect the leads to a spark tester and to set the air gap. Once the operator has carried out the instructions, the operator continues by pressing any key of keyboard 25. Upon receipt of an input indicating that the operator has performed the instructed tasks, processor 20 then causes an ignition selection screen display 64 as shown in FIG. 10 to be displayed. The operator can then cause any of the ignition circuits to fire by selecting 1-6, or can exit by selecting x. The numbers 1-6 correspond to respective cylinders of a six cylinder engine. For example, if the operator selects 2, processor 20 communicates to ECU 14 that the ignition circuit, or coil, corresponding to cylinder #2 should fire. The operator can then observe whether a spark is generated by such ignition circuit by observing the spark tester after making the selection. In addition to static tests, tests of the engine under operating conditions can be performed. In prior versions of diagnostic software for such applications, it was necessary to reduce the engine speed to idle before running the diagnostic software test for the engine under operating conditions. Accordingly, in those versions a screen warning was presented warning the operator to reduce the speed to title before proceeding with the remaining diagnostic tests. However, the software has now been upgraded to allow the running of the diagnostic tests at full speed, so that warnings no longer appear. The diagnostic software in one embodiment also provides a screen display 66 (shown in FIG. 11) of the operation the engine 10 divided into a sensor section 68, a switches section 70, a voltage section 72 and the results section 74. Sensor section 68 displays air temperature, water temperature, ECU temperature, ignition duration, and TPS (throttle position sensor) actual and calculated values when connected to a water cooled ECU. With a water-cooled ECU, such indications are very important to determine whether or not the ECU is being properly cooled by the water coolant system. ECU malfunctions caused by coolant system malfunctions can now be identified and corrected without destroying a replacement ECU in order to determine that the ECU is not the problem. In one embodiment section 68 displays not only the temperature in degrees Fahrenheit, but also the temperature in degrees Centigrade and the voltage output of the temperature sensor involved. This allows the diagnostic operator to determine if the sensor is working properly by checking to see if proper voltage signals are being provided by the sensors. This section 68 also allows the diagnostic operator to determine if the temperature of air, water and ECU are high or low. Section 70 provides indication of various switch conditions such as overheat, oil pressure within limits, shift interrupt or activated, water found in fuel, and whether or not the engine is in S.L.O.W. Section 72 provides the current voltage is for the alternator, both in the 12 volt and the 26/46 volt portions. Section 74 includes engine speed, ignition timing, spark duration, fuel injection timing, fuel pulse width and barometric pressure. The presence of all these conditions in a single screen display is of particular value to the diagnostic operator or service repairman. If, instead of selecting key 1 in response to screen display 30 (shown in FIG. 2), the operator selects key 2 to select service utilities programs, screen 74 (shown in FIG. 12) appears. This screen display 74 is the service utilities menu and allows the operator to select from four subprograms 1) SERVICE REPORTS, 2) INJECTOR INFORMATION, 3) SERVICE ECU, and 4) RETURN TO PROGRAM SELECTION MENU. If the operator presses key 1 of keyboard 25 to call up the service reports sub program, the service report menu screen display 76 (shown in FIG. 13) will be displayed. This menu gives the operator six choices 1) VIEW CURRENT ECU REPORT, 2) SAVE CURRENT ECU REPORT, 3) PRINT CURRENT ECU REPORT, 4) VIEW SAVED REPORT, 5) PRINT SAVED REPORT, 6) RETURN TO SERVICE UTILITIES MENU. If the operator then presses key 1 of keyboard 25, a very complete two-page ECU printout, as shown in FIG. 14 and FIG. 15, is provided. If the operator presses key 2 of keyboard 25 in response to screen 74 (shown in FIG. 12), injectors information screen display 82 (shown in FIG. 16) is displayed on screen 23. Screen display 82 provides the serial number of each injector for each cylinder of engine 10. This allows the operator to verify that the proper type of injector is installed in engine 10. If an incorrect injector, for example injector 1, is detected, a replacement can be installed and the screen 82 will automatically indicate by a second screen display 84 (shown in FIG. 17) that such injector 1 has been replaced. If the operator determines that replacement of the ECU 14 is required, the operator obtains screen display 74 (shown in FIG. 12) as described above, and presses key 3 on keyboard 25 to call screen display 86 (shown in FIG. 19) on display screen 23. Screen display 86 is a warning screen that advises the operator of the operations that must be performed before the ECU can be replaced using the diagnostic software properly. The operator now confirms that the required operations have been performed and ECU 14 is ready to be replaced. Upon such confirmation, the operator presses any key of keyboard 25 to cause microprocessor 20 to transfer all of the specific ECU information from the replaced ECU into microprocessor 20 and, upon completion of such information transfer, to call up screen display 88 (shown in FIG. 20) indicating successful transfer. Screen display 88 further instructs the operator to now turn the ignition key off, replace the existing ECU with the replacement ECU, and turn the ignition key back on and then press any key the keyboard 25. Upon sensing that a key has been pressed on keyboard 25, microprocessor 20 now transfers the stored information from microprocessor 20 relative to the existing ECU into the replacement ECU and calls up screen display 90 (shown in FIG. 21) to indicate the successful completion of the information transfer from the existing ECU into the new replacement ECU. From the preceding description of various embodiments of the present invention, it is evident that the objects of the invention are attained. Although the invention has been described and illustrated in detail, it is to be clearly understood that the same is intended by way of illustration and example only and is not to be taken by way of limitation. Accordingly, the spirit and scope of the invention are to be limited only by the terms of the appended claims.