# Patent

## Title
Digital memory apparatus

## Abstract

A printer-plotter system is provided having a single horizontally movable, print-plot head comprising geometrically arranged thermal resistor elements which are processor-controlled for plotting continuous multi-directional line segments and for printing, while plotting, upper and lower case alphanumeric characters and punctuation characters in four orthogonal directions. Characters are printed in 5-columns-by-7-rows dot matrix form, with neighboring dots partly overlapping each other in order to impart a continuous or drawn appearance rather than a discontinuous dot appearance to the printed characters. The geometric arrangement of the head elements also provides for varying the width of line segments plotted along selected orthogonal directions.

## Background
The present invention relates generally to printer-plotter systems and, more particularly, to dot-matrix thermal printer-plotters. Thermal printer-plotters are known which have thermal resistive elements (dots) arranged in matrix form, each column and each row of matrix having multiple resistive elements.

However, to form the vertical portion of a character, the column elements of the matrix are sometimes energized simultaneously. This often results in non-uniformity of contrast between portions of the character formed by a given number of the matrix elements energized simultaneously and other portions of the character formed by a different number of simultaneously energized elements. This non-uniformity in contrast is caused by parasitic losses, such as are produced by a battery return lead and resistance, which reduce the amount of power supplied to each element as a function of the number of simultaneously energized elements.

To avoid this problem of non-uniformity in contrast associated with simultaneously energized elements, a printer-plotter with individually energizable print and plot elements is needed. Also, for purposes of compactness and simplicity, the elements should be arranged in a single print-plot head in such a manner that, to print a selected character, the same elements may be used to print the character in one direction as to print the character in other directions.

According to the illustrated preferred embodiment of the present invention, a print-plot system is provided having a central processing unit (CPU), a memory unit containing a stored program, and a printer-plotter unit with a print-plot head. The print-plot head comprises ten geometrically-arranged thermal resistive elements, one of which is used to plot lines and nine of which are used to print upper and lower case alphanumeric characters in four orthogonal directions, under program control.

The geometric arrangement of the character-printing elements enables these elements to be individually energized when printing a character, thereby eliminating the problem of non-uniformity of contrast associated with simultaneously energized contiguous printing elements. Any of the printing elements may be energized simultaneously with the plotting element in order to print characters while plotting selected line segments. The arrangement of the elements also diminishes the dot appearance of the printed characters and improves character appearance by printing the dots in slightly overlapped fashion. Furthermore, the arrangement of the elements provides for varying the thickness of a character or orthogonal line segments by selectively energizing one or more individual elements.

FIG. 1 is a block diagram of the printer-plotter system of the present invention.

FIG. 2 is a combined perspective view and block diagram illustrating the printer-plotter and controller of the system of FIG. 1.

FIG. 3 is a top view of the elements of the print-plot head employed in the system of FIG. 1.

FIG. 4 is a diagrammatic illustration of elements of the print-plot head of FIG. 3 used to print a character.

FIG. 5 is a logic flow diagram of a routine stored in a ROM of the system of FIG. 1, illustrating one mode of operation of the system.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows a printer-plotter system having a logic unit 11 and a printer-plotter unit 13. The logic unit 11 comprises an input unit 15 such as a keyboard, optical reader or magnetic tape device for entering data into the system, a read-write memory (RWM) unit 17, a read-only memory (ROM) unit 19 having a stored routine, a processing unit 21 and a print-plot controller 23. The processing unit 21 stores the data from input unit 15 into RWM 17, processes the stored data under control of the ROM routine, and applies the processed data via controller 23 to printer-plotter 13 for plotting and printing.

FIG. 2 shows the printer-plotter 13 comprising a web or paper drive unit 25, a print-plot head 27 engaging the web, and a coordinate actuator or head drive unit 29 for moving the print-plot head 27. The paper drive unit 25 includes a stepper motor 33 coupled to a platen 35 for moving paper 31 forward (from +y to -y) or rearward (from -y to +y). The head drive unit 29 includes a head motor coupled to head 27 by means of a guide wire 39 for moving the head 27 from left to right (from -x to +x) or from right to left (from +x to -x). FIG. 2 also shows print-plot controller 23 comprising a head position controller/driver 41, a paper position controller/driver 43, and a head power controller/driver 45. Upon application of a signed, binary value from processor 21 to head position controller/driver 41 (the sign of the binary value specifying the direction of movement of the head 27 and the magnitude of the binary value indicating the number of steps that the head 27 is to be moved), the controller/driver 41 converts the signed binary value to two signals with a +90.degree. phase delay between the two signals when the sign is negative, and to two signals with -90.degree. phase delay between the signals when the sign is positive, and applies the two signals to head motor 37. Head motor 37 moves head 27 a distance corresponding to the number of cycles of the signals, in the direction from -x to +x when the applied signals are out of phase by +90.degree., and from +x to -x when the applied signals are out of phase by -90.degree.. In similar manner, a signed binary value applied by processor 21 to paper position controller/driver 43 causes controller/driver 43 to apply two signals with +90.degree. or -90.degree. phase delay between them to stepper motor 33. Stepper motor 33 rotates a sprocketed portion of platen 35, moving paper 31 a distance corresponding to the number of cycles of the applied signals. Paper 31 is moved forward (+y to -y) when the signals applied to motor 33 are out of phase by +90.degree., and moved rearward (-y to +y) when the signals applied to motor 33 are out of phase by -90.degree.. A binary pattern of ten bits is applied, in parallel, by processor 21 to head power controller/driver 45 specifying the thermal elements of head 27 that are to be energized.

FIG. 3 shows a top view of the thermal resistive elements of head 27. (In an alternative embodiment of the present invention the thermal elements of the head may be arranged along a single diagonal.) Seven elements are used for printing upper and lower case characters, at least two elements used for printing punctuation characters, and one element 47 is used to plot lines. For example, when the head 27 is moved from left (-x) to right (+x), to print upper and lower case, characters E and e, thermal elements E1, E2, E3, E4, E5, E6 and E7 are used, to print a lower case character with a "descending portion" such as "p", elements E3, E4, E5, E6, E7, E8 and E9 are used, and to print a punctuation mark such as a comma, elements E7, E8 and E9 are used. Each printing element partly overlaps its neighboring element in a column-wise and row-wise fashion as indicated by reference numerals 49 and 51 of FIG. 3. This overlapping arrangement permits the printing of contiguous, partly-overlapping dots, forming characters having a non-dot-like appearance. The elements are connected to twelve leads, one lead being a ground lead 53 common to elements E1-E9, nine lead being conductor leads 57-63, 65 and 69-75, each connected to one of the nine elements E1-E9, and one grounded lead 55 and one conductor lead 67 connected to plot element 47. The twelve leads to the head 27 are, in turn, connected to head power controller/driver 45 of printer-plotter controller 23 via a flexible cable 77. Processor 21, under control of the routine shown in FIG. 5 and Table 2 following, moves the head 27 or paper 31, or both, to a selected position and applies a binary pattern to head 27, energizing selected elements to plot a point or to print one or more points as part of a character.

FIG. 4 shows the elements E1-E7 used to print the character "E," and the particular move or position of the head (p1 being a first position, p2 being a second position, and so on) at which each element is energized. The elements E8 and E9 are not used to print portions of the E, instead, these two elements are used to print punctuation marks and the lower portions of lower-case characters when such characters are oriented in the same direction as the E. For example ##EQU1## means that at an initial positioning of head 27 element E6 is energized to form a portion of character E, ##EQU2## means that at the next positioning of the head (i.e., at head position two), element E3 is energized to form another portion of the E, ##EQU3## means that at head position seven, elements E4 and E7 are energized to form two other portions of the E, and so on. Note that at head position three, elements E8 is in position for forming a punctuation character or lower portion of a lower-case character (if such a character were needed) and, hence, is not energized to form a portion of the E. Table 1 shows the element used to print upper-case character "P," punctuation character "," and lower-case character "p." __________________________________________________________________________ Element used to form Element used Example                    character to form Orienta- of   Character Direction Direction in order descender tion of character orienta- of      of      of use, portion charac- orienta- tion  head move- paper   from left (in order ter   tion (Cartesian) ment    movement to right of use) __________________________________________________________________________ First P,   +y to -y -x to +x No movement E6,E3,E5,E2, E9,E8 orthogonal                       E7,E4,E1 Second     -y to +y +x to -x No movement E4,E7,E5,E8, E1,E2 orthogonal                       E3,E6,E9 Third      -x to +x No movement +y to -y E1,E2,E3,E4, E6,E9 orthogonal                       E5,E7,E8 Fourth     +x to -x No movement -y to +y E9,E8,E7,E6, E4,E1 orthogonal                       E5,E3,E2 First P    +y to -y -x to +x No movement E9,E6,E3,E8, None orthogonal                       E5,E7,E4 __________________________________________________________________________

A flow chart of the operations performed by processor 21 under control of the routine stored in ROM 19 (FIG. 1) is shown in FIG. 5. Each block of the flow chart represents an operation performed by processor 21. For a given sequence of input data received and stored by logic unit 11, or generated by processor 21 (pursuant to calculation operation) and stored in RWM 17 for plotting and printing, the print-plot routine as shown by block 77 accesses the first data word to be plotted, positions the paper and head as shown by blocks 79 and 81, and plots the contents of the accessed data word. As shown by block 83, plotting is achieved by applying the accessed data to head power controller/driver 45 (FIG. 2) where the data is used to gate power from a power supply 105 to plot element 47 of head 27. Following the plotting operation as block 85 shows, a test is made to determine if printing is to be performed. If no printing is to be performed (indicated by a print flag not having been preset), control is transferred to block 101. If a print flag has been present indicating that character data are to be printed, the orthogonal orientation of the character is determined as shown by blocks 87 and 89, and head 27 or paper 31 is moved to a selected coordinate as shown by blocks 93 and 91, causing selected elements of the head to occupy selected positions over the paper 31 corresponding to the data word to be printed. To accomplish the head and paper movement indicated by blocks 93 and 91, for a given character orientation determined from blocks 87 and 89, signed binary values are applied to head-position and paper-position controller/drivers 41, 43. Bit patterns (dot patterns in binary form) of alphanumeric characters printable by the system are pre-stored in word groups in ROM 19, each word group containing the dot (bit) pattern corresponding to one character. For a given character stored in RWM 17, the group of words from ROM 19 containing the dot pattern corresponding to the stored character are accessed. This access operation is shown by block 95, after which the contents of each word are applied to head power controller/driver 45 (FIG. 2) as shown by block 97. As shown by gates 103 and power supply 105 of FIG. 2, the contents of each dot-pattern word serve to gate power from power supply 105 to those elements of the head for which there is a matching "1" bit in the dot-pattern. As block 99 shows, after each dot-pattern word is provided, control is returned to blocks 95 and 97 for successive dot-pattern words to be output. When all of the dot-pattern words (preselected for annotating a plotted data value) have been printed, control is transferred to block 101 which, in turn, returns control to block 77 if additional data values remain to be plotted, or terminates the print-plot operation if no data values remain to be plotted. To plot lines having a selected thickness, a plot element 47 of selected size may be used, or individual elements may be energized selectively to produce, along a selected orthogonal direction, a line made up of a desired number of contiguous dots. To print characters having a selected thickness, selected dot patterns may be used. Table  2 shows a listing of the individual instructions of the print-plot routine. ##SPC1##

## Claims

1. A system for forming visual output .[.manifestations.]. .Iadd.images .Iaddend.on a web, comprising: engaging said web, each element being located at the intersection of first and second .[.coordinate positions.]. .Iadd.coordinates of position .Iaddend.in the head, with no .[.element occupying.]. .Iadd.two elements having .Iaddend.the same first coordinate .[.position.]. and no .[.element occupying.]. .Iadd.two elements having .Iaddend.the same second coordinate .[.position.].; providing relative motion .[.of.]. .Iadd.between .Iaddend.the head means .[.with respect to.]. .Iadd.and .Iaddend.the web along .Iadd.at least one of the .Iaddend.two orthogonal coordinates .Iadd.of the web.Iaddend.; and the .Iadd.print elements of the .Iaddend.head means for forming visual output .[.manifestations.]. .Iadd.images .Iaddend.on the web in one of four directions along the two orthogonal coordinates .Iadd.of the web .Iaddend.by causing the drive means to move at least one of the web and head means to a selected position .Iadd.in selected steps .Iaddend.and energizing selected .Iadd.print .Iaddend.elements of the head means to form selected portions of the visual output .[.manifestations.]. .Iadd.images .Iaddend.in response to said data .Iadd.at each position of the head means relative to the web. .Iaddend.

2. The system as in claim 1 wherein each first coordinate of the print elements is a row coordinate and each second coordinate is a column coordinate, the print elements being symmetrically located about at least one of two substantially 45.degree. diagonals.

3. The system as in claim 1 wherein the logic means includes a stored routine for producing alphanumeric characters, the web is thermally sensitive paper, and the print elements comprise at least nine thermal resistive elements.

4. The system as in claim 1 wherein the head means includes a plot element for plotting lines on the web.

5. The system as in claim 2 wherein the print elements are aligned in overlapping contiguity along the coordinates, this arrangement being effective for producing contiguous partly-overlapping marks on the web.

6. The system as in claim 5 wherein the drive means includes a web drive means and a head drive means, and the logic means controls .[.the head means,.]. the head drive means, the web drive means and .[.controls.]. the energizing of selected numbers of those .Iadd.print .Iaddend.elements contiguously aligned along a selected coordinate, to produce line segments in the direction of the selected coordinate having thickness related to the number of elements energized.

7. A method of forming output .[.manifestations.]. .Iadd.images having one or more rows and columns .Iaddend.on a web using a movable head with a .Iadd.non linear .Iaddend.plurality of print elements .Iadd.thereon .Iaddend.to form portions of each output .[.manifestation.]. .Iadd.image .Iaddend.in one of four orthogonal directions, the method comprising the steps of: .Iaddend.elements located over selected portions of the output .[.manifestation.]. .Iadd.image .Iaddend.to be formed in such a manner that at each positioning no more than one .Iadd.print .Iaddend.element is located over a column of the output .[.manifestation.]. .Iadd.image .Iaddend.to be printed, and no more than one .Iadd.print .Iaddend.element is located over a row of the output .[.manifestation.]. .Iadd.image .Iaddend.to be printed; and the output .[.manifestation.]. .Iadd.image .Iaddend.in one or four orthogonal directions.

8. The method of claim 7 where the step of positioning includes the steps of moving the head in a first direction to produce output .[.manifestations.]. .Iadd.images .Iaddend.oriented in said first direction, and moving the head in a second direction to produce output .[.manifestations.]. .Iadd.images .Iaddend.oriented in said second direction.

9. The method of claim 7 where the step of positioning further includes the steps of moving the web in a third direction to produce output .[.manifestations.]. .Iadd.images .Iaddend.oriented in a fourth direction opposite to said third direction, and moving the web in a fourth direction to produce output .[.manifestations.]. .Iadd.images .Iaddend.oriented in the third direction.

10. The method of claim 7 where the movable head includes a plot element for forming lines on the web in any selected direction and the method includes the steps of: over a segment of the line to be formed; and direction. .[.11. A print head comprising a cluster of a selected number of print elements disposed on and about at least two diagonals for forming output manifestations on a web in any of four orthogonal directions, such elements being located at the intersection of first and second coordinate positions, with no element occupying the same first coordinate position and no element occupying the same second coordinate position..]. .[.12. The print head as in claim 11 wherein each first coordinate of the print element is a row coordinate and each second coordinate is a column coordinate..]. .[.13. The print head as in claim 11 wherein the print elements are aligned in overlapping contiguity along the coordinates for producing partly-overlapping contiguous output manifestations on the web..]. .[.14. The print head as in claim 11 wherein the print elements are disposed having independent conductor leads and a common ground lead..]. .[.15. The print head as in claim 11 wherein a first group of the selected number of print elements are used for printing output manifestations in the form of upper case characters, a second group of said elements are used for printing lower case characters, and a third group of said elements are used to print punctuation characters..]. .[.     The print head as in claim 11 including a plot element disposed externally to the cluster of print elements for plotting lines..]. 17. A system for forming visual output .[.manifestations.]. .Iadd.images .Iaddend.on a web, comprising: and a plot element engaging said web, each element being located at the intersection of first and second .[.coordinate positions.]. .Iadd.cartesian coordinates of position .Iaddend.in the head, with no .[.element occupying.]. .Iadd.two elements having .Iaddend.the same first coordinate .[.position.]. and no .[.element occupying.]. .Iadd.having .Iaddend.the same second coordinate .[.position.].; providing relative motion .[.of.]. .Iadd.between .Iaddend.the head means .[.with respect to.]. .Iadd.and .Iaddend.the web along .Iadd.at least one of the .Iaddend.two orthogonal coordinates .Iadd.of the web.Iaddend.; and the head means for substantially simultaneously printing and plotting visual output .[.manifestations.]. .Iadd.images .Iaddend.on the web in one of four directions along the two orthogonal coordinates .Iadd.of the web .Iaddend.by causing the drive means to move at least one of the web and head means to a selected position .Iadd.in selected steps .Iaddend.and energizing selected .Iadd.print .Iaddend.elements of the head means to form selected portions of the visual output .[.manifestations.]. .Iadd.images .Iaddend.in response to said data .Iadd.at each position of the head means relative to the web.Iaddend.. 18. A method of substantially simultaneously printing and plotting visual output .[.manifestations.]. .Iadd.images having one or more rows and columns .Iaddend.on a web using a movable head with a .Iadd.non-linear .Iaddend.plurality of print elements and a plot element .Iadd.thereon .Iaddend.to form portions of each output .[.manifestation.]. .Iadd.image .Iaddend.in one of four orthogonal directions, the method comprising the steps of: .Iaddend.elements located over selected portions of the output .[.manifestation.]. .Iadd.image .Iaddend.to be formed in such a manner that at each positioning no more than one .Iadd.print .Iaddend.element is located over a column of the output .[.manifestation.]. .Iadd.image .Iaddend.to be printed, and no more than one .Iadd.print .Iaddend.element is located over a row of the output .[.manifestation.]. .Iadd.image .Iaddend.to be printed; and the output .[.manifestation.]. .Iadd.image .Iaddend.in one of four orthogonal directions. .[.19. A print head comprising a plot element and a cluster of a selected number of print elements disposed on and about at least two diagonals for printing and plotting substantially simultaneously and forming output manifestations on a web in any of four orthogonal directions, such elements being located at the intersection of first and second coordinate of positions, with no element occupying the same first coordinate position and no element occupying the same second coordinate position..].