Abstract:
A system and method are disclosed providing improved maintainability for CNC machine tools with serviceable parts. An electronic manual with video, audio, and textual information is stored in memory on a computer system integrated with the CNC tool control. A first register in computer system memory stores predetermined cycle value for at least one serviceable part. A service clock accumulates information collected from tool movement data monitored using the CNC machine tool control in a second register. Maintenance events are indicated for at least one serviceable part based on a comparison of first and second register contents. A graphical display with a graphical representation of the CNC machine shows where the maintenance event has occurred and where maintenance is required with an accompanying alarm indication. Such an indication may be a visual alarm indication superimposed on the graphical display in proximity to location of maintenance event. Text, video, and audio information and instructions representative of steps involved in maintenance event are retrieved from the electronic manual in response to an alarm indication and displayed on a computer screen including a graphical display. Information from the electronic manual is further accessed in a general access mode for training or general information purposes using Hypertext link search.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The subject matter of the present application is related to co-pending application Ser. No. 08/624,874 entitled: &#34;System for Monitoring CNC Machine Controllers&#34; filed on Mar. 27, 1996. 
    
    
     FIELD OF THE INVENTION 
     The present invention is in the field of Computer Numerical Control (CNC) machine. In particular, the present invention is a system and method related to the maintenance and repair of a CNC machine. 
     BACKGROUND OF THE INVENTION 
     Modern CNC machine controls are more sophisticated and packed with more features than ever before. They are more frequently used to perform a wider variety of jobs. This gives rise to the need for more frequent maintenance work since periodic service intervals or cycle values are reached sooner. Furthermore, there is a lack of consistency of wear between tool parts caused by the wide variety of tool movements possible for any given piece or series of pieces that the tool machines. Since some parts receive more or less wear than others and at varying intervals, difficulties arise in tracking hours of use on a part-by-part basis. Traditional methods of calculating part wear based on gross hours of use for the entire machine are therefore inadequate and inefficient. 
     Further complicating the task of calculating and tracking wear on machine parts is the difference in measurement units between different types of parts. For certain drive motors, for example, cycle values may be measured in terms of hours, while for other parts such as bearings, tracks and the like, cycle values may be determined by total distance of travel along a track or rail. Electrical contacts may be serviced according to the number of make and break cycles. Maintenance specifications are typically outlined and tracked in a detailed service manual delivered with a CNC machine. An example of such a manual is that of the Thermwood Model 53 CNC machining center from Thermwood Inc., of Dale, Ind., which manual is incorporated herein by reference. Chapter 5 of the Model 53 manual contains detailed service information showing the recommended minimum frequency of lubrication of the listed parts. Further, the Model 53 manual identifies the service points on a detailed diagram of the machine showing the location of points on the machine. Detailed service instructions are also presented. 
     Although a recommended maintenance schedule can be maintained, tracking the completion of maintenance events, however is left to the user, since, even with recommended lubrication cycle values such as on a daily or weekly basis, parts experiencing more operational travel may need lubrication sooner. Often times however, due to the pressure of making scheduled deliveries and the like, inherent in manufacturing operations, scheduled maintenance events may not be performed or, if performed, may not be properly tracked leading to unnecessary down-times. Further, if maintenance events are not tracked accurately, duplicitous part replacements and maintenance efforts may lead to excessive overall costs of operation of the machine tool. 
     Scheduled maintenance events must be performed after certain parts have run for a certain number of hours or have accumulated certain distances of travel to avoid premature failure. In such cases, if parts are not serviced after accumulating the predetermined amount of use, failure is imminent. In a typical system, noise, squeaks, vibration, or other telltale symptoms may indicate an impending failure requiring immediate corrective actions. Such warnings, however, may not always be present. Parts may fail spontaneously due to poor lubrication or a lack of adequate maintenance. Such parts may include motors, slides, bearings, electrical contacts and the like. Such parts are in near constant, but variable use, and, therefore, cannot be easily or accurately monitored simply by tracking the hours of aggregate use on the entire machine tool. Using aggregated hours of use on the tool as a measure in determining the maintenance event schedule for individual parts may lead to inefficient maintenance and higher costs, since some parts may have received relatively little use during the aggregate cycle value for the entire tool. If such parts are nevertheless replaced or serviced, unnecessarily higher costs are incurred. 
     Since the wear on certain parts is dependent on the type of parts being machined, and since a typical CNC machine tool may mill a series of different parts in the course of operation, teach having different demands on the machine&#39;s parts, the maintenance event requirements, as described, vary depending on which machine parts accumulate wear first. Tracking the accumulated time on individual components becomes a formidable task. 
     Further complicating the requirement for servicing inherent in operating a CNC machine tool is the availability of trained personnel to perform the maintenance work. Despite comprehensive manuals detailing the steps in performing certain maintenance event tasks, there is no substitute for live instruction to ensure that steps are performed correctly and that time saving pointers can be given. A manufacturer of CNC machine can provide training and/or trained personnel to a customer but usually only at a premium price. The alternative is for the customers to maintain equipment themselves or to risk equipment breakdowns. By performing unqualified repair or failing to perform scheduled maintenance, manufacturer&#39;s warranties may be voided. 
     Hard copy manuals are inherently easy to misplace or may become damaged or worn. Moreover, indexing through a manual may be time-consuming and may require extensive page turning for each step of what may be a relatively detailed task. Page turning, by technicians with grease, lubricant, or other soil on their hands, may soil manual pages leading to premature degradation of the manual. Attempting repair or maintenance without using the service manual may lead to incomplete or improper maintenance or repair. Even for experienced technicians, the service manual is a crucial reference. 
     It would be appreciated in the art therefore for a system and method capable of facilitating the performance of key maintenance functions and repairs of failed equipments. Such a system would be integrated into the CNC machine tool and provide the maintenance event support functions and alarm and failure condition monitoring and reporting at a relatively low cost while increasing the operability or &#34;up-time&#34; of the CNC machine tool. 
     SUMMARY OF THE INVENTION 
     The system and method of the present invention overcomes the deficiencies of prior art CNC controls by providing an integrated CNC control including an electronic manual having direct and triggered access modes and a service tracking and assist function embodied in the inventive system and method hereinafter described. The CNC control of the present invention includes a computer such as described in the above-mentioned application Ser. No. 08/624,874 entitled: &#34;System for Monitoring CNC Machine Controllers&#34; filed on Mar. 27, 1996 and incorporated herein by reference. The system and method of the present invention are contemplated being practiced on such a system as is described in the incorporated application comprising a computer, having a main processor such as the Intel® 486, Pentium® or like processor, associated computer memory including both primary RAM and ROM and secondary hard drive or like storage such as tape or cartridge storage. 
     The system of the present invention comprises an electronic manual stored in computer memory to store recommended cycle values, service clocks to determine actual accumulated cycle time, alarms, a video display screen, a graphical display, input and output devices providing a comprehensive, integrated maintenance and repair support facility. The computer and associated memory store detailed information related to the operation, repair, and maintenance specifications for the CNC machine by way of the electronic manual including audio, video, graphics, and text By commonly referred to in the art as multi-media information. The electronic manual may provide such information in a multi-media format on the computer display with text explanations, accompanying instruction videos and even sound instruction. Recommended cycle values for each serviceable part may be stored in registers within system memory. When a fault or maintenance event occurs, the electronic manual is accessed in response thereto in a triggered mode and multi-media information related to the maintenance event is displayed showing repair steps or maintenance procedures and describing the location of related area of the machine. Not only can the manual provide such information in a triggered mode responsive to the occurrence of a maintenance event or a failure condition, such information is provided on a general access basis to any interested user in a direct access mode. 
     A user may index through the manual in direct access mode using data links known in the art as Hypertext links. Hypertext links are areas of highlighted keywords or text representing pointers to other places in the manual. The links, when clicked by a user, retrieve more detailed or related information. Further, a Hypertext search allows an entire series of Hypertext links to be displayed in response to a search. Hypertext searches allow direct access to the information stored within the system of the present invention for instructional and training purposes or for general information greatly improving the ability of a user to go directly to the desired information in a minimum amount of time. 
     The CNC control of the present invention further includes service clocks to monitor a CNC machine tool&#39;s operation and determine when normal servicing is needed on a per part basis and may also determine if a failure condition exists. Service clocks determine when cycle times have elapsed by constantly monitoring tool position information and translating it into maintenance event parameters for the serviceable parts of the machine on a per part or per event basis. The service clocks are compared against the recommended cycle times for the part and alert the operator through alarms including an alarm indication on the graphical display of the present invention that a maintenance event for the part has occurred. The graphical display comprises a graphical representation of the machine tool highlighted to show where maintenance is needed or where a repair problem has taken place. Typically, a close up graphical representation of the problem area may be displayed. After locating the problem source or assembly related to the maintenance event and maintenance item on the graphical display, the electronic manual may be viewed for information regarding the condition. Input devices are further provided on the display screen in the form of function keys, which may be accessed either with a pointing device such as a mouse or trackball or a keyboard by pressing the corresponding function key. An input device can also be a keyboard with a build-in trackball or other pointing mechanisms. Input devices allow the CNC control of the present invention to perform maintenance tracking of, for example, the time of completion of the repair, the repair person, and any other such information. Input devices further allow the alarm condition to be cleared and the service clocks to be reset. 
     In the preferred embodiment, actual use of a serviceable part is derived from computer data indicating the movement history of the table in terms of X, Y, and Z coordinates. By analyzing the movement history of the table using the computerized CNC machine tool control, data regarding wear on individual serviceable parts may be derived therefrom. In the preferred By embodiment, data corresponding to actual use for a serviceable part is accumulated in registers associated with service clocks. Such data, again, is derived from movement data for the table and tracked in registers on a per part basis. When a value is reached, an alarm indication can be displayed with a corresponding call to the electronic manual for retrieving information related to the component requiring service. 
     For example, table movement data may indicate that a trackway bearing on the CNC machine tool table has accumulated sufficient travel to meet or exceed predetermined travel limits. The service clocks for the bearing perform a comparison of actual accumulated values on the part, as a function of gross table movement, as compared to stored limit values. When accumulated values exceed the limit values, thus indicating the need for lubrication, an alarm indication will be shown and the graphic display will indicate the location of the trackway bearing and the type of alarm. Responsive to the alarm condition, the computer will access the electronic manual to retrieve and display information related to the alarm condition and the location of the trackway bearing showing a detailed view of that portion of the machine including &#34;see through&#34; views. Instructional video and audio are available to guide a repair person through appropriate actions to access the trackway bearing and provided the necessary lubrication. Input devices associated with the Maintenance Schedule screen allow the completion of the repair or maintenance to be registered and recorded at which time the alarm condition is cleared. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a diagram illustrating a functional overview of an electronic online documentation. 
     FIG. 2 shows a logic diagram illustrating a principle of the present invention, which is implemented through a machine program and a predetermined threshold method. 
     FIG. 3 shows a logic diagram illustrating a principle of the present invention, which is implemented through a machine program and a decrement counter method. 
     FIG. 4 shows a logic diagram illustrating a principle of the present invention, which is implemented through data collected through transducers. 
     FIG. 5 shows a logic diagram illustrating a principle of the present invention, which is implemented through a combination of machine program data and data collected from transducers. 
     FIG. 6 is an illustration of the main data screen of the CNC machine tool control of the present invention. 
     FIG. 7 shows a flow-chart of a CNC Service thread related to maintenance clocks. 
     FIG. 8 shows a flow-chart of a MMC Service thread related to maintenance clocks. 
     FIG. 9 shows an illustration of a Maintenance Schedule screen 
     FIG. 10 shows another illustration of a graphical display screen of the CNC machine tool control of the present invention showing the X axis trackway bearings. 
     FIG. 11 shows an illustration of a graphical display screen of the CNC machine tool control of the present invention showing the Y axis trackway bearings. 
     FIG. 12 shows another illustration of a graphical display screen of the CNC machine tool control of the present invention showing the Z axis slide. 
     FIG. 13 shows another illustration of a graphical display screen of the CNC machine tool control of the present invention showing the Regulator Water Trap. 
     FIG. 14 shows another illustration of a graphical display screen of the CNC machine tool control of the present invention showing the Air Conditioner Filter. 
     FIG. 15 shows an illustration of a search function of the CNC machine tool control of the present invention. 
     FIG. 16 shows an illustration of an audio/video display showing repair instructions of the CNC machine tool control of the present invention. 
     FIG. 17 shows by way of an example a Bitmap Idenditification section of a program. 
     FIG. 18 shows by way of an example a hotspot definition section of a program. 
     FIG. 19 shows by way of an example a Mclock definition section of a program. 
     FIG. 20 shows by way of an example a plurality of texts of the Mclock. 
     FIG. 21 shows by way of an example an event group definition section of a program. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The system and method of the present invention is based upon a computer-based CNC machine tool control such as that described in application Ser. No. 08/624,874, previously incorporated by reference. The system and method of the present invention greatly improve the maintenance function of a computer-based CNC machine tool control by making available at the control display, detailed information in the form of an electronic manual provided on a display screen 20. 
     Referring now to the drawings, FIG. 1 shows an electronic online documentation functional overview. As mentioned above, the computer involved functions in a multitasking operating environment. Therefore, the computer monitors the various execution files while handling a main task at the same time, such as controlling a machine operation. Upon the triggering of any predetermined event, the computer pre-emptively invokes any relevant execution files, such as those shown in this diagram. 
     FIG. 2 illustrates a method of monitoring the working condition of a CNC machine, thus determine whether maintenance work is needed. This method discloses using a machine program as a way to determine whether maintenance work should be performed. As it is well know, a CNC machine program is used to direct a CNC machine to perform certain works on a workpiece. Typically, the machine is given the information of the initial cutting location, final cutting location, feed speed, depth of cut, and the cutting path. From these general information, the specific information regarding the distances the cutting tool must cover, the operation time of the cutting tools, and the revolution per minute (RPM) of a motor can be obtained. Other ancillary information such as the amount of dust particulates that need to be transported by a vacuum system, the temperature range of the machine, and the ambient temperature of a working environment that is controlled by an air conditioner can also be obtained. From all of these information, a maintenance schedule can be devised. The maintenance schedule should indicate how often should moveable parts such as a trackway and ball bearings be greased, how often should a motor be oiled, how often should belts be changed, and how often should air filters be changed, etc. Some maintenance schedules should be measured and kept by the amount of usage; such as after how many feet of travel a tool must made along a certain axis before greasing is needed. Other maintenance schedules should be measured and kept by the amount of time of usage, such as how many hours of running should a motor be oiled. All of these information can be obtained directly from the machine program that instructs a CNC machine what to do. 
     Machine Program 100 represents a computer running a particular machine program. The program contains all the appropriate information pertaining to different aspects of the machine operation. An algorithm then deciphers specific information from the machine program and stores them in a memory. Step 102 is shown to extract information directing a machine part to travel a distance for a period of time along the X-axis. The distance to be traveled is then accumulatively stored in a file X(d). Similarly, the total time it takes to travel such a distance is accumulatively stored in a file X(t), as shown in step 104. From imperative data, an operator may know how often should maintenance work be performed. The threshold value may be a reflection of the total distance traveled or total running time of machine operation. The distance threshold is designated as d 1  and the time span threshold is designated as t 1 . In step 106, the content of file X(d) is compared with distance threshold d 1 . If the content of X(d) is less than d 1 , this means the cutting tool has not yet traveled sufficient distance along the X-axis to require any maintenance work. However, if the content of X(d) is greater than or equivalent to d 1 , then there will be an indication on a display that maintenance work is required, as shown in step 110. In step 108, a comparison is made between the content of X(t) and t 1 . If the content of X(t) is less than t 1 , then this means insufficient amount of operation time along the X-axis has elapsed to require maintenance work. However, if the content of X(t) is greater than or equivalent to t 1 , then there will be an indication on a display that maintenance work is required, as shown in step 110. 
     Once detection of X-axis machine command is completed, the algorithm continues to the next aspect of the machine, such as the Y-axis shown in step 112 and Z-axis shown in step 114. In each of these axes, the same processes as discussed in steps 104, 106, 108 and 110 are repeated, except the relevant data are stored in different files and the distance thresholds as well as the time span thresholds are different. For the Y-axis, the distance storage file is Y(d), the distance threshold is designated as d 2 , the operational time is stored in Y(t), and the time span threshold is designated as t 2 . For the Z-axis, , the distance storage file is Z(d), the distance threshold is designated as d 3 , the operational time is stored in Z(t), and the time span threshold is designated as t 3 . 
     FIG. 3 discloses another method of monitoring machine operations that is substantially the same as that disclosed in FIG. 2. The only difference is that instead of using an incremental method of accumulating distance and time, a decremental method is used. Specifically, the predetermined time and distance thresholds are stored in corresponding registers. Distance to be traveled and time span of machine operation will be accumulatively subtracted from corresponding registers. Once the register contents are either less than or equivalent to zero, then an operator will be notified that maintenance work is due. 
     FIG. 4 illustrates another method of monitoring machine operation to determine whether maintenance work is needed. Unlike the machine program method disclosed above, this method utilizes machine data collected from actual machine runs. Machine data are collected from transducers detecting the physical operation of the machine. An example of a transducer is a rotary encoder, Model #153/121-1250c-BR distributed by Dynamics Research Corporation of 60 Concord Street, Wilmington, Mass. 01887. It can be used to detect the number of rotations of running motors that are used to drive moving parts along X, Y, and Z axes as shown in step 130. The relevant data of X-axis, Y-axis, and Z-axis are stored in memory devices as shown in steps 132, 142 and 144, respectively. For the X-axis, based on the gear ratio of movement transmissions and the RPM of the motor, actual traveling distances can be calculated. Based on the same data, machine operation times can also be calculated, as shown in step 134. The calculated distance and time are to be accumulatively subtracted from predetermined threshold values stored in files X(d) and X(t), respectively, as shown in step 136. Once X(d) or X(t) reaches zero or below, then warning signals will be given to a machine operator, as shown in steps 138, 140 and 110. For the Y and Z-axes, the data will be stored in different files as shown in steps 142 and 144. Thereafter, they go through the same processes as that of the X-axis. 
     FIG. 5 illustrates yet another method of monitoring the working condition of a CNC machine. Basically, this method compares data obtained from a machine program and data obtain from transducers monitoring actual machine runs. Should there be sharp discrepancies between these data, an operator is notified of possible machine malfunctions. There is shown a storage device 160 comprising a plurality of data files 162, 164, 166, 168, 170, and 172. Each of these files contains relevant data obtained from the machine program. 162 is shown to contain distance data for the X-axis. 164 is shown to contain time data for the X-axis. 166-172 merely contain similar distance and time data pertaining to the Y and Z-axes. There is shown a storage device 180 containing a plurality of files 182, 184, 186, 188, 190 and 192. Each of these files contains data obtained from actual machine runs in compliance with the instructions of the machine program. File 182 is shown to contain distance data for the X-axis. File 184 is shown to contain time data for the X-axis. Files 186, 188, 190 and 192 merely contain similar types of data pertaining to Y and Z-axes. 
     Once these data are obtained, comparators 194, 196, 198, 200, 202 and 204 are used to compare whether data obtained from the machine program substantially agree with data obtained from transducers detecting actual machine runs. If comparators 206, 208, 210, 212, 214 and 216 determined that program data and transducer data do not agree with each other within an acceptable range, then an operator is notified of such discrepancy as shown in 110. Ideally, program data and transducer data should be exactly the same. However, in actual implementations, there is always a slight discrepancy between them. This discrepancy may be due to wear and tear of machine parts, thermal expansion due to friction associated with cutting, vibration of moving parts, and any number of other factors. This discrepancy may be assigned a tolerance value ξ. The program data ±ξ is the range that the transducer data must not exceed the boundaries thereof. This should be readily understandable to a person of ordinary skill in the art. 
     Even though FIGS. 2-5 only discuss detail operational data pertaining to X, Y, and Z-axes, these are not meant to be restrictive. Operational data pertaining to other parts or aspects of the CNC machine can also be monitored in similar fashions. Other parts may include cutting tools, motor belts, machine alignments, vacuum system, etc. Basically every aspect of the machine that is operated under the instruction of machine data can be implemented into the maintenance schedule as disclosed. In fact, some aspects of the machine that are not directly controlled by the machine data can also be implemented into the disclosed maintenance system. For example, an air conditioner operates independently of a CNC machine. However, knowing that the air conditioner must lower the ambient temperature of the workspace by so many degrees per work-shift. An air conditioner maintenance schedule can be derived by the number of operation hours of the CNC machine, such as performing air conditioner maintenance work every 1,000 machine operation hours. 
     Regarding FIG. 6, display screen 20 in the main operating mode displays a data screen containing a general information area 21, a tool location area 22, a status bar area 23, a program screen area 24 and a cursor/execution line 24a and function keys 8 through 19. Function keys 8 through 19 may be operated by pressing corresponding keyboard counterparts or may be accessed without a keyboard by &#34;pointing&#34; to the software controlled buttons on the display screen by using a mouse, trackball, or other such pointing devices well known in the art. In the preferred embodiment, a trackball is used although not shown. As the tool bit progresses throughout its programmed path, position coordinates are tracked in tool location area 22 and the values stored in computer memory. Since the recommended intervals between maintenance events for serviceable parts of the machine tool of the present invention may be in hours, distance, contact closures, etc., derivation of the cycle value quantity may be performed or, alternatively, the cycle value may be tracked directly by service clocks. 
     More specifically about the Service Clock, two flow-chart diagrams are shown in FIGS. 7-8. The cnc service thread as shown in step 38, is run every 32 milliseconds. The PLC (Programmable Logic Controller) shared memory is checked to see if any service events are enabled as shown in step 40. If any event is enabled, the clock for that event is decreased by the amount of time that has elapsed since the previous inspection, as shown in step 42. After decreasing a clock n(s), if its value is equal to or less than zero, as shown in step 44, a service needed message with the event number is posted to the mmc service thread, as shown in step 46. At this time, the Update File clock is also checked, as shown in step 50. If 30 seconds has passed since the last Service Clock History File, as shown in step 52, the &#34;Mclock.Txt&#34; will be updated as shown in step 54. In addition to the Service Clock History File, there is also a PLC History File. It keeps track of all eave drop events in a file named hist.thm. This allows an operator to trace every history event of the machine. 
     In FIG. 8, the mmc service thread as shown in step 60, runs every 32 milliseconds, to checks its system queue for a service needed message as shown in step 62. If a message is present, the words &#34;SERVICE NEEDED&#34; are displayed in red on the F12 menu button face. The system queue checks for an F12 key closure indicating that the operator wishes to perform the service as shown in step 64. If no service needed message is present in the queue as shown in step 68, the queue is checked for an F10 key pressed message as shown in step 70. If this message is present, the currently displayed service graphic (if any) will be removed as shown in step 72. The thread will then return from the interrupt. If there is an F12 key closure message in the system queue, the graphic file associated (in the file Machine.Rc) with the event will be loaded from the disk and be displayed. The service instruction message associated (in the file Machine.Rc) with the event will also be loaded and displayed. 
     After the service has been performed. The operator should press the F10 key. This will cause the graphic to be removed from the display. The &#34;time-out clock&#34; for the event will then be reset to its factory set value. 
     In addition to tracking and accumulating time, distance or like parameters and comparing them against recommended cycle values, the system and method of the present invention also allows the Maintenance Schedule, which contains information such as the recommended cycle values for the part selected in Event Description box 27, to be adjusted using Maintenance Schedule screen 26 as best shown in FIG. 9. The operator can, at any time, inspect the states of all Maintenance Clocks by displaying the Schedule view dialog window. A history of service events and their responses are also available. For more information in this regard, please see the document SCHEDULE VIEW DIALOG, in the service manual. 
     As shown in FIG. 9, Event Description box 27 displays the current maintenance parameter to be set in terms of the part and action required. Other part/action selections may be made using pull down selection box 27a, a well known user interface element which allows other selections to remain hidden until a new selection is desired. By pressing box 27a, all possible event selections are displayed and a new Event Description selection may be made. 
     The recommended cycle time for the part described in Event Description box 27 may be shown in box 28. In the present example, the cycle time is set for 40.00 hours for the X Axis Ballnut and Leadscrew Bearing grease event as shown in Event Description box 27. In addition to recommended cycle time for each event description, event history may also be recorded and displayed showing what action was taken and when it was taken. Event history may be recorded in Event History box 29 and is shown in FIG. 9 as containing the event history for the &#34;Grease X Axis Ballnut and Leadscrew Bearings&#34; event as shown in Event Description box 27. As illustrated, Event History box 29 is filled with the default setting of &#34;Thu Nov 13 09:03:02&#34; indicating the date and time of the last event with the comment &#34;Set by Factory&#34; included. Event History data fields 29a through 29d are filled with the default setting &#34;Thu Nov 13 09:03:02 Set by Factory&#34;, with the exception of most recent event field 29a shown containing the entry &#34;Tue Nov 25 23:25:13 TIMEOUT RESET&#34;. Field 29a signifies that at the more recent time shown, a TIMEOUT RESET occurred indicating that the maintenance was completed for the maintenance event listed in Event Description 27, e.g. the X axis ballnut and leadscrew bearing were greased as required. Pressing RESET button 33 causes a TIMEOUT RESET entry to appear in most recent event field 29a. Maintenance Schedule screen 26 further provides a display of the operational time remaining before service is required in Time Remaining box 30, shown in the present example as 26.0118 hours. Pressing RESET button 33 further resets the time in Time Remaining box 30 to the full amount of cycle time listed in Cycle Time box 28, in this case 40 hours. If the information entered in Maintenance Schedule screen 26 is acceptable to the operator, pressing OK button 31 preserves the information on the screen and causes the Maintenance Schedule screen to be replaced with the Main Screen. Newly entered information in the Maintenance Schedule will be valid as long as the machine control remains powered on. 
     Write Screen button 32 allows the information to be written to a file shown here as &#34;SERVICE.TXT&#34; and stored upon a storage device such as the disk drive provided with the system of the previously incorporated application Ser. No. 08/624,874. Such storage devices are well known in the art and therefore not shown. Upon so doing, information contained in &#34;SERVICE.TXT&#34; will be preserved indefinitely until new information is entered in Cycle Time box 28, and/or a further TIMEOUT RESET is processed and the file is re-written with the new information. 
     When an accumulated value in a service clock or a distance register meets or exceeds the recommended cycle value stored in a register associated with the electronic manual, a maintenance event is indicated. When a maintenance event is so indicated, graphic display 25 may be shown in display screen 20 illustrating where on the machine the part requiring service is located as shown in FIGS. 10-14. 
     FIGS. 10 through 14 show various graphical displays 25 for different parts of the machine tool of the present invention. In FIG. 10, the X Axis Trackway Bearing locations are shown in graphics 25 on display screen 20 for the purpose of applying grease thereto. 
     FIG. 11 shows Y Axis Trackway Bearings in need of grease and graphic display 25 indicating the location of the Y Axis Trackway Bearings. When service for Y-Axis Trackway Bearings is performed by an operator, the operator presses F10 key 17 which returns the operator to the main screen as shown in FIG. 6. Upon returning to main screen as shown in FIG. 6, the maintenance record is updated and the Maintenance Schedule is set for the next cycle value. 
     FIG. 12 shows the Z-Axis slide on graphics 25 on display screen 20 for the purpose of lubrication. 
     FIG. 13 shows the Regulator Water Trap in graphics 25 on display screen 20 for the purpose of inspection and draining. 
     FIG. 14 shows the location of the Air Conditioner Filter in graphical display 25 on display screen 20 for the purposes of checking and cleaning. 
     Note in each of the FIGS. 10 through 14, the machine is shown in a manner allowing the viewer to see through any obstructing portions of the tool and view the part of interest in relation to the rest of the machine. Such a view provides a service technician with spatial cues about the placement and orientation of the part on the machine such that maintenance can be facilitated. 
     In a situation where an operator needs to search for instructions regarding a particular function from the electronic service manual, the operator can input key words through input devices. Once the sought after instructions are obtained, they appear on display screen 20, as shown in FIG. 15. 
     If any aspect of the instruction contains audio/video portions, they will be displayed on display screen 20, as shown in FIG. 16. 
     It should be noted that not all maintenance works can be scheduled in advance. Random events including various types of malfunctions can create an immediate need for intervention. For these reasons, the PLC can monitor hundreds of machine conditions and will send a &#34;hotspot event message&#34; to the mmc service thread if necessary. 
     The following discussion shall be explained in corroboration with a file titled &#34;MACHINE.RC&#34;. This file contains numerous sections. The &#34;BITMAP ID Section is shown in FIG. 17, the &#34;Hot Spot Definition Section&#34; is shown in FIG. 18, and the &#34;MCLOCK Definition Section&#34; is shown in FIG. 19. Associated with the &#34;MCLOCK Definition Section&#34; is a file titled &#34;MCLOCK.TXT&#34;, which is shown in FIG. 20. The &#34;Event Group Definition Section&#34; is shown in FIG. 21. 
     Assuming a hot spot event 3 occurred due to a need to lubricate an X-axis trackway bearings after 12 hours of run time. 
     The cnc service thread, which is run every 32 milliseconds, checks the PLC (Programmable Logic Controller) shared memory to see if service event #3 is enabled. If the X-axis moving event #3 is enabled, the clock for event #3 is decreased by the amount of elapse time since the previous inspection. After running the X axis for 12.0 hours, the remaining time derived by using 12 hours minus the amount of elapse time should be equal to or less than zero. A &#34;service needed message&#34; associated with event #3 is posted to the mmc service thread. At this time, the Update File clock is also checked. If 30 seconds has elapsed since the last Service Clock History File, the &#34;Mclock Txt&#34; will be updated. &#34;Mclock Txt&#34; is an ASCII file, which can be read with any test editor. A service personnel can view this file to learn when was service required and performed. 
     Eventually the mmc service thread, which is run every 32 milliseconds, checks its system queue and finds a &#34;service needed message&#34;. The words &#34;SERVICE NEEDED&#34; are displayed in red on the F12 menu button face. Obviously, the operator will not be quick enough to respond with an F12 key closure during the first interrupt with &#34;a service needed message&#34;. After a few seconds, the operator will have time to notice the message and respond, or he may chose not to respond until later. The &#34;SERVICE NEEDED MESSAGE&#34; will stay until the operator does respond with an F12 key closure. 
     When the operator finally does press the F12 key and the mmc service thread sees an &#34;F12 key closure message&#34; in the system queue, the following events will take place: 
     a.) The graphic file associated (in the Machine.Rc) with event#3 will be loaded from the disk. This will be a picture of the X axis trackway. This graphic will be displayed; 
     b.) The service instruction message associated (in the file Machine.RC) with the event #3, &#34;Grease X Axis Trackway Bearings&#34;, will be loaded and displayed. 
     Specifically, the controller looks into the &#34;BITMAP ID Section&#34; to obtain an identification of this event. In this situation, the proper identification is found to be &#34;BITMAP ID-EVENT7\system\bitmaps\model-40\c40-1\C40-XTrackwaysZ.bmp&#34;.This identification, among other things, provides the proper address leading to the proper graphical template to be retrieved and displayed on a display screen, such as the Maintenance Schedule View 26 as shown in FIG. 9 as an example. 
     From the &#34;MCLOCK Definition Section&#34;, the controller finds the event message to be &#34;Grease X-Axis Trackway Bearings @12.0,1&#34;&#34;. A first portion ofthe message &#34;Grease X Axis Trackway Bearings&#34; will be displayed in Box 27 of FIG. 9 to signify what needs to be done. The second portion of the message &#34;12.0&#34; will be displayed in box 28 of FIG. 9 to signify that the identified bearings should be greased every 12 hours. 
     From the &#34;MCLOCK.TXT&#34; file, the controller finds the appropriate event history messages and correspondingly display them in boxes 29a-29d of FIG. 9. This message informs an operator the maintenance history of the identified bearings. 
     From the &#34;Event Group Definition Section&#34;, the controller finds the event group to be classified as a &#34;2&#34;, thereby displaying &#34;2&#34; in box 34 of FIG. 9. This tells the system and an operator that when a clock time-out occurs to any event in group 2, all events in the same group will be coerced into a time-out as well. In this case, by grouping event time-outs together, all axes trackways will be lubricated at the same time. 
     After the service has been performed. The operator should press the F10 key. This will cause the X axis trackway graphic to be removed from the display. The &#34;time-out clock&#34; for event #3 will then be reset to 12.0 hours. 
     From the foregoing detailed description, it will be evident that there are a number of changes, adaptations and modifications of the present invention which come within the province of those persons having ordinary skill in the art to which the aforementioned invention pertains. For example, while the present invention, as disclosed, pertains to CNC machine tools, the present invention may be adapted to any machine with serviceable parts requiring periodic service and integrated training capabilities. However, it is intended that all such variations not departing from the spirit of the invention be considered as within the scope thereof as limited solely by the appended claims.