CROSS REFERENCE TO RELATED APPLICATIONS
-
This application is a divisional application of U.S. application Ser. No. 09/430,228, filed Oct. 29, 1999, which claims the benefit of provisional U.S. patent application No. 60/134,326 filed May 14, 1999 and U.S. provisional patent application No. 60/109,716 filed Nov. 24, 1998.[0001]
-
[0002] A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
-
This invention relates generally to engines and, more particularly, to performing engine diagnostics using a computer. [0003]
-
Many known internal combustion engines for use with watercraft include an electronic control unit (ECU) for controlling at least some operations of the engine. In a typical implementation, an ECU is electrically connected to engine components such as the engine ignition, lubrication pumps, water circulation system (if any) and fuel injectors. The ECU controls timing of the engine ignition and fuel injection in accordance with a pre-programmed control program. [0004]
-
In order to determine whether an engine is operating properly, and to assist in diagnosing an engine failure, an external computer can be coupled to a communications port of the ECU. A diagnostic program implemented in computer software, such as the BMCA FFI engine diagnostic software available from Bombardier Motor Corporation of America, Waukegan, Ill., is loaded in the external computer. Fault codes stored in the ECU memory are read by the external computer, and the fault codes are indicative of certain messages that are then displayed to the operator. In addition, an operator may input commands via a keyboard of the computer and/or touch screen, and based on the operator inputs, the external computer instructs the ECU to run diagnostic tests on the engine. [0005]
-
Outboard engines are sold in many different countries, and the diagnostic software interface should be capable of displaying text messages in at least one of many different languages. Generating many different software versions that display text messages in different respective languages can be costly. For example, tracking and delivering diagnostic software to many different customers worldwide in accordance with the language needs of each specific customer is burdensome and error prone. [0006]
-
In addition to fault codes, other information such as engine speed, battery voltage and alternator voltage can be displayed on various separate screens. Use of these separate screens, however, can be cumbersome. [0007]
-
Current diagnostic software requires the throttle to be reduced to idle in order to run the diagnostic software package. Current diagnostic software also does not provide a service report which can be printed immediately or saved in a computer. This leaves both the customer and repairmen with less than full information. [0008]
-
Replacement of the ECU is complicated due to the need to customize the ECU to the particular engine. The need to customize the ECU makes it a time consuming repair operation and thus increases the cost to the customer of repairs involving replacement of the ECU. [0009]
-
If the diagnostic software is used on engines having fuel injectors, there has previously been no way to verify that the ECU is customized to the proper fuel injectors except for running operational tests and determining if the fuel injectors are working properly. [0010]
BRIEF SUMMARY OF THE INVENTION
-
The present invention, in one aspect, is a method for operating a computer to display text messages in any one of a plurality of selectable languages. Text files for each selectable language are stored in the non-volatile memory of the computer, and based on an operator selection, text files corresponding to the selected language are copied from non-volatile memory to the computer random access memory (RAM). The text files in RAM are utilized by the computer processor to generate screen displays. [0011]
-
More specifically, a typical computer includes a processor, a random access memory (RAM), and a non-volatile memory such as a read only memory (ROM). The RAM and the ROM are coupled to the processor. Text files corresponding to various selectable languages are stored in ROM, and a default language is copied from ROM into RAM. The processor, after start-up of the computer and initialization of the program, generates screen displays using the text file stored in RAM. [0012]
-
If an operator desires to have the screen displays in one of the other selectable languages, then upon receipt of the appropriate command, the text file or files corresponding to the desired language are copied from ROM into RAM, and the processor then uses newly copied text files in RAM to generate the screen displays. As a result, the screen displays are in the user selected language. [0013]
-
In addition to the language improvements, the diagnostic software, in one embodiment, improves the display of air temperature, water temperature, ECU temperature, ignition duration and TPS actual values when connected to a water cooled ECU. [0014]
-
In one embodiment, the diagnostic software allows starting of software with the engine at running speed, provides a full-service report, permits copying of engine-specific information from an original ECU into a service replacement ECU, and enables fuel injector serial numbers to be identified.[0015]
BRIEF DESCRIPTION OF THE DRAWINGS
-
FIG. 1 is a block diagram of an engine and an external computer coupled to the engine. [0016]
-
FIG. 2 illustrates an initial screen display for permitting an operator to select between a diagnostic program and a service utilities program. [0017]
-
FIGS. [0018] 3-5 illustrate screen displays for enabling an operator to select operation of an engine diagnostic program in a desired language.
-
FIGS. [0019] 6-10 illustrate screen displays associated with performing an ignition coil test.
-
FIG. 11 illustrates an engine operation screen display. [0020]
-
FIGS. 12 and 13 are engine service utility screen displays. [0021]
-
FIGS. 14 and 15 illustrate ECU printouts. [0022]
-
FIGS. 16 and 17 illustrate injector information screen displays. [0023]
-
FIGS. [0024] 18-21 illustrate ECU service screen displays.
DETAILED DESCRIPTION OF THE INVENTION
-
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. [0025]
-
FIG. 1 is a block diagram of an [0026] 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.
-
[0027] 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.
-
[0028] Computer 12 is a diagnostic computer that is coupled by a command/data link 27 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 [0029] microprocessor 20 to ECU 14 via link 27. Commands, programs and data are transmitted from ECU 14 to processor 20 via link 27. 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, [0030] 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 “ZIP disk”, “JAZZ disk” or “Super Disk”, or just a standard floppy disk, e.g., a 1.44 Meg 3½ 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 “text files” 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 [0031] 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 [0032] 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 [0033] 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 [0034] 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 [0035] 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, [0036] 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. [0037] 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, [0038] 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, [0039] 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 <ESC>, or proceeding with the test by selecting any other key of keyboard 25.
-
If [0040] 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, [0041] 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. [0042]
-
The diagnostic software in one embodiment also provides a screen display [0043] 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 [0044] 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 [0045] 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 [0046] 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 [0047] 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. [0048]