[0001] This invention relates to apparatuses and methods for drying ink printed on a sheet
in a printing system having electronic signals representative of print data to be
printed.
[0002] In printing with a liquid on a sheet, the liquid must be dried before the sheet may
be further handled. The speed with which the printed sheet dries depends upon the
ability of the sheet to absorb the liquid and the areal density of the liquid applied
to the sheet. If the sheet does not readily absorb the liquid, or if a large quantity
of liquid is applied to a small area of the sheet, the procedure of allowing the sheet
to dry passively before handling it is either unreliable or too time-consuming.
[0003] In the past, passive drying 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-A-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.
[0004] The requirement to adjust printing operation in accordance with the print conditions
is well known in the art. For example, US-A-3,835,777 and US-A-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-A-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-A-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.
[0005] 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-A-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-A-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.
[0006] 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.
[0007] In US-A-4,033,263, a detector monitors the density of the ink on a printed copy to
determine whether a roller has produced a smudge of a portion of the ink on the copy.
A smudge detected by the densitometer produces an error signal, indicative of insufficient
curing of the ink on a copy, which is applied to a control to provide a larger output
power from a lamp to improve the curing of the ink on subsequent printed copies. The
copy tested for curing effectiveness has already been dried and smudged. Whilst this
may be satisfactory for a run of identical copies, it provides no solution to the
problem of drying a succession of sheets with different printed data thereon.
[0008] 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 substantial 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.
[0009] Accordingly, the invention seeks to control the drying operation as a function of
print data to be printed on individual sheets for efficient energy use and rapid operation
of the printing apparatus.
[0010] The invention also seeks efficiently to dry print images by controlling the detachment
of sheet material from the drum as print parameters vary.
[0011] According to the invention, apparatus for drying ink printed on a sheet in a printer
system having electronic signals representative of print data to be printed is characterised
by means for determining from the electronic signals the density of print data for
the sheet as a print parameter related to the drying of the ink printed on the sheet,
and means responsive to the determining means to control drying of the ink printed
on the sheet in accordance with the print data density on the sheet.
[0012] Further, in accordance with the invention, the drying control may be modified in
accordance with other print parameters that are detected, such as the drying characteristics
of the ink and ambient humidity.
[0013] The invention extends to a method of drying ink printed on a sheet in a printing
system having electronic signals representative of print data to be printed, characterised
by the steps of:
(a) determining from the electronic signals the density of print data for the sheet
as a print parameter related to the drying of the ink printed on the sheet, and
(b) controlling the drying of the ink printed on the sheet in accordance with the
print data density of the sheet.
[0014] 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. 1 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. 1;
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. 1 and the velocity waveshape
of the exit belts of Fig. 1;
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.
[0015] A copier system 15 (Fig. 1) 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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 to the curve until they reach load
speed again at portion 484b of the curve, ready for the unloading of the second sheet.
[0025] 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.
[0026] The operation is repeated as often as necessary.
[0027] 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, 131 a 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 241 A.
[0028] 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 241 A and the ten-key pad 243A are supplied
over lines 30, 241 and 243, respectively, to the input port 107.
[0029] 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 micro- processor 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.
[0030] 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
to microprocessor 300.
[0031] 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.
[0032] 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.
[0033] 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 131 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.
[0034] 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 micro- processor 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.
[0035] 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 micro- processor 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).
[0036] 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.
[0037] 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 micro- processor 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.
[0038] 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 256xl 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.
[0039] 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.
[0040] 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 projecting 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.
[0041] 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.
[0042] Block diagram (Fig. 11) shows the physical implementation of part of the microprocessor
300, busses and input and output ports. Micro- processor 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 15 by master
power on switch 80. Latch 324 resets all the output ports of micro- processor 300
when the latch 324 is reset by way of line 224.
[0043] 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
[0044] 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, INIT1 (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.
[0045] 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 230.
[0046] 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.
[0047] 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.
[0048] 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, then 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).
[0049] 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
[0050] 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).
[0051] 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 it 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 to far apart.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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 131 a 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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 109° 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 80° 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 109°, the
puffer should lift the leading edge of the paper so that it will detach from the drum.
It should be noted that 109° 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).
[0062] 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.
[0063] 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.
[0064] The profiling of array transport 254 (Fig. 1) of array transport system 250, will
now be described. Routine PR03 (section 21.1) may be entered in two ways. In the first
way entry is on the intial 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.
[0065] In PR03 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.
[0066] 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 QECTIM-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°.
[0067] 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 non- printing cycle.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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
[0072] 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 214° 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.
[0073] 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 calculated 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.
[0074] 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.
[0075] 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.
[0076] On the other hand, if paper 11 is late at the sensor in assembly 17, CALCLOAD is
updated with TEMP2 less than 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.
[0077] 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.
[0078] 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 droppped, and an accelerate to print speed signal
applied on line 131 a to circuit 131 so that drum 10 accelerates up to print speed.
Printing and determining print parameters for drying
[0079] 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.
[0080] 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 to 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.
[0081] 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 10, 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.
[0082] 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.
[0083] 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.
[0084] 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 TEMPO 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 TEMPB and is scaled by Factor Kx. The resultant value is then divided
by the dry bulb temperature in TEMPO, 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.
[0085] The drying constant Ks is related to the amount of drying that occurs during deceleration.
The number of revolutions of drum 10 performed by the drum during 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.
[0086] 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.
[0087] After execution of subroutine RSTWET, everything has been reset or initialized, the
required drying constant Kd 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.
[0088] 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 DOUNTIL
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.
[0089] 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.
[0090] 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 241 A (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
[0091] 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.
[0092] 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).
[0093] 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 109°. PLSTART is the number of tachometer output pulses required
to start decelerating from print to load velocity. Accord- ingty, 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.
[0094] If TACH COUNT equals COMPARE (PLSTART having been loaded into COMPARE) and ALLOW
DECEL FLAG is on, then the micro- processor 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), 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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 109°, if nothing in
system 15 had changed with time and if everything had been correctly calculated. Accordingly,
if TACH COUNT set into register NOW equals 77, equivalent to 109°, 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.
[0100] 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.
[0101] 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.
[0102] Since an early arrival only subtracts from the performance of system 1 5 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 feedback.
The reason for this slow rate of change in adding time is to avoid the possibility
of an undesirable late arrival.
[0103] 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, because 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
[0104] If it is assumed that the sheet 11 just printed was the last (the required number
of copies are complete or the reset key 241 A 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.
[0105] 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, as shown in block 518 (Fig.
13), when an appropriate signal is applied to line 472 (Fig. 2) through port 470.
[0106] 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).
[0107] 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.
[0108] The ERROR FLAGS are listed in section 22 and need 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.
[0109] 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.
[0110] 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 601 a and
idle roll 601b; and belts 602 are entrained around driving roll 602a and idle roll
602b. Rolls 600a, 601 a and 602a are driven by driving motors 608, 610 and 612, respectively.
[0111] 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 601
a 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.
[0112] 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).
[0113] 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 a 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
[0114] 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.
[0115] 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.
[0116] The statements required to implement each of these options have been added and identified
so that any subset of the options can be implemented.
SECTION 2
CONVENTIONS FOR THE TEXT
[0117] Additions to basic code to add wetness feedback and dryer control.
-Labels for wetness feedback and dryer control are in the form <*XXXX*>
-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
[0118]
<TERM>
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
**M dryer on, microwave (356b)
**T dryer on, thermal (356a)
*** dryer power
**V exit motor velocity (4 bits) (472)
***WETNESS COUNTER OUTPUT
*** reset wetness counters (352)
*** 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
***WETNESS INPUT
*** leading edge wetness counter (362)
*** page wetness counter (366)
*** 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 <INIT1 > ENTER HERE FROM ERROR HANDLING ROUTINE
―***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)
DO
-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 oscillator 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 (TACHOMETER) into (OLDTACH)
RETURN
6 4 STARTCE
[0119] 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
[0120] <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...
[0121] set (HEAD UP FLAG)
RETURN
6 6 INKDOWN
[0122] <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
[0123] <TPTHOME> this routine returns the transport to home end with minimum checking
set (TIMER) to 8 seconds
[0124] IF (HOME SENSOR) is on, then RETURN else, set (MOVE HOME) command to transport
[0125] 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 6 TPTAWAY
[0126] <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
<MSTIMER> 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
[0127] <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
[0128] <LD2PRT> This routine accelerates the drum from load speed 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
[0129] <CKLDVEL> 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
[0130] <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 maximum or more than minimum, RETURN else,
set (ERROR FLAG 2) and GOTO ERROR
6 13 COUNT
[0131] <COUNT> increment (COPIES COMPLETE) IF (COPIES COMPLETE) equals (COPIES REQUESTED),
then set (DONE FLAG) RETURN
6 14 INK SYSTEM CHECK
[0132] <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*
[0133] ***<*RSTWET*> this subroutine initializes the wetness sensing before each print cycle
***Raise and lower (RESET WETNESS COUNTERS) line
***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) to thermal dryer ***RETURN **T Output (DRYER
ON) for thermal dryer SECTION 7 *** *LOADKK* *** <Ioadkk*> 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 (TEMPO) to (DRYBULB TEMPERATURE) ambient temperature input ***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.
[0134] ***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 (AND 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 <RESET> 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 Turn on (VACUUM MOTOR) and (TRANSPORT MOTOR)
**T Set (DRYER POWER) to preheat value.
**V Set (EXIT MOTOR VELOCITY) to full (load) velocity
**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
<PR03> -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
[0135] 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
<PICK1 > Output (COCK PICKER) command to (PAPER PICKER) -Wait 65 msec. Drop (COCK PICKER)
command to (PAPER PICKER) -Wait 130 msec. 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 250 msec. 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
[0136] LOAD
<LOAD> Pick (TRAILING EDGE VACUUM) solenoid DOUNTIL (INDEX FLAG) is on CALL <GETPULS
> END DOUNTIL
SECTION 12
[0137] 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 LOAD
1
[0138] <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
[0139] 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 250 msec. (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
[0140] PRINT <PRINT> IF (DRUM AT SPEED) is off, then set (ERROR FLAG 6) and GOTO
<ERROR>
***CALL <
*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.5x 1 1 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>
***CALL <
*GETWET
*> 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 -**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
[0141] 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 <*DRYUP*> 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 progress 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 (PUFFER SOLENOID) on DOUNTIL (DRUM AT SPEED) signal CALL <GETPULS>
END DOUNTIL
14 1 RECALC
[0142] <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
[0143] <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
[0144] <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) (2complement) (((77-(NOW))/2)
is half the error. IF overflow from last computation, increment (PLREVS) store (PLSTART)
and (PLREVS) RETURN
SECTION 16
[0145] LASTOUT
<LASTOUT
> wait 370 msec
**V OUTPUT (DV) to (EXIT MOTOR VELOCITY) -*
*V 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 30 ips.
If (DV) is lower, for instance decimal value 5, the time will 900 msec, so that the
sheet still passes safely. ***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
[0146] *** *GETWET* 17 1
***<
*GETWET
*> THIS ROUTINE INPUTS AND SUMS THE WETNESS DATA ***IF (INDEX FLAG) is off, GOTO<*GETLE*>
-
*** at index so input and sum the full page count ***INPUT (PAGE COUNTER) into (TEMPO)
current wet count ***SET (TEMPO) to (TEMPO) 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 ***RETURN
SECTION 18
[0147] *** *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
[0148] *** *DRYUP* 19 1 *** <*DRYUP*> TRACKS THE WETNESS WHILE WAITING FOR DECELERATION
***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
[0149] *** *GETDET* *** <*GETDET*> DOES TABLE LOCKUP FOR DETACH TIME CORRECTION
***this routine used 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
[0150] 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 <CKPTVEL> (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 degress. (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 and do the transport
profile next.
21 1 PR03
[0151] <PR03> 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. 2 msec. 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
[0152] 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
[0153] 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 abandoned. 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)
***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
[0154] <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>