APPARATUS AND METHOD FOR DRYING INK PRINTED ON A PRINT MEDIUM IN A PRINTING SYSTEM

Abstract: A printer has a sheet feed and drum transport assembly (17), an exit assembly (465) and a dryer. Various print para­ meters or conditions relating to the drying of the ink on the print medium are monitored. These print parameters include print data density, ink drying characteristics and ambient humidity. The monitored print parameters are used to control the drying. In addition the monitored print parameters are used to control the detaching of the print medium from a rotary transport drum (10).

Description: APPARATUS AND METHOD FOR DRYING INK PRINTED ON A PRINT MEDIUM IN A PRINTING SYSTEM This invention relates to apparatuses and methods for drying ink printed on a print medium in a printing system. In printing with a liquid on a print medium, the liquid must be dried before the medium may be further handled. The speed with which the printed medium dries depends upon the ability of the medium to absorb the liquid and the areal density of the liquid applied to the medium. If the medium does not readily absorb the liquid, or if a large quantity of liquid is applied to a small area of the medium, the procedure of allowing the medium to dry passively before handling it is either unreliable or too time-consuming. In the past, passive drying of the medium has usually been relied on, but in applications where predetermined conditions indicated additional drying would be required, a fixed energy source has been used to provide the additional drying. For example, US 3,894,343 discloses a heating element for drying inks on a printed web. Such a system must be designed for the worst case drying problem--the wettest areal density and the least absorptive print medium. Any combination of print conditions other than this results in the use of excessive energy to dry the printed web. In addition, if the web stops, it is necessary to remove the energy source to avoid damaging the web. The requirement to adjust printing operation in accordance with the print conditions is well known in the art. For example, US 3,835,777 and US 3,958,509 disclose adjustment of the flow of ink to a printing press in response to sensing of the density of the image. In US 3,835,777, a patch of the printed document is monitored with a densitometer. The signals from the densitometer are analyzed by a computer and used to gate the flow of ink to the press. In US 3,958,509, a lithographic plate is scanned to determine the density. The print density information is then electronically analyzed and used to adjust the flow of ink to various print zones in the printing area. In ink jet printers, it is well known to adjust the ink flow in response to the motion of the nozzles relative to the print medium. For example, US 3,717,722 shows an array of ink nozzles for printing a pattern on cloth. The velocity of flow to the nozzles is adjusted automatically in accordance with the speed of the web under the- nozzles, to maintain the same intensity of printed image on the cloth. Similarly, US 4,050,075, shows adjustment of the ink flow or of the manner in which the ink is deposited on the print medium to compensate for changes in relative movement between ink jet and print medium. Thus, the width of a printed trace from the ink jet can be maintained despite relative velocity variations between the ink jet and print medium. Accordingly, while monitoring of print conditions or parameters to adjust the printing operation is well known, the problem of efficiently drying the print medium in response to varying print conditions has not been solved. Other problems that have occurred during the drying of the liquid on the print medium related to the stiffness of the paper or its willingness to snap back to its desired flat state after drying. This is particularly important in a drum printer in order to facilitate detachment of the sheet material from the drum (i.e., if the paper does not have sufficient stiffness it is difficult to detach from the drum). Furthermore, in drum printers a corona charge assists in holding the leading edge of the paper to the drum and is effective to "tack" the paper to the drum. With a proper corona charge the sheet material tends to flare out in a controlled manner--which assists in the desired detachment of the sheet material from the drum. However, if the sheet material has a high print data density and is thus substantially wet, this would tend to bleed off the desired corona charge. It will be understood that the above factors affect the detachment of the paper from the drum. If such detachment takes place at other than an optimum time, this may lead to paper jams and print tearing, or to generally unreliable operation. Accordingly, the invention seeks to control the drying operation as a function of print parameters for efficient energy use and rapid operation of the printing apparatus. The invention also seeks efficiently to dry print images by controlling the detachment of sheet material from the drum as print parameters vary. According to the invention, apparatus for drying ink printed on a print medium in a printer system, is characterised by means for detecting print parameters related to the drying of the ink printed on the print medium, and means responsive to the detecting means to control drying of the ink printed on the print medium in accordance with the print parameters. Further, in accordance with the invention, the print parameters that are detected include print data density, drying characteristics of the ink and ambient humidity. The invention extends to a method of drying ink printed on a print medium in a printing system, characterised by the steps of (a) detecting print parameters related to the drying of the ink printed on the print medium, and (b) controlling the drying of the ink printed on the print medium in accordance with the print parameters. The scope of the invention is defined by the appended claims; and how it can be carried into effect is hereinafter particularly described with reference to the accompanying drawings, in which : Fig.l is a perspective view of a copier system having a drum printer and drying apparatus according to the present invention; Fig.2 is a block diagram of an exit assembly and dryer in the system of Fig.1; Fig.3 comprises Figs. 3A and 3B which taken together form a block diagram of the control and sequencing system for the copier system of Fig.l; Fig.4 is a block diagram of systems which control heat energy and detect print data density of the copier system of Fig.1; Fig.5 shows the timing of pulses on certain lines in the system of Fig.4; ; Fig.6 shows the velocity profile of the drum of Fig.l and the velocity waveshape of the exit belts of Fig.l; Fig.7 is a detailed block diagram of the control and driving system for the dryer in the copier system of Fig.1; Fig.8 is a plan of an operator's panel connected to the system of Fig.3A; Fig.9 is a block diagram of a system for detecting ambient humidity to provide signals to input ports of a microprocessor in the system of Fig.3A; Fig.10 is a block diagram of a system for detecting ink specifications to provide signals to an input port of the microprocessor in the system of Fig.3A; Fig.11 is a detailed block diagram of the microprocessor and its busses and ports in the system of Fig.3A; Figs. 12 to 16 are flow charts helpful in understanding portions of the program for the microprocessor of Fig.3A; ; Fig.17 is a perspective view of a flat transport assembly for use with drying apparatus according to another embodiment of the invention; and Figs. 18 to 22 show further embodiments of drying apparatus according to the invention. A copier system 15 (Fig.l) includes a printer with a sheet feed and drum transport assembly 17, a sheet exit assembly 465 and at least one ink dryer 464. The printer may be of the ink jet type having ink jet nozzles (not shown) carried by an array transport system 250. Copier system 15 provides control and sequencing for (1) sheet feed and drum transport assembly 17, (2) array transport system 250 and (3) exit assembly 465 and dryer 464. In the control of drying, system 15 provides for detection of various print parameters relating to the drying of the ink printed on a sheet 11. The print parameters that are detected include print data density, ambient humidity and characteristics of the ink. These detected print parameters are used by system 15 efficiently to control drying of the ink printed on a sheet which constitutes the print medium. Such drying may be accomplished by one or more of the following the control of heat energy supplied to dryer 464; the control of the speed exit assembly 465; and the control of the number of extra revolutions that a sheet is rotated by a drum 10 of the assembly 17. In addition, the detected print parameters are used by system 15 to control and delay detachment of a sheet 11 has dried to the extent that it is sufficiently stiff for reliable detachment. In this manner the operation of system 15 approaches an optimization of the drying and detaching function with respect to time and energy used by the system. The ink jet nozzles may be driven by input data from a document-scanning system that includes a scanner and a source organizer to feed a data memory in which the image data is stored before being applied to the ink jet arrays. Such a document-scanning system is described in US 4,069,486, and GB 1,566,826. Single flexible sheets 11 are fed to the rotary drum 10 from bin 12 by conveying belts 13. Conveying belts 13 are entrained around driven roll 20 and idle roll 21. A vacuum plenum 22 within the belts 13 is connected by conduit 23 to a vacuum source (not shown). A solenoid 29 operates a mechanical paper gate 28 (Fig.2) of assembly 17 in the sheet path between paper guides 26a and 27 to prevent any sheet from proceeding to drum 10 until that sheet is released. Drum 10 is driven in a load mode and in a print mode by a drum motor and servo assembly 62 (Fig.1). A load mode includes both loading of a sheet and unloading of a previous sheet, if any. The print drum surface velocity is plotted against time in the upper curve of Fig.6. Initially the velocity is zero and continues in the portion 73 of the curve to be zero until the load mode is called for, when the drum is accelerated to load velocity in the portion 70 of the curve. With the drum revolving at load velocity, a first sheet is loaded onto the drum, having been released by the gate 28 and becomes loaded during the LOAD period indicated. The drum is then accelerated during the ACCEL period in the portion 74 of the curve, until it has reached print velocity. Printing occurs during the PRINT period in the portion 72 of the curve, whereafter the drum is decelerated during the DECEL period in the portion 75-of the curve, until it has reached load velocity as indicated by the portion 71 of the curve. During the period when the drum is rotating- at load velocity, a start unload signal initiates unloading of the first sheet from the drum and subsequent loading of a second sheet on the drum after release by the gate 28. The UNL unload period of the first sheet and the LOAD period of the second sheet overlap to some extent. The steps listed above are then repeated for the second and subsequent sheets. In conventional manner, vacuum control 19 is coupled to drum 10, with conduits to provide both vacuum and pressurized air. Specifically, control 19 is effective to provide leading-edge and trailing-edge vacuum, as well as pressurized air. Vacuum control 19, servo assembly 62 and other details of the sheet feed and drum transport are described in detail in DE 28036988 and FR 2379458. After sheet 11 has been printed on drum 10, it is detached and passes below paper guide 26b onto the lower run 468a (Fig.2) of belts 468 of exit assembly 465, which belts 468 are entrained around a driven roll 467 and an idle roll 467a. Roll 467 is driven by a stepping motor 478 which is energized by a conventional stepping motor controller 474. In order to provide a carry or stepping pulse to controller 474 control signals are provided along output bus 100 through output port 470 and lines 472 to an adder 473 having additionally applied clock pulses. The adder 473 processes the data value on lines 472, and the higher the data value, the more frequently adder 473 provides a stepping pulse on line 475 to controller 474. In this manner exit belts 468 are operated at a desired velocity. The exit belt linear velocity is plotted against time in the lower curve of Fig.6, which shows the time relationship with the drum velocity. The exit belts 468 are accelerated from zero velocity to load speed which continues in the portion 484a of the curve, because the belts are maintained at load speed during printing of a first sheet as there is no sheet to be dried at that time. After the first sheet has been printed, it is unloaded from the drum onto the belts 468 driven at load speed corresponding to drum surface velocity. When the first sheet is fully detached from the drum, the belts 468 start to decelerate from load speed along the portion 486 of the curve until they reach a desired drying velocity, for example, one of the velocities represented by portions 487a, 487b, 487c and 487d of the curve. Whilst the belt is moving at the selected velocity, the printed sheet is held against the lower run 468a of the belts by vacuum applied to vacuum plenum 22a (Fig.2) and passes between the run 468a and dryer 464 to be dried. When the sheet reaches the end of the run 468a, it is detached from the belts to be received in bin 14 (Fig.1). After the second sheet is printed, the belts are accelerated along the portion 488 of the curve until they reach load speed again at portion 484b of the curve, ready for the unloading of the second sheet. Instead of, or in addition to, thermal dryer 464, which may be a hot platen, hot roll or lamp, a microwave dryer 466 (Fig.7) may be provided The operation is repeated as often as necessary. A programmable microprocessor 300 (Fig.3A) has its outputs connected by output bus 100 to output ports 110, 111, 112, 113 and 114, as well as output port 470 (Fig.2). Input ports 104, 105, 106 and 107 are connected by input bus 102 to the processor 300. Output port 111 supplied signals over lines 84a, 131a and 146a to the drum motor and servo assembly 62, from which signals are supplied over lines 116 and 210 to input port 104. Output port 112 provides signals over lines 194 and 196 to a TPT servo assembly 264 (Fig.1) forming part of the array transport system 250. The assembly 264 in turn provides input signals over lines 202, 204, 206 and 208 to input port 105. Selected inputs and outputs of input port 107 and output port 114 are coupled to an operator's panel 245 (Fig.8) which includes display 230, ten-key pad 243A, start key 30A, and stop-reset key 241A. The output port 113 supplies signals over lines 124, 150, 152, 158, 160 and 170 to vacuum control 19 (Fig.19) Input signals are supplied over lines 220 and 222 to input port 106, and additional input signals are supplied over line 212 to input port 104. The output port 113 also supplies an open gate signal from the microprocessor 300 on line 120 to a solenoid (not shown) to open the gate 28 (Fig.1). Input signals from the start key 30A, the stop-reset key 241A and the ten-key pad 243A are supplied over lines 30, 241 and 243, respectively, to the input port 107. Output port 111 is coupled by line 84a to an accelerate-to-load-speed circuit 84. Circuit- 84 produces an acceleration waveform to drive motor 60 of assembly 62 from stop to load speed. The output from circuit 84 is applied over a line 90a to a switch 90, which in the absence of a signal over line 98 from a load-speed detector circuit 91, is in a one state. In this one state, the output of circuit 84 over line 90a is applied over line 90c through a power amplifier 92 to motor 60. Amplifier 92 is effective to convert the voltage input signal to a drive current. As a result of a signal from the microprocessor 300 on line 84a calling for acceleration from stop to load speed, motor 60 accelerates drum 10 from stop to load speed as shown in the portion 70 of the upper curve of Fig.6. Motor 60 is coupled to a tachometer 95 which provides a signal to the load-speed detector circuit 91 and to a load-speed servo circuit 96. Circuit 91 is switched into operation when the pulse rate from tachometer 95 is within a specified percentage of the desired load speed. When the pulse rate enters the desired frequency band, circuit 91 is effective to change switch 90 from a one state to a zero state. When in the zero state, switch 90 connects the output of load-speed servo circuit 96 over line 90b to line 90c. In the absence of a signal on line 98, switch 90 switches back to its one state. Accordingly, when actuated to the zero state, switch 90 applies the output of load-speed servo circuit 96 to power amplifier 92. When drum 10 has reached load speed, a signal is supplied over the drum-at-speed line 212 to port 104 of microprocessor 300. Tachometer 95 provides an input signal on line 116, which occurs once per drum revolution and indicates a specific rotational position of drum 10. More frequent pulses are produced by tachometer 95 on tach line 210, which are also applied to input port 104. Output port 111 is coupled by line 131a to an accelerate-to-print-speed circuit 131, which produces an acceleration waveform to drive motor 60 from load speed to print speed. The output from circuit 131 is applied over line 134a to a switch 134, which in the absence of a signal over a line 139a, is in a one state. In this one state, the output of circuit 131 over line 134a is applied over line 90c through the power amplifier 92 to motor 60. As a result, motor 60 accelerates drum 10 from load speed to print speed, as shown in portion 74 of the upper curve of Fig.6. Tachometer 95 provides a signal to a print speed detector circuit 138 and to a print speed servo circuit 140. Circuit 138 is switched into operation when the pulse rate from tachometer 95 is within a specified percentage of the desired print speed. When the pulse rate enters the desired frequency range, circuit 138 is effective to provide an output over line 139 to an AND circuit 141. The other input to AND circuit 141 is from an inverter 142 supplied with a signal from output port 111 over line 146a when deceleration to load speed is called for. In the absence of a signal on line 146a, the AND circuit 141 passes the signal on line 139 from detector circuit 138 to line 139a to change switch 134 from a one state to a zero state. When in the zero state, switch 134 connects the output of print speed servo circuit 140 over line 134b to line 90c and power amplifier 92. As a result of a signal from the microprocessor 300 on line 131a calling for acceleration from load speed to print speed, the-drum 10 of the system is, brought to print speed, as shown in portion 72 of the upper curve in Fig.6, and printing may begin. A signal to this effect is supplied to the microprocessor 300. The line 146a from output port 111 is also connected to a decelerate-to-load-speed circuit 146, whose output is connected by line 90a to switch 90. As a result of a signal from microprocessor 300 on line 146a calling for deceleration from print speed to load speed, the circuit 146 is effective, through switch 90, to provide a deceleration waveform to amplifier 92. The signal on line 146a is effective by way of inverter 142 to block AND circuit 141, so that no signal is applied from detector circuit 138 to switch 134. In this manner, motor 60 and drum 10 are decelerated to load speed, as shown in the portion 75 of the upper curve of Fig.6. Load-speed detector circuit 91 and load-speed servo circuit 96 then function in the manner previously described to take over the drive of motor 60. Microprocessor 300 (Fig.4) has additional input ports 346 and 348 and additional output ports 342, 344 and 450 connected to buses 100 and 102 respectively. Output port 342 supplies enabling and reset signals from the microprocessor 300 over lines 350, 352 and 354 to leading-edge wetness counter 358 and page wetness counter 360, both of which output data relate to print density (one of the print parameters). Specifically, the microprocessor 300 provides a first inch enabling signal 384 (Fig.5) on line 350 from output port 342 to counter 358. The signal 384 indicates the time of the leading first inch of sheet 11 and is repeated for every revolution of drum 10. Similarly, the microprocessor 300 through the port 342 provides on line 354 to counter 360 a print-time enabling signal 386 (Fig.5), which indicates the total print time for each revolution of drum 10. The tachometer 95 provides to the microprocessor 300 through the input port 104 an index pulse 382 (Fig.5) on line 116, which occurs just prior to the leading edges of signals 384 and 386, which are coincident with the leading edge of sheet 11 as it travels under the print arrays of transport system 250 (Fig.1). Count signals are also applied to counters 358 and 360 by way of lines 380 from a read only storage or memory 378. Address data for memory 378 is provided by way of lines 374 from a print memory 372, which is as described in US 4,068,486. Print memory 372 also supplies data by way of lines 374 to the remainder of system 15 The data on lines 374 is applied as eight-bit parallel address bytes from which a direct indication at the print data density or blackness of the print may be derived. At each address, each one bit is considered a black bit, and the memory 378 sums within each address the number of black bits. In this way the output on lines 380 is a direct indication of the count of the black bits and is applied to page counter 360 and leading-edge counter 358. The outputs of counters 358 and 360 are applied by way of lines 362 and 366, and input ports 346 and 348, respectively, to the input bus 102 to micro-processor 300. Counters 358 and 360 are reset after print time signal 386 on line 354 has gone down by a reset signal from output port 342 of microprocessor 300 on line 352. The low orders output of counters 358 and 360 output# ports 344 and 450 (Fig.7) provides control and driving signals for a power control 460 for dryers 464 and 466. The amount of energy supplied by dryer 464 is controlled by data provided by the microprocessor in accordance with detected print parameters, including signals from input ports 346 and 348, which data is provided through output port 450 on lines 452a and applied through a digital-to-analog converter 454, the analog output of which is applied by line 456 to amplifier 460a. The analog signal on line 456 is gated through amplifier 460a by an enable signal on line 356a from output port 344 to produce on line 462 an energizing signal for thermal dryer 464. The duration of energization of microwave dryer 466 is controlled by data provided by the microprocessor 300 in accordance with detected print parameters, including signals from input ports 346 and 348 (Fig.4), which data is provided through output port 450 on lines 452b to a read only store or memory 460b in the form of four address bits. An enable signal is applied to memory 460b from the output port 344 of microprocessor 300 by way of line 356b. In addition clock signals are applied by way of a counter 460c to memory 460b, which may be a conventional 256 x 1 read-only memory in which data stored provides a look-up table to convert a four-bit binary value on lines 452b into a proportional time signal on line 462a to dryer 466. Memory 460b requires eight bits of address, four bits of which are supplied through lines 42b. The remaining four bits of address are cycled through by counter 460c. In this way the signal on line 462a is active to energise the dryer 466 for N/16 of the time, where N is the value on lines 452b. By variation of the value N, the duration of the active state of microwave dryer 466 may be varied as desired. In order to determine the drying effect on sheet 11 as it spins on drum 10, the ambient humidity is detected by a dry-bulb detector 388 (Fig.9) and a wet-bulb detector 404. By using ambient humidity as one of the print parameters, system 15 efficiently controls the drying of ink printed on sheet 11. Signals from detectors 388 and 404 are fed to respective amplifiers 390 and 406 whose outputs on lines 394 and 408, respectively, are fed to analog-to-digital converters 392 and 410. Digital signals from converters 392 and 410 are applied through input ports 400 and 402 to input bus 102 and then to microprocessor 300, for use by the latter in controlling drying. Another print parameter which may be used in control of drying is the drying characteristics of the ink being used. An ink bottle 414 (Fig.10) has external bands 416, 417, 418 and 420, any of which may project or not project to provide a code to indicate the drying characteristics or specifications of the ink contained in the bottle. Bands 416, 417, 418 and 420 correspond to binary weights 1, 2, 4 and 8, respectively. The presence or absence of a projectng ridge on bands 416, 417, 418 and 420 is detected by microswitches 424, 426, 428 and 430, respectively which control the potential on weighted lines 436, 438, 440 and 442, respectively, by connecting or not connecting to ground line 432 individual weighted lines, each of which is connected through a resistor to a voltage source 434. The weighted lines are coupled through input port 444 to the input bus 102 of microprocessor 300. In the example shown in Fig. 10, bottle 414 provides drying level information corresponding to the binary value of 13, because the bottle has projecting ridges on bands 416, 418 and 420. It will be understood that bottle 414 with associated ridges may be entirely moulded of plastics material. Block diagram (Fig.11) shows the physical implementation of part of the microprocessor 300, busses and input and output ports. Microprocessor 300 has, as well as output data bus 100 and input data bus 102, an eight-bit address bus 306 and a control strobe line 370. Address bus 306 allows microprocessor 300 to address up to 256 input and output ports. Typical output ports are in the form of latches, such as four bit latches 334 and 338 and eight bit or paired four bit latches 336 and 340. Typical input ports are in the form of AND gates 318, 320 and 322. Signals on the address bus 306 are decoded by gated decoder 314 by a control strobe on line 370 and the gated decoded address signal used to set the appropriate latches of the output port in accordance with data information on the bus 100. Signals on the address bus 306 are also decoded by decoder 312 and the decoded address signal used to enable the appropriate AND gates of the input port, so that data information is supplied to the bus 102. To extend memory address space, a gated decoder 316 is provided to control the addressing range of an extended address functions decode block 332. Furthermore, a power-on reset latch 324 is provided that is set whenever the power is brought up on system 15by master power on switch 80. Latch 324 resets all the output ports of microprocessor 300 when the latch 324 is reset by way of line 224. The operation of copier system 15 will now be described with respect to the control and sequencing for the sheet feed and drum transport assembly 17, exit assembly 465, dryers 464 and 466 and array transport system 250. A high level program code listing for microprocessor 300 is set out in sections at the end of this description and is written in a structured format understandable by those of ordinary skill in the art. For executing the code, microprocessor 300 may be an I/O processor used with the IBM Series I computer. Initialize The operation starts with an initialization sequence (section 5) to start system 15. A master power-on switch 80 (Fig.3B), is actuated and INIT (section 5.1) is accessed. The first operation is a reset signal in line 224 applied to POWER ON RESET (POR) latch 324 (Fig. 11). At this time, a COPY REQUEST flag is also reset. In the next step, turning on the MAIN POWER RELAY brings up line 201 (Fig.3A). The code drops through another entry, INITl (section 5.2) which is entered after handling an error, such as a jam. This is the location the code would enter after a jam has been cleared. In the first step or INIT1, a reset signal is produced from output port 344 (Fig.7) on line 356a to turn off thermal dryer 464. One reason for turning off thermal dryer 464 is that in the event of an error, with system 15 having to be opened up to take a sheet 11 out, it would be unsafe to have the dryer in a heated state. In the next step, output port 470 (Fig.2) produces on lines 472 a signal to cause variable-speed motor 478 to run at full speed so that the belts 468 travel at the same linear velocity as the load velocity of the drum 10. Thereafter all the ERROR FLAGs are reset and the NOT READY LIGHT is turned on; it remains on until system 15 is brought up to usable condition--a procedure that takes some time. Next, the function utility routine reset panel (RSTPNL - section 6.1) is called. This routine brings the operator's panel (Fig.8), back to power-on condition. The COPY REQUEST COUNT is set to 1 and applied to display 23Q. Thereafter, the PROFILE COMPLETE FLAG (section 5.2) is reset. This is a software flag that is turned on after a successful profile of the system is made. This is effective to force the profile routine (section 21) to be run during the initializing phase. Also reset is LOAD ADJUST FLAG, another software flag that will be set when paper 11 has been successfully loaded on drum 10. Meanwhile, a nominal load time of 152, corresponding to 214 degrees of rotation of the drum 10, is set into variable CALCLOAD. If the HEAD UP FLAG is off, then a subroutine called INKUP is run. INKUP (section 6.5) brings up all of the pressures in the ink lines and checks all of the levels in the ink system. If this is successful, the HEAD UP FLAG is set, with return to the main program flow. The initialize routine (section 5.2) then turns off the NOT READY LIGHT, and the system proceeds to the IDLE routine (section 8) unless the COPY REQUEST flag is on. If this is an error-handling case, the RETRY routine (section 5.3) is executed, and an error light is illuminated in display 230. The operator may then clear the jam, and he has two options. In the first option, he may actuate the reset key 241 which cancels the remaining copy run and causes a return to IDLE, (section 8). As a second option, the operator may actuate the start key 30 or master power-on switch 80 after clearing the jam. The code at STARTIT (section 9) is then executed. The run is continued, and the required additional number of copies are made so that the total number is correct. The IDLE routine (section 8) waits for the operator to request copies from system 15. This is the normal idle state of system 15. As the first step, the COPIES COMPLETE flag is set to zero, and the NO USE TIMER is reset to zero. A DOUNTIL loop is then entered and continued until there is a closure of start key 30 or a closure of reset key 241 or until any ERROR FLAG comes on or COVER INTERLOCK OPEN is set. Ten-key pad 243 is then integrated, which means that the system takes several- successive samples for noise rejection. If the samples are the same, the the switch on pad 243 is actually closed. Thereafter, display 230 is updated with anything that has been keyed in. An integration of switches takes place, and if there is any paper in the path anywhere (there should be no paper in system 15 other than in the input bin during IDLE), ERROR FLAG 1 is set. Furthermore, other switches are also integrated, and the normal way out of this routine is STARTIT, section 9). In the STARTIT routine (section 9), a COPY REQUEST flag is set and remains on until the run is completed successfully. The DONE FLAG is cleared until the last copy is run. As the next step, energizing signals are applied by way of vacuum motor line 226 (Fig.3B) and transport motor line 228 from output port 114. Digital signals from output port 450 (Fig.7) are applied by way of lines 452a to DAC 454, which produces a resultant analog signal on line 456. This analog signal is applied to power control 460, which controls thermal dryer 464 to a preheat value so that dryer 464 starts to warm up. In addition, output port 470 produces on lines 472 a full speed signal which is effective to set speed control 474, so belt 468 runs at the same linear velocity as the load velocity of the drum 10, as shown in portion 70 of the upper curve in Fig.6. Furthermore, output port 344 (Fig.7) provides a signal on line 356a to gate the amplifier 460a of power control 460, so that the previously generated signal on line 456 is applied by control 460 over line 462 to dryer 464 to start dryer warmup. If the PROFILE COMPLETE FLAG is off (it will always be off for the first copy of the day), the PROFILE routine (section 21) is called in order to characterize system 15 and to determine the existing running values of the critical parameters during a nonprinting cycle. These actual running values provide a profile and they are stored and used during the subsequent printing cycles. Profiling of Drum and Transport The PROFILE routine (section 21) calls a subroutine STP2LOAD (section 6.9) to bring drum 10 up to load velocity with a minimum of checking, since this is not a critical part of the cycling. It will be understood that the status here is non-critical, as the routine indicates that TIMER is to be set to 45 milliseconds. TIMER is loaded with a constant representing 45 milliseconds, and there is a countdown once every 125 microseconds which produces a delay of 45 milliseconds. In the next step of the listing, a signal is raised on line 84a (Fig.3A) to the accelerate to load speed circuit. This accelerates the drum 10 from stop to load speed. A DOUNTIL loop is then performed until the TIMER counts down by MSTIMER (section 6.2) to zero or until a DRUM AT SPEED signal is applied to input port 104 by way of line 212 (Fig. 3A). In the MSTIMER routine (section 6.2) every time oscillator line 220 (Fig.3A) to input port 106 changes there is an update in TIMER function, which is a count in one of the registers in microprocessor 300. If oscillator line 220 has changed, TIMER is updated, and if it has not changed, the program returns to the main program flow. The MSTIMER routine tracks line 220 as long as these calls are not too far apart. After each call of MSTIMER, the program responds to the value of TIME and the DRUM AT SPEED line 212. Two events can bring the program out of this DOUNTIL loop The first event is that TIMER reaches zero before drum 10 has reached load speed, which indicates that there is a defective drum. In that event, ERROR FLAG 2 is set, and an error-handling routine is called. In the second event, the DRUM AT SPEED line 212 (Fig.3A) provides a signal before TIMER equals zero, which indicates that the drum has accelerated in a satisfactory manner. In the second event, the program returns to the caller, and the PROFILE routine is returned to. Assuming the second event, in the next step of the PROFILE routine, another routine called check load velocity (CKLDVEL) (section 6.11) is called. This routine ensures that, after the drum accelerates from stop segment to load speed, drum 10 is actually stabilized at an acceptable load velocity, so that paper may be loaded. After that the program returns to PROFILE (section 21) and sets TIMER to 257 milliseconds. This is a little over one revolution of drum 10 at load velocity. If an index pulse is not present on line 116, there is no reference to the position of drum 10. Accordingly, TIMER is set to a value of one second representing more than the time of one revolution of drum 10, and another DOUNTIL loop is executed until TIMER is at zero or an INDEX FLAG is seen. MSTIMER (section 6.2) is called to count down the TIMER, and GETPULS (section 6.3) is called to track tachometer 95. IN GETPULS (section 6.3) an INDEX FLAG is first reset, and the signal on tachometer line 210 is received as is INDEX PULSE on line 116 to input port 104. If the INDEX PULSE, is on, the INDEX FLAG is set, and then the TACH COUNT is zeroed to prevent accumulative errors. If the INDEX PULSE is not on, then TACHOMETER readings are compared, and if the TACHOMETER reading is the same as the last sample, then the program returns to the caller. If the TACHOMETER reading is different, then TACH COUNT is incremented, and there is a return to the main program. It will be understood that, on the average, GETPULS must be called at least once during each tach pulse so that none of these pulses are missed. The PROFILE routine calls GETPULS the first time it is going to correct the OLDTACH flag and may make one erroneous count. However, after that, the first time an index signal is detected on line 116, locking into the correct count occurs, and thereafter the correct count is kept. If the program comes out of the DOUNTIL and TIMER is not zero, then the index is working correctly. In the next step, LD2PRT (section 6.10) is called. This brings drum 10 up to print velocity from load velocity. The acceleration between these velocities, as shown in portion 74 of the upper curve of Fig.6, is a critical parameter of system 15. In the LD2PRT routine, TIMER is set at 700 milliseconds as a safety timeout. Accordingly, when this routine returns to the main program, whatever is left in TIMER is a measure of how long drum 10 actually took to get up to print speed. This residual of elapsed time is arithmetically converted in the processor 300 and is stored as ACCTIM (accelerate time), which is an existing running value of a critical parameter determined during this non-printing profile cycle. After TIMER setting, any signals on lines 84a and 146a (Fig.3A) are dropped and a signal raised on line 131a to the accelerate to print speed circuit 131. The drum is accelerated from load speed to print speed and a DRUM AT SPEED signal applied on line 212. To check whether the index pulse on index line 116 is present at high speed, TIMER is set at 33 milliseconds, which is one millisecond more than the time taken for a full revolution of drum 10 at print velocity. The routines MSTIMER and GETPULS are called in the manner previously described, and a DOUNTIL loop is performed also in the manner previously described. The results determine whether the index pulse is occurring properly at the desired high speed. Additionally, print velocity CKPRTVEL (section 6.12) is checked. This routine times the interval between two successive index pulses to ensure correct print speed. CKPRTVEL (section 6.12) is similar to CKLDVEL (section 6.11). As a result of the higher speed, the resolution is not quite the same, so that instead of timing eight tachometer pulses on line 210, the timing is from index to index--which comprises 256 tach pulses. In the PROFILE routine, the next step involves drum deceleration to load speed. This subroutine determines (1) how long it takes to decelerate and (2) how far around the surface the drum 10 moves during deceleration. For reasons later to be described, the distance value is preferable to that of time and is accomplished by starting deceleration at the same time as the index signal on line 116 (Fig.3A). The routine then determines how many revolutions plus how many TACH COUNTS it takes to decelerate drum 10 until the DRUM AT SPEED signal on line 212 again occurs, indicating that the drum is at load speed. These two measurements are important in determining whether there may be an optimal point of deceleration during actual printing. It is desired that deceleration begin at such a time that the end of deceleration coincides with the optimum time for paper removal. Specifically this is accomplished by using the index signal on line 116 as a reference for deceleration, with the OVERFLOW COUNT (a number in a register in microprocessor 300) set to zero. A signal is raised on the line 146a to decelerate to load speed circuit 146 (Fig.3A), which causes drum 10 to decelerate to load velocity. TIMER is set to one second, as a safety timeout to prevent hangup. DOUNTIL is looped until the DRUM AT SPEED signal appears on line 212 or TIMER is zero. In the DOUNTIL loop, OVERFLOW COUNT tracks the number of drum revolutions (which is the number of index signals seen on line 116). In addition, by looking at TACH COUNT, the fractional part of the drum revolution is calculated, so that there is a precise indication of the drum position when the DRUM AT SPEED signal is received. In this manner, at the time of the DRUM AT SPEED signal, the revolutions in the OVERFLOW COUNTER are known, as well as the TACH COUNT, and calculation may now take place. Accordingly, the actual values of the critical operating parameters PLSTART and PLREVS will now be determined for the profile. PLSTART is the desired place where the deceleration should be started during the print cycle, and PLREVS is the desired number of index pulses that should be seen during the course of the deceleration. To release the paper at the proper point, the DRUM AT SPEED signal should come up 1090 from the index signal on line 116, which is the optimum deceleration. A signal to apply leading edge puff should come up on line 152 at 800 from the index signal on line 116 during that last rotation of drum 10. Thus, just before DRUM AT SPEED at signal comes up at 1090, the puffer should lift the leading edge of the paper so that it will detach from the drum. It should be noted that 1090 actually equals 77 tach pulses. In the calculation of deceleration time, since TIMER started at one second, if one second is subtracted from the value at TIMER end and the complement taken, the result is the deceleration time (DECTIM). In the determination of PLSTART and PLREVS, the reference point is effectively determined. The reference point is the point from which deceleration should take place in order to reach load speed at the proper position. It will be understood that after profiling and in using the stored critical parameters, if the print cycle has not reached this reference point, it is important that the cycle continue at the higher print speed until it reaches the reference point--and only then should deceleration take place. This is to be compared with undesirably starting deceleration before the reference point and then rotating at the slower load speed until a proper release point is reached. The preferable operation is performed in the PROFILE routine by considering whether TACH COUNT is greater than 77 or less than 77. If TACH COUNT is greater than 77, then 77 is subtracted from 77. Otherwise, the TACH COUNT is subtracted from 77, the result complemented, and one added to the OVERFLOW COUNTER. The result is then stored in PLSTART and the revolutions in PLREVS. In this manner, the point at which to start deceleration in order to optimize printing is now known. CKLDVEL (section 6.11) is now called to check whether load speed servo circuit 96 functions properly to maintain the drum at load speed. Drum profiling has now been completed, and all of the drum critical parameters have now been obtained. The profiling of array transport 254 (Fig.1) of array transport system 250, will now be described. Routine PRO3 (section 21.1) may be entered in two ways. In the first way entry is on the initial profile of the day. In the second way, entry occurs when the cabinet of system 15 has been opened or when transport 254 has been moved away from its end stops. Opening the cabinet produces a signal on interlocks line 222 (Fig.3A) to input port 106. Moving transport 254 away from the end stops prevents transport sensors (not shown) supplying a TPT HOME or TPT AWAY signal on line 204 or 206 to input port 105. Such a signal would indicate end of travel. During operation, either the opening of the cabinet or the transport being away from the stops is detected in routine STARTIT (section 9) and transport 254 is placed at one end or the other before printing starts. In PRO3 the home delay (HDLY) and the away delay (ADLY) are calculated as described in the program listing. HDLY is a critical parameter determined during this nonprinting cycle, the existing running value of which is equal to the time difference between (1) the drum accelerate time to print speed and (2) the time that transport 254 takes to accelerate from the away end stop to the closest edge of the paper. The six parameters that have now been determined with respect to drum and transport profile may be summarized as follows: 1 HDLY - this is the delay at the home end that starts at the time of command to accelerate drum 10-to print speed and ends with the command for transport 254 to move away. 2 ADLY - this is the delay at the away end that starts at the time of command to accelerate drum 10 to print speed and ends with the command for transport 254 to move away. 3 ACCTIM - this is the time it takes to accelerate drum 10 from load velocity to print velocity. 4 DECTIM - this is the time it takes to decelerate drum 10 from print velocity to load velocity. 5 PLREVS - this is the number of tachometer index pulses that occur during drum deceleration--which terminates at 109 . 6 PLSTART - this is the TACHOMETER count to start drum deceleration from print velocity to load velocity, when the drum reaches 109 . All of the above are critical operating parameters. A critical operating parameter is defined for purposes herein as a selected-one of the many operating parameters of system 15 that determines or is otherwise material to the performance of the system. A profile taken of a critical parameter is defined for purposes herein as a measurement of the actual value of a critical parameter preferably taken (1) during the start of operation (or restart after an error) and (2) during a nonprinting cycle. During such a nonprinting cycle, system 15 is fully functional, but sheet 11 is not moved and no ink is applied. It will be understood that only critical parameters are measured during the nonprinting cycle. The STARTIT routine (section 9) is now entered, and the PROFILE COMPLETE FLAG is first tested. Depending on the manner in which STARTIT has been reached from the program flow as shown in the listing, a profile may or may not be performed in the manner previously described. Thereafter, the routine determines whether both the sensors supplying signals to TPT HOME and TPT AWAY lines 204, 206 are off--in which case PR03 (section 21.1) is called. RETRY COUNT and COPIES COMPLETE are then set to zero. The PICK routine (section 10), is now executed to remove paper 11 from input bin 12. It can be seen that the correct paper bin is selected for input of sheets 11. A CLOCK PICKER command to PAPER PICKER provides a wait of 65 milliseconds until there is a pull back. This command is then dropped, and at that time a finger shoots forward and pushes a single sheet of paper into the feed. After waiting 130 milliseconds, the paper should be under a paper entry sensor which supplies a signal on line 234, (Fig.3B) to input port 107. If that line is not high, there is a picker failure, which causes the RETRY COUNT to be incremented. This is tried eight times and, if it is still not successful, the ERROR FLAG 4 is set and the routine jumps to ERROR. If there is paper at ENTRY, then the routine waits 250 milliseconds for paper 11 to move down the path into proximity of paper gate 28 (Fig.2) where a paper gate sensor provides a signal on paper gate line 236 (Fig.3B) to input port 107, which signal indicates the presence of paper 11. After this 250 milliseconds, the gate sensor is checked, and if it is off, ERROR FLAG 4 is set, which indicates a jam in the input, since the paper reached the entry but did not reach the gate 28. If no ERROR FLAGS have been raised, then a sheet is at the gate, ready to be loaded on the drum 10. The LOAD routine (section 11), follows; in this routine, the vacuum on the trailing edge ports in the drum is turned off by a DROP T.E. VACUUM signal on line 170, (Fig.3A). These ports are to be closed so that there is additional vacuum on the leading edge ports of the drum. As the next step, the index position of drum 10 is to be located, as the drum has been turning and the index has not been tracked. Accordingly, the DOUNTIL loop is executed, calling GETPULS (section 6.3) until an index signal appears on line 116. In this way, the index position is found and TACH COUNT is initialized. Paper Loading and Feedback of Paper Position In the NEXT routine (section 12), the LOAD ADJUST FLAG is set whenever a successful load has been accomplished. It indicates that the time required for the paper to get to the correct paper position on rotating drum 10 has been determined. If that flag is reset, it indicates that a calculation has not yet been made. Accordingly, it is necessary to set a tachometer count of 152 (related to a nominal load time), corresponding to 2140 of drum rotation, into a TEMP register, which is one of the program registers in microprocessor 300. In conventional copier systems, that load time would be the constant load time for the system. This time is calculated to be an effective safe time in which to open the paper gate of sheet feed and transport assembly 17. This safe time is not necessarily optimum, but is calculated to get the paper safely on drum 10. On the other hand, if the LOAD ADJUST FLAG is set, the TEMP register is loaded with a calculated load value (CALCLOAD). CALCLOAD is a variable defining a critical parameter that is a predetermined calculcated time stored in memory. A wait then ensues until TACH COUNT equals the value loaded in the TEMP register. Until that time of equality, GETPULS is called, which tracks tachometer 95. When that time of equality arrives (TACH COUNT equalling the value in TEMP), a pulse is produced on open-gate solenoid line 120 to open the paper gate 28 in assembly 17, starting paper 11 towards drum 10. The drum continues to be tracked by the next DOUNTIL until TACH COUNT equals 113. Accordingly, GETPULS is called to update the TACH COUNT. After the DOUNTIL loop is completed, if a sensor in assembly 17 indicates that there is no paper on drum 10, no PAPER ON DRUM signal appears on the sensor line 240 (Fig.3B) to input port 107, because the paper has not arrived at drum 10. TEMP register is set to the TACH COUNT because, as long as the paper still has not reached the sensor, TEMP is updated with TACH COUNT for every pass through this loop. When the paper arrives at the sensor, the last updated value of the TEMP register remains in that register, which provides an indication of time time paper 11 arrived. This allows the determination of a new CALCLOAD that defines the actual running value of a parameter related to the drum position at the time of paper release. CALCLOAD is now loaded into TEMP 2, and CORRECT is set to a desired tach count, which is the count at which the paper should have arrived at the sensor. If TEMP is less than CORRECT, the paper arrived early, and TEMP2 is added to half the difference between CORRECT (the time it should have arrived at the sensor) and TEMP (the time it actually arrived at the sensor). The difference is halved because the correction is applied in a direction to cause the paper to arrive late. If the arrival is too late, paper 11 will not stick on drum 10, because the vacuum ports of the drum will be uncovered. Only half the error is added in order to scale it so that the correction does not inadvertently become too great, resulting in the vacuum ports remaining uncovered after the paper arrives. On the other hand, if paper 11 is late at the sensor in assembly 17, CALCLOAD is updated with TEMP2 less the correction factor of TEMP minus CORRECT. That is to say, the paper gate 28 in assembly 17 is opened earlier (by the full amount of the error) in the next loading. If the paper arrives late it tends to uncover the vacuum ports. It is important to correct this quickly by the full error amount, so that the vacuum ports can be safely covered. In both cases, the corrections are stored as variable CALCLOAD. After these calculations, the LOAD ADJUST FLAG is set, since the time to open the paper gate has now been adjusted. It will be understood that the foregoing adjustment of the paper arrival time is accomplished at load time. It is not done during profiling, since it is not desired that paper actually be moved through system 15 into output bin 14 during profiling. Thus, paper is not moved during the profile process; instead this self-adjustment- feature for the paper operates during the first copy cycle, i.e., the first time paper is moved through system 15. In this manner, a feedback adjustment of the paper position is provided during the actual copying process, rather than- prior to the actual copying process. The drop trailing edge vacuum signal on line 170 is then dropped, causing vacuum to be directed to the trailing edge ports, so that the trailing edge of the paper 11 will be attracted when the paper reaches that point. Furthermore, the open gate solenoid signal on line 120 is also dropped, and an accelerate to print speed signal applied on line 131a to circuit 131 so that drum 10 accelerates up to print speed. Printing and Determining Print Parameters for Drying The signal applied through port 470 (Fig.2), lines 472, adder 473 and 475 to set the controller 474 to control the speed of the exit belts 468, is derived from a location memory in which one of a series of values can be set, corresponding to load speed (portion 484a of the lower curve of Fig.6) and drying velocities (portions 487a, 487b, 487c and 487d of the lower curve of Fig.6). This variable value DV is initially set to load speed, because during printing of the first sheet 11, there is no printed sheet to be carried by the belts 468, which are driven at load speed so as to be ready to receive the first printed sheet. During printing of the first sheet, a new value DV is selected and set in memory, so that when the first sheet has been printed and has been detached from the drum 10 onto the belts 468 at load speed, the velocity of the belts 468 can be changed to the selected new value DV while the second sheet is being printed. The original value DV of load speed is then set in memory. When the second sheet has been printed, the belts 468 are accelerated to load speed, set by the new value DV, and the sheet detached from the drum 10 onto the belts 468. A new value DV is set and thereafter the belts are decelerated to the selected drying velocity. As the drum 10 is accelerating the LOAD1 routine, (section 12.1) is executed. It will be understood that, with drum 10 accelerating, the profile parameter HDLY or ADLY is now used to determine when to start movement of transport 254. As previously described, drum 10 always takes longer to get to speed than moving transport 254 takes to get to the edge of the paper. It is necessary to have a delay before transport 254 starts, so that it does not get to the edge of paper 11 too quickly. Accordingly, TIMER is loaded with the interval between start of acceleration of drum 10 to print speed and start of transport 254 from stop 290 or 292, which ensures that the drum reaches print velocity just before the transport reaches. the edge of the paper. This is accomplished by# loading TIMER with. HDLY, if the transport is on the home end, or ADLY if the transport is at the away end. The system now executes the accelerate routine, ACCEL (section 13). A DOUNTIL loop is executed until TIMER equals zero. In the timing-loop previously described, GETPULS (section 6.3) continues to track drum 101 and MSTIMER (section 6.2), continues to track oscillator line 220. At the time at which COUNTER is fully counted down, transport 254 is at rest and may now begin its acceleration. Depending upon whether the transport is against the away stop or the home stop, a signal is supplied from output port 112 (Fig.3A) to TPT move home line 194 or TPT move away line 196. Thereafter, TIMER is set to 250 milliseconds, which is a safety delay to ensure against system errors or malfunctions. Another DOUNTIL loop is then executed until sensor signals on both lines 204 and 206 are off, or, in the case of a malfunction, until TIMER is counted down to zero. If TIMER counted down, then ERROR FLAG 5 is set and the system jumps to ERROR, because start of print has not been reached within an allowable time. If TIMER had not counted to zero, drum 10 is up to speed as previously described, transport 254 is at the edge of paper 11, and system 15 is ready to print. It will be noted that the system detects whether paper 11 has fallen off the drum 10 during drum acceleration. Specifically, the paper on drum 10 is checked by way of a photosensor signal on paper on drum line 240 coupled to input port 107. If paper 11 is still on drum 10, then the PRINT routine (section 14) is called, or else an ERROR FLAG 4 is set, which indicates loss of paper, and system 15 jumps to ERROR. In the PRINT routine, if the DRUM AT SPEED signal is not on line 212 (Fig.3A), then and ERROR FLAG 6 is set, which indicates that drum 10 did not get up to speed in time, and the system jumps to ERROR. If the system does not jump to ERROR, subroutine RSTWET is called (section 6.15) and as shown in flowchart (Fig.12). This subroutine initializes the wetness counters and computes drying constants Ks and Kd. This subroutine is thus effective to initialize wetness sensing before each cycle of printing. The subroutine starts at block 500 (Fig.12) and in block 502, a pulse is produced on reset line 352 (Fig.4) from output port 342 to reset counters 358 and 360. In addition counters COUNTERL and COUNTERP within processor 300 dedicated to leading edge wetness (LEW) and page wetness (PGW) are initialized to zero as shown by blocks 504 and 506, (Fig.12). A subroutine LOADKK (Section 7) is called, which is shown in the flowchart as block 508. This subroutine LOADKK takes the signals indicating the code on ink bottle 414 (Fig.10) from input port 444, to indicate the drying characteristics of the ink being used. This code is set into temporary register TEMPA. The numeric value of TEMPA represents an ink drying time from ink application until moisture content drops below a predetermined threshold. In addition, the dry bulb temperature sensor 388 (Fig.9) and the wet-bulb temperature from sensor 404, provide signals through ports 400 and-402 that are stored in temporary registered TEMPQ and TEMPR, respectively. Using these temperature values, the relative humidity is found through well-known tables associated with sling psychrometers. The output of this table lookup is placed in TEMPB. All of these parameters are used to calculate a proper drying constant Kd, which may vary for differing inks and for differing ambient humidity conditions. As described in section 7, the ink drying constant in TEMPA is multiplied by the relative humidity in TEMPR and is scaled by Factor Kx. The resultant value is then divided by the dry bulb temperature in TEMPQ, which is effective to produce a constant Kd that is used to reduce the wetness counts, LEW, PGW, for each one drum revolution. Specifically, Kd is less than one and indicates the estimated amount of print drying on a single revolution of drum 10. The drying constant Rs is related to the #amount of drying that occurs during deceleration. The number of revolutions of drum 10 performed by the drum dur#ing deceleration is found by dividing DECTIM, which was obtained during profiling, by the period of drum rotation at print velocity. The resultant number of revolutions is then multiplied by Kd to produce Ks. This value of Ks is used to predict how much drying should occur during this period of slowdown before sheet 11 exits from drum 10. After execution of the subroutine LOADKK, two temporary work registers, TEMPP and TEMPL, which are to be used in the calculation of page wetness (PGW) and leading edge wetness (LEW), are set to zero, as shown by block 510 (Fig.12). ALLOW DECEL FLAG is reset to zero, as shown by block 512 which indicates that deceleration is not allowed until sheet 11 has been dried sufficiently to ensure that it detaches properly from drum 10. The thermal dryer 464 is set to preheat power as shown by block 514 by signals through port 450 (Fig.7), lines 452, digital to analog converter 454 and power control 460. After execution of subroutine RSTWET, everything has been reset or initialized, the required drying constant Rd has been computed (using the print parameters, relative humidity and the type of ink within bottle 414), and the program returns to the PRINT routine (section 14). Accordingly, a signal is produced from output port 114 (Fig.3B) that is applied by way of PRINTER ON line 238 to ungutter the ink spray head on transport 254, to permit printing to begin. REVOLUTION COUNTER is now set to zero, and system 15 requires 224 revolutions of drum 10 to print an entire sheet of paper 11. These revolutions are tracked in the next DOUNTIL loop. At this point, a COUNT routine (section 6.13) is called, to increment a count of COPIES COMPLETE that was earlier zeroed. When COPIES COMPLETE equals COPIER REQUESTED, a done flag is set, so that no more sheets of paper 11 are fed. It will be understood that a revolution counter is included in the registers of microprocessor 300 and used as a microcoded counter register. System 15 then returns to PRINT routine, (section 14) and TIMER is set to eight seconds. This is a safety time-out to provide for a system error or malfunction caused by transport 254 not arriving at the opposite end of sheet 11. The previously described DODNTIL loop is performed until 224 revolutions are reached, at which time GETPULS (section 6.3) is called and then (sequentially) MSTIMER (section 6.2) is called with the loop. In addition the subroutine GETWET, (section 17.1) is also called. This GETWET subroutine is shown in flowchart Fig.16 and is used to accumulate the wetness counts by summing the wetness data every rotation of drum 10 during printing. The subroutine starts in block 530. The INDEX FLAG is tested in decision diamond 532 to determine whether a full page revolution of drum 10 has been accomplished, as determined by a signal on line 116 (Fig.#3A) from tachometer 95. If a full drum revolution has been made, the INDEX FLAG has been set by index pulse 382 (Fig.5) on line 116, and block 534 is entered. The contents of page counter 360 (Fig.4), which contains the current wet count, applied by way of lines 366 through input port 348 to COUNTERP, is transferred to register TEMPQ. On the prior pass through GETWET-, TEMPP was set with the previous wetness count from COUNTERP. Accordingly, the amount of wetness that is accumulated on the drum in the last revolution of drum 10 is the value of the present wetness count in TEMPQ minus the value of the previous wetness count in TEMPP. This difference value is calculated and saved as new value in TEMPQ. Register TEMPP is set with the new wetness count from COUNTERP, thereby initializing it for the next calculation. After register TEMPP has been initialized, as shown in block 536, signals 384 and 385 (Fig.5) are applied from output port 342 (Fig.4) by way of lines 350 and 354 to counters 358 and 360. The leading edges of these signals are effective to enable the counters. It will be understood that the estimated page wetness has previously been set into register PGW, and this estimated page wetness is multiplied by the drying factor Kd and register PGW set accordingly as shown in block 538. In this manner there is an adjustment of the accumulated page wetness for the amount of drying that is occurring during each revolution of drum 10. In block 540, the incremental wetness count of register TEMPQ is added to the adjusted accumulated page wetness from PGW, and this new value is set in register PGW, before return. If the GETWET routine (section 17.1) is entered and the INDEX FLAG is off, there is a jump from decision diamond 532 to decision diamond 542, which starts the GETLE subroutine (section 18.1). If TACH COUNT, the count of tach signals on line 210, is not equal to twentyfive then there is a return. If TACH COUNT is equal to twentyfive, then blocks 544, 546, 548 and 550 are executed. In block 544, the trailing edge of pulse 384 (Fig.5) is effective by way of line 350 to disable counter 358, indicating that sheet 11 is past its leading edge. Block 546 is now entered and the contents of leading edge counter 358, which contains the current leading edge wetness count, applied by lines 362 through input port 346 to COUNTERL, is transferred to register TEMPM. On the prior pass through GETLE, TEMPL was set with the previous count from COUNTERL. Accordingly, the amount of leading edge wetness that is accumulated is the present count in TEMPM minus the previous count in TEMPL. This difference is calculated and saved as a new count in TEMPM. Register TEMPL is set with the new count from COUNTERL, thereby initializing it for the next calculation. The estimated leading edge wetness has been previously set into register LEW, and this is multiplied by the drying factor Kd and register LEW set accordingly, as shown in block 548. In block 550, the incremental wetness count of register TEMPM is added to the adjusted accumulated leading edge wetness count from LEW, and this new value is set in register LEW, before return. Thus an adjustment in the accumulated count of leading edge wetness is made during the latest revolution. If during PRINT (section 14) INDEX FLAG is set when the program returns from GETPULS, the REVOLUTION COUNTER is incremented by each index pulse produced on line 116 (Fig.3A). At every ten counts of REVOLUTION COUNTER, a series of checks are made. This is done by a case statement which states that if a case is met, the listed action will be performed. Accordingly, at every ten counts of the REVOLUTION COUNTER, up to 210, reset switch line 241 (Fig.3A) which is coupled to input port 106, and interlocks line 222 (Fig.3B), which is coupled to input port 106, are examined. If line 241 indicates that the stop-reset key 241A (Fig.8) has been actuated, a DONE FLAG is turned on, so that the copy being printed is the last one. If a cover interlock has been opened, ERROR FLAG 7 is set, and the program goes to ERROR to shut system 15 down In similar manner, other checks are made and other actions are executed when the REVOLUTION COUNTER equals 1, 11, 21, 31 and every tenth number thereafter, and equals 206, 208, 212 and 221, as set forth in the program listing. Control of Drying and Detach When the REVOLUTION COUNTER equals 220, (section 14) the previously printed sheet 11 should be past the microwave dryer 466, if such is used, so that the dryer may be turned off. This is accomplished by a reset signal through output port 344 (Fig.7) on line 356b to power control 460. It is desired that belts 468 be at load speed at detach time, so that the previously printed sheet 11 may be ejected into bin 14 at load speed and the just printed sheet 11 may be unloaded from the drum 10 onto belts 468 at that speed at that time. Accordingly, a signal through port 470 on lines 472 is used to control speed controller 474 to bring belts 468 up to the required load velocity. When using a thermal dryer 464, it is only necessary that, after sheet 11 has passed the dryer, the dryer be maintained in its warm state. Accordingly, a signal through port 450 on lines 452 is applied to digital to analog converter 454 to power control 460 to maintain thermal dryer 464 in its warm state. When the REVOLUTION COUNTER reaches 224, the printer-on command is reset, dropping the signal on line 238 (Fig.3B) from output port 114. Accordingly, the heads of transport 254 are guttered when printing is completed, and the system calls a SLOWUP routine, (section 15). The SLOWUP routine is now entered to stop transport 254 and to decelerate drum 10. This routine uses two variables of the profile specifically PLREVS and PLSTART. As previously described, PLREVS is the number of index pulses during drum deceleration--which was set to end at 1090 PLSTART is the number of tachometer output pulses required to start decelerating from print to load velocity. Accordingly, PLREVS is loaded into COUNT, and PLSTART is loaded into COMPARE. A DOUNTIL loop is performed until (1) TACH COUNT equals PLSTART, (2) either TPT HOME line 204 (Fig.3A) or TPT AWAY line 206 is up, and (3) ALLOW DECEL FLAG is on. Previously in the RSTWET routine, paragraph 6.15, the ALLOW DECEL FLAG has been reset, and thus the DOUNTIL loop is executed at least once. The system thus waits for the following three events to occur: (1) for the array transport 250 to reach either home or away end so that deceleration of the transport may begin, (2) for the correct count on tach line 210, (Fig.3A), so that deceleration of drum 10 may be started, and (3) for sheet 11 to dry enough for the ALLOW DECEL FLAG to be set. Accordingly, a GETPULS routine (section 6.3) is called to increment TACH COUNT until all three of these events occur. If TACH COUNT equals COMPARE (PLSTART having been loaded into COMPARE) and ALLOW DECEL FLAG is on, then the microprocessor 300 issues a signal through port 111 (Fig.3A) on line 146a to the decelerate to load speed circuit 146. From the profiling, this is the time that has been determined as optimum for beginning of deceleration of drum 10. Thereafter, if INDEX FLAG (set from index line 116) is on, as shown in block 560 (Fig.15)7 there is a decrement in COUNT, and subroutine DRYUP, (section 19.1) is called. Subroutine DRYUP tracks the wetness while waiting for deceleration of drum 10 to occur. As shown in blocks 562 and 564, during a wait for deceleration the leading edge wetness and the page wetness are multiplied by the drying constant Kd, so that the resultant counts in LEW and PGW constantly decrease in value. A test is made in decision diamond 566 of page wetness count in PGW versus maximum wetness Kw allowed for permitting the paper to exit through the paper path. If PGW is greater than Kw there is a return. If not, then in block 568 the ALLOW DECEL FLAG is set. The DRYUP subroutine is used for a very wet sheet 11, so that this sheet is maintained on the drum for a number of extra rotations which allow it to be handed and exited to the paper path. It will be understood that, in the case of a substantially ink-saturated (black) sheet, the sheet is limp and soggy and should not be passed through the paper path in that condition. The number of revolutions on drum 10 that the sheet is subjected to is dependent on counting down PGW until it is less than the predetermined value Kw. After all of the above, three DOUNTIL conditional events occur, the system comes out of END DOUNTIL, and both transport 250 and drum 10 are decelerating. The next DOUNTIL calls GETPULS (section 6.3) and at each index pulse on line 116, COUNT is decremented. At END DOUNTIL, the COUNT is at zero and drum 10 is on the last revolution. During this last revolution, it is desired to puff the leading edge of paper sheet 11. Accordingly, a DROP L.E. VACUUM signal is applied to line 150 (Fig.3A) through output port 113. The GETDET subroutine (section 20) is called to determine the wetness of the leading edge of sheet 11, as the leading edge may have dried to some degree in the previous subroutine DRYUP. Three table-look-up tables (Fig.14) are provided, to correct the detach time in relation to beam strength and corona. Beam strength of paper is its bending stiffness. If flexed, a paper sheet will try to return to its flat condition. When the paper is wet, it loses beam strength. Corona refers to the charge on the paper that causes it to stick to the drum. These consist of a power table (PTABLE) 588, a velocity table (VTABLE) 586, and a detach timing table 580. After start in block 570, as drum 10 slows down, LEW is modified, as shown in block 572, by multiplying its value by Ks, which provides the scale for slowdown time. The most significant four binary bits in LEW are placed in register TEMPA (block 574), thus rounding the count, and a table look-up is performed (block 576) using the contents of TEMPA as an index into the detach timing table 580. Depending on the rounded value of LEW, a value is found that determines the tachometer count for start of detach. As shown in block 576, this value is stored as the detach count in register DTC. The overall page wetness is then scaled for the slowdown in block 578, PGW being multiplied by Ks to scale overall page wetness. The most significant five binary bits in PGW are placed in register TEMPA (block 582), so that the value in PGW is rounded to proper length for table indexing. A table look-up is then performed (block 584) the rounded value of PGW in TEMPA being used as# an index to determine a value of dryer power from table 588, which value is set into register DP. In block 590, the contents of DP are applied through port 450 (Fig.7) along lines 452 to the digital to analog converter 454, whose output on line 456 is to power control 460, is effective to begin to increase thermal dryer power to the proper drying level, if a dryer on thermal signal is up on line 356a. In block 592, a table look-up is performed, using the rounded value of PGW in TEMPA as an index in VTABLE 586. The resultant velocity value is stored in register DV to be used later for controlling belts 468, after which a return is made. When TACH COUNT equals the detach count in register DTC (section 15), then the apply leading-edge puff signal is brought up on line 152 (Fig.3A) and maintained until drum at speed signal goes up on line 212. This occurs at approximately 109 of revolution of drum 10. It will be understood that it may not be exactly 109 , depending upon the accuracy of the calculations and upon whether system 15 is changing with time. GETPULS, (section 6.3) is called until the drum at speed signal occurs on line 212. At this point in the program, there is enough data available from system 15 to permit a recalculation of PLREVS and PLSTART, which are the profiling variables involved in deceleration. Accordingly, RECALC routine (section 15.1) is executed when line 212 comes up. The data in TACH COUNT (the count at which the signal occurred on line 212) is set into register now. Line 212 should have come up at 1090, if nothing in system 15 had changed with time and if everything had been correctly calculcated. Accordingly, if TACH COUNT set into register NOW equals 77, equivalent to 10to, no further calculations are performed. If the count in NOW is greater than 77, this indicates that drum 10 has arrived late at load speed, and routine LATE is called (section 15.2). In this routine, there is a slight change in parameters to perform a feedback function. On the other hand, if the count in NOW is less than 77, routine EARLY (section 15.3) is called. After these calculations, a DONE FLAG is checked and, if it is set, the system calls LASTOUT (section 16) which indicates that the last sheet 11 has been run, and the copy is tracked to output bin 14. System 15 returns to IDLE routine (section 8). If the DONE FLAG is not set, system 15 goes to the NEXT routine (section 12) which loads the next sheet 11 on drum 10 for a multiple-copy run. The LATE routine (section 15.2) indicates that drum 10 did not reach speed quite soon enough. Accordingly, PLSTART and PLREVS are loaded so that they can be adjusted. It will be understood that arriving late is more critical than arriving early, since a late arrival may cause difficulty with the detachment of sheet 11. On the other hand, an early arrival means that the time to detach the sheet is lengthened. Thus, in the LATE routine, the entire error is subtracted from the existing values of PLSTART and PLREVS. A new PLSTART is calculated, and if a borrow is required, PLREVS is decremented. Following these calculations, parameters PLREVS and PLSTART are stored. Since an early arrival only subtracts from the performance of system 15 and is not as critical as a late arrival, the computation in the EARLY routine, (section 15.3) is the same as in the LATE routine, except that only half the error is used as fee#dback. The reason for this slow rate of change in adding time This to avoid the possibility of an undesirable late arrival. It will be understood that the recalculation is only with respect to drum 10, and there is no recalculation with respect to transport 254. Since transport 254 is- coming to a stop, this condition is noncritical, beca#use it does not take as long to decelerate transport 254 as it does to decelerate drum 10. The transport stop time is for the information of the service engineer and is not used in the operation of the machine. As long as such stop time is within operating tolerance, it does not affect the performance of system 15. Continuation of Printing and Exit Belt Control If it is assumed that the sheet 11 just printed was the last (the required number of copies are complete or the reset key 241A has been actuated), LASTOUT routine (section 16), is performed. A time of 370 milliseconds is required for sheet 11 to be detached from drum 10. In the first step of this routine, an output from register DV through port 470 (Fig.2) is provided on lines 472 to speed controller 474 thereby to control speed of motor 478. In accordance with the value of DV, exit belts 468 stabilize at one of the drying speeds indicated by portion 487a to d of the lower curve of Fig.6. This is the last sheet of a multiple run, and it is important to determine when sheet 11 moves past dryer 464 and/or 466, so that the increase in velocity does not take place before the copy has been completely dried. Accordingly, while the last sheet 11 is under the dryer, a delay time is calculated equal to 4500/(DV), where 4500 is a constant that yields a delay sufficient to allow an eight-and-one-half-inch sheet to pass the dryer for any value of DV. At the end of this delay time, both the thermal dryer 464 and the microwave dryer 466 are turned off, as shown in block 516 (Fig.13), when the signals on lines 356a (Fig.7) and 356b from port 344 are turned off. In addition, the exit motor 478 is increased in velocity to load speed, a shown in block 518 (Fig.13), when an appropriate signal is applied to line 472 (Fig.2) through port 470. If an exit sensor in assembly 17 is actuated, a REMOVE COPIES light is lit in display 230. In addition, after one second (for the copy to clear the exit path, the vacuum motor on signal and TPT motor on signal through output port 114 (Fig.3B) drop on lines 226 and 228. System 15 then returns to IDLE (section 8). If sheet 11 on drum 10 is not the last copy, system 15 goes to NEXT (section 12) which is the routine that loads paper. As previously described, a new sheet 11 is then loaded, and a new print cycle in initiated. The ERROR FLAGS are listed in section 22 and neet not be described in detail. It is understood that after an ERROR FLAG has been set, the ERROR ROUTINE is executed as set forth in section 23. At this time dryers 464 and 466 are turned off for safety reasons. In addition the PROFILE COMPLETE flag is reset, thereby producing a new profiling. After an ERROR, and during possible repairs, a sensor may be changed in position, or other changes may be made to copier system 15 which requires a new profiling. In a further embodiment of the invention (Fig.17), instead of drum 10, print belts 601 forming a horizontal flat bed may be used. With load belts 600 and exit belts 602 in juxtaposition with print belts 601 a flat horizontal transport assembly is formed. It will be understood that the belts 600, 601 and 602 are segmented belts similar to belts 13 and 468 (Fig.1). Conveying belts 600 are entrained around driving roll 600a and idle roll 600b, belts 601 are entrained around driving roll 601a and idle roll 601b; and belts 602 are entrained around driving roll 602a and idle roll 602b. Rolls 600a, 601a and 602a are driven by driving motors 608, 610 and 612, respectively. It will be understood that sheet 11 remains flat for the entire pass, which includes the pass under array heads 605, and the entire printing is done in only one pass. In operation, as sheet 11 comes out of a conventional paper picker, it arrives at gate 615, where it waits until it is loaded on load belts 600. The print belts 601 provide the same function as drum 10, and printing is accomplished in a single pass, thus requiring a substantial number of array heads 605. Motor 608 is controlled in a manner similar to the motor driving roll 20 (Fig.1). Motor 610 driving roll 601a is controlled in a manner similar to the motor and servo assembly 62 (Fig.3A) to provide desired loading, printing and unloading speeds in accordance with print parameters. As in the case of drum 10, in which the time during which sheet 11 remains on the drum after printing may be varied, the unloading speed of sheet 11 from print belts 601 may be varied, to ensure drying. When sufficiently dry, sheet 11 is then unloaded from print belts 601 and transferred to exit belts 602 driven by stepping motor 612. A thermal dryer 606 is disposed above belts 602, and sheet 11 is transported between the belts and the dryer. Motor 612 and dryer 606 are energized and controlled in manner similar to that used for motor 478 and dryer 464 (Figs. 2 and 7). Still further embodiments are shown in Figs. 18 to 22, which illustrate differing dryer configurations. In Fig. 18, rolls 464a and 464b are hot rolls, whose energisation is controlled by a power control similar to control 460 (Fig.7). In this embodiment, the exit belts are segmented, with a forward section 468b and a rearward section 468c. In the embodiment shown in Fig.19, the thermal dryer is a hot platen 464c having extended heat transfer surfaces spaced from belt run 468a. Again, the energisation of the platen is controlled by a power control similar to that in control 460. In the still further embodiment of Fig.20 heat is produced by a fan 461 blowing over heating elements 464d, with the drying heat then being directed through a conduit 461a over exit belt 468. Energisation of the elements is controlled by a power control similar to control 460. Fig.21 illustrates wave guide 466a of a microwave dryer, which transmits the microwave energy from a magnetron to the exit belt 468 energisation of the dryer is timed by a power control similar to that in control 460. Fig.22 shows the combination of both a thermal dryer 464 and a microwave dryer 466 for the purpose of combining both types of heating as previously explained. SECTION 1 CONTENTS This listing consists of the high level description of the code for a rotary drum printer coupled to a flatbed scanner. The actions dynamically to sense paper wetness and modify machine information accordingly have been added to an original code set identified by codes preceding new program statements. The code will support either a thermal dryer (a hot platen or heat lamp), or a microwave dryer. Only one of these dryer types would normally be installed at a time. However, a microwave dryer being more power efficient could be installed followed by a thermal dryer such that when the limiting power of the microwave dryer has been reached, the thermal dryer will take over the additional load with a further option of slowing the progress of the paper past the dryer to decrease the power requirement for a given wetness. The statements required to implement each of these options have beed added and identified so that any subset of the options can be implemented. SECTION 2 CONVENTIONS FOR THE TEXT Additions to basic code to add wetness feedback and dryer control. - Labels for wetness feedback and dryer control are in the form < *XXKK* > Statements preceded by ***, **T, **V, or**M have been added to the basic code for this purpose or modified as required. - *** - added for wetness control regardless of dryer type. **T - added for control of thermal dryer, omit for microwave dryer. - **M - added for control of microwave dryer, omit- for thermal dryer. - **V - added for velocity control under dryer < TERN > Terms in < .... > are routine names and are normally the target of of GOTO or CALL statements. (TERM) Terms in (....) are items addressed by the code such as lights, registers, Terms isolenoids, flags, etc. These items may be addressed by code statements. GOTO An unconditional branch to < ... > label. No return is implied. CALL - A subroutine call to a < ... > label. Return is normally to the caller, except when- an error condition is detected and return is made to the error handling routines. SECTION 3 INPUT/OUTPUT LINES TRANSPORT OUTPUT move away move home DRUM OUTPUT accel to load speed load speed print speed *** DRYER OUTPUT tM dryer on, microwave (356b) **T dryer on, thermal (356a) *** dryer power kV exit motor velocity (4 bits) (472) *** WETNESS COUNTER OUTPUT * reset wetness counters (352) *J^-* enable leading edge counter (350) *** enable page counter (354) MISC OUTPUT printer on vacuum motor on transport motor on reset por latch main power relay alternate paper bin scan light lighter copy darker copy PAPER PATH INPUT entry sensor gate sensor paper on drum sensor exit sensor PAPER PATH OUTPUT trailing edge vacuum off leading edge vacuum off puffer gate solenoid picker (main and alternate) PANEL OUTPUT error light add paper light remove copies light alternate paper light lighter copy light darker copy light copy request display (3 7-segment LED's) MISC INPUT oscillator (changes each 125 micro seconds) cover interlock open TRANSPORT INPUT at speed home sensor away sensor tachometer #q# WETNESS INPUT *** leading edge wetness counter (3#62) page wetness counter (366) *r* wetbulb temperature (412) *** drybulb temperature (396) *** ink bottle code (drying time constant coded on the bottle) DRUM INPUT at speed tachometer index PANEL INPUTS ten key pad (calculator-type keypad) start key reset key lighter copy switch darker copy switch alternate paper switch Section 4 is omitted and shown in Figure 8. SECTION 5 INITIALIZE 5 1 < INIT > ENTER HERE IF ( POWER ON RESET) DO - reset (COPY REQUEST) flag - Turn on (MAIN POWER RELAY). 5 2 < INITi > ENTER HERE FROM ERROR HANDLING ROUTINE - A# reset (DRYER ON, THERMAL) and/or (DRYER ON, MICROWAVE) - V set (EXIT MOTOR VELOCITY) to full speed - Reset all (ERROR FLAGS). - Turn on (NOT READY LIGHT). - Call < RSTPNL > - Reset (PROFILE COMPLETE FLAG). - Reset (LOAD ADJUST FLAG) - set (CALCLOAD) to 152 (214 degrees) - note: this is the nominal gate time for loading the drum. - if (HEAD UP FLAG) is off, then call < INKUP > - Turn off (NOT READY LIGHT). IF (COPY REQUEST) flag is on, GOTO < RETRY > else GOTO < IDLE > 5 3 RETRY < RETRY > DOUNTIL (START KEY) or (RESET KEY) integrate (START KEY) and (RESET KEY) END DOUNTIL - IF (START KEY) is active, GOTO STARTIT > - if (RESET KEY) closes, GOTO < IDLE > SECTION 6 UTILITY ROUTINES 6 1 RSTPNL (RSTPNL > (clears the panel to the reset state) - set (COPY REQUEST COUNT) to 1 - update (COPY REQUEST DISPLAY) - turn off (LIGHTER COPY) and (DARKER COPY) lights - turn off (ADD INK) light RETURN 6 2 MSTIMER < MSTIMER > This routine samples an oslillator on an input port and updates the (TIMER) upon each oscillator change. The oscillator changes each 125 micro seconds input (OSCILLATOR) IF (OSCILLATOR) is same as (LASTOSC), then RETURN to caller - else, decrement (TIMER) and set (LASTOSC) to (OSCILLATOR) RETURN 6 3 GETPULS < GETPULS > This routine tracks a rotating drum using a (TACHOMETER) having 256 changes per revolution. An (INDEX PULSE) occurs once per revolution of the drum. Upon detecting the (INDEX PULSE), the (INDEX FLAG) is set on and the tach counter reset to zero to prevent accumulative errors. reset (INDEX FLAG) input (TACHOMETER) and (INDEX PULSE) IF (INDEX PULSE) is on, then set (INDEX FLAG) on and (TACH COUNT) to zero and RETURN else, if (TACHOMETER) is equal to (OLDTACH), then RETURN - else, increment (TACH COUNT) and set (TACHÒMETER) into (OLDTACH) RETURN 6 4 STARTCE This routine calls a series of diagnostic tests which are not pertinent to this disclosure except that some of the tests print out the results of the profile measurements for examination by the machine service personnel. 6 5 INKUP < INKUP > (brings up the ink system pressures and levels) (this routine is not shown here as it is not pertinent to the disclosure) except for the following step... set (HEAD UP FLAG) RETURN 6 6 INKDOWN < INKDOWN > this routine is not shown here in detail since the only item that is pertinent to this disclosure is... reset (HEAD UP FLAG) RETURN 6 7 TPTHOME < TPThOME > this routine returns the transport to home end with minimum checking set (TIMER) to 8 seconds IF (HOME SENSOR) is on, then RETURN else, set (MOVE HOME) command to transport DOUNTIL (TIMER) equals zero or (HOME SENSOR) is on CALL < MSTIMER > END DOUNTIL IF (TIMER) equals zero, then set (ERROR FLAG 5) and GOTO < ERROR > - else, transport has reached home end ok. drop (MOVE HOME) command to transport RETURN 6 8 TPTAWAY < TPTAWAY > This routine returns transport to the away end with minimum checking. set (TIMER) to 8 seconds IF (AWAY SENSOR) is on, then RETURN else,set (MOVE AWAY) command to transport DOUNTIL (TIMER) equals zero or (AWAY SENSOR) is on CALL < MS TIMER > END DOUNTIL IF (TIMER) equals zero, set (ERROR FLAG 5) and GOTO < ERROR > - else, transport has reached away end ok drop (MOVE AWAY) command to transport RETURN 6 9 STP2LOAD < STP2LOAD > This routine accelerates the drum from a stop to load velocity with a safety timeout set (TIMER) to 45 msec. set (ACCEL TO LOAD SPEED) command to drum DOUNTIL (TIMER) equals zero or (DRUM AT SPEED) signal CALL < MSTIMER > END DOUNTIL IF (TIMER) equals zero, then set (ERROR FLAG 2) and GOTO < ERROR > - else, drum accelerated ok RETURN 6 10 LD2PRT < LD2PRT > This routine accelerates the drum from load spped to print speed with a safety timeout. set (TIMER) to 700 msec. drop (ACCEL TO LOAD SPEED) and/or (LOAD SPEED) raise (PRINT SPEED) DOUNTIL (TIMER) equals zero or (DRUM AT SPEED) signal CALL < MSTIMER > END DOUNTIL IF (TIMER) equals zero, then set (ERROR FLAG 2) and GOTO < ERROR > - else, drum accelerated ok RETURN 6 11 CKLDVEL < CKIDVEL > This routine uses a timed loop to check the elapsed time for 8 tach transitions. set (COUNT) to zero set (LOOP) to zero set (TACHOMETER) into (NOW) DOUNTIL (TACHOMETER) is not equal to (NOW) input (TACHOMETER) END DOUNTIL DOUNTIL (COUNT) equals 8 (using timed program loop) set (TACHOMETER) into (NOW) sample (TACHOMETER) till (NOW)is not equal to (TACHOMETER) while incrementing (LOOP) for each sample increment (COUNT) IF (LOOP) is less than maximum or more than minimum, RETURN else, set (ERROR FLAG 2) and GOTO < ERROR > 6 12 CKPRTVEL (CKPRTVEL, This routine times the interval between two successive index pulses to ensure correct print speed. DOUNTIL (INDEX PULSE) set (COUNT) equal zero input (INDEX PULSE) END DOUNTIL DOUNTIL (INDEX PULSE) (using timed program loop) input (INDEX PULSE) increment (COUNT) ENDDOUNTIL IF (COUNT) is less than maxumum or more than minimum, RETURN else, set (ERROR FLAG 2) and GOTO ERROR 6 13 COUNT < COUNT > increment (COPIES COMPLETE) IF (COPIES COMPLETE) equals (COPIES REQUESTED), then set (DONE FLAG) RETURN 6 14 INK SYSTEM CHECK < INK SYSTEM CHECK > This routine is not shown here since it is not pertinent to the disclosure. The main functions are IF (INK EMPTY SENSOR) is on, then set (ERROR FLAG 12) and GOTO < ERROR > IF (INK LOW SENSOR) is on, then light (ADD INK LIGHT) RETURN 6 15 *** ;RSTWET* **#'# < *RSTWE# > this subroutine initializes the wetness sensing before each print cycle *** Raise and lower (RESET WETNESS COUNTERS) line Set Set(LEW) to zero *** Set (PGW) to zero *** CALL < *LOADKK* > Kd is the drying constant for one revolution and Ks for the slowdown period ##** Zero (TEMPP) work register for page wetness *** Zero (TEMPL) work register for leading edge wetness *** Reset (ALLOW DECEL FLAG) ##T Output preheat value to (DRYER POWER) for thermal dryer *** RETURN <RTI ID=66.5> **T Output (DRYER ON) for thermal dryer SECTION 7 *** *LOADKK* u2¯ < *loadkk* > loads (Ks) and (Kd) with drying constants *** set (TEMPA) to (INK BOTTLE CODE) drying factor read from bottle The (INK BOTTLE CODE) will be published as part of the specifications for ink to be used in the machine. Each numeric value of the code designates a range of drying time where drying time is defined as the time from application of ink until it will no longer offset or smear and until the moisture content is reduced below a threshold. set (TEMPQ) to (DRYBULB TEMPERATURE) ambient temperature input J^** set (TEMPR) to (WETBULB- TEMPERATURE) input calculate relative humidity correction and set into (TEMPB) The relative humidity can be derived from the difference of the wet and dry bulb temperatures in relation to the dry bulb temperature. This can be derived by table look up or calculated by algorithm. ¯¯- CALCULATE DRYING TIME ALGORITHM WITH ABOVE INPUTS - Drying time equals ((TEMPA) * (TEMPB) * Kx) / (TEMPQ) Drying time increases with relative humidity and decreases with elevated temperature. Constant Kx is a scaling factor to scale the final output of the equation. * set (Kd) to output of algorithm rotation correction *** set (Ks) to ((DECTIM)/(PRINT ROTATION TIME)) * (Kd) slowdown correction (PRINT ROTATION TIME) is the period of drum rotation at print velocity - *** the value (DECTIM) was saved by the < PROFILE > routine as a measure of the deceleration time of the drum from print to load. This value is used here to predict the drying that will occur during the slowdown to detach the paper. *** RETURN SECTION 8 IDLE < IDLE > set (COPIES COMPLETE) to zero - The (NO USE COUNTER) performs a reset of the profile driven functions after an extended period of non-use - Reset (NO USE TIMER) to zero DOUNTIL(START KEY CLOSURE),(RESET KEY CLOSURE),(ANY ERROR FLAG),or (COVER INTERLOCK OPEN) Integrate (TEN KEY PAD) - Update (COPY REQUEST DISPLAY) Integrate (PAPER BIN SWITCHES) - Update (ADD PAPER) and (ALTERNATE PAPER) lights Integrate (PAPER PATH SWITCHES) - If paper in path, set (ERROR FLAG 1) - IF (STACKER EMPTY) switch is on, then turn off (REMOVE COPIES) light Integrate (MODE SELECT KEYS) - Update (LIGHTER COPY) and (DARKER COPY) lights Integrate (START KEY),(RESET KEY),and (COVER INTERLOCKS) - call < INK SYSTEM CHECK > Input (OSCILLATOR) - if (OSCILLATOR) does not equal (LASTOSC) - then, increment (NO USE TIMER) - if (NO USE TIMER) overflows - then, reset (LOAD ADJUST FLAG), reset (PROFILE COMPLETE FLAG), and set (CALCLOAD) to 152 (nominal) END DOUNTIL IF (RESET KEY CLOSURE), GOTO tRESET > IF (ANY ERROR FLAG), GOTO < ERROR > IF (COVER INTERLOCK OPEN), GOTO < OPEN > IF (START KEY CLOSURE), GOTO < STARTIT > SECTION 9 STARTIT < STARTIT > This routine brings up all the machine functions and calls for a profile if the (PROFILE COMPLETE FLAG) is off and/or the transport is not in the proper position. DO set (COPY REQUEST) flag on Clear (DONE FLAG) Turn on (VACUUM MOTOR) and (TRANSPORT MOTOR) **T Set (DRYER POWER) to preheat value. ^ **V Set (EXIT MOTOR VELOCITY) to full (load) velocity fX **T set (DRYER ON, THERMAL) IF (PROFILE COMPLETE FLAG) is off then CALL < PROFILE > , else call < STP2LOAD > - this code calls the profile upon the initial copy run or after any error condition has been detected. If no profile is required, < STP2LOAD > is called to get the drum to load velocity IF (HOME SENSOR) and (AWAY SENSOR) are both off, then CALL < PRO3 > - this call returns the transport to correct start point is it has been disturbed since -the last operation. Set (RETRY COUNT) to zero Set (COPIES COMPLETE) to zero Display (COPIES COMPLETE) in (COPY REQUEST DISPLAY) turn on (SCAN LIGHT) We are now ready to load the first sheet of paper and make a copy. SECTION 10 PICK < PICK > IF (ALTERNATE PAPER) light is on, then select (ALTERNATE PAPER BIN) else, select (MAIN PAPER BIN) output (LIGHTER COPY) and/or (DARKER COPY) to scanner if the respective lights are on < PICKi > Output (COCK PICKER) command to (PAPER PICKER) - Wait 65msec. Drop (COCK PICKER) command to (PAPER PICKER) - Wait 130msec. If (ENTER SENSOR) is off, then Increment (RETRY COUNT) If (RETRY COUNT) is less than 8, then GOTO < PICK 1 > - else set (ERROR FLAG 4) and GOTO < ERROR > Else, the sheet has been picked properly and is in the feed path. - Wait 250msec. IF (GATE SENSOR) is off, then set (ERROR FLAG 4) and GOTO < ERROR > - Else, paper has traversed the input path properly and is at the gate ready to be loaded on the drum. SECTION 11 LOAD (LOAD > Pick (TRAILING EDGE VACUUM) solenoid DOUNTIL (INDEX FLAG) is on CALL < GETPULS > END DOUNTIL SECTION 12 NEXT < NEXT > If (LOAD ADJUST FLAG) is off, set (TEMP) to 152 (214 degrees) - else, load (TEMP) with (CALCLOAD) DOUNTIL (TACH COUNT) equals (TEMP) CALL < GETPULS > END DOUNTIL Pick (GATE SOLENOID) - this action starts the paper onto the printing drum DOUNTIL (TACH COUNT) equals 113 (160 degrees) CALL < GETPULS > - IF (PAPER ON DRUM SENSOR) is off, then set (TEMP) to (TACH COUNT) - When the paper reaches the sensor, we will quit updating (TEMP) and leave it containing the count at which the paper reached the sensor. END DOUNTIL load (CALCLOAD) into (TEMP2) - set (CORRECT) to desired tach count for paper at sensor to activate. - IF paper was early at sensor, store (CALCLOAD) with (TEMP2) + (((CORRECT)-(TEMP))/2) - This applies half the error in the early direction which is the most hazardous direction since it tends to uncover the holes in the drum so that paper may not adhere well. - IF paper was late at sensor, store (CALCLOAD) with (TEMP2) - ((TEMP)-(CORRECT)) - this applies the full error in the early direction which is the safest move since it ensures that the vacuum holes will be covered and the paper will adhere. set (LOAD ADJUST FLAG) on - with the load- adjust flag on, gate# time will be adjusted according to the accumulated results of actual loads. DROP (TRAILING EDGE VACUUM) solenoid Drop (GATE SOLENOID) Set PRINT SPEED) command to drum *#V OUTPUT (DV) to (EXIT MOTOR VELOCITY) - ^^V the exiting sheet is now entirely on the belt so it can now be slowed 12 1 LOAD1 < LOAD1 > IF (HOME SENSOR) is on, then load (TIMER) with (HDLY) - Else, load (TIMER) with (ADLY) We now have the timer loaded with the interval between the startup of the drum to print speed and the startup of the transport from the stops so that the drum reached print velocity just before the transport reaches the edge of the paper. SECTION 13 ACCEL < ACCEL > DOUNTIL (TIMER) expires. CALL < GETPULS > CALL < MSTIMER > END DOUNTIL IF (HOME SENSOR) is on, then set (GO AWAY) command to transport - else, set (GO HOME) command to transport Set (TIMER) to 250msec. (safety delay) DOUNTIL (TIMER) expires or (HOME SENSOR) and (AWAY SENSOR) are both off CALL (GETPULS) CALL < MSTIMER > END DOUNTIL IF (TIMER) has expired, then set (ERROR FLAG 5) and GOTO < ERROR > - else, transport has reached start print point within the allowed time. IF (PAPER ON DRUM SENSOR), then GOTO < PRINT > - else, set (ERROR FLAG 4) and GOTO < ERROR > SECTION 14 PRINT < PRINT > IF (DRUM AT SPEED) is off, then set (ERROR FLAG 6) and GOTO < ERROR > *** CALL < J-RSTWET* > (initializes the wetness counters and constants) Output (PRINTER ON) command. (ungutter the head) Set (REVOLUTION COUNTER) to zero CALL < COUNT > (counts copies printed, sets (DONE FLAG) if last.) It takes 224 revolutions to print an 8.5 x 11 inch page. During the printing, certain values of the revolution counter are recognized to sequence the next sheet into the feed and/or the last sheet out of the feed in a multiple copy run. Set (TIMER) to 8 seconds DOUNTIL (REVOLUTION COUNTER) equals 224 CALL < GETPULS > CALL < MSTIMER > #,-rk CALL < *GETWETh# > accumulate the wetness counts IF (INDEX FLAG) is on, then increment (REVOLUTION COUNTER) CASE (REVOLUTION COUNTER) equals 10,20,30 210 (even tens) - Integrate (RESET SWITCH) and (COVER INTERLOCKS) - Set (DONE FLAG) if (RESET SWITCH) closure - Set (ERROR FLAG 7) and GOTO < ERROR > if (COVER INTERLOCK) open (REVOLUTION COUNTER) equals 206 - IF (DONE FLAG) is off, then output (COCK PICKER) command (REVOLUTION COUNTER) equals 208 - Drop (COCK PICKER) command (REVOLUTION COUNTER) equals 212 - IF (DONE FLAG) is off and (ENTRY SENSOR) is off, then set (ERROR FLAG 8) and GOTO < ERROR > (REVOLUTION COUNTER) equals 220 - *J^M reset (DRYER ON, MICROWAVE) sheet should have cleared dryer by now - **V set (EXIT MOTOR VELOCITY) to full (load) velocity - **T set (DRYER POWER) to sustaining level (keep it hot) - IF (DONE FLAG) is off and (GATE SENSOR) is off, then set (ERROR FLAG 8) and GOTO < ERROR > - IF (EXIT SENSOR) is on, set (ERROR FLAG 10) and GOTO < ERROR > this statement checks for jams in the outgoing sheet on a multiple copy run. By this revolution, the sheet should have long since cleared the exit. - IF (EXIT SENSOR) is on, set (ERROR FLAG 10) and GOTO < ERROR > this statement checks for a prior sheet jammed in the output on a multiple sheet run (REVOLUTION COUNTER) equals 1,11,21,31 221 - IF (PAPER ON DRUM SENSOR) is off at 30 degrees or 330 degrees, then set (ERROR FLAG 9) and GOTO < ERROR > END DOUNTIL DO turn printer off (gutter head) GOTO < SLOWUP > SECTION 15 SLOWUP < SLOWUP > This routine stops the transport and decelerates the drum. The puffer is actuated at the proper time to detach the paper just as it reaches load velocity at 109 degrees. DO load (PLREVS) into (COUNT) load (PLSTART) into (COMPARE) DOUNTIL (TACH COUNT) equals (PLREVS) and ((HOME SENSOR) or (AWAY SENSOR)) is on and (ALLOW DECEL FLAG) is on call (GETPULS) *** IF (TACH COUNT) equals (COMPARE) and (ALLOW DECEL FLAG) is on, then set (LOAD SPEED) to drum IF ((HOME SENSOR) or (AWAY SENSOR)) is on, then drop (GO AWAY) and (GO HOME) commands to transport IF (INDEX FLAG) is on, decrement (COUNT) #*' IF (INDEX FLAG) is on, CALL < *DRmP## > wetness countdown END DOUNTIL We now have both the transport and drum decelerating. The transport will take care of itself from here to the stops, but we must track the prograss of the drum to know where to actuate the puffer and detach the paper. DOUNTIL (COUNT) equals zero CALL < GETPULS > IF (INDEX FLAG) is on, then decrement (COUNT) END DOUNTIL when we reach here, we are on the proper revolution to puff the paper, so at 90 degrees we will puff. DO turn off (LEADING EDGE VACUUM) *** CALL < *GETDET"* > calculate detach correction for wetness *** DOUNTIL (TACH COUNT) equals (DTC) (detach time with wetness correction) CALL < GETPULS > END DOUNTIL DO set the (PUP PER SOLENOID) on DOUNTIL (DRUM AT SPEED) signal CALL < GETPULS > END DOUNTIL 14 1 RECALC < RECALC > This routine recalculates the deceleration point for the drum based upon the actual deceleration just experienced. set (TACH COUNT) into (NOW) IF (NOW) is greater than 77 (109 degrees), then CALL < LATE > IF (NOW) is less than 77 (109 degrees), then CALL < EARLY > IF (DONE FLAG) is on, GOTO < LASTOUT > else, GOTO < NEXT > 14 2 LATE < LATE > This routine adjusts the deceleration point of the drum toward the early direction by the amount of the error detected in the last deceleration. The full amount of error is used since the late direction is the critical direction. load (PLSTART) and (PLREVS) compute (PLSTART) equals (PLSTART) -((NOW)-77) (2's complement) IF borrow from last computation, decrement (PLREVS) store (PLSTART) and (PLREVS) RETURN 14 3 EARLY < EARLY > This routine is similar to < LATE > except that the correction used is only half the error since it is moving the deceleration point later which is the critical direction. load (PLSTART) and (PLREVS) compute (PLSTART) equals (PLSTART) + (((77-(NOW))/2) (2's complement) (((77-(NOW))/2) is half the error. IF overflow from last computation, increment (PLREVS) store (PLSTART) and (PLREVS) RETURN SECTION 16 LASTOUT < LASTOUT > wait 370 msec **V OUTPUT (DV) to (EXIT MOTOR VELOCITY) - AV slow the exit belt - ^-^^V paper is now safely off drum and onto the exit belt so it now can be slowed IF (EXIT SENSOR) is on, set (ERROR FLAG 11) and GOTO < ERROR > *=V wait 4500 / (DV) msec wait a scaled time depending on (DV) If (DV) is high (decimal value 15), the wait is 300 msec which will pass an 8.5" sheet of paper at 30ips. If (DV) is lower, for instance decimal value 5, the time will 900 msec. so that the sheet still passes safely. set set(DRYER ON, THERMAL) and,or (DRYER ON, MICROWAVE) off ^^^V set (EXIT MOTOR VELOCITY) to full (load) speed - else, light (REMOVE COPIES) light turn off < SCAN LIGHT > turn off (VACUUM MOTOR) and (TRANSPORT MOTOR) GOTO < IDLE > SECTION 17 *** *GETWET* 17 1 *** < *GETWET* > THIS ROUTINE INPUTS AND SUMS THE WETNESS DATA *** IF (INDEX FLAG) is off, GOTO < *GETLE* > - JnL#t#- at index so input and sum the full page count *** INPUT (PAGE COUNTER) into (TEMPQ) current wet count -^^' SET (TEMPQ) to (TEMPQ) minus (TEMPP) change is wetness since last sample *** INPUT (COUNTERP) into (TEMPP) save wetness count *** OUTPUT (ENABLE PAGE COUNTER) AND (ENABLE L.E. COUNTER) enable both counters 360 and 358. *** set (PGW) to (PGW) times (Kd) scale accumulated wetness *** set (PGW) to (PGW) + (TEMPQ) add newest reading ¯'t RETURN SECTION 18 *** *GETLE* 18 1 *** < *GETLE* > IF ( TACH COUNTER) NE, 25 THEN RETURN *** Reset (ENABLE L.E. COUNTER) past leading edge of paper *** INPUT (COUNTER) into (TEMPM) current leading edge count *** SET (TEMPM) to (TEMPM) minus (TEMPL) change since last sample i *** (COUNTER) into (TEMPM) save leading edge count *** set (LEW) to (LEW) times (Kd) scale accumulated wetness set (LEW) to (LEW) + (TEMPM) ADD NEWEST READING *** RETURN SECTION 19 *** *DRYUP* 19 1 *** < *DRYUP* > TRACKS THE WETNESS WHILE WAITING FOR DECELERATION -=J^ set (LEW) to (LEW) times (Kd) *** set (PGW) to (PGW) times (Kd) *** IF (PGW) GT (Kw), then RETURN ELSE, set (ALLOW DECEL FLAG) on *** RETURN SECTION 20 *** *GETDET* *** < *GETDET* > DOES TABLE LOOKUP FOR DETACH TIME CORRECTION *** this routine uses two tables (PTABLE) power table, and (VTABLE) velocity table. *** set (LEW) to (LEW) times (Ks) scale for slowdown time *** round (LEW) to four binary places (values 0 through 15) *** perform table lookup with (LEW) as index into table *** set (DTC) to table indexed by (LEW) detack count *** set (PGW) to (PGW) times (Ks) scale page wetness for slowdown *** round (PGW) to four binary bits (values 0 thru 15) *** perform table lookup with (PGW) as index *** set (DP) to (PTABLE) indexed by (PGW) dryer power ¯^ OUTPUT (DP) to (DRYER POWER) set dryer power **V perform table lookup with (PGW) as index (velocity table) #V set (DV) to#(VTABLE) indexed by (PGW) exit velocity ¯'^'' RETURN SECTION 21 PROFILE < PROFILE > CALL < STP2LOAD > (brings drum to load velocity with minimum checking) CALL < CKLDVEL > (uses program loop to time a series of tach pulses) set (TIMER) to 257 msec. (slightly over one drum revolution at load velocity.) DOUNTIL (TIMER) is zero or (INDEX FLAG) is on CALL < MSTIMER > CALL < GETPULS > (sets (INDEX FLAG > if index located) END DOUNTIL IF (TIMER) is zero, then set (ERROR FLAG 2)and GOTO < ERROR > else, the index sensor is working ok so proceed do CALL < LD2PRT > (brings drum to print velocity with minimum checking) the (timer) contents upon return are a measure of the time required for the acceleration of the drum from load to print velocity. this time is in the form of the remainder of the maximum time allowed for this acceleration. DO conver (TIMER)residual to elapsed time. store (TIMER) in (ACCTIM) Set (TIMER) to 33 msec. (slightly over one revolution at print velocity. DOUNTIL (TIMER) is zero or (INDEX FLAG) is on CALL < MSTIMER > CALL < GETPULS > END DOUNTIL IF (TIMER) is zero, then set (ERROR FLAG 2) and GOTO < ERROR > else, index sensor works ok at high velocity so proceed. -CALL < CKPRTVEL > (uses program loop to time several tach pulses to insure correct print velocity.) DOUNTIL (INDEX FLAG) is on CALL (GETPULS > END DOUNTIL We now are at the drum index point. DO set (OVERFLOW COUNT) to zero Set (LOAD VELOCITY) command to the drum Set (TIMER) to one second DOUNTIL (DRUM AT SPEED) or (TIMER) is zero CALL < MSTIMER > CALL < GETPULS > - IF (INDEX FLAG) is on, then increment (OVERFLOW COUNT) END DOUNTIL IF (TIMER) is zero, then set (ERROR FLAG 2) and GOTO < ERROR > Else, drum deceleration is within time bounds and we have the distance measured in revolutions (OVERFLOW COUNTER) and tach pulses (TACH- COUNT). Now we will calculate the start point to optimize the deceleration when we detach paper during printing. The following calculations result in two parameters that will be stored and later used to determine the deceleration point of the drum, (PLREVS) and (PLSTART). (PLREVS) is a count of the drum indexes that should be passed during the deceleration. (PLSTART) is the tachometer count at which the deceleration should start to end exactly at 109 degrees. We want (DRUM AT SPEED) to rise at 109 degrees, just after the (PUFFER) is actuated at 80 degrees. 109 degrees equals 77 tach pulses. DO (TIMER) = Complement ((TIMER)- one second) this derives elapsed time for the deceleration. IF (TACH COUNT) is greater than 77, then subtract 77 from (TACH COUNT) else, if (TACH COUNT) is less than 77, then subtract (TACH COUNT) from 77, complement the result , and add 1 to (OVERFLOW COUNTER) Store (OVERFLOW COUNTER) in (PLREVS) Store (TACH COUNT) in (PLSTART) Store (TIMER IN (DECTIM) we now know where to start the drum down from print speed to load speed so that load speed is reached just at 109 degrees. (PLREVS) is a count of index pulses that should occur during the deceleration so that we know when to actuate the puffer on the last revolution. We now want to recheck load velocity to insure that it is stable after the deceleration. CALL < CKLDVEL > We are now done with the drum profile so we leave the drum running anddo the transport profile next. 21 1 PR03 tPR03 > CALL < TPTHOME > (brings the transport from an unknown position to the home end with minimum checking. We now want to measure the time from the stops at each end of the page to the start print point and store the results. DO set (TIMER) to one second set (GO AWAY) command to transport DOUNTIL (HOME SENSOR) is off or (TIMER) is zero CALL < MSTIMER > END DOUNTIL IF (TIMER) is zero, then set (ERROR FLAG 3) and GOTO (ERROR > else, (TIMER) = complement of ((TIMER) - one second) store (TIMER) in (HOMETIM) CALL < TPTVEL > (check transport velocity using program loop) CALL < TPTAWAY > (locate at the away end with minimum checking) DO set (TIMER) to one second set (GO HOME) command to transport DOUNTIL (AWAY SENSOR) is off or (TIMER) equals zero CALL < MSTIMER > END DOUNTIL IF (TIMER) equals zero, set (ERROR FLAG 3) and GOTO < ERROR > else, (TIMER) = complement of ((TIMER) - one second) store (TIMER) in (AWAYTIM) CALL < TPTVEL > CALL < TPTHOME > We now want to figure the delay between the drum and transport start for each end of the drum. 2msec. is added as safety padding. DO store (HDLY) = (ACCTIM) - (HOMETIM) -2 store (ADLY) = (ACCTIM) - (AWAYTIM) -2 The profile is now complete. The following items are in store: - (HDLY)-delay at home end from drum print speed command to transport start - (ADLY)- same, but for away end - (ACCTIM)- time to accelerate drum from load to print velocity - (DECTIM)- time to decelerate drum from print to load velocity - (PLREVS)- number of index pulses during drum deceleration set to end at 109 degrees - (PLSTART)- tachometer count to start deceleration from print to load velocity to arrive at 109 degrees DO set (PROFILE COMPLETE FLAG) RETURN TO CALLER SECTION 22 ERROR FLAG LISTING ERROR FLAG 1 - paper in the path during idle ERROR FLAG 2 - drum hardware error ERROR FLAG 3 - transport did not start or else sensor error ERROR FLAG 4 - jam in input paper path ERROR FLAG 5 - transport hardware error ERROR FLAG 6 - drum did not reach velocity during printing - cover open signal detected during print ERROR FLAG 8 - no new sheet ready at gate during multiple sheet print ERROR FLAG 9 - paper on drum signal lost during printing ERROR FLAG 10 - jam in output on a multiple copy run ERROR FLAG 11 - jam in output on a single copy run or on last sheet ERROR FLAG 12 - Ink empty. This error results in a machine shutdown until refilled. SECTION 23 ERROR < ERROR > This routine displays the error number in the (COPIES REQUESTED) display and shuts down all machine functions. If the error code is 12 (ink empty), the machine will not restart until shut down and refilled. For all other errors, upon the first depression of the reset key after the error, the error indication is reset. If the (START KEY) is then depressed, the copy run will continue to completion with adjustment made for copies lost in a jam situation. If the (RESET KEY) is depressed a second time prior to depression of the (START KEY), the copy run is adbandoned. DO convert the (ERROR FLAG) number to a numeric code and place it in the (COPIES REQUESTED) display CALL < INKDOWN > light the (ERROR INDICATOR) turn off the (SCAN LIGHT) A#A set (DRYER POWER, THERMAL) and,or (DRYER POWER, MICROWAVE) off reset (PROFILE COMPLETE FLAG) turn off (LOAD SPEED) and (PRINT SPEED) commands to the drum turn off (GO AWAY) and (GO HOME) commands to the transport turn off (LEADING EDGE) and (TRAILING EDGE) vacuum solenoids 23 1 HERE < HERE > IF (ERROR CODE 12) (ink empty), GOTO < HERE > DOUNTIL ((RESET KEY) closure and no paper path sensors active) integrate (RESET KEY) integrate (PAPER PATH SENSORS) END DOUNTIL reset (ERROR LIGHT) GOTO < INIT >

Claims: CLAIMS 1 Apparatus for drying ink printed on a print medium in a printing system, characterised by means for detecting print parameters related to the drying of the ink printed on the print medium, and means responsive to the detecting means to control drying of the ink printed on the print medium in accordance with the print parameters. 2 Apparatus according to claim 1, in which the detecting means includes means for detecting the ink density of the print data on the print medium as a print parameter, and in which the controlling means includes means responsive to the ink density detecting means to control drying in accordance with the print data density. 3 Apparatus according to claim 1 or 2, in which the detecting means includes means for detecting the drying characteristics of the ink printed on the print medium as a print parameter, and in which the controlling means includes means responsive to the ink drying characteristics detecting means to control drying in accordance with the ink drying characteristics. 4 Apparatus according to claim 1, 2 or 3, in which the detecting means includes means for detecting the ambient humidity as a print parameter, and in which the controlling means includes means responsive to the humidity detecting means to control drying in accordance with the ambient humidity. 5 Apparatus of claims 1, 2, 3 or 4, in which there is provided means for drying the ink printed on the print medium, and the controlling means includes means for adjusting the drying provided by the drying means in accordance with the print parameters. 6 Apparatus according to claim 5, in which there is provided exit means for receiving and transporting the printed medium, and the controlling means includes means for varying the speed of the exit means in transporting the printed medium in accordance with the print parameters, thereby to control the drying. 7 Apparatus according to claim 5 or 6, in which the drying means includes means for heating the ink printed on the print medium, and the controlling means includes means for varying the heat provided by the heating means in accordance with the print parameters. 8 Apparatus according to claim 7, in which the heating means includes a thermal platen responsive to applied energy and the controlling means includes means for varying the energy applied to the thermal platen in accordance with the print parameters. 9 Apparatus according to claim 7, in which the heating means includes a microwave dryer responsive to applied energy and the controlling means includes means for switching on and off the energy applied to the microwave dryer in accordance with the print parameters. 10 Apparatus according to claim 7 in which the heating means includes at least one hot roll responsive to applied energy and the controlling means includes means for varying the energy applied to the hot roll in accordance with the print parameters. 11 Apparatus of claim 7, in which the heating means includes a hot air heater responsive to applied energy and the controlling means includes means for varying the energy applied to the hot air heater in accordance with the print parameters. 12 Apparatus according to any preceding claim, in which the print medium comprises sheet material. 13 Apparatus according to claim 12, in which there is provided means for transporting the sheet material during printing, and in which the controlling means includes means for determining the time duration that the sheet material remains on the transporting means after printing, in accordance with the print parameters thereby, to control the drying. 14 Apparatus according to claim 13, in which the sheet material transporting means includes a flat transport assembly and in which the determining means includes means for adjusting the time duration the sheet material remains on the flat transport assembly after printing in accordance with the print parameters. 15 Apparatus according to claim 13, in which the sheet material transporting means is a drum rotatable at a print speed and a load speed, and in which the controlling means includes means for determining the number of additional revolutions the drum rotates at print speed prior to decelerating from print speed to load speed in accordance with the print parameters, 16 Apparatus according to claim 15, in which there is provided means for varying the time of detaching of the sheet material from the drum in accordance with print parameters. 17 Apparatus according to claim 12, in which the sheet material transporting means includes a rotary transport and in which there is provided means for detaching the sheet material from the rotary transport responsive to the time duration determining means. 18 Apparatus according to claim 17, in which the detecting means includes means for detecting the ink density of the print data on the printed sheet material as a print parameter, and in which the controlling means includes means responsive to the ink density detecting means for controlling the detaching in accordance with said print data density. 19 Apparatus according to claim 18, in which the ink density detecting means includes leading edge means for detecting the print data density of the leading edge of the sheet material, and in which the controlling means includes means responsive to the leading edge detecting means for determining the time of detaching in accordance with the print data density of the leading edge. 20 Apparatus according to claim 18 or 19, in which there is provided exit means for receiving and transporting the detached sheet material and in which there is provided means for heating the ink printed on sheet material disposed adjacent the exit means and the controlling means includes means for varying the speed of the exit means as the sheet material is being transported adjacent the heating means in accordance with the print parameters. 21 A method of drying ink printed on a print medium in a printing system, characterised by the steps of: (a) detecting print parameters related to the drying of the ink printed on the print medium, and (b) controlling the drying of the ink printed on the print medium in accordance with the print parameters. 22 A method according to claim 21, including the step of applying heat to dry the ink printed on the print medium, and in which step (b) includes varying the heat in accordance with the print parameters for controlling the drying. 23 A method according to claim 21 or 22, including the step of receiving and transporting the printed medium towards an exit and in which step (b) includes varying the speed of the transporting of the printed medium in accordance with the print parameters for controlling the drying. 24 A method according to claim 21, 22 or 23, in which the print medium comprises sheet material, which includes the step of transporting the sheet material on a drum during printing, and in which step (b) includes determining the time duration that the sheet material remains on the drum after printing in accordance with the print parameters. 25 A method according to claims 21, 22, 23 or 24, in which step (a) includes detecting the ink density of the print data on the print medium as a print parameter, and step (b) includes controlling the drying in accordance with the print data density. 26 A method according to claims 21, 22, 23, 24 or 25, in which step (a) includes detecting the drying characteristics of the ink printed on the print medium as a print parameter, and step (b) includes controlling the drying in accordance with the ink drying characteristics. 27 A method according to claims 21, 22, 23,#24, 25 or 26, in which step (a) includes detecting the ambient humidity as a print parameter and step (b) includes controlling the drying in accordance with the ambient humidity. 28 A method according to claim 24, or any claim appendant thereto, including the step of varying the time of detaching of the sheet material from the drum in accordance with print parameters for controlling the drying. 29 A method according to claim 24, or any claim appendant thereto, in which step (a) includes detecting the print data density of the leading edge of the sheet material, and in which step (b) includes determining the time of detaching in accordance with the print data density of the leading edge.

Inventors: IRWIN, JOHN WILLIAM
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1980
Main classification: B41F23
IPC codes: B41J13, B41J29, B41J2, B41J11, B41F23