Printing apparatus, method of controlling it and storage medium

Abstract: A printing apparatus adapted to be connected to a host device and to receive control commands and print data from the host device comprises first operation counting means (2-5) for counting a first value indicative of the number of times of a certain operation of the printing apparatus (1) and for storing the first value in a non-volatile manner as first operating history information; second operation counting means (2-5) for counting a second value indicative of the number of times of said certain operation of the printing apparatus (1) and for storing the second value in a non-volatile manner as second operating history information; and count value changing means responsive to a predetermined input for changing said first value while not changing said second value. The printing apparatus is thus capable of obtaining and storing both total operation counts (cumulative counts since the printer was first used) and differential or incremental operation counts for individual consumable and nonconsumable parts of a printing apparatus.

Description: The present invention relates to a printing apparatus and to a control method therefor and relates, more specifically, to the handling of maintenance information in a printing apparatus that is part of a point-of-sale (POS) system or other financial transaction system. A conventional printing apparatus, simply called "printer" below, typically stores its operating history in an EEPROM (Electrically Erasable Programmable Read Only Memory), a flash ROM, or other type of non-volatile memory. This operating history typically comprises the total number of operating hours, the number of characters printed and/or one or more other measures that can be used to decide when maintenance is required. When the printer is turned on and initializes, this operating history is usually loaded from the non-volatile memory to a volatile memory such as RAM. The operating history is then updated in the RAM during printer operation, and written back to the non-volatile memory as part of a shutdown procedure when the power is turned off, or at some regular interval or when some specified value is reached. The operating history can be read, displayed or printed for user confirmation in response to a command from a host device to which the printer is connected or in response to an operator command. US-A-4,586,147 discloses a printing apparatus according to the pre-characterizing portion of claim 1, in which operating history information in the form of the total number of printed pages, the number of printed pages by paper sizes etc. is stored for maintenance purposes. According to this prior art, either an incremental count value or a total count value is stored as the history information in a non-volatile memory. In case of the incremental count value, the value is reset by a service man having performed a service, i.e., "incremental" means the count between two services by a service man. In contrast to this, "total count value" means the total count over the life-time of the printer, i.e., with no intermediate reset. JP-A-6-3956 teaches a laser printer in which a measure indicative of the amount of consumed toner is counted and stored as operating history information in a non-volatile memory. Whenever, based on this stored history information, the toner cartridge is replaced the history information is reset counting of that measure started again. JP-A-4-305657 teaches a printer capable of redundantly storing operating history information in a plurality of memories, thereby avoiding the problem of such history data becoming lost as a result of a memory error or similar problem. US-A-4,731,749 discloses an elecronic postage meter in which two different values are stored as first and second history information in a non-volatile memory. The first value represents the amount of postage already spent, and the second value represents the amount of postage still available. US-A-5,479,467 discloses an EEPROM for storing operation history data regarding predetermined operations performed by a label printer wherein the EEPROM is detachably mounted in the printer. Only one value is stored as history information for each of said predetermined operations. Operating history data such as the number of characters printed is typically reset when the data indicates that the service life of a related component has expired and the component is replaced. This makes it impossible to determine the total operating time or total operating count of mechanical parts used to drive the component(s) that was (were) replaced. Total operating count information over the life-time of the printer as a whole makes it possible to determine how much a product is actually used by the end user, and is effective for quality assurance and troubleshooting purposes. This information can also be reflected in the development of new products to help the manufacturer provide products with desirable specifications. An object of the present invention is therefore to provide a printing apparatus and a method of controlling it that can store total operating history information for individual parts and components of the printing apparatus and is capable of separately storing history information related to user-replaceable consumables, and history information related to parts that are not replaceable by the user, including parts and assemblies for driving other parts. This object is achieved with a printing apparatus as claimed in claims 1, 5 or 6, a method as claimed in claim 18 or 29 and a storage medium as claimed in claim 30. Preferred embodiments of the invention are subject-matter of the dependent claims. Specific printer operations, such as the number of characters printed, the distance of recording medium transportation, and the number of times the automatic paper cutter is operated, can thus be individually accumulated, and the history information, that is, the cumulative count since the printer was first used, can be stored in memory. Even if a part or component is replaced and the related first history information is reset, the invention allows the second history information, i.e., the cumulative or total count to be kept stored. In one embodiment, the first and second pieces of history information are directly counted by respective operation counting means. In another embodiment, one of the two pieces of history information is directly counted whereas the other one is derived as sum or difference from the counted one and a stored value. These and other objects and features of the present invention will be readily understood from the following detailed description of preferred embodiments thereof with reference to the accompanying drawings, in which like parts are designated by like reference numerals and in which: Fig. 1 is a block diagram of an exemplary printing apparatus according to a preferred embodiment of the present invention; Fig. 2 is a flow chart of the write operation to a flash ROM in the printing apparatus of Fig. 1; Fig. 3 is a flow chart of an alternative write operation to a flash ROM in the printing apparatus of Fig. 1; Fig. 4 is an example of a "change counter command" for use with the printing apparatus of Fig. 1; Fig. 5 is an example of a "send counter command" for use with the printing apparatus of Fig. 1; and Fig. 6 is a sample of a print-out in a test print mode of the printing apparatus of Fig. 1. A preferred embodiment of a printing apparatus according to the present invention (simply referred to as "printer" hereinafter) is described below with reference to the accompanying figures. As shown in Fig. 1, printer 1 comprises a central processing unit (CPU) 2 for overall control of the printer 1; random access memory (RAM) 3 that is used as primary working memory; read-only memory (ROM) 4 for storing control data, an application program, and related information; flash ROM 5 for storing information relating to the operating status of the printer 1; a mechanical part 6 comprising the mechanisms for printing on paper using a print head; and an interface 7 for connecting the printer 1 to a host device (not shown). Printer 1 receives print data, control commands, and other information from the host device via interface 7. Received data is buffered in RAM 3, which also provides for temporary storage. The interface 7 can also be used to reset the CPU 2 by means of a signal line connected to the host device. When CPU 2 initializes in response to the power to printer 1 being turned on or a reset signal sent from the host device (referred to below as simply "initialization"), CPU 2 reads a program from ROM 4, and executes the program to control printer 1. CPU 2 also interprets data received through interface 7 and buffered in RAM 3. If the buffered data is a control command for printing, CPU 2 accesses font data in ROM 4, and develops in RAM 3 a print image corresponding to previously received print data. CPU 2 then controls driving of mechanical part 6 to print the print image. In a printer 1 according to this preferred embodiment, mechanical part 6 comprises mechanisms for printing on roll paper, that is, a roll paper transportation unit 61, a roll paper print head 62, and a roll paper cutter 63; and mechanisms for printing on cut-sheet forms, that is, a cut-sheet transportation unit 64, and a cut-sheet print head 65. In this embodiment, mechanical part 6 further comprises a magnetic ink character reader (MICR) head 66. CPU 2 further comprises an internal timer for issuing a timer interrupt at a constant interval. A time counter is realized by a program stored in ROM 4 and invoked by the timer interrupt so as to measure the operating time of printer 1. Flash ROM 5 can be read and written by CPU 2, and forms a non-volatile memory, i.e., it keeps its content even when no power is supplied. During initialization of printer 1, CPU 2 reads printer operation count values stored as operating history information in flash ROM 5 and loads them into RAM 3. During the subsequent operation of the printer these count values in RAM 3 are incremented in accordance with the respective operations. In this way "counters" for counting the respective printer operations are implemented by software. The count values of these counters, i.e., the operating history information including the total operating time of the printer, are then written back to flash ROM 5 at a specific timing. The time counter noted above measures the operating time of the printer 1 and is also used for controlling the saving of the count values from RAM 3 to flash ROM 5. The count values are periodically written to flash ROM 5 at a specific write period, which in this preferred embodiment is 2 minutes as measured by the time counter. It should be noted that this write period is appropriately determined taking the life-time (number of write operations possible) of flash ROM 5 and other factors related to printer hardware into consideration. For example, this write period will depend on the printer's shutdown procedure, i.e., the procedure controlling what happens when the printer's power switch is turned off, namely whether the power supply is immediately cut-off when the power switch is turned off, or a software procedure for storing essential data is executed before the power supply is cut off. In the former case, data will be lost if the power switch is turned off before the data has been stored, and more frequent saving is therefore desirable. As a result, the write period is set to a short interval, for example, 2 minutes. In the latter case, however, data can be saved even after the power switch is turned off. The write period can therefore be set to a longer interval, such as 1 hour. Exemplary printer operations to be counted and stored as operating history information in flash ROM 5 are shown below. Note that each printer operation is assigned a respective identification code, which is used in an exemplary control command further described below. Cut-sheet form line feeds A-counter = 10 B-counter = 138 Cut-sheet form printed characters A-counter = 11 B-counter = 139 Roll paper line feeds A-counter = 20 B-counter = 148 Roll paper print head, power on A-counter = 21 B-counter = 149 Roll paper cutter drive operations A-counter = 50 B-counter = 178 MICR read operations A-counter = 60 B-counter = 188 Product operating hours A-counter = 70 B-counter = 198 As shown above, in this preferred embodiment two counters, an A-counter and a B-counter, are implemented for each monitored printer operation. The A-counter and the associated B-counter are independent from one another and are separately incremented to track the same printer operation. The respective count value of A-counters can be changed by means of a control command; the respective count value of B-counters, however, cannot be changed by a control command. Count values of B-counters, therefore, represent total values counted over the life-time of the printer. Fig. 2 is a flow chart of a flash ROM write control procedure. As the count values are updated in RAM 3 during printer operation, they are periodically written to flash ROM 5 according to the procedure shown in Fig. 2 and described below. During printer initialization, the count values stored in flash ROM 5 are read and loaded into RAM 3, and time measurement by means of the time counter starts (step 201). After lapse of a predetermined time period, for instance 1 hour in the preferred embodiment, after the start of time measurement, as checked in step 202, the procedure proceeds to step 203. In step 203 it is determined whether the printer is printing or processing data. If neither operation is in progress, the count values are written to flash ROM 5 (step 204). The time counter is then reset (205), and the procedure loops back to step 202. If the answer in step 203 is "Yes", i.e., the printer is printing or processing data, the count values are not written to flash ROM 5. A drop in printer throughput resulting from writing to flash ROM 5 is thus avoided by writing to flash ROM 5 only when the printer is not printing or processing data, and not writing to flash ROM 5 when either operation is in progress. Fig. 3 is a flow chart of an alternative flash ROM write control procedure according to this preferred embodiment. This procedure differs from that shown in Fig. 2 by an additional step 306 representing a second time loop. When the answer in step 203 is "Yes" it is checked in step 306 whether or not a second predetermined time period elapsed. If not, the process loops back to step 203. If yes, the process proceeds to step 204. More particularly, time measurement continues when the answer in step 203 is "Yes". When either the second time period elapsed or the answer in step 203 becomes "No", whatever is earlier, the count values are saved to flash ROM 5. Thus, flash ROM 5 is written regardless of whether or not printing or data processing is in progress if printing and data processing operations do not stop within the second time period. The second time period is longer than the first time period, for example, 1 hour 10 minutes in this preferred embodiment. Except for this difference the control procedure in Fig. 3 is the same as that in Fig. 2. With the first write control procedure (Fig. 2) writing to flash ROM 5 is delayed when and as long as either printing or data processing is in progress. This method can therefore result in an excessive interval between successive flash ROM 5 writes, which can result in loss of information if, for example, the printer power is turned off or CPU 2 is reset by a command from the host device while writing to flash ROM 5 is delayed. With a POS printer, for example, flash ROM writing could be delayed for an extended period of time, for instance during printing of a daily sales report, a task that can take many minutes. Count values will also continue to change as printing proceeds. If the power is then turned off and data is lost, count error increases and more information is lost. This problem can be avoided by employing the second write control procedure of Fig. 3, i.e., by writing to flash ROM 5 after lapse of a maximum write delay determined by the second time period irrespective of whether or not printing or data processing is in progress. Control commands allowing the host device to read and write count values are described below. A typical control command for changing a count value is shown in Fig. 4. As mentioned before, the possibility of changing count values by means of this control command applies to the A-counters only. This change counter command 40 comprises a command code part 41 and a parameter part 42. The command code part 41 comprises an extension 43 and a function code 44, and the parameter part 42 comprises a function extension parameter 45 and a counter ID 46. The extension 43 is the ASCII control character "GS" for the hexadecimal character code "1D". The function code 44 is a code string for specifying the change counter function; two character codes are combined to specify the change counter function. The function extension parameter 45 specifies a key for changing the counter. The counter ID 46 identifies the counter (count value) to be changed. The CPU 2 performs the following operations in response to the change counter command 40. (1) The key specified by the function extension parameter 45 is compared with a predetermined key; if the keys match, the specified counter value is changed. If the keys do not match, changing the counter is prohibited. (2) The counter ID 46 is compared with the IDs assigned to the A-counters. If the specified counter ID matches one of an A-counter, the corresponding count value is changed. In this example, the count value is reinitialized to zero (0). It is to be noted that there is another change counter command which is not shown, namely GS g 1 instead of GS g 0 . The parameter part of the command GS g 1 has, in addition to that shown in Fig. 4, a parameter representing a value to which the counter identified by the counter ID is to be set. In other words, while the command GS g 0 resets the specified counter, the command GS g 1 can be used to set the counter to an arbitrary value. If the specified counter ID does not match that of any A-counter, no counter is changed. This prevents the count values of B-counters from being changed. (3) The change counter process is not executed if a print mode has been selected for printing by a print command after print data received from the host device have been developed in memory and stored in a one-line print buffer, and unprinted data remain in the one-line print buffer. This prevents loss of unprinted data resulting from printer operations being stopped based on a memory error in the above change counter process, and thus protects unprinted print data. (4) In another print mode, the so called page mode, in which print data received from the host device is developed and then stored in a designated area of a page buffer having a length of multiple lines, the change counter process is also prohibited when the area of the page buffer has been designated by a predetermined control command from the host device even if no print data is received nor developed by the printer. Thus, the setting of the area which is considered as a part of print information can also be protected. (5) If a write error occurs during writing, the error is announced using an LED or a buzzer, and/or by sending an error status signal or changing the state of the signal line to the host device via the interface 7. The operator or host device can thus be informed that the count value could not be changed normally as a result of an error occurring in the printer 1. (6) Count values changed in RAM 3 are written to flash ROM 5 irrespective of whether the time counter indicates it is the normal flash ROM write timing. To prevent loss of any count value changed by the change counter command 40 as a result of CPU 2 being reset by a command from the host device before the changed count value is written to flash ROM 5 according to the normal flash ROM write timing, the flash ROM 5 is also written when the change counter command 40 is processed. It will also be obvious that the same result can be achieved by providing a separate flash ROM 5 write command, and using the flash ROM write command together with the change counter command 40. A typical control command for reading a count value is shown in Fig. 5. This read counter command 50 comprises a command code part 51 and a parameter part 52. The command code part 51 comprises an extension 53 and function code 54, and the parameter part 52 comprises a function extension parameter 55 and a counter ID 56. The extension 53 is the ASCII control character "GS" for the hexadecimal character code "1D". The function code 54 is a code string for specifying the read counter function; two character codes are combined to specify the read function. The function extension parameter 55 specifies the read counter function key. The counter ID 56 identifies the counter to be read. The CPU 2 performs the following operations in response to the read counter command 50. (1) The key specified by the function extension parameter 55 is compared with a predetermined key; if the keys match, the specified count value is sent. If the keys do not match, sending is prohibited. (2) If the counter ID 56 matches that of a counter, the corresponding counter value stored to RAM 3 is read. If the counter ID 56 does not match that of any counter, the send command is ignored. (3) If a read error occurs during execution of the command, the error is announced using an LED or a buzzer, and/or by sending an error status signal or changing the state of the signal line to the host device via the interface 7. The operator or host device can thus be informed that the count value could not be sent as a result of an error occurring in the printer 1. (4) A header code or terminate code can be added to the transmitted data to enable the host device, for example, to easily recognize the beginning and end of the transmitted data. The CPU 2 also executes the following process before transmitting a count value to the host device: (5) Step 1: Convert the count value Count values that can be used for determining the expiry of a component's service life include values that can be easily used (understood) directly, and values that are difficult to use directly. For easy-to-use count values, the data can be sent directly, i.e., in the form they are stored. Values that are difficult to use, however, typically need to be converted to an expression that can be more easily interpreted for service life determinations.Consider, for example, the line feed count for cut-sheet forms. The drive power source for the cut-sheet transportation unit 64 is a stepping motor (not shown in the figures). The CPU 2 counts the number of steps performed by the stepping motor, and stores this simple step count. For the user, however, it is extremely difficult to grasp how much paper has been advanced using this step count.The line feed distance of a printer 1 according to this preferred embodiment is 1/6 inch (ca. 4.2 mm), and the cut-sheet transportation unit 64 must drive the stepping motor by 24 steps to advance a cut-sheet form by 1/6 inch. The CPU 2 therefore obtains a line feed count by dividing this step count by 24. (6) Step 2: Convert counter values and converted counter values for transmission Various problems can arise with sending count values and converted count values directly to the host device. For example, a transmitted value could match another control code and prevent normal operation. In some cases data cannot be sent in 7-bit words. Printer 1 according to this preferred embodiment therefore converts the count values and converted count values to a decimal character code before transmission. For example, consider the converted cut-sheet form line feed count "00001100H" in hexadecimal notation. This value converts easily to the four bytes "00H, 00H, 11H, 00H" where 11H is the same as the XON code and could result in a handshake error. The line feed count "00001100H" is therefore converted to the decimal code "4352D", which is transmitted using the four bytes "34H, 33H, 35H, 32H". In a preferred embodiment of the present invention printer 1 also has a test print mode in which data are printed that are not received from the host device but generated internally. This test print mode can be invoked in , for example, by turning the printer's power switch on while holding the paper feed switch depressed. When this test print mode is selected, printer 1 prints the same counter information that is sent to the host device in response to a read counter command 50. As shown in Fig. 6, which is a sample of the print-out in the test print mode, the test print mode printout includes the names of the printer operations (maintenance items) 60 being counted, and the count values 60a and 60b of the corresponding A-counters and B-counters. In this way, the count values can be checked and confirmed even when the printer 1 is not connected to a host device. The counters also continue to be incremented while printing in the test print mode. The test print mode does not continue for the two minute write period of the present embodiment, however, and the RAM content can therefore be lost if the power is turned off before the flash ROM 5 is written. To prevent data loss in this case, the updated data are saved to the flash ROM 5 even before the time counter indicates a normal flash ROM write timing. Although the present invention has been described in connection with preferred embodiments, it is to be noted that various changes and modifications will be apparent to those skilled in the art. For instance, the present invention has been described using counters that can be reset and counters that cannot be reset. The same effect can be achieved using only one counter and by storing its count value in a non-volatile memory when the component whose number of operations is represented by that count value, is replaced. In such case, if only non-resettable counters are used, the component service life can be derived from the difference between the current count value and the stored count value while the total operating count is represented by the current count value itself. On the other hand, if only resettable counters are used, when the component whose number of operations is represented by that count value, is replaced the current count value is stored (the second and further times it is added to the previous value). In such case the total operating count can be derived from the sum of the current count value and the stored (accumulated) count value while the component service life is represented by the current count value itself. While the counters have been described to be incremented, one or more counters could be initialized to certain maximum values and then decremented rather than incremented. While a flash ROM has been described as the non-volatile memory for storing operating history data for the printer 1, an EEPROM or other non-volatile storage device can be used. The data stored in a non-volatile memory are not limited to that described above. For example, any data relating to the operating status of the printer can be used, or a subset of any of the above data can be used. Non-volatile memory can also be used to store font data, application program data, or other information in addition to the above-noted operating status and counter data. Furthermore, a real-time clock or other device can be used in place of the described time counter responsive to the timer interrupt of the CPU for measuring the total operating time, the write period, and other time-based parameters. Printer 1 according to this preferred embodiment has also been described as determining at a constant time interval whether a specific process is executing. However, this interval can be defined on the basis of some other value that changes with printer operation, including the number of pages printed or the number of lines printed. It is therefore possible by means of the present invention to easily check the wear on consumables, the service life of non-replaceable components associated with consumables, and other information associated with printer quality assurance, by storing operating history operating count values for the printer in a plurality of storage areas or memory devices.

Claims: A printing apparatus adapted to be connected to a host device and to receive control commands and print data from the host device, said printing apparatus comprising: first counting means (2-5) for counting a first count value indicative of a number of times the printing apparatus (1) has performed a certain operation; changing means (2, 7) responsive to a predetermined input for changing said first count value; storing means (2-5) for storing the first count value in a non-volatile manner as first history information; and output means (2, 7) for outputting said first history information; characterized by second counting means (2-5) for counting a second count value indicative of the number of times the printing apparatus (1) has performed said certain operation, said second count value remaining unchanged by said changing means, and said storing means (2-5) being also for storing the second count value in a non-volatile manner as second history information; and said output means (2, 7) being adapted to output said first history information and said second history information. The apparatus of claim 1 further comprising: initialization means (2) for initializing the printing apparatus, said initialization means including means for presetting said first and second counting means (2-5) to values corresponding to said first history information and said second history information, respectively. The apparatus of claim 1 or 2 comprising a plurality of pairs of first and second counting means (2-5), each pair for counting said first and second count values for a respective one of a corresponding plurality of different operations of the printing apparatus. The apparatus of claim 1, 2 or 3, further comprising: time measurement means (2, 3) for measuring the operating time of the printing apparatus (1); and detection means (2) for detecting whether the printing apparatus is performing a specific process; wherein said storing means (2) is adapted to periodically store said first history information and said second history information in non-volatile storage means (5) at time instants indicated by said time measurement means (2, 3), said storing means being responsive to said detection means to delay said storing relative to such time instant, if, at that time instant, the printing apparatus is performing said specific process. A printing apparatus adapted to be connected to a host device and to receive control commands and print data from the host device, said printing apparatus comprising: counting means (2-5) for counting a count value indicative of the number of times the printing apparatus (1) has performed a certain operation; storing means (2-5) for storing the count value as first history information in a non-volatile manner; and output means (2-5) for outputting said first history information; characterized by means (2-5, 7) responsive to a predetermined input for storing, in a non-volatile manner, the current count value at the time of said input as a reference value; and said output means (2-5) being adapted to output the difference between the first history information and said reference value as second history information. A printing apparatus adapted to be connected to a host device and to receive control commands and print data from the host device, said printing apparatus comprising: counting means (2-5) for counting a count value indicative of a number of times the printing apparatus (1) has performed a certain operation; changing means (2-5, 7) responsive to a predetermined input for changing said count value; storing means (2-5) for storing the count value in a non-volatile manner as first history information; and output means (2) for outputting said first history information; characterized by said changing means being adapted to add said count value, prior to changing it, to an accumulated count value and to store the accumulated count value in a non-volatile manner as a reference value; and said output means (2) being adapted to output the sum of said first history information and said reference value as second history information. The apparatus of claim 5 or 6 further comprising: initialization means (2) for initializing the printing apparatus, said initialization means including means for presetting said counting means (2-5) to a value corresponding to said first history information. The apparatus of claim 5 or 6 comprising a plurality counting means (2-5), each for counting said count value for a respective one of a corresponding plurality of different operations of the printing apparatus. The apparatus of any one of claims 5, 6 or 7, further comprising: time measurement means (2, 3) for measuring the operating time of the printing apparatus (1); and detection means (2) for detecting whether the printing apparatus is performing a specific process; wherein said storing means (2-5) is adapted to periodically store said first history information in non-volatile storage means (5) at time instants indicated by said time measurement means (2, 3),said storing means being responsive to said detection means to delay said storing relative to such time instant, if, at that time instant, the printing apparatus is performing said specific process. The apparatus of claim 4 or 9, wherein said storing means (2-5) is arranged such that said storing is delayed until either said specific process is no longer performed or a predetermined delay time has elapsed, whatever is earlier. The apparatus of any one of claims 1 to 4 and 6, wherein said changing means (2) is responsive to a first particular one (40) of said control commands. The apparatus of any one of the preceding claims, wherein said outputting means comprises transmission means (2, 7) responsive to a second particular one (50) of said control commands for sending said history information to the host device. The apparatus of claim 12 wherein said outputting means (2, 7) includes: conversion means for converting said history information to an index allowing evaluation of whether or not the service life of a component involved in the operation represented by said history information has expired; and means for sending history information in the form of said index to the host device. The apparatus of claim 12 or 13, further comprising: data conversion means for coding the history information or the index, respectively, by hexadecimal to decimal conversion and sending the coded information to the host device. The apparatus of any one of claims 12 to 14, wherein said outputting means comprises display means for displaying the history information or the index, respectively. The apparatus of claim 15, wherein said display means comprises means for printing said history information or index, respectively. The apparatus of claim 4, 9 or 10, wherein said storing means (2) is responsive to a third particular one of said control commands for storing said history information independent of said time measurement means. A method of controlling a printing apparatus connected to a host device and receiving control commands and print data from the host device, comprising the following steps: (a) counting a first count value indicative of a number of times the printing apparatus (1) has performed a certain operation; (b) storing the first count value in a non-volatile manner as first history infromation; (c) detecting a predetermined input and changing said first count value when said input is detected; and (d) outputting said first history information; characterized by (e) counting a second count value indicative of the number of times the printing apparatus (1) has performed said certain operation, said second count value remaining unchanged in step (c); and (f) storing the second count value in a non-volatile manner as second history information; wherein step (d) comprises outputting said second history information. The method of claim 18, wherein step (a) comprises counting a plurality of first count values each indicative the number of another one of a corresponding plurality of different operations of the printing apparatus, step (b) comprises storing each of said first count values as a respective first history information, step (e) comprises counting a corresponding plurality of second count values, step (f) comprises storing each of said second count values as a respective second history information, and step (c) comprises changing one of said first count values specified by said predetermined input. The method of claim 18 or 19, further comprising the steps of: (g) measuring the operating time of the printing apparatus, (h) detecting whether the printing apparatus is performing a specific process; and (i) periodically performing steps (b) and (f) at time instants indicated by step (g) if performing of said specific process is not detected in step (h) while delaying steps (b) and (f) relative to such time instant, if, at that time instant, performing of said specific process is detected in step (h). The method of claim 20, step (i) comprises delaying steps (b) and (f) until either said specific process is no longer performed or a predetermined delay time has elapsed, whatever is earlier. The method of any one of claims 18 to 21, wherein step (c) comprises detecting a first particular one (40) of said control commands. The method of any one of claims 18 to 22, further comprising the step of: (j) detecting a second particular one (50) of said control commands, and (k) in response to step (j) reading said first history information stored in step (b) and/or said second history information stored in step (f) as and sending it to the host device. The method of claim 23 wherein step (k) includes: converting said read operating history information to an index allowing evaluation of whether or not the service life of a component involved in the operation whose number is represented by said history information has expired; and sending the history information in the form of said index to the host device. The method of claim 23 or 24, wherein step (k) includes: (l) coding the history information or the index, respectively, by hexadecimal to decimal conversion and sending the coded information to the host device. The method of any one of claims 23 to 25, further comprising the step of: (m) displaying the history information or the index, respectively. The method of claim 26, wherein step (m) comprises printing said history information or index, respectively. The method of any one of claims 20 to 27, wherein steps (b) and (f) are performed in responsive to a third particular one of said control commands independent of said time measurement. A method of controlling a printing apparatus connected to a host device and receiving control commands and print data from the host device, comprising the following steps: (a) counting a count value indicative of the number of times the printing apparatus (1) has performed a certain operation; (b) storing the count value in a non-volatile manner; and (c) outputting the count value as history information; characterized by (d) detecting a predetermined input and storing, when said input is detected, in a non-volatile manner the current count value at the time of said input; and wherein step (c) comprises outputting the current count value as first history information and the difference between the current count value and said stored count value as second history information. A machine readable storage medium carrying a program for implementing the method as defined in any one of claims 17 to 29.

Inventors: ARUGA KAZUHISA, FUKANO KAZUKO, KOAKUTSU NAOHIKO, MOCHIZUKI HIDETAKE, TERADAIRA MITSUAKI, ARUGA, KAZUHISA, FUKANO, KAZUKO, KOAKUTSU, NAOHIKO, MOCHIZUKI, HIDETAKE, TERADAIRA, MITSUAKI
Applicants: SEIKO EPSON CORP, SEIKO EPSON CORPORATION
Application year: 1998
Main classification: B41J29
IPC codes: B41J29, G03G15