Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DOCUMENT DISPENSING SYSTEM AND METHOD
Document Type and Number:
WIPO Patent Application WO/1979/001055
Kind Code:
A1
Abstract:
A document dispensing system and method for dispensing documents (28) or bills from a supply (105) to a customer access receptacle (70) or a reject bin (80) depending upon certain characteristics of the bills or the manner in which they are fed. Sensors (1, 2, 3, 4) which are positioned along a dispensing path (56) are sampled to assume first and second states in accordance with the presence or absence, respectively, of bills (28) in the dispensing path (56). The states of the sensors are stored to provide short term and long term histories of the sensors along with a time in transport for each of the bills in the dispensing path (56). The short and long term histories and the time in transport are utilized for evaluating the status of each of the bills in the dispensing path with regard to predetermined criteria such as, for example, "double thickness", or "bill too long", and for producing a control signal which controls a diverter gate (60) to divert the bills (28) either into the access receptacle (70) or reject bin (80) in accordance with the evaluation.

Inventors:
WARD S (US)
Application Number:
PCT/US1979/000301
Publication Date:
December 13, 1979
Filing Date:
May 07, 1979
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NCR CO (US)
International Classes:
B65H29/62; G07D1/00; G07D11/00; (IPC1-7): B07C5/04
Foreign References:
US3941977A1976-03-02
US3948510A1976-04-06
US4084900A1978-04-18
US4022460A1977-05-10
US3818461A1974-06-18
US3949368A1976-04-06
US3937925A1976-02-10
US3949200A1976-04-06
US3778629A1973-12-11
US3791392A1974-02-12
US3795343A1974-03-05
DE1524526A11970-07-02
Other References:
See also references of EP 0016003A4
Download PDF:
Claims:
WHAT IS CLAIMED IS:
1. A document dispensing system having a dispensing path, means for feeding documents from a supply to and along said dispensing path, means located in said dispensing path for diverting said documents into either a reject bin or a customer access receptacle in response to a control signal, and sensors positioned along said dispensing path and arranged to assume first and second states in accordance with the presence or absence, respectively, of said documents (28) in said dispensing path (56), characterized by storage means (138) for storing said first and second states to pro¬ vide shortterm and longterm histories (Table 1) of ' said states of each of said sensors (1, 2, 3, 4), and for storing a time in transport (Table 2) in said dis pensing path (56) for each of said documents in said dispensing path, and processor means (140) arranged to utilize said short and longterm histories of"said states and said times in transport for producing said control signal to control the diverting of each docu ment either into said customer access receptaqle (70) or said reject bin (80).
2. A system according to claim 1, charac¬ terized in that said storage means (138) is arranged to store a predetermined number of the most recent first and second states of said sensors (1,2,3,4) to produce said shortterm histories (Table 1) of said states of each of said sensors.
3. A system according to either claim 1 or 2, characterized in that said processor means (140) in¬ cludes a counting means for sequentially counting one of said first and second states of said sensors to pro duce said longterm histories (Table 1) of said states of each of said sensors.
4. A system according to any one of claims 1 to 3, characterized in that said storage means (138) has stored therein a plurality of counts which corres¬ pond to predetermined times at which said documents should be located at predetermined areas in said dis¬ pensing path (56), and in that said processor means (140) includes means for comparing said time in trans¬ port for each of said documents with said plurality of counts to select one of said counts of said plurality of counts to which a particular one of said times in transport is equal, and means. responsive to said selec¬ ted one of said counts for effecting production of said control signal for a particular one of said documents.
5. A system according to claim 4, charac¬ terized in that said times in transport and said plurality of counts are each stored in said storage means (138) in numerically increasing order, to facili tate said comparing of said time in transport for each of said documents with said plurality of counts.
6. A system according to any one of the preceding claims, characterized in that said sensors comprise a first sensor (Sensor 1) for detecting one or more of said documents being fed from said source to said dispensing path, a second sensor (Sensor 2) for detecting the presence or absence of double thickness documents in said dispensing path, a third sensor (Sen¬ sor 3) for detecting the presence or absence of said documents being diverted into said reject bin (80), and a fourth sensor (Sensor 4) for detecting the pre¬ sence or absence of said documents being diverted into said customer access receptacle (70).
7. A method of dispensing documents inclu¬ ding the step of feeding documents along a dispensing path, characterized by the steps of sampling each of a 7 ( concluded ) plurality of sensors (1,2,3,4) positioned along said dispensing path (56) to produce first and second states for each sensor each time a said sensor detects the presence or absence, respectively, of one of said docu¬ ments (28) thereat, storing said first and second states of each of said sensors to provide shortterm and longterm histories (Table 1) of said states of said sensors, storing a time in transport (Table 2) in said dispensing path (56) for each of said documents, and utilizing said short and long term histories (Ta¬ ble 1) of said states and said times in transport (Table 2) in said dispensing path (56) for producing a control signal for diverting each document either into a reject bin (80) or a customer receptacle (70) in re¬ sponse to said control signal.
8. A method according to claim 7, charac¬ terized in that said storing step to provide said short term history is effected by storing a predetermined number of the most recent states of each of said sen sors.
9. A method according to either claim 7 or8 characterized in that said storing step to provide said long term history is effe.cted by counting said first and second states for each sensor.
10. A method according to any one of claims 7 to 9, characterized by storing a plurality of counts which correspond to predetermined times at which said documents should be located at predetermined areas in said dispensing path (56), comparing said time in transport for each of said documents with said plurali¬ ty of counts for selecting one of said counts of said plurality of counts when a particular one of said times in transport is equal thereto, and utilizing said count 10 (concluded) from the selecting step for effecting production of said control signal for a particular one of said docu¬ ments.
11. A method according to claim 10, charac¬ terized in that said comparing step is effected by stor¬ ing said plurality of counts and said times in trans¬ port in ascending order for enabling said selecting step to be effected in one pass through said plurality of counts and said times in transport.
12. A method according to any one of claims 7 to 11, characterized in that said first (Sensor 1), second (Sensor 2), third (Sensor 3) and fourth sensors (Sensor 4) are sampled at a constant periodic rate and said documents are fed along said dispensing path (56) at a substantially constant velocity. i u EA OMPI , A . WIPO.
Description:
DOCUMENT DISPENSING SYSTEM AND METHOD

Technical Field

This invention relates to a document dispen¬ sing system and a method of dispensing documents such as currency or bills in a transaction execution termin¬ al.

Background Art

Transaction execution terminals are currently available for the performance of specific financial transactions. Such terminals typically require the in¬ sertion of a credit card containing account information written on a magnetic stripe and the keyboard entry of a personal ID number which corresponds in a predeter¬ mined manner to the credit card account information. The terminal then receives an entry of the requested amount to be withdrawn through the numeric keyboard and issues the desired amount of cash if the credit card and the ID number are found to be in order. One such system is described in the U.S. Patent Specifica- tion No. 3,937,925.

One problem associated with such transaction execution terminals is that the document or bill dis¬ pensing system associated with the terminal is gener¬ ally expensive to manufacture. Also, generally only one bill at a time may be present in the bill dispen¬ sing system which makes the total time for dispensing a large number of bills time-consuming.

Another problem associated with the document dispensing systems is that the control means used therewith are generally not flexible enough to handle a variety of currencies from different countries.

Disclosure of Invention

The invention enables more than one document to be present in the dispensing path at any one time

O PI v

and provides a flexible, low-cost, accurate control of the documents being dispensed in the system.

Thus, according to the invention, there is provided a document dispensing system having a dispen- sing path, means for feeding documents from a supply to and along said dispensing path, means located in said dispensing path for diverting said documents into either a reject bin or a customer access receptacle in response to a control signal, and sensors positioned along said dispensing path and arranged to assume first and second states in accordance with the presence or absence, respectively, of said documents in said dis¬ pensing path, characterized by storage means for stor¬ ing said first and second states to provide short-term and long-term histories of said states of each of said sensors, and for storing a time in transport in said dispensing path for each of said documents in said dis¬ pensing path, and processor means arranged to utilize said short and long-term histories of said states and said times in transport for producing said control sig¬ nal to control the diverting of each document either into said customer access receptacle or said reject bin.

According to another aspect of the invention, there is provided a method of dispensing documents in- eluding the step of feeding documents along a dispen¬ sing path, characterized by the steps of sampling each of a plurality of sensors positioned along said dispen¬ sing path to produce first and second states for each sensor each time a said sensor* detects the presence or absence, respectively, of one of said documents there¬ at, storing said first and second states of each of said sensors to provide short-term and long-term his¬ tories of said states of said sensors, storing a time in transport in said dispensing^ path for each of said documents, and utilizing said short and long term his¬ tories of said states and said times in transport in said dispensing path for producing a control signal

for diverting each document either into a reject bin or a customer receptacle in response to said control signal.

Brief Description of the Drawings One embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:

Fig. 1 is a schematic diagram of a document dispensing mechanism which may be used in the dispen- sing system of this invention;

Fig. 2 is a general schematic diagram in block form of a control means which may be used in the dispen¬ sing system of this invention;

Fig. 3 is a general flow chart showing vari- ous operational steps associated with the control means shown in Fig. 2;

Fig. 4 is a chart showing how the cash dis¬ pensing driver shown in Fig. 2 is further divided into its component routines; Fig. 5 is a flow chart showing a "Read State of Sensors" routine which is associated with .the con¬ trol means shown in Fig. 2; and

Fig. 6 is a flow chart showing a "Determine Whether A Bill Requires A Progress Check" routine asso- ciated with the control means shown in Fig. 2.

Best Mode for Carrying out the Invention

Fig. 1 is a general schematic diagram of a document dispensing mechanism which may be used with this invention. The document dispensing mechanism which is designated generally as 20 includes a low bill hopper 22 and a high bill hopper 24 which hoppers are shown partially broken away in order to facilitate the showing thereof. Documents or bills such as five dol¬ lar bills in U.S. currency may be stored in the low bill hopper 22, and high bills such as a twenty dollar

-BϋREΛ T

OMPI

bill in U.S. currency may be stored in the hopper 24. As shown in Fig. 1, the length of the bills is posi¬ tioned from left to right, and the width thereof is aligned perpendicular to the plane of the drawing of Fig. 1. The bills which are present in hopper 22 are picked from the lower side thereof by the picker 26, which may be any conventional picker mechanism. As a bill is picked from the lower side of the hopper 22, such as bill 28 shown only partially in Fig. 1, the bill 28 is fed between the belts 30 and 32. Belt 30, for example, is an endless type belt which is mounted on the pulleys 34, 36, 38, 40, 42, and 44 as shown. These pulleys 34 through 44 are supported on horizon¬ tal shafts to enable these pulleys to rotate thereon as is conventionally done. The belt 32 is similarly supported on pulleys 46, 48, 36, 50, 52, and 54. The belts 30 and 32 have teeth (not shown) thereon which are transversely located on each of the belts, and these belts engage the complementarily shaped pulleys already described in relation to Fig. 1 so as to pro¬ vide a positive traction for driving the belts 30 and 32.

The bill 28, for example, which was just pick¬ ed off the lower side of hopper 22, is fed between the belts 30 and 32 which form a dispensing path designated generally as 56. As the bill 28 is moved along the dis¬ pensing path by the belts 30 and 32, the bill 28 ap¬ proaches a diverter means designated generally as 58. The diverter means 58 includes a diverter 60 which is shown in a first position in solid outline in Fig. 1 which enables the bill approaching the diverter means 58 to be diverted by the curved surface 62 of the di¬ verter 60, causing that particular bill to be moved be¬ tween the endless belt 30 and a third endless belt 64 and to be output through an opening 66 in the protec¬ tive cabinet 68 to thereby enable the bill shown as 28' to be dispensed into a customer receptacle 70 which may

be accessed by a customer from the exterior of the pro¬ tective cabinet 68.

The endless belt 64 is similar in construc¬ tion to the endless belts 30 and 32 already described; however, the belt 64 is mounted on pulleys 71 and 72.

The means for driving the belts 30 and 32 include a mo¬ tor 74 and a conventional interconnecting means shown only as a dashed line 76. Similarly, a conventional interconnecting means 78 is used to drivingly intercon- nect the pulley 70 with the driving motor 74. Because these aspects may be conventional, they need not be described in any further detail.

If for one reason or another, the bill 28 shown in Fig. 1 is to be rejected and placed in the re- ' ject hopper 80, the diverter 60 will be positioned in the reject position shown by a dashed outline shown in Fig. 1. When in this reject position, the curved sur¬ face 84 of the diverter 60 will cause the bill approach¬ ing the diverter means 58 to be passed between the end- less belt 32 and the pincher roller 82 causing the bill to fall into the reject hopper 80 which is located in¬ side the protective cabinet 68 and which is inaccessible to a customer.

The diverter 60 has fixed thereto a shaft 86 which is rotatably supported within the protective cabinet 68 and which shaft also has one end of link 88 fixed thereto, and the remaining end of link 88 is pivotally joined to the operating plunger 90 of the solenoid 92. One end of a spring 94 is operatively connected to one end of link 88 as shown, and the re¬ maining end thereof is connected to a fixed point so as to enable the diverter means 58 to channel a bill into the reject hopper whenever the solenoid 92 is deener- gized. Energizing the solenoid 92 causes the diverter means 58 to eject a bill into the customer receptacle 70.

The motor 74 is operatively connected to a conventional rotary drive line 96 by a conventional

terconnecting means 98 shown only as a dashed line in Fig. 1. As the motor 74 rotates, it causes the drive line 96 to rotate therewith. A conventional rotary clutch means 100 is mounted on the drive line 96 so as to be actuated thereby whenever the rotary clutch means 100 is to be energized. When a bill 28 is to be pick¬ ed off the bottom side of the bill hopper 22, for ex¬ ample, the rotary clutch means 100 will be energized causing the picker 26 to pick the lowermost bill from the hopper 22 as already described. The picker 26 has a source vacuum shown as a tube 102 connected thereto to facilitate the picking of the bill 28 from the hop¬ per 22. Because the picker 26, drive line 96 and ro¬ tary clutch means 100 may all be conventional, they need not be described in any further detail herein.

In order to check on the progress of a bill such as 28 shown in Fig. 1 as it progresses through the dispensing path 56, there are certain sensors po¬ sitioned along the dispensing path. These sensors in- elude, in the embodiment being described, a single sensor number 1 and a doubles sensor number 2, which are combined in a single unit 104 which is located at the entrance of the dispensing path 56 adjacent to the bill hopper 22. In the embodiment being described, the sensors number 1 and number 2 are conventional photoelectric sensors which are used to detect the presence or absence of bills within the dispensing path 56. The sensor number 1 detects the presence of one or more bills as it approaches the dispensing path 56, and the sensor number 2 is utilized to detect those situa¬ tions in which two or more bills may be together or overlapping as they are picked from the hopper 22 by the picker 26. A reject sensor number 3 is positioned adjacent to the entrance of the reject hopper 80 so as to detect the presence of a bill being rejected into this hopper. Similarly, an eject sensor number 4 is positioned near the opening 66 in the protective cab-

OMP

inet 68 so as to be able to detect the presence of a bill such as bill 28' being dispensed into the custom¬ er receptacle 70. Reject sensor number 3 and eject sensor number 4 are conventional photoelectric or con- tact sensors which are used to detect the presence or absence of a bill in their respective areas.

What has been described so far in relation to Fig. 1 relates to the dispensing mechanism 20 for dis¬ pensing low-denomination bills from hopper 22. As is customary with cash dispensing mechanisms, provision is made for dispensing bills of a higher denomination. The dispensing mechanism for dispensing bills from the high bill hopper 24 is identical to that already des¬ cribed therefore, a complete description of all the elements included in the dispensing mechanism designa¬ ted as 105 is not deemed necessary. The dispensing mechanism 105 for dispensing the bills from hopper 24 includes a separate picker 106 which is driven by a separate rotary clutch means 108 as shown in Fig. 1. When the rotary clutch means 108 is energized, the picker 106 will pick the lowermost bill from the high bill hopper 24 and transfer the bill so picked into a dispensing path 110 which is identical to the dispen¬ sing path 56 already described; however, the dispen- sing path llϋ is not shown in Fig. 1. The dispensing mechanism 105 is located behind the dispensing mechan¬ ism 20 shown in Fig. 1. The dispensing mechanism 1U5 ' would have its own diverter means (similar to diverter means 58) associated therewith and it would also have ' the sensors number 1 through 4 located at the same points along the associated dispensing path 110.

Fig. 2 is a general schematic diagram in block form of a control means 112 which may be used with this invention. The control means 112 includes a high level controller 114 which is connected to a communications driver 116 via a conventional four wire serial transmission line 118. The control means 112

also includes an operating system including a conven¬ tional time manager shown in block 120 of Fig. 2. The control means 112 also includes the cash dispenser driver 122, the magnetic card driver 124, the printer driver 126, the depository driver 128, the keyboard driver 130, the status panel driver 131 and the display driver 132. All the drivers mentioned are a part of a conventional memory designated generally as 134, and this memory also includes a conventional ROM unit 136, and a conventional read/write RAM memory 138. The various drivers included in the memory 134 are inter¬ connected to a general microprocessor 140 via a con- ' ventional tri-state bus 142 as shown in Fig. 2. A con¬ ventional timer 144 such as integrated circuit chip #8253 (manufactured by Intel) is also connected to the tri-state bus 142 and the processor 140.

The various drivers shown in memory 134 in Fig. 2 are connected to their associated hardware ele¬ ments by a plurality of I/O ports 146 through 158 as shown. For example, the dispensing mechanism 20 shown in Fig. 1 is represented on Fig. 2 by the block 160. The dispensing mechanism 20 is connected via the I/O port 146 and the tri-state bus 142 to the cash dispen¬ ser driver 122 as is conventionally done. The transaction execution terminal with which this invention may be used is not shown in the drawing; however, the various elements associated with such a terminal are shown in block form in Fig. 2. These ele¬ ments include a depository 162, a printer 164, a mag- netic card reader 166, a keyboard 168, and a display 170. Because these elements are conventional, they need not be described in any further detail other than to say that the depository 162, for example, is uti¬ lized to receive deposits by a user of the transaction execution terminal. The method of using the transac¬ tion execution terminal is also conventional and need not be described in elaborate detail herein. The

status panel 172 shown in Fig. 2, is connected through the I/O port 158, through the status panel driver 131, through the operating system 120, and through the com¬ munications driver 116 to the high level controller 114 to indicate the status of the cash dispenser driver

(too few bills in hoppers 22, 24, etc.) to a monitoring center which may be located in a bank and monitored by bank personnel.

Before proceeding with a detailed discussion of the document dispensing system of this invention, it would appear appropriate to discuss the general func¬ tioning of a transaction execution terminal in which this invention may be incorporated. In this regard. Fig. 3 shows an operating system which performs sever- al routine operations in preparation for effecting a cash dispensing function. The high level controller 114 shown in Fig. 2, performs the routine initializa¬ tion shown at step 173 on Fig. 3. After this routine initialization is completed, a user of the transaction execution terminal is requested by the display 170 to insert his magnetic card into the magnetic card reader 166 shown in Fig. 2 and also shown as step 175 in Fig. 3. At step 177, the user enters on the keyboard 168 a secret code peculiar only to him. The operating system 120 controlled by the high level controller 114 then performs at step 180 a check on the authenticity of the magnetic card and the secret code entered by the user. Assuming that the magnetic card and the secret code are authentic, the display 170 requests the amount .of cash which the customer wishes to receive; this is shown at step 182. At step 184, the high level con¬ troller 114 then verifies the user's account to ascer¬ tain that there is a sufficient balance therein to en¬ able the user to be dispensed the amount of cash which was requested. At step 186 the operating system under the control of the high level controller 114 then de¬ termines the number of low amount bills and high amount

'BU EATT

OMPI

bills which are to be dispensed for the amount reques¬ ted by the user. At step 188, the dispensing routine is initiated.

The cash dispensing routine is under the con- trol of the cash dispenser driver 122 shown in Fig. 2. It should be noted at this time that there are dupli¬ cate sections in the driver 122 for the low amount bills and the high amount bills; however, the discussion will proceed with only the functions as they relate to the low amount bills.

The cash dispenser driver 122 shown in Fig. 2, is shown in expanded form in the chart shown in Fig. 4 so as to indicate the various subroutines which are in¬ cluded in the cash dispenser driver 122. One of the first routines which is initiated by the cash dispenser driver 122 shown in Fig. 4, is the Initiate Dispensing Routine 174. This Routine 174 performs general housekeeping functions, such as start¬ ing the motor 74 shown in Fig. 1 and clearing various counters to be described later herein. The Initiate Dispensing Routine 174 also causes the time manager shown in the operating system 120 of Fig. 2 tq initiate the Scan Timer Routine 176 shown in Fig. 4. The Rou¬ tine 176 gains control from the time manager every ten milliseconds to perform its routine in the embodiment being described. The Scan Timer Routine 176 also ini¬ tiates the Read State Of Sensors Routine 178 which reads the states of the Sensors Numbers 1 through 4 which are shown in Fig. 1. Before proceeding with a discussion of the

Read State Of Sensors Routine 178, it would be useful to discuss how the reading or polling of the sensors is accomplished. Each of the Sensors Numbers 1 through 4 shown on Fig. 1 is read every ten milliseconds in the embodiment being described. The various states of the sensors are recorded in an Input/Output Sensor Status Table shown in Table 1.

TABLE 1

For each of the Sensors Numbers 1 through number 4, there is stored a Short-Term History and a Long-Term History. The Short-Term History consists of an 8-bit byte. If, for example, the first time that the Single Sensor Number 1 is read or polled and a bill ^uch as 28 in Fig. 1 is located thereunder, a binary 1 will be re¬ corded in the Short-Term History. If no bill is pre¬ sent under the Single Sensor Number 1, a binary 0 will be recorded in the Short-Term History. In the embodi- ent being described, this Short-Term History is stored in an 8-bit shift register, and a suitable section in memory 138. For each polling of Sensor Number 1, the most recent binary bit derived from Sensor Number 1 is fed into the rightmost position of the Short-Term His- tory. Thus, the most recent 8 statuses of the Sensor Number 1 will be recorded under the Short-Term History with the most recent state of the Sensor Number 1 being located in the rightmost bit in the Table 1. This same technique is used for the Doubles Sensor Number 2, the Exit Sensor Number 3, and the Reject Sensor Number 4.

-BUREAU

Each time that a bill such as 28 in Fig. 1 is present under the Single Sensor Number 1, for example, when that particular sensor is polled, a binary count of 1 will be added to a counter which comprises the Long-Term History shown in Table 1. When there is no bill under the Sensor Number 1, a 0 is added to the counter which comprises the Long-Term History. Because the bill such as 28 travels at a constant rate through the dispensing ' path 56 shown in Fig. 1, the Long-Term History count shown in Table 1 can be used as a measure of the length of the bill passing under the Single Sensor Number 1. When a bill -progress check is made on the specific bill such as 28 in the dispensing path 56, a bill which has too high a count probably indicates that there are overlapping bills within the dispensing mechanism, and these particular overlapping bills should be diverted into the reject hopper 80 shown in Fig. 1.

TABLE 2

Table 2 shows a Bill Status Table which has entries for Bills Numbers 1 through 4 which may be present in the dispensing path 56 in the embodiment be¬ ing described. The time in transport (BT) shown in the first column in Table 2 represents the actual time that

a particular bill is within the dispensing path 56. The second column shown in Table 2 relates to the sta¬ tus of each of the bills. There is an 8-bit byte which is provided for each of the bills within the dispensing path 56 to record various states or conditions relative to that particular bill. The Time In Transport and the status of each bill are recorded for each of the bills such as Bills Numbers 1 through 4 in the dispensing path 56. While Bill Number 4 is shown as an entry in Table 2, generally only three bills are handled within the dispensing path 56 for the embodiment being des¬ cribed. Naturally, the number of bills in the dispen¬ sing path 56 could be changed by increasing or decreas¬ ing the length of the dispensing path 56 so as to accom- modate the usual anticipated number of bills to be handled by the dispensing mechanism 20. The Bill Sta¬ tus Table (Table 2) is stored in a portion of the RAM memory 138 shown in Fig. 2.

TABLE 3

BILL PROGRESS TABLE

PROGRESS ADDRESS OF

CHECK COUNT (BP) ROUTINE TO CHECK POINT (8 BITS) BILL PROGRESS

0000 0111

1 FWTSFU JMP FWFUJ

0001 0111

2 FWTSFC JMP FWFC00T

0010 0001 JMP FWDCJdTø'

3 FWTSDC

0011 0111 JMP FWXU00

4 FWTSXU

0100 1011 JMP FWXC00

5 FWTSXC "

0110 0100 JMP FWRO00

6 FWTSRO

Table 3 shows a Bill Progress Table which is utilized to check on the progress of each of the bills as it travels through the dispensing path 56. In the embodiment being described, there are six checkpoints corresponding to locations on the path of bill movement which are used to check on the progress of the bills 28 within the dispensing mechanism 20. The first column in Table 3 entitled "Progress Count" (BP) relates.to binary counts which are correlated to the progress of the bills 28 as they progress through the dispensing mechanism 20. For example, the first Checkpoint 1 would have a progress count of 00000111 which would in¬ dicate that this particular checkpoint is a predeter- mined point in the path of bill movement which is close to the Single Sensor Number 1 shown in Fig. 1. The progress counts are compared with the actual time in transport shown in Table 2 in order to check on the progress of the bills 28 as they progress through the dispensing mechanism 20. Associated with each of the Checkpoints 1 through 6 shown in Table 3, is an address of a routine which is utilized to check on the progress of. the bill. A detailed program listing of the routines associated with the addresses shown in Table 3 is shown in the Bill Progress Check Routines listed in Table 4.

TABLE 4 (COMMAND DESCRIPTION BELOW EACH COMMAND)

BILL PROGRESS CHECK ROUTINES MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

00BE FWDBPC:

00BE 07 DB FWTSFU

;CHECK POINT 1, BILL UNDER FIRST SENSOR TIME, ALSO FEED CNTL.

TABLE 4 (Concluded) MACHINE

MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS

LOCATION INSTRUCTIONS LABELS CODES

00BF C39A03 JMP FWFUJ3T0

00C2 17 DB FWTSFC

;CHECK POINT 2, BILL CLEAR OF 1ST SENSOR TIME. ALSO

DIVERTER CNT

00C3 C3C403 JMP FWFC00 00C6 21 DB FWTSDC

;CHECK POINT 3, DIVERTER IN DIVERT POSITION CHECK TIME.

00C7 C32A04 JMP FWDC00

00CA 37 DB ' FWTSXU

;CHECK POINT 4, BILL UNDER EXIT OR REJECT SENSOR TIME. OOCB C36E04 JMP FWXU00

OOCE 4B DB FWTSXC

;CHECK POINT 5, BILL CLEAR OF EXIT OR REJECT SENSOR

TIME.

OOCF C3BA04 JMP FWXCJ3T0 00D2 64 DB FWTSRO ;CHECK POINT 6, OVERLENGTH BILL CLEAR OF REJECT SENSOR

TIME.

00D3 C3E604 JMP FWRO0P

00D6 FF DB OFFH ;END OF TABLE. HIGHEST POSSIBLE TIME.

For example, from Table 3, the address of the routine for Checkpoint Number 1 is FWFU^J?, which is listed un¬ der the column "Operands" in Table 4. Check Point Num¬ ber 1 is used as a check on the "Bill Under First Sen- sor" routine. A discussion of the Checkpoint Numbers 1 through 6 shown in Table 3 will be provided later here¬ in.

The Initiate Dispensing Routine 174 (Fig. 4) initiates the Read State of Sensor Routine 178 which is shown in detail in Fig. 5. The Routine 178 performs

-BUR E AT

OMPI i, WIPO , .

the function of updating the Short-Term and Long-Term Histories shown in Table 1. The first step 181 in the Routine 178 shown in Fig. 5 is to read a sensor * port and condition the various bits and initialize loop counters associated therewith. Each of the states of the Sensors Numbers 1 through 4 is read at the same time in step 181. At step 183, the sensor port value is rotated, putting the state of the next sensor into the carry flag. At step 185, the old Short-Term History byte is loaded and the carry flag is rotated into the byte right-to-left, then the new Short-Term History byte is recorded in Table 1. The carry flag is restored in step 187. The old Long-Term History count and the car¬ ry flag from step 187 are added together, and then this combined count is stored in step 189 as a new Long-Term History count in Table 1. At step 191, the question, "Have all Sensors Numbers 1 through 4 been processed?" is ascertained. If the answer is no, the routine branches back to step A to repeat the process for up- dating the Sensors Numbers 2 through 4. If all of the sensors have been processed at step 191, the Routine 178 is finished and the control shifts back to the Scan Timer Routine 176 shown in Fig. 4. A detailed listing of the Read State of Sensors Routine 178 is shown in Table 5.

TABLE 5 (COMMAND DESCRIPTION BELOW EACH COMMAND)

READ STATE OF SENSORS ROUTINE MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

06C4 FWIORS:

06C4 E5 PUSH H

06C5 CDAA06 CALL FWIODI

;READ SENSOR LEVELS IN A.

^-"BU f O -A/^ WI

TABLE 5 ( Concluded )

MACHINE

MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS

LOCATION INSTRUCTIONS LABELS CODES

06C8 EEOF XRI FWPPCB

;COMPLEMENT STATES OF POSITIVE CLEAR SENSORS.

06CA 211B00 LXI H,FWHIOS

;ADDR I/O SENSORS STATUS TABLE #1

06CD 19 DAD D

06CE 0E04 MVI C,4

;FOUR SENSORS TO SCAN

06D0 FWIOR0:

06D0 OF RRC

;SENSOR STATE IN CARRY.

06D1 47 MOV B,A

06D2 7E MOV A,M

06D3 17 RAL

;ROTATE CARRY INTO HISTORY BYTE.

06D4 77 MOV M,A

06D5 OF RRC

;RESTORE CARRY.

06D6 23 INX H

06D7 7E MOV A,M

;BILL PRESENT COUNTER

06D8 CE00 ACI

;ADD 1 IF SENSOR BLOCKED.

06DA 77 MOV M,A

06DB 23 INX H

06DC 78 MOV A,B

06DD 0D DCR C

06DE C2D006 JNZ FWIOR0

;SCAN AND RECORD ALL 4 SENSORS.

06E1 El POP H

06E2 EB XCHG

06E3 C9 RET

In the embodiment being described, the microprocessor 140 shown in Fig. 2, and utilized with this invention, is an 8080 Intel microprocessor, although other equiva¬ lent processors may be used with the system. According- ly, the various operational codes and machine executable instructions shown in Table 5 and the other figures showing detailed program listings are for the 8080 mi¬ croprocessor. For a more detailed description of the various operational codes, operands and the like, refer- ence may be had to the instruction book entitled, "8080 Microcomputer Systems Users Manual", which was publish¬ ed by Intel Manufacturing Company, in September, 1975.

The Scan Timer Routine 176 shown in Fig. 4 initiates the Routine 192, shown in Fig. 4 and entitled, "Determine Whether A Bill Requires A Progress Check Routine". This Routine 192 is shown as a flowchart in Fig. 6 and in a detail program listing in Table 6. The general purpose of this Routine 192 is to compare the time in transport shown in Table-2 to the various pro- gress counts shown in Table 3.

TABLE 6 (COMMAND DESCRIPTION BELOW EACH COMMAND)

DETERMINE WHETHER A BILL REQUIRES A PROGRESS CHECK ROUTINE MACHINE

MEMORY EXECUTABLE SYMBOLIC OPERATIONAL -OPERANDS LOCATION INSTRUCTIONS LABELS CODES

02F2 FWML12:

02F2 Cl POP B ;CURRENT BILL TIME AND STATUS TABLE #2 ADDR LESS 1.

02F3 21BE00 LXI H,FWDBPC

;ADDR BILL PROGRESS CHECK TIME TABLE.

02F6 FWML13:

U2F6 03 INX B

TABLE 6 (Continued)

MACHINE

MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

02F7 0A LDAX B

;BILL SCAN COUNTER.

02F8 03 INX B

;ADDR BILL STATUS BYTE.

02F9 B7 ORA A

02FA CA1303 JZ FWML16

;JMP IF ALL BILLS HAVE BEEN CHECKED.

02FD FWML14:

02FD BE CMP M

;COMPARE WITH COUNTER VALUE OF A PROGRESS CHECK T.

02FE DAF602 JC FWML13

;JMP BILL COUNTER LESS THAN TABLE COUNTER.

;BUMP TO PREVIOUS BILL WHOSE COUNTER WILL BE GREATER.

0301 23 INX H ;ADDR OF BILL PROGRESS CHECK SUBROUTINE.

0302 CC0B03 CZ \ FWML15 ;INDIRECT CALL IF BILLS PROGRESS NEEDS CHECKING.

0305 23 INX H

0306 23 INX H

0307 23 INX H

;ADDR NEXT ENTRY IN PROGRESS CHECK TABLE #3.

0308 C3FD02 JMP FWML14

030B FWML15:

030B F5 PUSH PSW

030C E5 PUSH H

030D CDA906 CALL FWIOPC

0310 El POP H

0311 Fl POP PSW

0312 C9 RET

0313 FWML16:

" BU REA U OMPI

, AA>- WIPO

TABLE 6 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

CHECK SENSORS FOR CLEAR, IF TRANSPORT EMPTY

0313 211200 LXI H,FWHBTS

0316 19 DAD D

0317 7E MOV A,M

;CURRENT BILL TIMER. 0318 B7 ORA A

0319 C23D03 JNZ FWML17 ;JMP IF XPORT NOT EMPTY. 031C 210D00 LXI H,FWHSTM ;DO NOT CHECK, IF ALREADY INOP. 031F 19 DAD D

0320 7E MOV A,M

0321 E608 ANI FWSNOP 0323 C23D03 JNZ FWML17 0326 212100 LXI H,FWHIOS+6 0329 19 DAD D 032A 7E MOV . A,M ;REJECT SENSOR HISTORY. 032B OF RRC

032C AE XRA M ;LEAST SIGNIF. BIT SET IF TRANSITION. 032D 2B DCX H

032E 2B DCX H

032F B6 ORA M

;EXIT SENSOR HISTORY. 0330 2B DCX H

0331 2B DCX H

0332 B6 ORA M ;DOUBLES SENSOR HISTORY.

0333 2B DCX H 0334 2B DCX H

0335 B6 ORA M

;FIRST SENSOR HISTORY.

TABLE 6 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

0336 OF RRC

;ALL 4 MUST INDICATE CLEAR.

0337 210428 LXI H,

(FWSHWM+

FWSNOP)

*256+FWA

MLC

033A DCFC04 CC FWSTMS

;SET STATUS, IF SENSOR NOT CLEAR. 033D FWML17: 033D 211100 LXI H,FWHSTT

;RETURN XPORT STATUS.

0340 19 DAD D

0341 7E MOV A,M

0342 El POP H

0343 EB XCHG

0344 C9 RET

;RETURN TO MAIN LINE.

With regard to the Routine 192 shown in Fig. 6, the first step 194 shown therein is to initialize the pointers as shown. At step 196, the Table 2 point¬ er is incremented, and the Time In Transport (BT) from Table 2 is loaded. At step 198, the question, "Are there any more bills in transport?" is posed. If the answer to step 198 is Yes, the routine proceeds to step 200, where a comparison is made between the Time In

Transport (BT) for a particular bill coming from Table 2 with one of the progress counts located in Table 3. If the Time In Transport or (BT) is less than the bill Progress Count (BP), the routine branches back to point A. If BT is less than BP in the example being des-

cribed, it indicates that the first bill in Table 2 has not as yet progressed to Checkpoint Number 1 shown in Bill Progress Table 3. If the BT is greater than or equal to BP as shown at step 202 in Fig. 6, the Table 3 pointer is incremented so as to enable the next higher checkpoint in Table 3 to be compared with the Time In Transport (BT) at step 204. If the Time In Transport BT equals the Progress Count shown in Table 3, then the appropriate subroutine indicated by S in step 208 on Fig. 6 would be initiated to check on the progress of the bill. If in step 204, BT does not equal BP, it in¬ dicates that the Time In Transport (BT) is greater than the current BP count, and accordingly the routine 192 returns to point B thereon after incrementing the BP pointer associated with Table 3 in step 206. This pro¬ cess is repeated until there are no more bills in the dispensing path 56 as indicated at step 198, and there¬ after, the Routine 192 branches to point C thereon which enables the Scan Timer Routine 176 to perform additional functions.

The Time In Transport (BT) entries which are listed in Table 2 and the Progress Count (BP) .entries in Table 3 are arranged in increasing numerical order. This fact facilitates the processing of the entries by the Routine 192 shown in Fig. 6. For example, instead of comparing each of three entries for bills numbered 1 through 3 in Table 2 with 6 entries or checkpoints in Table 3, the Routine 192, shown in Fig. 6, provides an instant-type loop situation in which six entries in Table 3 and three entries in Table 2 are compared to make a total of nine comparisons instead of eighteen via some prior art technique. Another important fea¬ ture associated with the Routine 192 is that this Routine makes heavy use of the Short and Long-Term His- tories of the input/output sensors listed in Table 1. The polling of the sensors is done every ten milli¬ seconds, and the Routine 192 shown in Fig. 6 is also

' B

A ty •y.

•Φ

initiated every ten milliseconds. This Routine 192 does not have to poll the Sensors Numbers 1 through 4 because there is a complete history of the various states of the sensors located in Table 1. The various subroutines indicated by the general term "S" in step 208 of Routine 192 of Fig. 6 relate to the Bill Progress Routines for Check Points Nos. 1-6 shown in Table 4; these routines are initiated about every 70 to 200 mil¬ liseconds in the embodiment being described herein. Table 7 shows a detail program listing of various Timing Definitions used in conjunction with Fig. 6 and Table 6.

TABLE 7 (COMMAND DESCRIPTION BELOW EACH COMMAND)

TIMING DEFINITIONS (IN MILLISECONDS)

MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

000A FWTSCN EQU 10 ;SCAN PERIOD. 0024 FWTSCY EQU 360/ FWTSCN

;BILL FEED CYCLE COUNT. ZSTS.

0046 " FWTSTS EQU 700/

FWTSCN

;TIME FOR TRANSPORT TO STOP COUNT. 0019 FWTSMO EQU 250/ FWTSCN

;TIME FOR MOTOR TO GET STARTED.

02D0 FWTSRT EQU FWTSCY*20

;CONSTANT PICK COUNT LIMIT.

003B FWTTBB EQU 59

;MIN TIME ALLOWED BETWEEN BILLS.

0005 FWTSBB EQU 59/FWTSCN

;MIN SCAN COUNT BETWEEN BILLS.

"B13 E-4,

OMPI

'λ>~ WIPO

TABLE 7 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

NEW BILL DETECTION TIMING. 00OF FWTHCB EQU 0FH

;SET 1 BITS FOR CLEAR TIME BETWEEN BILLS. ZRJHC. 0001 FWTHNB EQU 01H

;SET 1 BITS FOR MIN NEW BILL SEEN TIME ZRJHC. 0001 FWTSNC EQU 1

;COUNT OF NO. OF ItS IN WTHNB.

DOUBLE BILL DETECTION TIMING. 0007 FWTHDD EQU 07H

;SET 1 BITS FOR MIN" DOUBLE BILL SEEN TIME. ZRJHC.

BILL UNDER FIRST SENSOR

AND FEED DE-ACTIVATE TIMING. 0007 FWTSFU EQU 70/FWTSCN

;SCAN COUNT WHEN TIME TO TURN FEED OFF. 0007 FWTCFS EQU FWTSFU ;MIN BILL SEEN COUNT AT WTSFU TIME.

BILL CLEAR OF FIRST SENSOR AND DIVERTER CONTROL TIMING.

0017 FWTSFC EQU 230/ FWTSCN ;TIME FOR LONGEST BILL TO CLEAR FIRST SENSOR.

0001 FWTHFC EQU 01H ;S,ET 1 BITS FOR MIN CLEAR TIME. ZRJHC.

0002 FWTSSM EQU 20/FWTSCN ;SHORT BILL MARGIN FROM AVG. 0002 FWTSLM EQU 20/FWTSCN ;LONG BILL MARGIN FROM AVG.

. ,

TABLE 7 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

VERIFY DIVERTER IN DIVERT POSITION TIMING.

0021 FWTSDC EQU 330/

FWTSCN

;DIVERTER IN DIVERT POSITION COUNT.

000A FWTDLM EQU 10 ;MAX DIVERT COUNT PER OPERATION.

BILL UNDER EXIT OR REJECT SENSORS TIMING. 0037 FWTSXU EQU 550/

FWTSCN ;BILL UNDER EXIT OR REJECT SENSOR SCAN COUNT. 0003 FWTCXJ EQU 3

;BILL SEEN COUNT.

0002 FWTCRJ EQU 2 ;BILL UNDER EXIT SEEN COUNT WHEN BILL REJECTED.

LONGEST BILL CLEAR OF EXIT OR REJECT SENSORS .TIMING. 004B * FWTSXC EQU 750/

FWTSCN ;LONGEST BILL CLEAR OF EXIT SCAN COUNT. ZSTS,

0003 FWTHXC EQU 03H ;SET 1 BITS FOR MIN EXIT CLEAR TIME AFTER BILL. Z

OVERLENGTH BILL CLEAR OF REJECT SENSOR TIMING.

0064 FWTSRO EQU 1000/

FWTSCN ;LONGEST OVERLENGTH BILL CLEAR OF REJECT.

The handling of data in the Tables 1-3, allu- ded to earlier herein, will now be discussed in detail. If the Short-Term History for the Single Sen¬ sor No. 1 results in the binary pattern of XXXXOOOl as

indicated, for example, in Table 1 (with the X's indi¬ cating don't care bits) it indicates that a new bill is present in the dispensing path 56. The Short-Term His¬ tory for a double bill is indicated by the pattern XXXX Xlll for the Doubles Sensor No. 2. Three consecutive binary "Is" were selected to indicate the presence of a "double bill" because in some isolated situations, a dark spot of ink on a single bill erroneously gave an indication of a double bill. The Short-Term History binary bit pattern to indicate that a bill is clear of the Exit Sensor No. 3 is XXXX XX00; the same pattern exists for the Reject Sensor No. 4 to indicate that a bill is clear of the Reject Sensor No. 4.

The Long-Term History count shown in Table 1 is simply a count of the number of times that a bill was present or sensed at each of the Sensors Nos. 1-4; in the embodiment being described, a binary one is ad¬ ded each time a bill was sensed at each of these Sen¬ sors. With regard to Table 2, the binary bits shown therein are typical patterns which may be encountered for various bills within the dispensing path 56. After a new bill is detected in the ' dispensing path 56, a binary "1" is added to the Time In Transport count for that particular bill each time a polling of the Sen¬ sors Nos. 1-4 is effected. Because the dispensing mechanism 20 (Fig. 1) moves a bill at a constant velo¬ city through the dispensing path 56, the Time In Trans¬ port count gives an indication of the physical progress of the bill through the dispensing path 56. The Sta¬ tus Of Bill bits shown for Bills Nos. 1-3 in Table 2 simply indicate that a "bill is present" in the dispen¬ sing path 56 for each of these bills.

The "Determine Whether A Bill Requires a Pro- gress Check" Routine 192 shown in Fig. 6 utilizes the Time In Transport (BT) counts shown in Table 2 and the Progress Counts (BP) shown in Table 3 as previously

"BURE

OMP

,* _. WIP ζ NA

described. For Check Point 1 shown in Table 3, a binary count of 7 (0000 0111) and a symbolic label FWTSFU are shown therein. This label is shown under the column en¬ titled Operands in Table 4. From what has been earlier described in relation to Routine 192, because the (BT) count from Table 2 for Bill No. 1 is greater than the (BP) count for Check Point 1 in Table 3, for example, the (Table 3) pointer is incremented as shown in step 202 of Fig. 6. When a (BT) count from Table 2 equals a (BP) Count from Table 3 as shown for Bill No. 3 on Table 2 and Check Point 5 in Table 3, for example, the routine for Check Point 5 is initiated as shown in step 208 of Fig. 6. From Table 3, the address of the rou¬ tine to check on the progress of the Bill No. 3 for Check Point 5 is shown as FWXC^. The address FWXCø is also shown under "Operand" for Memory Location line 00CF shown in Table 4. The symbolic Label for the (BP) count shown for Check Point 5 is FWTSXC, and this same label is shown under the Column "Operands" for Check Point 5 on the listing shown in Table 4. The actual routine for Check Point 5 to check on whether or not the bill is clear of the Exit Sensor No. 3 or .the Re¬ ject Sensor No. 4 is shown in Table 12 to follow.

The Time In Transport (BT) entries for Bills Nos. 1-4 shown in Table 2 and the- Progress Count (BP) entries for Check Points 1-5 shown in Table 3 are ar¬ ranged in ascending order. This feature allows the Routine 192 shown in Fig. 6 and Table 6 to find an ex¬ act match between the (BT) and (BP) entries with a single pass through each of the Tables 2 and 3, thereby providing an efficient means for checking 'on the prog¬ ress of the bills in the dispensing path 56. Once a match between the (BT) and (BP) entries is found, the jump instruction associated with the (BP) count in Ta- ble 3 is utilized to transfer control to the appropri¬ ate check routines for Check Points 1-6.

The detail listing of the routine associated with the jump instruction FWFUøø associated with the

(BP) Count for Check- Point 1 in Table 3 is shown in Table 8. Similarly, the detail listing of the routine FWFC00 for Check Point 2 is shown in Table 9. The de¬ tail listing of the routine FWDC00 for Check Point 3 is shown in Table 10. The detail listing of the routine FWXU00 for Check Point 4 is shown in Table 11. The de¬ tail listing of the routine FWXCøø for Check Point 5 is shown in Table 12; and the detail listing of the rou¬ tine FWROpjy for Check Point 6 is shown in Table 13.

TABLE 8 (COMMAND DESCRIPTION BELOW EACH COMMAND)

BILL UNDER FIRST SENSOR MACHINE

MEMORY EXECUTABLE ' SYMBOLIC OPERATIONAL OPERANDS

LOCATION INSTRUCTIONS LABELS CODES

ON ENTRY: BC = CURRENT BILL STATUS.

DE = ZHLIA. ON RETURN: BC, DE SAVED.

039A FWFU : 039A 211C00 LXI H , FWHIOS

+1

039D 19 DAD D

039E 7E MOV A ,M

;SINGLES SENSOR COUNTER.

039F FE07 CPI FWTCFS

;MUST HAVE EXACTLY WTCFS SINGLE DE 'Tr 1πE ' -CE , ιC/C*Tr±πScb •

03A1 CAA803 JZ FWFU01

;JMP IF BILL WAS PRESENT ON EACH SCAN.

03A4 0A LDAX B

;CURRENT BILL STATUS.

03A5 F644 ORI FWHBSB+

FWHBDV

03A7 02 STAX B

;DIVERT SHORT BILL.

TABLE 8 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

03A8 FWFU01:

03A8 3E40 MVI A,FWHBD'

;DO NOT COUNT DIVERTED BILLS.

03AA CD5C05 CALL FWSTPG

,-CHECK IF BILLS PICKED STILL LESS T THHAANN GGOOAALL.

03AD 0A LDAX B

03AE 67 MOV H,A

;BILL STAT IN H.

03AF DABE03 JC ' FWFU03

;JMP IF PICKED LESS THAN GOAL.

03B2 CAB903 JZ FWFU02

;JMP IF PICKED EQUALS GOAL.

03B5 0A LDAX B

03B6 F650 ORI FWHBXB+

FWHBDV

/ DIVERT EXTRA BILL.

03B8 02 STAX B

03B9 FWFU02:

03B9 3E21 MVI A,FWPFCB

+FWPFSB

03BB CDE406 CALL FWIOMC

;TURN FEED OFF, IF PICKED>=GOAL.

03BE FWFU03:

03BE 3E07 MVI A,FWPEFI

03C0 CDBD06 CALL FWIOCO

/ ENABLE TRAILING EDGE INTERRUPT.

03C3 C9 RET

TABLE 9 (COMMAND DESCRIPTION BELOW EACH COMMAND) BILL CLEAR OF FIRST SENSOR AND DIVERTER CONTROL ;ON ENTRY: BC = CURRENT BILL STATUS.

TABLE 9 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

DE = ZHLIA. ON RETURN: BC, DE SAVED.

03C4 FWFC00:

03C4 211B00 LXI H,FWHIOS

/ •SINGLES SENSOR HISTORY.

03C7 19 DAD D

03C8 7E MOV A,M

03C9 E601 ANI FWTHFC

/•CHECK FOR SINGLES CLEAR.

03CB CAD703 JZ FWFC01

;JMP IF CLEAR.

03CE 0A LDAX B

/ DIVERT OVERLENGTH BILL.

03CF F641 ORI FWHBOL

+FWHBDV

03D1 02 STAX B 03D2 3E21 MVI A,FWPFCB

+FWPFSB

03D4 CDE406 CALL FWIOMC

;TURN FEED OFF.

03D7 FWFC01:

03D7 23 INX H

/ SINGLES DETECT COUNTER.

03D8 7E MOV A,M

03D9 210500 LXI H,FWHAVG

/ AVERAGE BILL LENGTH.

03DC 19 DAD D

03DD D603 SUI FWTSLM+1

;SUB LONG BILL MARGIN FROM BILL LENGTH

03DF BE CMP M

/ COMPARE WITH AVG .

UJ

O

TABLE 9 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

03E0 DAE903 JC FWFC02

;JMP IF BILL LENGTH NOT GREATER THAN AVG+WHSLM,

03E3 F5 PUSH PSW

03E4 0A LDAX B

03E5 F648 ORI FWHBLB+ FWHBDV

/ DIVERT LONG BILL.

03E7 02 STAX B

03E8 Fl POP PSW

03E9 FWFC02:

03E9 C605' ADI FWTSLM+ 1+FWTSSM

;A.DD SHORT BILL MARGIN TO BILL LENGTH

03EB BE ' CMP M

;COMPARE WITH AVG.

03EC D2F503 JNC FWFC03

;JMP IF BILL LENGTH NOT LESS THAN AVG-WHSSM.,

03EF F5 PUSH PSW

03F0 0A LDAX B

03F1 F644 ORI FWHBSB+

FWHBDV

/ DIVERT SHORT BILL.

03F3 02 STAX B

03F4 Fl POP PSW

03F5 FWFC03:

03F5 D602 SUI FWTSSM

/ RESTORE BILL LENGTH.

03F7 96 SUB M

03F8 C41D04 CNZ FWFC0S

/ UPDATE BILL AVERAGE.

03FB 0A LDAX B

;BILL STATUS.

TABLE 9 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

03FC 67 MOV H,A

03FD 0B DCX B

03FE 0B DCX B

03FF 0A LDAX B

;XPORT STATUS.

0400 B4 ORA H

0401 E640 ANI FWHBDV

;ARE EITHER XPORT OR BILL DIVERTING.

0403 OF RRC

0404 6F MOV L,A

;DVT. POS. BIT SET IN REG. L.

0405 0A LDAX B

;XPORT STATUS.

0406 E6DF ANI NOT FW]

;CLEAR OLD DVT. , POS > . BIT.

0408 B5 ORA L

;SET/CLEAR NEW DVT. POS. BIT • \

0409 02 STAX B

040A E640 ANI FWHBDV

040C B4 ORA H

040D 03 INX B

040E 03 INX B

040F 02 STAX B '

;SET BILL DIVERT IF XPORT DIVERTING. 0410 E640 ANI FWHBDV

0412 3EA0 MVI A,FWPFCB

+FWPMCB

/ ENERGIZE DIVERTED.

0414 CA1904 JZ FWFC04

;JMP IF BILL TO BE DISPENSED.

0417 3E41 MVI A,FWPDCB +FWPFSB

TABLE 9 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

;RELAX DIVERTER

0419 FWFC04:

0419 CDE406 CALL FWIOMC 041C C9 RET

;UPDATE BILL AVERAGE. 041D FWFC05:

041D F22504 JP FWFC06

;JMP IF DIFF POSITIVE.

0420 FEFF CPI OFFH

0422 C8 RZ ;RETURN IF DIFF EQUALS -1.

0423 35 DCR M ;DCR AVG IF DIFF LESS THAN -1.

0424 C9 RET

0425 FWFC06: 0425 FE01 CPI

0427 C8 ' • RZ / RETURN IF DIFF EQUALS 1.

0428 34 INR M ;INC AVG IF DIFF GREATER THAN 1. 0429 C9 RET

TABLE 10 (COMMAND DESCRIPTION BELOW EACH COMMAND)

VERIFY DIVERTER POSITION ON ENTRY: BC = BILL STATUS ADDR.

DE = ZHLIA. ON RETURN: BC, DE SAVED. 042A FWDCjSfø:

042A 210600 LXI H,FWHNXT

/ CLEAR NEXT BILLS INITIAL STATUS.

'BUREAU OMPI

TABLE 10 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

042D 19 DAD D

;IF IT HAS BEEN USED BY NOW, THEN 042E 3600 MVI M,0

;IT DOESN'T APPLY TO BILL AFTER NEXT.

0430 0A LDAX B ;BILL STATUS.

0431 E640 ANI FWHBDV 0433 C24404 JNZ FWDC01 ;JMP IF DIVERTING. 0436 212100 LXI H,FWHIOS

+6

/ FREJECT FSENSOR FHISTORY. 0439 19 ' DAD D 043A 7E MOV A,M 043B E601 ANI 01H 043D 210528 LXI H,

. (FWSHWM

+FWSNOP)

*256+FWA

DCD

0440 CCFC04 CZ FWSTMS

;SET STATUS, IF NOT IN DISPENSE POSITION

0443 C9 RET

0444 FWDC01:

0444 03 INX B

0445 03 INX B

0446 0A LDAX B

/ PREVIOUS BILL'S STATUS,

0447 0B DCX B

0448 0B DCX B

0449 E6C0 ANI FWHBDV+ FWHBPN

TABLE 10 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

044B FECO CPI FWHBDV+

FWHBPN

044D CA6004 JZ FWDC02

;JMP IF PREV BILL DIVERTED.

0450 212100 LXI H / FWHIOS +6

/•REJECT SENSOR HISTORY.

0453 19 DAD D

0454 7E MOV A,M ;THIS IS THE FIRST BILL TO BE DISPENSED.

0455 23 INX H

0456 3600 MVI M,0 ,-CLEAR REJECT DETECTION COUNTER, FOR FIRST BILL. 0458 E601 ANI 01H 045A 210628 LXI H,

(FWSHWM

+FWSNOP)

*256+FWA

DCR

045D C4FC04 CNZ FWSTMS •

;IF STILL DISPENSE POS., SET HWM STATUS.

0460 FWDC02:

0460 210A00 LXI H,FWHDVT ;DIVERT COUNT.

0463 19 DAD D

0464 7E MOV A,M

0465 FE09 CPI FWTDLM-1 / DIVERT LIMIT INCLUDING CURRENT BILL. 0467 210728 LXI H,

(FWSHWM

+FWSNOP)

*256+FWA

TABLE 10 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

046A D4FC04 CNC FWSTMS

;SET STATUS, IF LIMIT EXCEEDED.

046D C9 RET

TABLE 11 (COMMAND DESCRIPTION BELOW EACH COMMAND)

' BILL UNDER EXIT OR REJECT SENSORS

MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS . CODES

ON ENTRY: BC = BILL STATUS. DE = ZHLIA.

ON RETURN: BC, DE SAVED. 046E FWXUørø:

046E • 0A LDAX B

;BILL STATUS.

046F F620 ORI FWHBXU

;SET BILL UNDER XIT OR REJ SENSOR BIT.

0471 02 STAX B

0472 E640- ANI FWHBDV 0474 C29204 JNZ FWXU01 ;JMP IF DIVERTING.

0477 212000 LXI H,FWHIOS +5

;EXIT FSENSOR FCOUNT. 047A 19 DAD D 047B 7E MOV A,M 047C FE03 CPI FWTCXJ

;BILL MUST HAVE BEEN SEEN AT LEAST CXJ TIMES. 047E 21080C LXI H, - (FWSBJT

TABLE 11 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

+FWSNOP)

*256+FWA

XUX

0481 DCFC04 CC FWSTMS

;IF NOT SEEN CXJ TIMES, JAM.

0484 210900 LXI H,FWHSUM

0487 19 DAD D

0488 7E MOV A,M

0489 3C INR A 048A 2B DCX H 048B BE CMP M

;IF THIS IS THE LAST BILL, 048C 3EE0 MVI A,FWPFDM ;SHUT " EVERYTHING OFF. 048E CCB106 CZ FWI0D0

0491 C9 RET

0492 FWXU01 0492 212200 LXI H / FWHIOS

+7

/ •REJECT SENSOR COUNT.

0495 19 DAD D

0496 7E MOV A,M

0497 FE03 CPI FWTCXJ

;BILL MUST BE SEEN CXJ TIMES. 0499 21090C LXI H,

(FWSBJT

+FWSNOP)

*256+FWA

XUR.

049C DCFC04 CC FWSTMS

;CALL IF BILL NOT SEEN.

049F 210B00 LXI H,FWHAUX

TABLE 11 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

04A2 19 DAD D

04A3 7E MOV A,M

04A4 FEOB CPI FWAXCX

;NO POINT IN CHECKING EXIT IF 04A6 C8 RZ ;PREVIOUS DID NOT CLEAR EXIT. 04A7 212000. LXI H,FWHIOS

+5

04AA 19 DAD D ;EXIT SENSOR COUNT. 04AB 7E MOV A,M

04AC FE02 CPI FWTCRJ 04AE 210A28 LXI H,

(FWSHWM

+FWSNOP)

*256+FWA

- 3US

04B1 D4FC04 CNC FWSTMS ;SET STATUS IF EXIT NOT CLEAR. 04B4 D8 RC ;RET, IF BILL NOT UNDER EXIT SENSOR.

04B5 0A LDAX B

;CLEAR DIVERT BIT, SO BILL WILL BE 04B6 E6BF ANI NOT FWH BDV ;COUNTED BY EXIT CLEAR ROUTINE.

04B8 02 STAX B

04B9 C9 RET

TABLE 12 (COMMAND DESCRIPTION BELOW EACH COMMAND) BILL CLEAR OF EXIT OR REJECT SENSORS ;ON ENTRY: BC

TABLE 12 (Continued) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

; DE = ZHLIA.

;ON RETURN: BC, DE SAVED.

04BA FWXCøøT:

04BA 0A LDAX B

04BB E601 ANI FWHBOL

;IF BILL IS OVERLENGTH.

04BD CO RNZ

/ •RETURN AND CHECK NOTHING.

04BE 0A LDAX B

04BF E640 ANI FWHBDV

04C1 C2D004 JNZ FWXC01

;JMP IF DIVERTING.

04C4 0A LDAX B

04C5 E620 ANI FWHBXU

;THIS BIT WAS CLEARED WHEN THE BIL •LL CCLLEEAARREEDD.

04C7 210B0C LXI H,

(FWSBJT+

FWSNOP)

*256+FWA

XCX

04CA C4FC04 CNZ FWSTMS

;IF EXIT NOT CLEAR, SET JAM STATUS ).•

04CD C36B05 JMP FWSTXC

/ PERFORM XPORT CLEAR HOUSE KEEPING .

04D0 FWXC01:

04D0 211100 LXI H,FWHSTT

04D3 19 DAD D

04D4 7E MOV A,M

04D5 E620 ANI FWHDVP

04D7 CA6B05 JZ FWSTXC

; JMP IF GATE IN DISPENSE POSITION . 04DA 0A ' LDAX B

'BUREAU OMPI ^

^NATlO^

TABLE 12 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

04DB E620 ANI FWHBXU

;THIS BIT WAS CLEARED WHEN THE BILL CLEARED. 04DD 210C0C LXI H,

(FWSBJT+

FWSNOP)

*256+FWA

XCR

04E0 C4FC04 CNZ FWSTMS

;CALL IF BILL NOT CLEAR, JAM STATUS. 04E3 C36B05 JMP FWSTXC ;PERFORM XPORT CLEAR HOUSE KEEPING.

TABLE 13 (COMMAND DESCRIPTION BELOW EACH COMMAND)

OVERLENGTH BILL CLEAR OF REJECT SENSOR

ON ENTRY: BC = BILL STATUS.

DE = ZHLIA. ON RETURN: BC, DE SAVED.

04E6 FWRO00:

04E6 211100 LXI H,FWHSTT

04E9 19 DAD D

04EA 7E MOV A,M

04EB E620 ANI FWHDVP

04ED CA6B05 JZ FWSTXC

;JMP IF GATE IN DISPENSE POSITION. 04F0 0A LDAX B 04F1 E620 ANI FWHBXU 04F3 210E0C LXI H,(FWSBJ

T+FWSNOP)

*256+FWA

TABLE 13 (Concluded) MACHINE MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

04F6 C4FC04 CNZ FWSTMS

;CALL IF BILL DID NOT CLEAR REJ SENSOR.

04F9 C36B05 JMP FWSTXC ;XPORT CLEAR HOUSE KEEPING.

The Short Term and Long Term Histories from Table 1 are utilized in varying degrees in the routines associated with Check Points 1-6 enumerated in the pre¬ vious paragraph. For example, from the Routine FWFU00 for Check Point 1 shown in the detail listing in Table 8, if a bill being examined is too short, an operand FWHBSB as shown on the line listing for Memory Location 03A5 would indicate the Status Code for that particular bill, the definitions of the various Bill Status Codes being shown in Table 14.

TABLE 14 (COMMAND DESCRIPTION BELOW EACH COMMAND)

BILL STATUS CODES MACHINE

MEMORY EXECUTABLE SYMBOLIC OPERATIONAL OPERANDS LOCATION INSTRUCTIONS LABELS CODES

0001 FWHBOL EQU 01H

;OVERLENGTH BILL STATUS. 0002 FWHBDB EQU 02H

/ DOUBLE BILL STATUS. 0004 FWHBSB EQU 04H ;BILL TOO SHORT STATUS.

0008 . FWHBLB EQU 08H

;BILL TOO LONG STATUS.

TABLE 14 (Concluded)

0010 FWHBXB EQU 10H

/ •EXTRA BILL PICKED STATUS,. -

0020 FWHBXU EQU 20H ;BILL UNDER XIT OR REJ. SENS. ZCNBC.

0040 FWHBDV EQU 4OH

;BILL TO BE DIVERTED STATUS. ZCNBC.

0080 FWHBPN EQU 8OH

;BILL PRESENT STATUS. ZCNBC.

From Table 14 for a Symbolic Label of FWHBSB, a value of 04H (Hex Code) would be placed in a Status of Bill entry of Table 2 for that particular bill. The neces¬ sity of diverting this short bill is also shown in Table 8 on the Memory Location line 03A5 by the Operand FWHBDV, and from Table 14, the operand 40H to divert the bill would also be placed in a Status Of Bill entry of Table 2 for that particular bill. If it were ear¬ lier determined that a particular bill 28 were too long, thereby indicating the overlapping of bills, an eight bit status such as 0000 0001 would be placed in • one of the Status of Bill entries of Table 2 to. indi¬ cate that this particular bill or bills should be di¬ verted into the reject hopper 80; this entry corres¬ ponds to Operand 01H listed on the line corresponding to Memory Location 0001 shown in Table 14. From what has been described, the utilization of the Short Term and Long Term Histories for the routines associated with the Check Points 2-6 would appear to be self- explanatory from a reading of these routines. A glossary of acronyms used with various de¬ tail program listings is shown in Table 15.

TABLE 15 GLOSSARY OF ACRONYMS

;ZHLIA HI/LO SECTION INDEX ADDR. ,-ZCSIA COMMON SECTION INDEX ADDR.

TABLE 15 (Concluded)

;ZRJHC RIGHT JUSTIFIED FOR HISTORY BYTE COMPARISON AND 1 BITS MUST BE CONTIGUOUS. EACH BIT REPRESENTS ONE SCAN PERIOD.

/ ZCNBC;LI INDICATES THE LABEL CANNOT BE CHANGED RELA¬ TIVE TO LI.

;ZCNBC INDICATES THE VALUE DEFINED CANNOT BE

CHANGED WITHOUT A CORRESPONDING CHANGE IN THE CODING.

;ZSTS SLOWEST TRANSPORT SPEED.

;ZFTS FASTEST TRANSPORT SPEED.

As a new bill is encountered in the dispen¬ sing path 56, the data relative to that bill is pushed into the first entry (Bill No. 1) in Table 2, and when there are other bills in the dispensing path 56, the data relating to these other bills is "bumped up" one entry so that the data relating to a bill which was Bill No. 1, for example, becomes Bill No. 2, etc. When a bill clears the Exit Sensor No. 3 or the Reject Sen- sor No. 4, all binary 0's would be placed in the last entry in Table 2, clearing the last entry, which is really Bill No. 3 because in the embodiment being des¬ cribed, the Bill No. 4 entry is not normally used.

In the embodiment described, a bill length of 174 millimeters is the longest bill length that was an¬ ticipated to be dispensed by the dispensing mechanisms 20 and 104; this length is sufficient for handling U.S. and most foreign currencies. The average velocity of a bill 28 being fed in the dispensing path 56 is be- tween a maximum velocity of .961 millimeters per mil¬ lisecond and a minimum velocity of .835 millimeters per millisecond.

After the desired number of low bills and high bills is dispensed by the low bill dispensing mechanism 20 and the high bill dispensing mechanism

104, respectively, the usual transaction receipt is routinely printed in step 210 in Fig. 3, and additional customer transaction requests may be satisfied, conven¬ tionally, in step 212 in Fig. 3 along with the updating of the associated files.

The following general summary indicates how double bills, for example, are- deposited in the reject hopper 80. When two bills in overlapping relationship enter the dispensing path 56 (Fig. 1), they are sensed by the Single Sensor Number 1 and the Doubles Sensor Number 2. After a certain elapsed time, the leading edge of the double bills will be physically positioned near roller 50 in the dispensing path 56. At some point within this elapsed time, the Short Term History for the Doubles Sensor Number 2 (From Table 1) would have a typical value of 00000111. As a result of this value, the appropriate bill status codes (from Table 14) such as 02H and 40H listed under the "Oper¬ ands" column would be included in Status of Bill column (Table 2) for Bill No. 1 to indicate that Bill No. 1 (the double bill in this instance) should be diverted. The "Time In Transport" (Table 2) for Bill Nq. 1 at this time will be approaching the value shown under the column entitled "Progress Count" for Check Point 2 (Table 3). When the Time In Transport (Table 2) for Bill No. 1 coincides with the value shown under the "Progress Count" for Check Point 2 (Table 3), a routine whose address is shown on the same line as Check Point 2 (Table 3) is initiated to check on the progress of Bill No. 1. Because the "Status of Bill" from Table 2 indicates a double bill status (Operand 02H) and also indicates that the bill should be diverted (Operand 40H) the routine mentioned (from Table 3, line 2) would pro¬ duce a control signal which deenergizes the solenoid 92 (Fig. 1), permitting the spring 94 to move the diverter 60 to the position shown in dashed outline, which in turn diverts the double bills into the reject hopper 80.

When a single, "good" bill, for example, pro¬ ceeds generally through the dispensing path 56 as pre¬ viously described in relation to a "double bills" situ- ation described in the previous paragraph, the "Status Of Bill" (Table 2) for Bill No. 1 would indicate the

Bill Status Code of 80H from Table 14. As the good bill progresses through the dispensing path 56 (Fig. 1), the "Time In Transport" (Table 2) for Bill No. 1 (the good bill in this instance) would be approaching the value shown under Progress Count (Table 3) for Check Point 2. When the "Time In Transport" for Bill No. 1 equals the value shown under Progress Count for Check Point 2, the routine having the address shown on line 2 of Table 3 will be initiated. Because "Status of Bill" from Table 2 indicates that it is a "good" bill (Operand 80H), the routine will generate a control signal (opposite to that for a "defective" bill) which will energize the solenoid 92 (Fig. 1) causing the diverter 60 to assume the position shown by the solid outline, thereby di- recting the "good" bill to the customer receptacle 70.

Industrial Applicability

The document dispensing system and method of this invention find their application, for instance, in the dispensing of currency or bank notes in automa- tic teller machines or transaction execution terminals.