DEVICE AND METHOD FOR CONTROLLING A PAPER FEED MOTOR OF A PRINTER

Abstract: A control device for controlling the paper feed motor (27) of a printer which has a paper presence-absence detector (13) and wherein a printable space in a prescribed amount is still left on the paper just at a point of time when the detector detects the absence of paper, and which further has means (9) for accumulating paper feed amounts specified by a plurality of control commands instructing paper feed, when these control commands are given successively, means (9) for preestimating whether or not the printable space is left on the paper after the paper feed by the accumulated value is executed, and means (9) for executing the paper feed by said accumulated value when the preestimation of the space being left is obtained.

Description: The present invention relates to a device and a method for controlling a paper feed motor of a printer. When a plurality of control commands for feeding paper are sent successively from a host computer, a conventional printer such as the printer disclosed in JP-A-63 027 278 repeats acceleration a , constant-speed operation b , deceleration c and stop d of a paper feed motor (hereinafter referred as PF motor) in accordance with each control command, as shown in Figure 1. In order not to print beyond the desired paper margin, it is judged whether printing is currently conducted inside a printable area of the paper or not, every time when one paper feed sequence ( a , b , c and d ) is ended. A subsequent paper feed operation is executed when it is judged that the printing is conducted inside said area. According to the above-stated prior art, however, it is necessary to conduct the acceleration a , the constant-speed operation b , the deceleration c and the stop d of the PF motor every time when the control commands are inputted from the host computer, and to repeat them. Therefore an unnecessary time for the acceleration a , the deceleration c and the stop d is spent every time and repeatedly. The unnecessary time increases in proportion to an increase in the number of times of repetition. This causes the lowering of the actual printing speed of the printer which depends on a driving time of the PF motor. An object of the present invention is to eliminate the aforesaid unnecessary time and thereby to improve the actual printing speed of the printer. This object is achieved with a control device and a control method as claimed. When a plurality of paper feed control commands are given successively, according to the present invention, the paper feed amounts specified by these control commands are accumulated, and the paper feed by a value obtained from the accumulation is executed in one paper feed sequence (acceleration, constant-speed operation and deceleration of the PF motor). Consequently, a waste of time as repetition of acceleration and deceleration of the PF motor in a plurality of times is removed. According to the present invention, preestimation is made as to whether or not a printable space will be left on the paper after the paper feed by the accumulated feed amount is executed, prior to this execution, and said paper feed by the accumulated value is executed only when printable space is preestimated to be left. Accordingly, there is no possibility of departure from the printable area of the paper or slipping-out of the paper from a platen in the course of the execution of the paper feed. One way of carrying out the invention is described in detail below with reference to drawings which illustrate only one specific embodiment and in which: Fig. 1 is a diagram of a conventional driving sequence of a PF motor; Fig. 2 is a block diagram showing the entire construction of one embodiment of the present invention; Fig. 3A and B are a perspective view and a side view, respectively, showing the positional relationship between a printing head and a PE detector; Fig. 4 is a diagram of the driving sequence of a PF motor according to one embodiment of the present invention; and Fig. 5 is a flowchart showing a decision processing routine of the CPU of one embodiment of the present invention. Figure 2 shows the entire construction of one embodiment of the present invention. A printer control device 1 is connected to an external host computer 5 by an interface element (I/F element) 3. From the host computer 5, printing data and printing control commands for controlling paper feed, carriage movement, etc. are delivered. These data are once stored in the I/F element 3 or a RAM 15. The I/F element 3 is connected with a CPU 9 through an address and data bus 7. CPU 9 is connected with a ROM 11 through the bus 7 and conducts a printing control in accordance with a control program stored in this ROM 11. In the process of this control, first CPU 9 reads and interprets the data in the I/F element 3 and, if necessary, it responds to a signal from a paper presence-absence detector (called a PE detector) 13 and various data for the printing control which are stored beforehand in ROM 11 or RAM 15. Then, CPU 9 executes computation in accordance with the control program on the basis of said data, and as the result of this computation, it delivers a command to a CR (carriage) motor driving circuit 17, a PF motor driving circuit 19 and a head driving circuit 21 through the bus 7 for controlling each of these circuits. The CR motor driving circuit 17 drives a CR motor 23 in accordance with the command from CPU 9. A carriage 25 is thereby moved. The PF motor driving circuit 19 drives a PF motor 27 and thereby paper 29 is fed. Step motors are generally employed for the CR motor 23 and the PF motor 27, and a carriage movement amount and a paper feed amount are determined by the number of steps executed by these motors. The head driving circuit 21 drives a printing head 31 mounted on the carriage 25, and thereby printing is conducted. The printing is conducted with a movement of the carriage 25. Paper feed is conducted when the carriage 25 stops. Figures 3A and B show the positional relationships among the paper 29, the printing head 31 and the PE detector 13. As is shown by a direction h , the paper 29 is inserted between a platen 35 and a paper feeding roller 37 from the side of a paper feeding guide 33 and fed upward in front of the printing head 31 with the rotation of the platen 35 driven by the PF motor 27. In the execution of this paper feed, a line pitch stored beforehand in RAM 15 (it is converted into the number of steps of the PF motor 27 and stored) is used as a unit feed. The paper feed amount is specified by a paper feed control command given from the host computer. As for the PE detector 13, a microswitch is generally used therefor. The detector is fitted on the back side of the paper feeding guide 33 so that a detection pin 13a thereof projects above the surface of the paper feeding guide 33, for instance. When the paper 29 is present on the detection pin 13a, the PE detector 13 outputs a signal indicative of paper being present. When the paper 29 is fed and the rear end thereof runs past on the detection pin 13a, the output of the PE detector 13 changes from the paper-present signal over to a paper-absent (PE) signal. At this time of changing over, the paper 29 still has a printable space left corresponding to a distance L from the detection pin 13a to a paper presser plate 40 positioned just before the printing head. This distance L is called an override amount in the present specification. This override amount L is a fixed value which is dependent on the location of the PE detector 13, and it is converted into a number of steps of the PF motor 27 and stored beforehand in ROM 11 or RAM 15. The number of lines which can be printed in the override amount L depends on the line pitch and the width of a margin to be left at the bottom or rear end of the paper. The data for setting this line pitch and the margin width, together with data on the number of characters per line, an inter-character pitch, a character size, etc., are together called a format. These format data are given to the printer control device 1 from the host computer 5, prior to the data for executing a printing operation, inclusive of printing data and printing control commands. These format data are sent from the I/F element 3 to CPU 9 and are then written in an exclusive area in RAM 15. Next, operations of this embodiment will be described with reference to Figures 4 and 5. It is assumed that three paper feed control commands are separately delivered in succession from the host computer 5. The paper feed amounts according to these separate commands are denoted by X1, X2 and X3. These control commands are once stored in the I/F element 3 and then read out by CPU 9. CPU 9 executes an arithmetic processing as shown in Fig. 5 to determine the paper feed amount to be executed. When printable space would be left on the paper 29 after all paper feed amounts X1, X2 and X3 specified by the control commands were executed, the sum of X1 + X2 + X3 of the specified paper feed amounts is determined as the paper feed amount to be actually executed. On the other side, when no printable space would be left, the override amount L is determined as the paper feed amount to be executed. Subsequently, CPU 9 starts the PF motor 27 to execute the determined paper feed amount in one paper feed sequence (acceleration, constant-speed operation and deceleration). As is shown in Fig. 4, accordingly, the specified paper feed amounts X1, X2 and X3 are executed at one time together and paper feed in a necessary amount is completed in a short time. Fig. 5 shows an arithmetic processing routine in CPU 9. This routine is executed when CPU 9 receives a printing control command. First, it is judged whether the printing control command is the paper feed control command or not (step S1). The printing control commands include control commands for printing and carriage movement, in addition to the paper feed command. When the received control command is not the paper feed command, control is switched to either of other routines for controlling printing and carriage movement. When the received command is the paper feed command, a value Y of an amount called an unexecuted paper feed amount stored beforehand in RAM 15 is read out, a paper feed amount X specified by the control command is added to said unexecuted paper feed amount Y, and the sum Y + X thus obtained is stored afresh in RAM 15 as an updated value of the unexecuted paper feed amount Y (step S2). The unexecuted paper feed amount Y is initialized to "0" when a printing control is started, and therefore the paper feed amount X1 specified by the first paper feed control command becomes the first updated unexecuted paper feed amount Y. Subsequently, CPU 9 judges whether the next printing control command is the paper feed control command or not (step S3). When it is the paper feed control command, step S2 is executed again. In this way, step S2 is repeated by the number of successive paper feed control commands. As the result, the unexecuted paper feed amount Y turns to be the accumulated value X1 + X2 + X3 of the paper feed amounts X1, X2 and X3 specified by three successive control commands. When the processing of step S2 is finished for the last one of the successive paper feed control commands, the result of step S3 becomes NO, since the control command subsequent thereto is not the paper feed command, and an advance is made to a step S4. At this step S4, the override amount L stored beforehand in ROM 11 or RAM 15 is read out. In succession, an output signal value of the PE detector 13 is checked up (step S5). When the output value of the PE detector 13 shows that the paper is still present, a comparison between a residual amount S of the printable space with the unexecuted paper feed amount Y is conducted subsequently (step S6). The residual amount S of the printable space is a value obtained by subtracting the length of a paper rear-end margin stored beforehand in RAM 15 from the override amount L, in this case of the paper being present. In the case of the paper being present, in other words, the residual amount S of the printable space ensures that at least a printable space corresponding to the rear-end margin will be left on the paper 29 even after a paper feed in a feed amount equal to this residual amount S is executed. In the case that the result of the comparison at step S6 shows that the number of line pitches of the residual amount S of the printable space is larger than that of the unexecuted paper feed amount Y, the paper feed in the unexecuted paper feed amount Y is executed (step S7), since some printable space will certainly be left after the paper feed in the unexecuted paper feed amount Y has been executed. Subsequently, the unexecuted paper feed amount Y is set to "0" and this routine is ended (step S8). In the case when the number of line pitches of the residual amount S of the printable space is equal to or smaller than that of the unexecuted paper feed amount Y (including the case when the value S turns negative because of the paper rear-end margin being larger than the override amount L), there is a possibility that the paper feed departs from the printable space or further that the paper 29 slips off the platen in the course of the paper feed in the unexecuted paper feed amount Y. For safety, accordingly, the paper feed is executed by the residual amount S of the printable space (step S9). Thereafter the executed paper feed amount S is subtracted from the unexecuted paper feed amount Y, a residual amount Y - S thus obtained is written in RAM 15 as an updated value of the unexecuted paper feed amount Y (step S10), and a return is made to the step S5. In this case, accordingly, the paper feed in the residual amount S of the printable space is executed repeatedly until the unexecuted paper feed amount Y becomes less than the residual amount S of the printable space. When the amount Y turns less than the residual amount S, an advance is made to the steps S7 and S8 and this routine is ended. If the output of the PE detector 13 switches from the paper present signal to the paper absent signal in the course of this process, a transfer is made to the processing for the case of the paper being absent, which will be described in the following. When at step S5 the output of the PE detector 13 shows that paper is absent, an advance is made to a step S11 and a residual override amount LL is calculated. The residual override amount LL is the amount of a space actually left on the paper 29, and it is determined by subtracting the total paper feed amount Z executed after the output of the PE detector 13 switched over to the paper absent signal, from the override amount L. Herein the total paper feed amount Z had been calculated at a step S15 and stored in RAM 15 during the preceding paper feed execution. After the calculation of the residual override amount LL, a residual amount T of the printable space is determined on the basis of this amount LL, and a comparison of this printable space T with the unexecuted paper feed amount Y is conducted (step S12). The residual amount T of the printable space is the amount of the printable space actually left on the paper 29, and it is determined by subtracting from the residual override amount LL the length of the paper rear-end margin stored beforehand in RAM 15. In the case when the number of line pitches of the residual amount T of the printable space is larger than that of the unexecuted paper feed amount Y, the paper feed in the unexecuted paper feed amount Y is executed (step S13). Then, the unexecuted paper feed amount Y is cleared to "0" (step S14), the paper feed amount Y currently executed is added to the total paper feed amount Z already executed and the sum Z + Y thus obtained is written in RAM 15 as an updated value of the total paper feed amount Z already executed (step S15). The total paper feed amount Z already executed is cleared to "0" when printing on the paper currently fed is started first. After the step S15 is executed, this routine is ended. In the case when the number of line pitches of the residual amount T of the printable space is found to be smaller than that of the unexecuted paper feed amount Y (including the case when the value T is negative because the paper rear-end margin is larger than the residual override amount LL) at the step 12, execution of the paper feed by the unexecuted paper feed amount Y inevitably causes the departure from a printable area of the paper 29 or the slipping of the paper 29 off the platen 35 in the course of the paper feed. In this case, therefore, the paper feed is executed by the residual override amount LL and the paper 29 is discharged above the platen 35 (step S16). According to specifications, the printing control operation may be stopped immediately without executing this paper discharge. Then, a substantial paper feed amount (residual amount of the printable space) T of the paper feed executed currently is subtracted from the unexecuted paper feed amount Y, and a value Y - T thus obtained is stored in RAM 15 as an updated value of the unexecuted paper feed amount Y (step S17). This value of the unexecuted paper feed amount Y is executed after the next sheet of paper 29 has been set. According to specifications, the paper feed amount Y - T that has not been executed may be decided not to be executed also for the following paper and instead the unexecuted paper feed amount T is reset to "0". Then, this routine is ended. When the paper feed control commands are given successively, as described above, the paper feed amount in accordance with each control command is accumulated, and a judgement is made as to whether the departure from a printable area of the paper would occur or not when the paper feed by the accumulated value were executed. When it is judged that no departure would take place, the paper feed by the aforesaid accumulated value is executed in one paper feed sequence (acceleration, constant-speed operation and deceleration of the PF motor). Accordingly, the PF motor need to be accelerated and decelerated only once, and thus the speed of the paper feed is increased. The embodiment described above is only one example of how to realize the present invention. In the above-described embodiment, for instance, the length of the paper rear-end margin is substracted from the override amount L or the residual override amount LL so as to determine the residual amount S or T of the printable space. If the paper rear-end margin is a fixed value, in this relation, a value obtained by subtracting said value at the beginning can be used as the override amount L or the residual override amount LL, and this method simplifies the processing. According to specifications, the host computer is designed to control the paper rear-end margin, while the printer is released from the control thereof. In this case, a judgement as to the possibility of printing can be made simply on the basis of the override amount L or the residual override amount LL. While the presence or absence of the paper is checked up every time when the paper feed is to be executed in the above-described embodiment, it is also possible to dispense with the operation of checking up the presence or absence of the paper after the paper once turned absent, by regarding the paper as absent until subsequent paper is set.

Claims: A control device for a printer which is so constructed as to execute a paper feed by an amount specified by a paper feed control command and which has means (13) to detect the presence or absence of paper wherein a printable space of a prescribed amount (L) is left on said paper at the time when the output of said detecting means switches from a first state indicating presence of paper over to a second state indicating absence thereof, characterized by a means (9) to calculate an accumulated value (Y) of the paper feed amounts specified by a plurality of paper feed control commands when these control commands are given successively, a means (9) to preestimate on the basis of said prescribed amount and said accumulated value, whether printable space would be left on the paper if it was fed by the accumulated value, and a means (9) to execute the paper feed by said accumulated value in the case when a remainder of printable space is preestimated to be present, while executing the paper feed by an amount related to said prescribed amount in the case when a remainder is preestimated to be absent. The device according to claim 1, wherein said preestimating means is adapted to preestimate a remainder to be present in the case when said prescribed amount (L) is larger than said accumulated value (Y) and the output of said detecting means (13) is in its first state and in the case when a value obtained by subtracting from the said prescribed amount (L) the total paper feed amount (Z) of the paper feed already executed, after the output of the detecting means switched over to its second state, is larger than the accumulated value when the output of the detecting means (13) is in its second state. The device according to claim 1, wherein the paper feed executing means (9) is adapted to execute when a remainder is preestimated to be absent, a paper feed by the said prescribed amount (L) when the output of the detecting means (13) is in its first state, and to execute a paper feed by an amount (LL) necessary for discharging the paper, which is an amount corresponding to the value obtained by subtracting from the said prescribed amount (L) the total paper feed amount (Z) of the paper feed already executed, after the output of the detecting means switched over to its second state. A control method for a printer which is so constructed as to execute paper feed by an amount specified by a paper feed control command and which has a means (13) to detect the presence or absence of paper wherein a printable space of a prescribed amount (L) is left on said paper at the time when the output of this detecting means switches from a first state indicating the presence of the paper over to a second state indicating the absence thereof, characterized by calculating an accumulated value (Y) of the paper feed amounts specified by a plurality of paper feed control commands when these control commands are given successively, preestimating whether printable space would be left on the paper if it was fed by the accumulated value, on the basis of the said prescribed amount and the said accumulated value, and executing the paper feed by the said accumulated value in the case when a remainder of the space is preestimated to be present and executing the paper feed by an amount related to the said prescribed amount in the case when the remainder is preestimated to be absent.

Inventors: KITABATA, KAZUO C/O SEIKO EPSON CORPORATION
Applicants: SEIKO EPSON CORPORATION
Application year: 1989
Main classification: B41J29
IPC codes: B41J11, B41J29