Description:
CROSS REFERENCE TO RELATED APPLICATION
Applicants claim priority from corresponding Italian Pat. application No. 52489-A/69 filed July 3, 1969.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a data terminal apparatus comprising at least one keyboard, a store for storing data, a printing device and means adapted to connect the apparatus to a remote central processor. The present invention is concerned with means by which the numerical data characters serially introduced on the keyboard are printed with the last character aligned on a predetermined columnar position.
2. Description of the Prior Art
In a known terminal apparatus described in the Italian Pat. No. 839,905 dated Dec. 2, 1968, numerical data characters are printed aligned in a predetermined columnar position by means of a mechanical register associated with the keyboard, in which the numerical data characters are temporarily stored while the printing device is enabled to carry out as many backspaces as there are digits. At the end of the entering operation and the ensuing storage in the mechanical register, the data characters stored in the register are transferred to the printing device and are printed in this way with the last numerical data character aligned in a predetermined columnar position.
In this known type of terminal apparatus the aligning device described is of mechanical type and it is not adapted to be connected to an electronic store in which the complete message is stored before being transmitted to the remote processor.
SUMMARY OF THE INVENTION
The object of the present invention is obviate this disadvantage and to provide an electronic aligning device for connection to an electronic transmitting unit.
According to the invention we now provide a printing data terminal apparatus comprising a keyboard for serially entering numerical data characters, a printing device for printing said data characters, shift control means operable for positioning said printing device at a predetermined columnar position, back-space control means for back-spacing said printing device, a recirculating memory for storing a plurality of said data characters to be printed and having a cycle comprising a plurality of bit periods and a control unit for controlling said memory and said printing device so as to print said data characters serially while being entered into said memory, wherein the improvement comprises in combination:
a first zone included in said memory temporarily storing said plurality of data characters;
said control unit causing each of said entered data characters to be stored in said first zone and said back-space control means to back-space said printing apparatus by one step starting from said predetermined columnar position for each entered character and
a function key operable upon entering the last character of said plurality of data characters into said first zone for causing said control unit to transfer the plurality of data characters temporarily stored in said first zone into a second zone of said memory and to said printing device, whereby said plurality of data characters are printed with the last entered data character aligned on said predetermined columnar position.
BRIEF DESCRIPTION OF THE DRAWING
The invention will be described in more detail, with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram of a terminal apparatus embodying the invention;
FIG. 2 is a more detailed block diagram of the apparatus.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring to FIG. 1, the data terminal apparatus includes a keyboard 1 comprising a numerical zone 20 (FIG. 2) an alpha-numerical zone and a zone 19 with function and control keys 21 for forming and controlling the structure of the messages sent to the central processor. The codes introduced from the keyboard 1 are sent through a channel 2 to a terminal controller 3. The terminal controller 3 controls the logical functions of the terminal. More particularly the controller 3 is connected to a recirculating store 4 operable to store the interrogation messages introduced into the terminal on the keyboard 1 and the reply messages coming from the central processor. The controller 3 moreover controls through a channel 5 the input of data and commands into a printing device 6. The transmission and reception of messages on a transmission line 7 connecting the terminal apparatus to the central processor, are controlled by a line controller 8, which controls any step of the conversation procedure between the terminal and the central processor. The line controller 8 is of the type described in the U.S. Pat. application Ser. No. 764,708 filed on Oct. 3, 1968, now U.S. Pat. No. 3,564,511 assigned to the present assignee.
The message read out from the store 4 is transmitted through a channel 9 to the controller 3, which sends it through the channel 10 to the line controller 8. The line controller 8 sends the message over a channel 11 to a serializer-parallelizer 12, which serializes the bits of the message. The bits arranged in series are sent over an interface channel 13 to a modulator-demodulator unit 14, which modulates a carrier wave for the transmission over the line 7. The serializer-parallellizer 12 is known per se and the modulator demodulator 14 is of the type described in the U.S. Pat. application Ser. No. 793,108 filed on Jan. 22, 1969, now U.S. Pat. No. 3,609,693 assigned to the present assignee.
On the other hand, when the central processor has to send a message to the terminal, the line controller 8 presets the terminal apparatus in the reception conditions, so that when the terminal is in the condition ready to receive, the bits of information received on the line 7 and demodulated by the unit 14 are sent over the channel 15 to the parallelizer 12. The parallelizer 12 sends the parallelized characters through a channel 16 to the line controller 8 for a possible check on redundancy; the characters are thereafter sent over the channel 17 to the unit controller 3, which effects the parity check of them and finally sends them to the store 4 over the channel 18. The controller 3 is moreover concerned with the control of the printing of the information, by the printing device 6.
The line controller 8 controls the conversation procedure between the processor and the terminal, which may be, in particular:
a "polling" procedure for the transmission of interrogation messages from the terminal to the processor;
a "selection" procedure for the transmission of reply messages from the processor to the terminal.
The two procedures may be of the type described in U.S. Ser. No. 818,916 filed Apr. 24, 1969. The store 4 is constituted by a magnetostrictive delay line 27 of the type described in the U.S. Pat. application Ser. No. 38,215 filed on May 18, 1970, now U.S. Pat. No. 3,678,483 and assigned to the same assignee. The delay line has a capacity of 500 characters and divided into two zones, the first forming a register C1 . . . C16 for the introduction of the numerical data and having a capacity of 16 characters, and the second zone forming a register C17 . . . C500 acting as the store for the message. Each of the 500 character periods of the store 4 comprises 10 bit periods from D1 to D10.
Particularly, each character in the store 4 is represented by seven bits stored respectively in the seven binary cells corresponding to the bit periods D3 to D9. The binary cell corresponding to the bit period D10 is adapted to contain the parity bit. The binary cell corresponding to the bit period D1 is adapted to contain an identification mark or tag bit bs=1. One tag bit bs is stored in only one character period of each of the two zones into which the store is divided. While writing in each of the two zones, the respective tag bit bs is shifted step-by-step from one character period (character cell) to the next following one to indicate which is the character cell into which the successive characters is to be stored. Similarly, the binary cell corresponding to the second bit period D2 is adapted to contain a second identification mark or tag bit b1=1 which, while reading each of the two zones is shifted progressively from one character cell to the following one to indicate which is the character cell in which the successive character is to be read.
At the head of the (500)(10) binary cells of the store 4 there is a binary cell adapted to contain a timing start bit CS and a binary cell containing the corresponding parity bit PCS as described in the cited U.S. Pat. No. 3,611,303.
Referring to FIG. 2, the keyboard 1 is divided into three sections; an alphanumeric keyboard 19, a numerical keyboard 20 and a function keyboard 21. The three keyboards send the data entered on them through the channels 22, 23, 24, respectively to the common channel 2.
A "channel" can carry a plurality of bits in parallel and is indicated in FIGS. 1 and 2 by a double line.
A control unit 28 included in the controller 3 controls the data arriving from the keyboards and sends them through a channel 18 to a shift register 26 disposed in input/output relationship i.e., connects the input to the output of the delay line 27 in the store 4. The control unit 28 moreover controls the transmission of the character stored in the register 26 to the line controller 8 over the channel 10 and the transmission of the character over the channel 5 to the printing device 6. The printing device 6 comprises: a function recognition unit 29, a serial printing unit 30 and a tabulation unit 31. The function recognition unit is of the type described in the General Manual of Olivetti TE 300, pages 40-43 published on March, 1969, by the present assignee.
The function recognition unit 29 is adapted to decode the function defined by the characters received over the channel 5 and controls the relevant mechanism carry out the decoded function. In particular the unit 29 controls the tabulation unit 31 to effect the tabulation of the carriage of the printing unit 30. It controls also the various mechanisms of the printing device 6 to effect line-spacing, letter spacing, back space, carriage return and ribbon color selection of the printing unit 30. The characters not recognized by the unit 29 as defining a machine function are transferred by the unit 28 to the printing unit 30 through the channel 32 to be printed. The printing unit 30 may be of the type described in the U.S. Pat. No. 3,356,198. Timing signals are exchanged over the line 33 between the function recognition unit 29 and the printer 30, over the line 34 between the function recognition 36.
The tabulation unit 31 may be of the type described in the U.S. Pat. application Ser. No. 803,754 filed on Mar. 3, 1969 now U.S. Pat. No. 3,646,268 and assigned to the present asignee. More particularly, the tabulation unit 31 comprises a drum having 120 tabulation stops. Each stop is shaped so as to arrest the printing unit 30 according to three tabulation programs, two tabulation programs or only one program. In particular, the profile of the printing unit 30 the stops have a successive of teeth and spaces suitably arranged along three different paths according to the stop positions corresponding for each tabulation program.
The function keyboard 21 comprises three tabulating bars each one associated with a specific tabulating program. The three 8-bit bars generate three codes TAB1, TAB2, TAB3 respectively, which, on being sent over the channel 2 to the control unit 28, are forward thereby to the store 4 via the channel 18 and to the function recognition unit 29 through the channel 5. The unit 29 recognizes the tabulation character or code associated with the desired program and generates a command for advance to the printing unit 30 over the channel 32. The unit 29 also generates a selection command through the channel 37 to the tabulation unit 31 to select one of the three available tabulation paths corresponding to the selected tabulating program. When a tooth corresponding to the tabulation programme selected is encountered by the carriage, the arrest of the printing unit 30 at a longitudinal position corresponding to the position of the stop possessing the tooth on the outer surface of the drum is commanded through the channel 38 by the tabulating unit 31 in a manner corresponding to the description in the above cited U.S. Pat. application Ser. No. 803,754.
On the surface of the tabulation drum, the tabulating stops include, in addition to the three paths reserved for the tabulation and for the consequent command to the printing unit 30, another three paths adapted, in accordance with a suitable arrangement of teeth and spaces, to actuate or not, in correspondence with a tooth or a space, respectively, combination of switches 39, 40, 41. The three electrical signals generated by the three switches 39, 40, 41 are decoded by the decoding unit 36. The decoding until 36 can generate 8-bit combinations and send them to the control unit 28 through channel 48. Locking commands are generated by the control unit 28 over the wires 45, 46 and 47 and the wires 42, 43, 44, respectively, the commands for locking the alphabetic keyboard 19, the numerical keyboard 20 and the function keyboard 21 in dependence upon the binary code combination received from the aforesaid three switches. Thus the control unit 28 can control in a manner hereinafter described, the operations provided by the tabulating program for the present position of the carriage.
As has already been said, the delay line 27 is divided into two zones. The output of the line 27 is connected through a transducer 52 to a flip-flop FIAC, while the input is connected, through a transducer 54, to a flip-flop FIEL. The two flip-flops FIAC and FIEL are in turn connected to a third flip-flop FIAL. The circulation of the bits in the line 27 is controlled by a clock 53, which generates a series of signals C, each one corresponding to a bit-cell of the memory 4. The signals C are provided by the clock 53 to the set circuits of the three flip-flops FIAC, FIAL and FIEL so that the bits coming from the transducer 52 can circulate through these flip-flops in synchronism with the signals C and thence, through the transducer 54, can enter the line 27. If one of the three flip-flops is reset, the bits coming from the transducer 52 cannot circulate in the line 27. At the beginning of the line there is located as described in the cited U.S. Pat. No. 3,678,483 a timing start character CS which, on leaving an output transducer 52, starts a timing unit 53 which generates a signal C constituting the time base clock and the signals D1 - D10 which represent the bit periods. That is, the signal C activates a counter, included in the clock 53 and not shown in the drawing. This counter has a capacity of ten bits and generates a series of signals D1 . . . D10 in synchronism with the signal C. Each character circulating in the line 27 is associated with a group of signals D1 . . . D10, which are sent to the control unit 28 for controlling the entering in and the reading out of the characters from the line 27 in a manner hereinafter described.
The output of the flip-flop FIAL is connected, through a wire 59 and a gate 58, to the input of a shift-register 26 having the capacity of one character, that is of ten bits. The output of the register 26 is connected, through a gate 56 and a wire 57, to the input of the flip-flop FIAL.
The shift of the bits stored in the register 26 is caused by the signal C, through the gate 55, that is with the same recirculation frequency as the bits in the line 27. Moreover, the register 26 is connected through the channels 9 and 18 to the control unit 28 for transmission and reception of the bits, respectively. Stored in the line 27 are two characters CS and PCS. The character CS defines the beginning of the line 27, while the character PCS is a parity-character for the character CS. The character CS, the parity bit PCS and the bits constituting the characters present in the two zones of the delay line, issuing in succession from the transducer 52, are regenerated through the chain of flip-flops FIAC, FIAL, FIEL to be then introduced afresh through a transducer 54 into the delay line 27. In order to identify the two zones of the line 27, the control unit comprises a counter 50, which is started in a known manner by the character CS and generates a signal Z after counting 160 bit periods following the character CS; that is the signal Z is generated when the first character of the second zone is stored in the flip-flop FIAL. A character originating from the keyboard 1 or line controller 8 reaches the control unit 28 to be introduced into the first zone of the delay line 27. The unit 28 sends the character to the register 26 comprising ten flip-flops connected in such manner as to form a shift register known per se. The characters circulate in the delay line, being regenerated through the three flip-flops FIAC, FIAL, FIEL, as hereinbefore stated. When the character CS is stored in the flip-flop FIAL, the clock 53 is started and generates the signals C and D1 . . . D10. When the clock of timing unit 53 generates the signal D3, the tag bit "bs" = 1 of the second memory zone is present in the flip-flop FIAL, this is signalled to the unit 28, which generates the signal S which enables gates 55 and 56, whereby there is effected the shifting, in rhythm with the clock signal C, of the character present in the register 26 through the gate 56 and a wire 57 into the flip-flop FIAL and then into the flip-flop FIEL and from here into the delay line 27. In this way the 8 bits of the character stored in the register 26 are entered in the bit positions of the line 27 defined by signals D3 . . . D10, while two bits having a value of 0 are stored in the bit positions defined by signals D1 and D2.
When the clock 53 generates the signal D10, all bits stored in the register 26 have been transferred in the line 27. Thus the control unit 28 can enter the next following character in register 26 through the channel 18. Simultaneously with the generation of the signal D1 following the previous signal D10 the signal A is generated in known manner by the unit 28, entering and activating the flip-flop FIEL. This prevents the passage of the bit "bs" = 1, thus the service bit bs=1 is stored in the bit position of the line 27 defined by the signal D1. In this way the characters are introduced progressively into the delay line 27 with the consequent shifting of the bit "bs" = 1.
The shift of the bit bs and more particularly the generation of the signal A are not described in detail because they are described in the cited U.S. Pat. No. 3,678,483. When a character is to be extracted, on the appearance of the tag bit "b1" = 1 in the flip-flop FIAL this is signalled to the unit 28, which generates the signal L which enables a gate 58, whereby the bits of the character are shifted from the flip-flop FIAL through a wire 59 into the register 26.
When the whole character is present in the register 26, the unit 28 sees to the extraction thereof over the channel 9 and the sending thereof in accordance with the operation procedure over the channel 5 to the printing device 6 and over the channel 10 to the line control unit 8. At the same time, the unit 28 generates with suitable timing the signal B, which prevents the regeneration of the bit b1 = 1 in the position in which it was previously, forcing the bit b1 = 1 one digit period later by means of the signal B. The shifting of the bit b1 and more particularly the generation of the signal B are not described in detail, because they are described in the cited U.S. Pat. No. 3,678,483.
The aligning in columns of the numerical data entered on the keyboard is obtained by the apparatus embodying the invention as described hereinafter. As described in detail above, this operation is initiated when the operator of the terminal operates the tabulating bar of the keyboard 21 associated with the required tabulating program of the terminal. The depressed tabulating bar, through the channel 2, sends a code to the control unit 28, which in turn sends this code to the function recognition unit 29 to activate the tabulation unit 31. In this way the carriage of the printing unit 6 is advances until a tabulating stop of the selected tabulating program is engaged.
The printing unit 30 stops at a longitudinal position and the tabulating stop (of which) generates a group of three signals by means of the three microswitches 39, 40, 41. The decoding unit 36 decodes this signal group and generates an 8 -bit code (as described above) which commands the locking of the alphanumeric keyboard 19 and the function keyboard 21 over the wires 42 and 44. The operator can enter numerical data on the numerical keyboard 20 which has been left free. The numerical character keyed in on the keyboard 20 is sent over the channel 2 to the control unit 28 which, having sensed an empty state of the register 26 through the channel 9, sends the aforesaid character to the register 26 through the channel 18. The output channel 48 from the decoding unit 36 has previously sent a number of preparing commands to the unit 28 so that the introduction of numerical characters from the keyboard may be effected, as a result of which the unit 28 is preset to operate in the state for introducing numerical characters. The code of the posted figure is thus stored in the first zone of the line 27. The first zone of the line 27 is selected in response to the same code supplied by the decoder 36. This code causes the control unit 28 to select the bit position defined by the bits bs next following the character CS. The selection of this bit position and the entering of the posted figure is operated by the control unit 28 in a manner similar to that described in the U.S. Pat. No. 3,678,483.
Simultaneously with the sending of the numerical character to the register 26, the control unit 28, having been preset by the commands received over the channel 48, from decoder 36 generates the "back space" code which is routed over the channel 5 to the printing device 6. The function recognition unit 29 recognizes the code received and commands the printer 30 over the channel 32 to effect a back space
The printer 30 performs one space back, after which it advises the unit 28 by a signal transmitted over a wire 60. At this point, when the control unit 28 senses the presence of the tag bit "bs" = 1 in the flip-flop FIAL of the first zone of the memory, it generates the signal S, as a result of which the operation of writing into the delay line 27 which has already been described is started.
The control unit 28 distinguishes the first zone of the memory from the second zone, in particular the corresponding tag bits of the two zones, because the signal D which is the sum of the signals D1 - D10 expressing the bit periods feeds a digit period counter 50 described above.
The digits entered one by one on the numerical keyboard 20 are sent in succession by the unit 28 to the first zone of the delay line 27 simultaneously with the sending of an equal number of "back space" codes to the printing unit 30. After the operator has entered all digits of the number on the numerical keyboard 20, he presses the tabulating bar on the function keyboard 21 to generate a code TAB1 which is sent over the channel 2 to the control unit 28. The control unit 28 now sends the code received to the register 26 over the channel 18, because it recognizes that the code is a non-numerical code. This code is also stored in the first zone of the line 27. The printing unit 30 remains stationary, while the control unit 28 generates the signal S which permits the writing of the code TAB1 into the first zone of the store after the numerical digits previously introduced. After the insertion of the code TAB1 into the first zone of the store, the control unit 28 generates the signal L which, through the gates 55 and 58, commands the reading of the first numerical character in the first zone of the store i.e., line 27. When the first numerical character is present in the register 26, the unit 28 extracts it over the channel 9 and sends it over the channel 5 to the printing device 6 so that it may be printed by the printer 30. Upon printing each character the carriage of the printing unit 30 is advanced one step. In this way the posted amount is printed with the less significant figure aligned on the tabulating columnar position of the carriage. The printing of the numerical character having been effected, the printer 30 advises the unit 28 by means of a signal transmitted over the wire 60. This signal is decoded in a known manner by the control unit 28, which consequently selects the second zone of the memory 27 in conjunction with the counter 50 which responds to the repetitive series of signals D to count the digit periods or characters in the memory. The signal S, with suitable timing, commands the writing of the numerical character present in the register 26 in the place marked by the bit "bs" = 1 of the second zone of the store. This procedure takes place for all the following numerical characters, that is the extraction from the first zone of the store, the printing of the character itself and the writing into the second zone of the store are commanded in a time sequence, there being obtained in this way the alignment in columns of the number entered on the keyboard, printing locally and the introduction thereof into the store as part of a complete message.
When the code TAB1 is extracted from the first zone of the store, the control unit 28 extracts it from the register 26 through the channel 9 and sends it over the channel 5 to the printing device 6. The tabulating code, when transferred from the control unit 28 to the printing unit 30, causes the carriage to be moved into the position corresponding to the next tabulating stop. The code TAB1 is recognized by the function recognition unit 29, which therefore commands, through the channel 32, the advance of the printing unit 30 and, through the channel 32, the advance of the printing unit 30 and, through the channel 37, the selection of the stop corresponding to the aforesaid code on the tabulation drum of the unit 31. When the printing reaches the selected stop, the arrest thereof is commanded through the channel 38 so that the tabulation unit 31 can energize a combination of three microswitches 39, 40, 41 giving rise to whatever new operating cycle is required. Simultaneously with the dispatch of the code TAB1 to the printing device 6, the control unit 28 sees to the clearing of the first zone of the store by means known per se and not described, since they do not form part of the invention.