Abstract:
A system and a machine-implemented method for rendering, on a display device, a first data graph concerning data received from a first data source. A second data graph concerning data received from a second data source is rendered on the display device, and superimposed onto the first data graph to generate a superimposed data graph.

Description:
TECHNICAL FIELD  
       [0001]     This disclosure relates to vehicular diagnostic data analysis systems and methodologies and, more particularly, to vehicular diagnostic data analysis systems and methodologies that allow for the superimposition of data from multiple data sources.  
       BACKGROUND  
       [0002]     When diagnosing problems, technicians often use modem test equipment that provides the technician with graphical representations of data concerning the system being analyzed. For example, when analyzing the ignition system of a vehicle, an automotive technician is typically provided with data graphs representing the ignition signal (provided by the ignition system) to each of the vehicle&#39;s spark plugs. These data graphs may be displayed sequentially (i.e., one spark plug at a time) or simultaneously (i.e., all spark plugs at the same time). Further, in addition to ignition signals, other data signals may be monitored (e.g., coolant temperature signals, emission control signals, and fuel injector signals, for example), and it is often desirable to simultaneous display these signals so that the signals can be compared and their interaction researched.  
       SUMMARY OF THE DISCLOSURE  
       [0003]     In one implementation, a method includes rendering, on a display device, a first data graph concerning data received from a first data source. A second data graph concerning data received from a second data source is rendered on the display device, and superimposed onto the first data graph to generate a superimposed data graph.  
         [0004]     One or more of the following features may also be included. Additional data graphs may be rendered on the display device, each of which concerns data received from an additional data source, and superimposed onto the first data graph. The x-axis of the first data graph, the x-axis of the second data graph, and the x-axis of the superimposed data graph are each divided into increments having a common time unit value.  
         [0005]     The y-axis of the first data graph may be divided into increments having a first increment unit value, the y-axis of the second data graph may be divided into increments having a second increment unit value, and the y-axis of the superimposed data graph may be divided into increments having both the first increment unit value and the second increment unit value.  
         [0006]     Superimposing the second data graph may include repositioning the second data graph onto the first data graph to generate the superimposed data graph. Superimposing the second data graph may include rendering a menu structure, on the display device, that allows the user to select the second data graph for superimposition onto the first data graph to generate the superimposed data graph.  
         [0007]     An external control system that collects the data received from the first and second data sources may be interfaced. The external control system may be an electronic control unit of a motor vehicle. At least one of the data sources may be a sensor incorporated into the motor vehicle. One or more of the data graphs may be stored on a local or remote data store. One or more of the data graphs may be retrieved from the data store.  
         [0008]     The first data source may be a baseline data file for a specific data sensor, and the second data source may be an actual data source from the specific data sensor. The baseline data file may be retrieved from a local or remote data store.  
         [0009]     In another implementation, a method includes rendering, on a display device, a plurality of data graphs, each of which concerns data received from a different data source. A single data graph is selected from the plurality of data graphs, and at least a portion of the remaining plurality of data graphs are superimposed onto the selected single data graph to generate a superimposed data graph.  
         [0010]     In another implementation, a superimposition system includes a display device for displaying a first data graph concerning data received from a first data source, and a second data graph concerning data received from a second data source. A selection device allows for the superimposition of the second data graph onto the first data graph to generate a superimposed data graph.  
         [0011]     One or more of the following features may also be included. The display device may be configured to display additional data graphs, each of which concerns data received from an additional data source. The selection device may be configured to allow for the superimposition of the additional data graphs onto the first data graph. An interface device may interface with an external control system that collects the data received from the first and second data sources. A data store may store one or more of the data graphs.  
         [0012]     The above-described methods may also be implemented as a sequence of instructions executed by a processor.  
         [0013]     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the description, the drawings, and the claims. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]      FIG. 1  is a diagrammatic view of a superimposition system coupled to a distributed computing network;  
         [0015]      FIG. 2  is a flow chart of the superimposition system of  FIG. 1 ;  
         [0016]      FIG. 3  is a schematic diagram of a motor vehicle interfaced with the superimposition system of  FIG. 1 ;  
         [0017]      FIG. 4  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 ;  
         [0018]      FIG. 5  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 ;  
         [0019]      FIG. 6  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 ;  
         [0020]      FIG. 7  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 ;  
         [0021]      FIG. 8  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 ; and  
         [0022]      FIG. 9  is a diagrammatic view of a display screen rendered by the superimposition system of  FIG. 1 . 
     
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS  
       [0023]     Referring to  FIG. 1 , there is shown a superimposition system  10  that allows a technician  12  to superimpose data from multiple data sources when analyzing a device/system. In this example, the device/system being analyzed by technician  12  is a motor vehicle  14  (e.g., a car, truck or motorcycle). However, it is understood that superimposition system  10  may be used with any device/system (e.g., various electronic devices, air handling systems, security system and power control systems, for example) for which data analysis is needed.  
         [0024]     Superimposition system  10  typically resides on and is executed by handheld scanning device  16  (e.g., a Snap-On MODIS Modular Diagnostic Information System™) or a modular diagnostic system  18  (e.g., a Sun Diagnostics SMP-4000 Modular Platform™)  
         [0025]     Scanning device  16  (or diagnostic system  18 ) maybe a stand-alone system (i.e., a system that locally stores any required customer data) or a network-based system (i.e., a system that remotely stores at least a portion of any required customer data). If a networked system, scanning device  16  (or diagnostic system  18 ) may use network  20  to access remote server  22  that remotely stores at least a portion of the customer data (which will be discussed below in greater detail) on a remote storage device  24  (e.g., a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM), for example). Scanning device  16  (or diagnostic system  18 ) may be hardwired (e.g., unshielded twisted pair, coaxial cable, or fiber-optic cable, for example) or wirelessly connected (e.g., 802.11a, 802.11b, or 802.11g, for example) to network  20 .  
         [0026]     Remote server  22  may be a web server running a network operating system, such as Microsoft Window 2000 Server™, Novell Netware™, or Redhat Linux™. Typically, remote server  22  also executes a web server application, such as Microsoft IIS™, Novell Webserver™, or Apache Webserver™, that allows for HTTP (i.e., HyperText Transfer Protocol) access to remote server  22  via network  20 . Further, if scanning device  16  (or diagnostic system  18 ) is networked, additional devices  26 ,  28 ,  30  may also be connected to remote server  22  (via network  20 ), allowing multiple systems  16 ,  26 ,  28 ,  30  to share the customer data stored on remote server  22 .  
         [0027]     The instruction sets and subroutines of superimposition system  10 , which are typically stored on a storage device  32  coupled to scanning device  16  (or diagnostic system  18 ), are executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into scanning device  16  (or diagnostic system  18 ). Storage device  32  may be a hard disk drive, a tape drive, an optical drive, a RAID array, a random access memory (RAM), or a read-only memory (ROM), for example.  
         [0028]     Referring also to  FIG. 2 , when using superimposition system  10 , technician  12  interfaces  100  scanning device  16  (or diagnostic system  18 ) with the control system of the device/system (e.g., motor vehicle  14 ). As discussed above, while the device/system is shown to be a motor vehicle  14 , it is understood that superimposition system  10  may be used with other types of devices/systems, such as various electronic devices, air handling systems, security system and power control systems, for example.  
         [0029]     Referring also to  FIG. 3 , there is shown a schematic-representation  150  of the electrical system of motor vehicle  14 , illustrating the interconnection of various components, such as: throttle position sensor (TPS)  152 ; crank trigger  154 ; engine temperature sensor  156 ; manifold absolute pressure (MAP) sensor  158 ; electronic control unit (ECU)  160 ; fuel pump  162 ; fuel pump control system  164 ; fuel injectors  166 ; injection control system  168 ; ignition system  170 ; ignition control system  172 ; emission gas recirculation (EGR) valve  174 ; EGR control system  176 ; air conditioning (AC) controller  178 ; AC relay  180 ; low pressure (LP) cutoff  182 ; and AC compressor  184 , for example.  
         [0030]     The components shown in schematic diagram  150  may be electrical components (e.g., temp sensor  156 ), electrical-mechanical components (e.g., AC relay  180 ), or a portion of a wiring harness (e.g., wiring harness  186 ).  
         [0031]     As discussed above, the control system (e.g., ECU  160 ) of motor vehicle  14  is interfaced with scanning device  16  (or diagnostic system  18 ) so that data stored on ECU  160  may be retrieved by scanning device  16  (or diagnostic system  18 ). Typically, scanning device  16  (or diagnostic system  18 ) is interfaced to ECU  160  using a multiconductor cable  188  that is temporarily coupled to a service port (not shown) on the wiring harness of motor vehicle  14 . However, other interface techniques (e.g., 802.11a, 802.11b, 802.11g, and infrared coupling, for example) are foreseeable and considered to be within the scope of this disclosure.  
         [0032]     Typically, during operation of motor vehicle  14 , the sensing components (e.g., TPS  152 ; crank trigger  154 ; engine temperature sensor  156 ; and/or MAP sensor  158 ) provide data to ECU  160 . Additionally, other componets of the system (e.g., EGR valve  174 ) may also provide a status feedback signal (i.e., data) to ECU  160 . These various data signals are stored (on a temporary or permant basis) on memory storage devices (e.g., registers, RAM architectures and/or ROM architectures, not shown) within ECU  160 . For example, data within a normal operating range may be temporarily stored, and data outside of the normal operating range (e.g., excessively-high engine RPM, excessively-high vehicle speed, extreme overheating conditions and/or extended low oil pressure conditions, for example) may be stored for warranty/diagnostic purposes.  
         [0033]     When data signals are stored on ECU  160 , the data signals are typically downloadable (via e.g., cable  188  coupled to the wiring harness service port, not shown) and displayable on display device  34  of scanning device  16  (or diagnostic system  18 ). These data signals maybe be presented as text-based data (as shown in  FIG. 4 ) or graphically.  
         [0034]     Referring also to  FIG. 5 , there is shown a typical graphical display  200  rendered  102  on display device  34  (e.g., a CRT screen, an LCD screen, an LED display, or an LCD display, for example) of scanning device  16  (or diagnostic system  18 ). When displaying data graphically, the data signals are typically plotted on an X-Y coordinate grid in which the X-axis corresponds to time and the Y-axis corresponds to the values being measured. For example, graphical display  200  includes two separate graphs, the first graph being an “Coolant Temperature” graph  202  and the second graph being a “Mixture Enrichment Signal” graph  204 . For both graphs  202 ,  204 , the x-axis  206 ,  208  (respectively) corresponds to time, and the line representing the data signal scrolls to the right (in the direction of arrow  210 ) as time passes.  
         [0035]     When configuring superimposition system  10 , the granularity of the x-axis increments may be varied to provide the desired level of historical data. For example, if the horizontal resolution is set relatively low (e.g., each increment equals one minute of time), graphs  202 ,  204  would provide technician  12  with just over nine minutes of historical data. However, if the horizontal resolution is set relatively high (e.g., each increment is equal to one second), graphs  202 ,  204  would only provide technician  12  with just over nine seconds of data.  
         [0036]     Accordingly, when monitoring data signals that vary slowly (e.g., coolant temperature signals), it may be desirable to utilize a relatively low horizontal resolution, thus expanding the time axis (i.e., the x-axis) and the enhancing the ability to track variables that change slowly with respect to time (i.e., have a lower mathematical derivative).  
         [0037]     Conversely, when monitoring data signals that vary quickly (e.g., ignition signals), it may be desirable to utilize a relatively high horizontal resolution, thus shortening the time axis (i.e., the x-axis) and the enhancing the ability to track signals that change quickly with respect to time (i.e., have a higher mathematical derivative).  
         [0038]     As graph  202  is a time-based graphical representation of the coolant temperature, the y-axis  212  of graph  202  is divided into degree-based increments. As graph  204  is a time-based graphical representation of the mixture enrichment signal, the y-axis  214  of graph  204  is divided into percentage-based increments.  
         [0039]     Quite often, multiple data signals are loosely interrelated. For example, the “Coolant Temperature” signal (i.e., graph  202 ) is interrelated to the Mixture Enrichment Signal” (i.e., graph  204 ), in that when an engine is cold (i.e., the coolant temperature is low), the air/fuel mixture must be enriched (i.e., more fuel) to ensure adequate performance during the warm-up period. Accordingly, when the “Coolant Temperature” signal is low, the “Mixture Enrichment Signal” is typically high. And, conversely, when the “Coolant Temperature” signal is high, the “Mixture Enrichment Signal” is typically low.  
         [0040]     It may be desirable to superimpose a first data graph (e.g., data graph  202 ) onto a second data graph (e.g., data graph  204 ) so that the relationship of the two signal can be further examined. Accordingly, superimposition system  10  allows technician  12  to superimpose  104  multiple data graphs. This superimposition may occur in various ways.  
         [0041]     For example, using pointer  216  controlled by a pointing device (e.g., a mouse, trackball, or touch screen device, not shown), technician  12  may select (e.g., click on) the appropriate graph to be superimposed and reposition  106  (i.e., “drag”) the selected data graph onto another data graph, creating superimposed data graph  250 , as shown in  FIG. 6 . For example, technician  12  may click on data graph  202  and reposition  106  data graph  202  onto data graph  204 . Typically, superimposition system  10  will “snap” the repositioned data graph to the appropriate position on the base graph so that the axes origin of each data graph are aligned.  
         [0042]     Superimposed data graph  250  typically includes a legend  252  that correlates the name of the data graph with the line-type used to represent that data graph. For example, the “Coolant Temperature” data graph  202  is shown using a “- - - -” line type and the “Mixture Enrichment Signal” data graph  204  is shown using a “- . - . -” line type.  
         [0043]     When superimposing multiple data graphs (e.g., data graphs  202 ,  204 ), the resolution of the x-axis of both data graphs (i.e., x-axes  206 ,  208 , respectively) are ideally the same, as this allows for the graphical syncing of various time-based events. However, the resolution/incrementation of the y-axis of each graph may vary. Continuing with the above-stated example, once data graph  202  is superimposed onto data graph  204 , the resulting superimposed data graph  250  may include multiple y-axes (e.g., axes  212 ,  214 ) to accommodate data graphs having different y-axis resolution or incrementation. Alternatively, a single y-axis may be used that is incremented in multiple ways (e.g., degrees and percentages, not shown).  
         [0044]     Referring to  FIG. 7 , in addition to the repositioning method described above, superimposed data graph  250  made be generated via menu-driven commands selected from a drop-down menu. For example, if technician  12  wanted to superimpose data graph  202  onto data graph  204 , technician  12  may select e.g., “View” from title bar  300  of graphical display  200  using pointer  216 . Superimposition system  10  would then render  108  drop-down menu  302  and technician  12  may select “Superimpose”, resulting in the rendering of a secondary drop-down menu  304 . If the user selects e.g., “DS2 onto DS1”, data graph  202  would be superimposed onto data graph  204 , resulting in the generation of the above-described superimposed data graph  250 . Typically, secondary drop-down menu  304  includes sufficient menu items to cover various superimposition options, such as a menu item that would superimpose all data graphs onto a single data graph, or only a portions of data graphs onto a single data graph.  
         [0045]     Referring also to  FIG. 8 , technician  12  may also separate superimposed data graphs (e.g., superimposed data graph  250 ) by selecting “separate” on drop-down menu  302 . This action, in turn, will result in the splitting of superimposed data graph  250  into separate data graphs (e.g., data graphs  202 ,  204 ).  
         [0046]     In addition to rendering and displaying data graphs based on data signals retrieved from ECU  160 , superimposition system  10  allows technician  12  to save  110  and retrieve  112  various data graphs. Referring also to  FIG. 9 , by selecting “save” from drop-down menu  350  (rendered by superimposition system  10 ), technician  12  may save  110  one or more of the data graphs shown on graphical display  200 . These data graphs may be saved on local storage device  32  or (if scanning device  16  or diagnostic system  18  are networked) on remote storage device  24 .  
         [0047]     Further, by selecting “retrieve” from drop-down menu  350 , technician  12  may retrieve  112  the data graphs previously saved, thus allowing technician  12  to compare the data graph of previously recorded data signals to the data graph of currently available data signals. In addition to being able to retrieve previously-recorded data graphs, technician  12  may retrieve  114  diagnostic data graphs for a particular component of vehicle  14 . For example, if technician  12  suspected that e.g., the ignition control system  172  was malfunctioning due to a suspect feedback signal being provided to ECU  160 , technician  12  may retrieve  114  (from local storage device  32  or remote storage device  24 ) a diagnostic data graph (i.e., a baseline data file) that graphically displays the ideal feedback signal that should be provided to ECU  160  from ignition control system  172 .  
         [0048]     As described above, this diagnostic data graph may then be superimposed over the actual data graph of the feedback signal (provided by ignition control system  172 ) so that the technician can compare the two signals and diagnose the problem.  
         [0049]     While only two data graphs are shown to be included in graphical display  200 , this is for illustrative purposes only, as the number of individual data graphs rendered may be increased based on the requirements of technician  12 . Additionally, as superimposition system  10  is capable of displaying these additional data graphs, they may also be superimposed upon other graphs. For example, if superimposition system  10  rendered eight individual data graphs, seven of these data graphs may be superimposed upon the eighth graph, resulting on one graph displaying the information of the eight individual data graphs.  
         [0050]     While the two data graphs included in superimposed data graph  250  are shown using different line types (one a dashed line and the other a dash-dot line), other configurations are possible. For example, the two data graphs may be shown using different colors (e.g., red and blue), thus allowing for easy differentiation between the data graphs.  
         [0051]     The embodiments described herein may include or be utilized with any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current and/or voltage, such as about 12 Volts, about 42 Volts and the like.  
         [0052]     The embodiments described herein may be used with any desired system or engine. Those systems or engines may comprise items utilizing fossil fuels, such as gasoline, natural gas, propane and the like, electricity, such as that generated by battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof. Those systems or engines may be incorporated into other systems, such as an automobile, a truck, a boat or ship, a motorcycle, a generator, an airplane and the like.  
         [0053]     A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.