Language selection

Search

Patent 1116729 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1116729
(21) Application Number: 1116729
(54) English Title: SEQUENCE CONTROLLER WITH MICROPROCESSOR
(54) French Title: CONTROLEUR DE SEQUENCE AVEC MICROPROCESSEUR
Status: Term Expired - Post Grant
Bibliographic Data
(51) International Patent Classification (IPC):
  • G07F 13/06 (2006.01)
  • G05B 19/042 (2006.01)
  • G05B 19/10 (2006.01)
  • G07F 9/00 (2006.01)
(72) Inventors :
  • HEEGER, STEPHEN E. (United States of America)
(73) Owners :
  • AMF INCORPORATED
(71) Applicants :
  • AMF INCORPORATED
(74) Agent: SWABEY OGILVY RENAULT
(74) Associate agent:
(45) Issued: 1982-01-19
(22) Filed Date: 1979-02-27
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
928,905 (United States of America) 1978-07-28

Abstracts

English Abstract


ABSTRACT OF THE DISCLOSURE
A microprocessor based sequence controller is dis-
closed in connection with a soup and beverage vending machine,
in which sequences of functions required in the operation
of the vending machine are under the control of the micro-
processor unit. The microprocessor unit has two separate
storage sections, one of which is not alterable and contains
the basic program for the vending machine. The other section
is alterable and contains adjustable modifications of the
basic program. The alterable storage section is modifiable
through the use of a separate service module, which is not
normally connected with the sequence controller during
normal vending operations. In this way, the integrity of
the program modifications is assured. The service module
is small and inexpensive, includes a minimum number of
components, and is readily attachable and detachable from
the sequence controller. The start and stop times of each
function of the sequence of functions are independently
modifiable, and an interlock is provided to assure against
unintentional modification of the start and stop times. In
operation, one of a plurality of sequences is selected and
the microprocessor starts a sequence of functions by
energizing a continuously running timer, the state (or time)
of which is continuously compared with each of the stored
start and stop times, each of such times being calculated by
- 1 -

adding the modification, if any, to the appropriate value
of the basic program. When a coincidence is found, a relevance
test is executed, so that coincidences which are not relevant
to a selected sequence are ignored. The integrity of the
stored modifications is automatically checked periodically,
and the stored modifications are ignored if the integrity
check fails.


Claims

Note: Claims are shown in the official language in which they were submitted.


The embodiments of the invention in which an exclusive
property or privilege is claimed are defined as follows:
1. A sequence controller for producing a plurality
of signals at programmable times, comprising, in combination;
first and second storage means,
said first storage means being non-alterable
and storing representations of a plurality of programmed
operations to be performed in sequence,
said second storage means being alterable and
storing representations of a plurality of programmable times,
timing means for timing a cycle of operation of
said sequence controller, and for producing signals
corresponding to time intervals within such cycle of
operation,
coincidence determining means responsive to signals
from said first storage means for comparing signals of said
timing means with all of the signals of said second storage
means and for determining a coincidence between said timing
signals and each of said programmable times,
and output means responsive to said coincidence
determining means for producing a plurality of output
signals at times corresponding to said programmable times.
2. Apparatus according to claim 1, wherein said
first storage means and said timing means comprise portions
of a microprocessor unit.
- 37 -

3. Apparatus according to claim 1, wherein a
portion of said first storage means stores representations
of a plurality of basic times and said second storage means
stores a plurality of modifying parameters for modifying
said basic times, and calculating means connected with
said first and second storage means for producing signals
corresponding to said programmable times in response to
data stored in both said first and second storage means.
4. Apparatus according to claim 3, including
register means for sequentially identifying storage locations
within said first and second storage means corresponding
to channels each having a basic time and a modifying
parameter, said calculating means being responsive to said
register means for accessing said first and second storage
means and for calculating one of said programmable times,
said output means being responsive to operation of said
coincidence determining means and to said register means
for producing each of said output signals on a unique one
of a plurality of output terminals corresponding to each
of a plurality of said channels.
5. Apparatus according to claim 1, including
a plurality of sequence selecting means, each selecting a
predetermined sequence of said programmable times, said
output means including means responsive to operation of
said sequence selecting means and to said coincidence
detecting means for selectively producing said output
signals when the coincidence which is detected is relevant
to a selected sequence.
- 38 -

6. Apparatus according to claim 1, including a
service module selectively detachable from said second
storage means, said service module having a display for
displaying the data stored in said second storage means,
and manually operable means for altering said parameters.
7. Apparatus according to claim 6, including
means rendering said second storage means not alterable
except by operation of said service module.
8. Apparatus according to claim 6, including
a support for said second storage means, a connector mounted
on said support, and a mating connector connected with said
service module, whereby said service module is detachable
from said second storage means by releasing said connector.
9. Apparatus according to claim 6, wherein said
manually operable means comprises a mode control switch for
selecting a modifying mode, and a modifying control for
selectively incrementally modifying the content of a storage
location in said second storage means.
10. Apparatus according to claim 9, including
calculating means connected with said modifying control and
responsive to operation thereof for incrementally modifying
data stored in said second storage means while said
modifying control is operated, and means for causing said
incremental modification to be repeated at an increasing
rate while said modifying control remains operated.
- 39 -

11. Apparatus according to claim 9, wherein said
second storage means stores data relating to a start time
when one of said output signals is produced and data re-
lating to a stop time when said one output signal is ter-
minated, and including interlock means, and means responsive
to said interlock means for inhibiting the modification of
said start time relevant data by said modifying control
unless said interlock means is operated.
12. Apparatus according to claim 11, wherein the
data stored in said second storage means comprises modifying
data for modifying basic program times stored in said first
storage means, and including means for periodically per-
forming a check on the integrity of the data stored in said
second storage device, and means responsive to a failure
of said integrity check for setting all of said modifying
data equal to zero.
13. Apparatus according to claim 12, including
output signalling means, and means operating said output
signalling means when said integrity check has failed.
14. Apparatus according to claim 1, including a
utilization device adapted to be sequenced, said utilization
device having a plurality of operating devices connected
to receive said output signals, a plurality of sequence
selecting controls for selecting one of a plurality of
sequences of said programmable times for sequencing said
utilization device in a selected mode, and stopping means
responsive to said coincidence determining means and to said
- 40 -

sequence selecting controls for stopping a cycle of operation
of said utilization device when said selected sequence is
completed.
15. Apparatus according to claim 14, including means
for selectively extending said cycle of operation when a
predetermined sequence is selected.
16. Apparatus according to claim 14, wherein said
programmable times include a set of start times for initiat-
ing output signals and a set of stop times for terminating
said output signals, said stopping means being responsive to
the first coincidence between said timing means and a program-
mable stop time following a predetermined time.
17. Apparatus according to claim 1, wherein said
second storage means stores data relating to a start time
when one of said output signals is produced and data relat-
ing to a stop time when said one output signal is terminated,
and including modifying means for selectively altering the
data in said second storage means, said last-named means
including means for preventing the alteration of said data
so as to make a stop time occur sooner than its correspond-
ing start time.
18. For use with program controlled apparatus having
storage means for storing program data and modifiable storage
means for storing data including timing data used by the
program controlled apparatus, a service module comprising a
hand-held unit, said unit containing display means for dis-
playing said data, and switch means for permanently modifying
only said timing data, and an electrical connector connected
with said switch means and display means, said connector
being releasably connectable with said storage means, whereby
- 41 -

the data content of said storage means may be displayed by
said display means and modified by said switch means only
while said service module is connected with said storage
means by said connector, said program data other than said
time data being unmodifiable by said service module.
19. Apparatus according to claim 18 wherein said
program controlled apparatus includes means for periodically
testing the state of said switch means when said service
module is connected with said storage means, and for modify-
ing the content of said storage means only in response to
said switch means being in an operated condition during said
testing.
20. Apparatus according to claim 18, wherein said
switch means comprises means for selecting a predetermined
location within said modifiable storage means, and said
display means comprises means for displaying an identifica-
tion of the location selected.
21. Apparatus according to claim 18, wherein said
switch means comprises separate switches for increasing and
decreasing the data content of said modifiable storage
means.
22. Apparatus according to claim 18, wherein said
modifiable storage means stores first and second separate
data items, and wherein said switch means comprises a
plurality of separate switches and means responsive to
operation of one of said switches for allowing modification
of said first data item and to non-operation of said one
switch for allowing modification of said second data item.
- 42 -

23. Apparatus according to claim 18, wherein said
modifiable storage means stores data representative of a
plurality of times at which events are to occur during
operation of said program controlled apparatus, said program
controlled apparatus including means for repetitively execut-
ing a sequence of operation steps, at least one of said steps
testing whether said service module is connected with said
storage means, and a subsequent step for selectively modifying
said data only if said service module is connected.
24. A sequence controller for producing a plurality
of signals at programmable times, comprising, in combination,
first and second storage means,
said first storage means being non-alterable and
storing representations of a plurality of basic times differ-
ing from said programmable times,
said second storage means being alterable and
storing a plurality of modifying parameters,
each of said programmable times corresponding to
one of said basic times arithmetically modified by one of
said parameters,
timing means for timing a cycle of operation of
said sequence controller, and for producing signals corres-
ponding thereto,
calculating means connected with said first and
second storage sections for producing signals corresponding
to said programmable times,
coincidence determining means responsive to
signals from said calculating means and from said timing
means for determining a coincidence between said signals,
and output means responsive to said coincidence
determining means for producing a plurality of output signals
at times corresponding to said programmable times.
- 43 -

25. For use with program controlled apparatus
having means for storing program data and modifiable storage
means for storing data including timing data used by the
program controlled apparatus, a service module comprising
a hand-held unit, said unit containing first switch means
for selecting timing data to be modified and second switch
means for modifying only said timing data, said first and
second switch means being releasably connectable to said
program controlled apparatus by an electrical connector,
whereby selected timing data within said storage means may
be modified by operation of said second switch means, said
program data other than said timing data being unmodifiable
by said service module.
- 44 -

Description

Note: Descriptions are shown in the official language in which they were submitted.


fii7:~9
BACKGROUND
Field of the Invention
The present invention relates to sequence controllers,
and more particularly, to a sequence controller especially
adapted for use with an automatic soup and beverage vending
machine.
The Prior Art
Soup and beverage vending machines have hexetofore
been generally controlled by electromechanical devices,
incorporating a plurality of cams for actuating a plurality
of on-of switGhes. The cams are mounted on a common shaft
for rotation together, and they actuate the switches in a
fixed, predetermined sequence, to allow the device to produce
a number of output signals in predetermined sequences. The
times of occurrences of the signals can be modified by
adjusting the angular position of the cams on the shaft,
but this modification is very inexact. Typically, after
each adjustment, the machine must be cycled and timed, to
determine the effect which each adjustment has on operation
of the system.
While such systems have been satisfactory for the
limited purposes for which they are intended, they are
~.
- 2 - ~

relatively in1exible, and difficult to adjust. It is
accordingly desirable to produce a system which is more
flexible, and simpler and more economical to manufacture.
- Another disad~antage of previous machines is their
vulnerability to modification of the timing adjustments
by unauthorized persons. Since the timing cams are
exposed to tampering by anyone who has access to the interior
of a vending machine or the like which incorporates the
controller, there is little control over the actual operation
of the vending machine by the machine's owner.
Yet another disadvantage results from the fact
that the cam shaft must turn through the same angle during
each cycle of operation, which means that all possible
sequences take the full time required for the longest
possible sequence. This materially decreases the vending
speed of a vending machine for sequences which can be
shorter in duration.
BRIEF DESCRIPTION OF THE INVENTION
It is a principal object of the present invention
to provide a sequence controller having substantially more
flexibility than past controllers, with the facility for
changing the timing and sequence of operations in an exact
predetermined manner.
A further object of the present invention is pro-
vide such a controller which is digital in nature, the
operation of which is controlled precisely in accordance
with digital information.
A further object of the present invention is to
provide a controller having a basic program of sequences

which is permanently stored, and providing modifying means
for storing adjustable modifications to the basic program.
A further object of the present invention is to
provide means for making modifications to a basic program
in a manner which maintains the integrity of the modifying
information.
A further object of the present invention is to
provide a sequence controller incorporating an independent
service module, separate from the controller, which can
readily be employed to make modifications in the programming
as needed.
Another object of the present invention is to
provide such a service module in a relatively compact and
inexpensive form, with a minimum of controls for accomplish-
ing the purposes of the service module.
A further object o~ the present invention is to
provide such a service module with means for rapidly
incrementing or decrementing the content of a storage
location of the system controller with a minimum o~ manual
controls.
A further object of ~he present invention is to
provide such a service module with means for incrementing
or decrementing from the program control storage in a way
which enables the operator to make large modifications in
the storage contents r while requiring a minimum of equipment
and a minimum of time required to make adjustment.
Another object of the present invention is to
provide a sequence controller with means for independently
controlling the start and stop time of each function con
trolled by the controller, with minimal apparatus required,
to minimize si~e and cost.

,~ "1 ,~ ~p~ r3.;~
Another object of the present invention is to
provide an interlock for preventing unintentional modifications
to the sequence times stored within the controller.
A further object of the present invention is to
provide a sequence controller in which the selectable
sequences have individual time durations, so that short
sequences are performed more rapidly than in the past.
Another object of the present invention is to
provide such a sequence controller incorporating a micro-
processor.
In one embodiment of the present invention, thereis provided a microprocessor having stored progxam means for
programming the microprocessor 2lS a sequence controller to
produce a plurality of output si.gnals for controlling
external apparatus in response t:o the condition of a
plurality of sequence selection switches, and two separate
memory sections, one of the memory sections being non=
alterable and storing a basic program for control of the
sequence and times of producti.on of the output signals,
and the other memory section being alterable and storing
modifications of the basic program, the alterable memory
section being adapted to be altered only through use of a
normally separate control module.
In a more specific embodiment, the system controller
of the present invention has a service module provided with
a display, means for selecting a channel address, and means
for modifying individual parts of the content of the storage
location identified by said channel acldress, said service
module being adaptecl to modify the content of said storage
location when the service module is in connected
-- 5 --

relationship to the controller, but not otherwise.
According to a further broad aspect of the
present invention there is provided a sequence controller
for producing a plurality of signals at programmable times.
The controller comprises in combination first and second
storage means. The first storage means is non-alterable
and storing representations of a plurality of programmed
operations to be performed in sequence. The second
storage means is alterable and storing representations of
a plurality of programmable times. Timing means is
provided for timing a cycle of operation of the sequence
controller and for producing signals correspondlng to time
intervals within such cycle of operation. Coincidence
determining means is responsive to signals from the first
storage means for comparing signals of the timing means
with all of the signals of the second storage means and
for determining a coincidence between the timing signals
and each of the programmable times. Output means is
responsive to the coincidence determining means for
producing a plurality of putput signals at times corres-
ponding to the programmable times.
SUMMARY OF THE DRAWINGS
Reference will now be made to the accompanying
drawings in which:
Fig. 1 is a front elevation view of a soup and
beverage vending machine incorporating an illustrative
embodiment of the present invention:

~6~
`
Fig. 2 is an elevational view of a portion of
the interior of the apparatus of Fig. 1,
Fig. 3 is an elevational view of an embodiment
of the service module associated with the present
invention;
Fig. 4 is a functional hlock diagram of a sequence
controller incorporating an illustrative embodiment of the
present invention,
Figs. 5a-Sd are flow charts of sequences of
operations performed by the apparatus of Fig. 4, and
Figs. 6a~6c are maps of selected sections of
storage of the apparatus of Fig. 4.
DESCRIPTION OF TH~` PREFERRED EMBODIMENT
Referring now to Fig. 1, a soup and beverage
dispensing machine 10 is illustrated which is adapted to
dispense soup and beverages such as coffee, tea, hot
chocolate, etc. The machine has a coin slot 12 and a
plurality of pushbuttons 14 which are adapted to select
the desired soup or beverage, and to add normal or extra
6a -

~67;~
cream and sugar, when the beverage selected is tea or coffee.
A compartment 16 is provided at which a cup 18 is presented,
and the cup is f;lled with the selected soup or beverage
by means of a dispensing mechanism having a spout
20 supported above the cup 18~
A number of ;ndicators 22 are provided for giving
information to the user such as the coins which may be
accepted by the machine,and the like. In the machine il-
lustrated in Fig. 1, the ten pushbuttons 14 respectively
celect black coffee, coffee with cream, coffee with sugar,
coffee with cream and sugar, Sanka, hot chocolate, tea,
soup, extra cream, and extra sugar. The first eight push-
buttons, which may be referred to as sequence selecting
controls, select the soup or beverage to be dispensed, and
the last two may be pressed during a vending cycle of coffee,
Sanka or tea to select extra cream or extra sugar, respectively.
Fig. 2 illustrates a portion of the interior of
the apparatus of Fig. 1 with the front cover removed.
Within the interior of the machine 10, a number of magazines
occupy a space 24, and they are provided for storing the
concentrates required for coffee, hot chocolate, tea,soup,
etc., which are mixed with hot water during the dispensing
operations before being dispensed into the cup 18. A
coffee brewer is located in area 26, for the purpose of
brewing coffee.
In the space above the locations 24 and 26 a
circuit board 30 is located, and the sequence controller
for the machine 10 is located on the circuit board 30.
The circuit board is connected by means of flat ribbon cables
32 and 34 to two other units, one of which is illustrated in
Fig. 2. The unit 36 is connected by means of the cable 34

6~
to a board 30, and preferably the cable 34 is provided with
a jack and plug connection 38, at least at one end so that
the cable 34 may be disconnected, when that is desirable
for service to the board 30 or the unit 36. The unit 36
supports components which are connected by lines 37 to
various switches, including the switches 14, to produce
signals which are communicated to the apparatus on the
board 30. These signals are isolated from any transients which
may be present on the lines connected with the switches 14,
etc.
A plurality of relays (not shown) are mounted
beh.ind the board 30 and are electrically connected with
components of the board 30 by means not shown. The relays
are selectively energized for controlling the various functions
of the dispensing machine lO. For example, when a cup 18 is
to be dispensed into the compartment 16, one of the relays
s operated, and its contacts close a circuit energizing
a motor for operating the mechanism for allowing the dis-
pensing of a single cup 18 into the space 16. The speciic
construction of the apparatus required for the mechanical
functions of the dispensing machine lO are well-known to
those skilled in the vending machine art, and form no part
of the present invention~ For that reason, they will
not be described in detail, it being understood that the
relays open and close the required ~lectrical circu.its for
proper operation of the dispensing machine.
The circuit board 30 supports a microprocessor
chip 33, a few other logic chips, one of which is identified
by reference numeral 62, and also another connector 40~ The
connector 40 is a multiple conductor receptacle which is

~6~
adapted to receive a plug jack 42 (Fig. 3), but during
normal operation of the apparatus of Figs. 1 and 2, no
jack is in place in the connector 40.
A service module 46 (Fig. 3) is connected -to the
~oard 30 via the connector 40 when the sequencer is being
serviced. During those times, the plug jack 42 is inserted
into the connector 40, and by that means, a ribbon cable 44
interconnects the circuit board 30 with the service module 460
The service module 46 has a display unit 48 adapted for
displaying a number of numerical integexs with an appropriate
decimal point. It also includes a four-position selector
switch which is adjustable to select one of four modes of
operation. In the vend position of the switch 50, the ma¢hine
operates normally. When the swil:ch 50 is in its channel
position, the display 48 shows one of a plurality of channel
numbers. The channel number corresponds to the address of a
storage location, in the modifiable memory o~ the micro-
processor, at which is stored a start time and a stop time.
When the switch 50 is in its start time position,
the display 48 illustrates the start time stored in the storage
location identified by channel number displayed when the
switch 50 was in its channel position. When the switch 50
is adjusted to its stop time position, the display 48 dis-
plays the stop time of the selected channel.
Two pushbuttons 52 and 54 are provided for sel-
ectively increasing or decreasing the content of any channel
or storage location. When the pushbutton 52 is depressed,
the content o the selected channel is decreased at a variable
rate. The rate of de~rease is quite slow in the beginning,
but the rate of decrease continues to increase until a
relatively rapid rate of decrease is achieved. The rate
_ g _

.6~
of decrease is reset to its initial slow condition each time
the pushbutton 52 ;s released and redepressed. By this
means, an operator can, with a few short depressions of
the pushbutton 52, very slowly reduce the content of the
selected storage location, while he may rapidly reduce the
value stored in a selected channel by simply maintaining
the pushbutton 52 in depressed condition. A second pushbutton
54 is provided for increasing the value stored in a selected
channel, and its rate of increase is variable in the same
way as described in connection with the pushbutton 5~.
This feature allows the service module to make large changes,
or small and precise changes, with equal facility.
An interlock pushbutton 56 is provided for execut-
ing a lock or unlock function. The pushbutton 56 must be
in its unlocked or depressed condition in order to allow
the start time to be modified by either of the pushbuttons
52 and 54. The switch 56 must be in its ncn-depressed or
locked condition in order to allow modification of the stop
time by either of the pushbuttons 52 or 54. sy ~his means,
an operator must manipulate both of the two switches 50 and
56 in order to cause the start time to be modified, and
this materially reduces the chance of inadvertently modifying
the start time when only the stop time is intended to be
changed. Since most modifications will be made with respect
to the stop times only, the need to maintain the pushbutton
56 depressed in order to modify start times substantially
eliminates inadvertent modifications to the start times.
The service module 46 is extremely small and compact, and has
only four controls. Notwithstanding the simplicity of the
service module, it is amply powerful to completely program
-- 10 --

the sequence controll~x supported on the circuit boaxd 30.
The programming of the sequence controlIer is
accomplished by inserting a start time and a stop time into
each of a plurality of channel locations. Each channel
location corresponds to a given relay or set of relays,
and the start and stop times determine the time, during
each cycle of operation, at which such relay or group of
relays is energized and deenergized.
In the operation of the sequence controller of
the present invention, to control the vending machine 10,
each vending cycle of operation begins with time zero,
when a timer is reset at the beginning of a vending operation.
The counter continually maniests the elapsed time since the
previous reset. The elapsed time of the timer is periodically
(and frequently) compared with every start time and every stop
time in every channel, and when a match or coincidence is
found, a pro~ram is executed which makes a relevance test.
The relevance test determines whether the channel which
produced the coincidence match is one which is relevant to
the particular sequence selected by the pushbuttons 14.
For example, when soup is selec~ed, the coffee brewer 2~
is not required, and so the times for starting and stopping
operation of the coffee brewer are irrelevant during a soup
dispensing cycle. If the relevance test determines that
the channel producing thP coincidence match is relevant to
~he selected operation, the relays associated with that
channel will be energized or deenergized, depending
.

on whether the start or the stop time produced the coincidence
match. When the last rel~ant coincidence is recognized,
the opexation of the vend;ng machine halts, and the machine
is immediately ready for a subsequent vending cycle, without
waiting for the duration of the longest possible sequence.
It will be appreciated that the start and stop
times cannot be modified unless the service module of Fig. 3
is in position relative to the circuit board 30. This is a
desirable feature in connection with vending machines,
because it is very desirable to prevent any unauthorized
tampering with the timing of the various operations of the
vending machine. It is not feasible to make the interior
of the vending machine completely inaccessible, because there
are circumstances which require such access. For example,
coins must be removed from the coin box, and periodically
supplies must be added to the magazines of the machine.
Since it is necessary to have access to the interior of the
machine available to unauthorized service personnel, it is
highly desirable to provide some other way of preventing
unauthorized tampering with the machine timing. By use of
the present invention, no timing adjustments may be made
without access to a service module, and since the service
module is s~parate and may be maintained in the possession
of authorized sexvice personnel only, access to the machine
timing is in that way limited to qualified service personnel.
The microprocessor unit 39 is preferably a single
chip unit such as Intel Model No. 8048. Such a microprocessor
unit has two internal areas of storage. One storage area is
a read only memory, or ROM, and the other storage area is a
random access memory, or RAM. The contents of the ROM are
- 12 -

fixed, and it is not possible to modify the contents in the
field. The information stored in ROM is retained during
periods of power outages, so that a restart program contained
in the ROM section of memory, can restart the apparatus
after a power failure. A RAM, however, is a volatile memory,
and a power failure re~ults in the loss of the contents
stored in the RAM. Only the data stored in the RAM portion
of memory can be modified by operation o the service
module (Fig. 3), and no provision is made in the present
invention for operating the sequence controller without
access to the RAM, allowing for continued operation of the
machine even following a power failure.
In the present inventioll, data relative to the
start and stop times is stored partly in the ROM and partly
in the RAM. The start and stop time data stored in the ROM
forms a basic program, serving to permit operation of the
machine in an acceptable, but not necessarily optimum,
fashion.
The RAM ~ection of memory is loaded, by using the
service module 46, with incremental timeC which may serve to
either increase or decrease the values of the basic program
start and stop times stored in the ROM. Thus, a RAM is
used to enable each vending machine to function in an ideal
or optimum manner, with the exact times of operation being
calculated by subtracting or adding the basic values stored
in ROM to the modifying values stored in RAM. Since the
modifications stored in R~M are typically small, compared
to the basic times stored in ROM, the RAM memory capacity
is conserved, and ample RAM capacity remains for performance
of the functions of the MPU which require use of RAM for a
- 13 -

scratchpad memory, the integrity test, the relevance test,
etc.
Although the content of the RAM is typically lost
during periods of power outage, a rechargeable battery
maintains power to the RAM portion during power outage.
If protection against only short periods of power interruption
is desired, a relatively low capacity battery source w ll
suffice. Larger capacity batteries must be used in order
to extend the time of preservation of data in the RAM to
account for longer interruptions of power. Alternatively,
an independent non-volatile memory such as an EAROM may be
employed, which may be modified by writing, as a RAM, but
does not lose its storage content during losses of applied
power (up to ten years). When an EAROM is used, the incre-
mental data stored therein for the start and stop times i5
never lost for any duration of power interruption. Since
EAROM's are more expensive than other types of memory, it
is highly beneficial to conserve their memory capacity, and
this can be accomplished in the present invention by storing
only modification values in the EAROM. Alternatively, the
EAROM stores the times which are actually used as the start
and stop times, so that incremental data need not be stored.
Reference will now be made to Fig. 4, which
illustrates a unctional block diagram of the sequence
controller of the present invention. The MPU 39 is
functionally illustrated as a single block, to which is
connected a source o clock pulses 64 for controlling the
timing of the MPU 39, a power supply 66, and a coin mechanism
68. The power supply 66 comprises a conventional power supply
for furnishing the required voltage levels to the MPU and
to the other units, derived from conventional AC power

available on lines 70. The coin mechanism 68 is connected
to a terminal of the MPU 39 which may be interrogated as
to its condition. When the MPU used is the Intel Model
8048, the coin mechanism 68 is connected to the Tl terminal
of the MPU, which, during the execution of suitable in-
structlons, may be tested for a high or low value. The
source of clock pulses 64, the power supply 66 and the coin
mechanism 68 are all conventional units, so that they need
not be described ~n detail. The function of the coin
mechanism 68 is to supply a signal to the terminal Tl
when the proper amount of coinage has been deposited in
the coin receiviny slots, so that a dispensing or vendiny
cycle can begin. A dispensing cycle begins, after deposit
of the requisite number o coins, by depression of one of
the soup or beverage selecting b~ttons 14.
The MPU 39 is provided with two ports Pl and P2
and a data bus DB. The data bus consists of eight lines
76, which are connected from the MPU 39 to a set of drivers
78. The output of the drivers is connected to appropriate
ones of a set of LED's 60, and to appropriate ones of a
set of relays 80.
The port P2 is connected over eight lines 74 to
a set of drivers 82, and the output of the drivers is
connected to some of the LEDIs 60 and to appropriate ones
of the relays 80.
Port Pl is connected to eight lines 72 and performs
both input and output functions. When it functions as an
input, it senses a condition of a plurality of switches,
and when it functions as an output, it supplies control
signals to the display unit 48, designating which part of
- 15 -

the display is to be energized at any given time. The
outputs of the data bus are also connected to the display
unit 48, via drivers 78, and furnish signals indicating the
information which is to be displayed at various positions
of the display.
When the lines 72 function as inputs, they sense
the condition of the nine switches 14 on the front panel
of the dispensing machine, and also the condition of the
switches on the service module 46. The nine switches are
each connected to unique combinations of the eight lines
72, so that the closing of any one of the switches is
recognized during operation of the MPU 39 because of such
interconnection. Preferably, all of the ten switches are
isolated from any effects on the power lines by means of
opto-isolator units, such as the one 84 which is shown in
association with the switch CB. The switch CB (for selecting
black coffee) connects the opto-i.solator 84 to a source of
input power which may be conventional AC power applied to
terminals Ll and L2. The opto-isolator 84 functions to
complete an electrical cixcuit between two output leads, '
which are electrically isolated from the input leads con-
nected to Ll and L2, and therefore are not affected by
transient conditions on the line. The two output leads
of the opto-isolator 84 are connected to the first and fifth
lines of the eight lines 72. The other eight panel switches,
although indicated diagrammatically in Fig. 4, are preferably
arranged with opto-isolators in the same manner as the
switch CB.
- 16 -

3L6~
Six of the eight lines 72 are connected through
.he connector 40 to various ones of the switches of the
service module 46. The lock switch 56 is connected between
the sixth and eighth lines, the decrement switch 52 is
connected between the second and seventh lines, and the
increment switch 54 is connected between the first and seventh
lines of the lines 72. The switch 50 selectively connects
the sixth line of the lines 72 to the first, second and
third lines of the set. The condition of the switches 50-56
is determined during operation of the MPU 39 in the same
manner as described above in connection with the panel
switches.
The disconnection of the service module 46, by
opening the connector 40, does not interfere with the
relationship between the sequence controller and the switches
14 and relays 80, which execute t:he various operations
required during dispensing cycles. The sequence controller
is therefore effective for normal operation of the vending
machine therefor without the presence of the service module
46. Since only one sexvice module 46 is required for a
large family of sequence controllers, the cost, comple~ity,
and power consumption of the sequence controller is
materially reduced.
The power-down/power-on reset circuit 90 provides
for the sensing of an imminent power failure or removal of
power. When this condition is sensed, the appropriate input
pin of the MPU 39 is driven to a zero voltage level, thereby
initializing the MPU 39 internal program, disabling the
relays 80, and protecting the RAM contents from being
erroneously altered during a marginal power supply condition.

This reset input pin is held at zero volts until the power
is restored to the proper level as sensed by the power-down/
power-on reset circuit 90.
Reference will now be made to Figs. 5a-5d, which
t~ken together form a flow chart illustrating operations
performed by the sequence controller of the present invention.
The flow chart assumes that the MPU which is used is the
Intel Model 8048. The several blocks of the flow charts
shown in Figs. Sa-5d are representative both of the structure
of the present invention, and the function of that structure.
Although in the preferred embodiment, most of the decisional
and operational units shown in these figures are con~ained
internally within the MPU chip, it is equally feasible to
construct them of conventional logic integrated circuits, or
even with discrete components. Thus, the representation of
the boxes in Figs. 5a-5d are both structural and functional,
and can be interpreted as hardwarls and/or software. In
these figures, rectangles are provided to illustrate
operational devices or units which may be flip-flops, solenoids,
relays, etc.; and where diamonds are provided to represent
decision units which may be comparators, coincidence gates r
or the like. Since the physical construction of each
operation unit, and each decision unit, is ohvious to those
skilled in the art from a consideration of its function,
the specific construction which may be employed for the
various operation units and decision units will not be
described in detail.
The decision units and operation units shown in
Fi~s. 5a-5d operate in a prescribed sequence, and control
- 18 -

6~
~he manner in which the various functions are carried out.
For that reason, the flow charts will be described in
terms of one unit passing control to the next unit, implying
that the previous operat;on or decision has been completed.
Operation is initiated when power is applied to
the apparatus of Fig. 4, via the power supply 66, by op-
eration of the power-down/power-on reset unit 90 ~Fig. 5a),
causing a reset of the internal program counter of the MPU
39 to zero. This causes the program to be entered at the
proper starting point. Control is next passed to a unit
104 which explicitly turns off the vend relay, sets the
channel number code to zero and resets the interrupt timer
101 to zero. The interrupt timer 101 is a timer contained
within the MPU 39, but may be a discrete timer. Its
function is to count clock pulses constantly, and when the
timer counter overflows, a signa:L is produced which passes
control to unit 104, restarting the program from that point.
The interrupt timer counter is reset at frequent intervals
during normal operation of the programs of Figs. 5a-5d,
so that during normal operation it never overflows. If it
should overflow because of a transient fault condition,
the operation of the apparatus is restarted and then
resumes normally.
Unit 104 passes control to a unit 106 which next
starts the interrupt timer, which then begins incrementing
continuously at a fixed rate independently of the main
program flow. Control is then passed to the unit 108,
which sets the content of register 5 equal to 30, and
clears all of the output flip-flops for driving the relays 80.
-- 19 --

7~
The contents of register 5 are used to execute the variable
rate increment and decrement function when the control
module is used.
The unit 108 passes control to a unit 110 which
functions to call a subprogram for performing a check sum
program. The check sum program constitutes the integrity
test of the data stored in the R~ and it is performed by
successively addressing every storage location in the RA~
where a modification of a start time or a stop time is
stored, and adding together the total sum of all of the
modifications. This results in a check sum, which is used
in the integrity test.
When the check sum is calculated, control is
passed to the unit 112 which compares the calculated check
sum with a previously calculated value stored in the RAM.
If the calculated value equals the stored value, control
is passed to the unit 114 over a line 116. If the calculated
value does not equal the stored value, control is passed
to the unit 113 through a unit 118 which operates to set a
reload flag, and clears the modifying contents of the RAM
~o all zeros.
The integrity test performed by the units 110 and
112 insures that the contents of the RAM have not been
altered, for example, as a result of a power failure exceed~
ing the capacity of the battery power supply. Following
such a power failure, the contents of every RAM location
is random, and the integxity test fails with a high degree
of certainty. Under those circumstances/ the random
contents of the RAM are ignored and the RAM is set to zero,
- 20 -

;7;2~
so that the start and stop times of the basic program are
not modified. No other program alterations are necessary,
because the addition or subtraction of zero does not modify
the basic proyram times. The reload flag is an output
which is connected to one of the other LED's 60, so that
if the integrity test fails, the lighting of that specific
LED 60 will indicate that service is necessary to reload
the contents of the RAM.
The unit 113 provides for one of the frequent
resets of the interrupt timer, as described above.
The unit 114 determines whether the channel switch
has been operated, i.e., if the switch 50 is in its channel
position. If it is, control is passed over a line 120.
If not, control is passed over a line 122 to a unit 124,
which determines whether the switch 50 is in its start
time position. If it is, control is passed over a line 126,
and if not, control is passed over a line 128 to a unit 130.
The unit 130 determines whether the switch 50 is in its
stop time position. If it is, control is passed to a line
132, and if not, control is passed to a unit 134. Since
the unit 134 receives control only if the switch 50 is in
its vend condition, or the service module 46 is not connected,
the vend cycle is indicated. The unit 134 determines whether
credit has been received, as determined by a signal from the
coin mechanism 68 at the Tl terminal of the MPU 33. If it
is, control is passed over the line 136 to start the vend
program. If not, control passes to the unit 138 which turns
on the coin mechanism 68 and then returns control to the
unit 108. As long as the service module 46 is not connected,
or the switch 50 is not in one of its three service positions,
- 21 -

~6 ~
the program will cycle through the units just described,
until credit is established by depositing the proper coins
in the coin slot 12. Then, the vend program is entered
over line 136, to initiate it as a sequence of operations
which result in the vending or dispensing of the selected
soup or beverage.
If the control module 46 is connected, and the
switch 50 is in its channel position, the line 120 passes
control to a unit 140, which causes the display 48 to
display the content of the channel register.
When the unit 140 has displayed the channel
number, control is passed to the unit 141 for clearing of
the interrupt timer, and then to the unit 142, which
examines the state of the increment pushbutton switch 54.
If it has been depressed, contro:L passes to the unit 144
which compares the display channel n~nber with number 15.
If the channel number is lS, control returns directly to
the unit 108~ In the example described, 15 is the highest
channel n~nber, so that depressing the pushbutton 54 when
the channel number is 15 is an erroneous condition.
If the unit 144 determines that the channel number
is not 15, control passes to the unit 146 which increments
the content of the channel register, and then returns
control to the unit 108. The loop described beginning with
108 and ending with 146 is then repeated, with each repetition
resulting in an increase of the content of the channel
register by one. In this way, any channel may be readily
selected by incrementing the channel register until the
correct channel is arrived at.
- 22 -

;7~
If the unit 142 determines that the increment
pushbutton has not been depressed, control passes to the
unit 148 which determines whether the pushbutton 52 has
been depressed. If the unit 148 determines that neither of
the pushbuttons 52 and 54 is depressed, control returns
to the unit 108, and the program sequence beginning with
108 and ending with 1~8 i5 repeated until one of the push-
buttons is depressed to increase or decrease the content
of the channel register. Since unit 140 is operated period-
ically, for each repetition of this loop, the channel numberappears to be continuously displayed.
If the unit 148 determines that the pushbutton 52
has been depressed, control passes to the unit 150, which
compares the state of the channel register with zero. If
the channel register is equal to 2ero, the number of the
lowest channel, a decrease operation is erroneous and control
passes directly back to the unit 108. If the channel
register is not set to zero, contxol passes to the unit
152 which decrements the channel re~ister before returning
control to 108.
Through the program described above, any desired
channel is quickly selected and disp~ayed by the use of
the controls of the service module 46.
When the desired channel has been found, the switch
50 is moved to either its start time position or its stop
time positionO When it is moved to its start time position,
control is passed over the line 126 to a unit 154 where it
sets a flag equal to zero. The flag will be referred to as
the start-stop flag, and a condition of ~ero indicatas that
the switch S0 is in its start time position. Control is
then passed to a unit 156 which stores the content of
register 5 in register 3, and then passes control to a unit
- 23 -

~6 ~
158, which calls a display su~routlne. The display routine
operates to cause a display device 48 to display the content
of the selected register, which corresponds to a modification
of a start time or a modification of a stop time. When the
switch 50 is in its start time position, the part displayed
is the start time stored in the selected channel. Control
passes from unit 158 to unit 159 for the clearing of the
interrupt timer, and then to unit 160 which determines
whether R3 is equal to 7ero. Since the unit 160 first
receives control when the content of R3 is 30 (and not zero),
control is passed to unit 162, which functions to decrease
the content of the R3 register by 1, and then returns control
to the unit 158. The loop including the units 158, 160 and
162 accordingly is traversed 30 times before R3 is equal
to zero. Then control is passed to a unit 164 which determines
whether the switch 50 is in its start time position, with
the lock pushbutton 156 in its unlocked condition. If so,
control is passed to a unit lS6 to initiate the steps which
bring about a change in the content of the selected channel.
When it is desired to modify the stop time, the
switch 50 is adjusted to its stop time position, and then
the unit 130 receives control, and passes contxol to the
unit 156 through a unit 168 which sets the start-stop flag
equal to 1, signifying that the stop time is to be modified.
Subsequent operations are performed in the manner described,
down to the unit 164. If the unit 164 determines that the
switch 50 is not in its start time position, or the push-
button 56 is not in its unlocked position, control is passed
to unit 170 which determines whether the switch 150 is
in its stop time position, with the switch 56 in its locked
- 24 -

condition. If so, control is passed to the unit 166 for
initiating the change in the selected start or stop time.
If the unit 170 determines that either the switch 50 is not
in its stop time position, or the lock 56 is not operating,
an erroneous condition is indicated, and control is passed
directly back to the unit 108 without modifying the content
of the channel.
The steps which have just been described constitute
the interlock program, which requires the operation of the
switches 50 and 56 in conjunction. If these switches are
not properly operated, the times stored in the selected
channel cannot be altered, and this feature substantially
prevents unintentional modification of the start and stop
times.
The unit 166 inspects ihe condition of the push-
button 54. If it is not depressed, control is passed to a
unit 168 which examines the condition of the pushbutton S2.
If it is also not depressed, control is returned to the
unit 108, and continues to cycle through the loop beginning
with 108 and ending with 168 repetitively until one of the
pushbuttons 52 or 54 is depressed. When the unit 166
recognizes that the pushbutton 54 has been depressed, control
is passed to a unit 172 which determines if the switch 50
is in its start time position. If it is, control i5 passed
to a unit 174 which determines whether the start time and
stop time stored in the selected channel are equal. If
so, the incrementing of the start time is an erroneous
condi~ion, and control is returned to the unit 108
- 25 -

over a line 176. If not, control is passed to a unit 178
which executes the next step in bringing about a change
in the selected start or stop time. If the unit 172
determines that the switch 50 is not in its start position,
the unit 178 receives control directly.
When the pushbutton 52 is depressed, the unit 168
passes control to a unit 180, which determines whether the
switch 50 is in its stop position. If it is, control is
passed to a unit 182 which determines whether the start and
stop times of the selected channel are equal. If so, any
attempt to decrease the stop time is erroneous and control
is returned directly to the unit 108 over the line 176.
If not, the unit 178 receives control. When the unit 180
determines that the switch 50 is not in its stop time
position, control is passed to a unit 184 which determines
whether the start time is zero. If so, it cannot be decre-
mented and control is returned to th0 unit 108. If the start
time of the selected channel is not equal to zero, control
is passed to the unit 178.
The unit 178 determïnes whether the sign of the
selected start or stop time is negative and the decrease
pushbutton 52 has been depressed. I~ 50, it passes control
to a unit 186 which determines whether the current content
of the selected time of the selec~ed channel is at a
maxLmum value. An attempt to increase it further is
erroneous and controls return to the unit 108. The unit
186 can also receive control from a unit 188, when the unit
178 determines that the sign of the modifier stored in RAM
is not negative, or the pushbutton 52 has not been depressed.
Under these conditions, the unit 188 receives control and
determines whether the modifier stored in the RAM is positive
- 26 -

72~
and the pushbutton 54 has been depressed. If so, control
passes to 186. If not, control passes to a unit 190.
'rhe unit 190 can also receive control from the unit 186
if the content of the selected RAM location is not at a
maximum value. The unit 190 again inspects the condition
of the pushbutton 54. If it is depressed, control passes
to unit 192 which increases the selected time of the selected
channel by one unit. Otherwise, control passes to unit
194 which decreases the selected time by one unit~ Then
control passes to unit 196 which updates the checks sum
stored in RAM, an operation which is necessary every time
the start and stop time modifiers stored in the RAM are
adjusted. The control is passed to unit 197 which resets
the reload flag, and then unit 198 decreases the content
of the register 5 and then returns control over line 122
to the unit 110.
As long as either pushbutton 52 or 54 is maintained
depressed, the steps described above are repeated and unit
198 receives control before returning control to the unit 110.
Each time the unit 198 receives control, the content of
regi`ster 5 is decreased by one, which shortens the time
required in the loop including the units 158, 160 and 162.
This loop is repeated, each time it is entered, the number
of time corresponding to the content of register 5, since
register 3 is set accordingly by the unit 156 just before
the loop is entered. Since the initial content of register
5 is 30, thirty repetitions of the loop occur between each
adjustment of the content of the selected channel, whether
it is being increased or decreased. After it is adjusted by
30 units, in the course of 30 repetitions of the loop
~ ~7 -

1 ~l67~9
including the unit 198, the content o~ register 5 has been
reduced to zero, and the loop including the unit 162 is
bypassed. In this way, the rate at which the modified
values are adjusted is increased as long as one of the push-
buttons 52 or 54 remains depressedO In this way, large
adjustments may be made to the contents of RAM in a short
time, simply by the expedient of holding the appropriate
pushbutton depressed. Very fine adjustments are made
equally well simply by depressing the appropriate pushbutton
for short periods of time.
By the programmed step described above, any
channel may be selected, and its modification of the start
time and stop time may be adjusted up or down easily and
quickly to enter desired value. Whenever an adjustment is
made, the unit 197 resets the reload flag automatically, so
that it will again be capable of indicating a subsequent
failure of the integrity check.
When the unit 134 (Fig. 5a) receives control and
recognizes credit, it passes control to the first unit in
the vend program over a line 136. The first unit is the
unit 200 (Fig. 5c) which causes the switches 14 to be read
in, together with a conventional debounce program, for
avoiding errors due to bouncing of the switch contacts.
After the unit 200 operates, control is passed to the unit
202 which determines whether one of the selection switches
14 has been depressed. If not, control is returned over
a line 2Q4 to the unit 108. If a selection has been made,
control passes to the unit 204 which decodes the switches
and places in the upper half of the register 4 a represent-
ation of what sequence has been selected. Control is passedto a unit 206 which resets the interrupt timer and clears
- 28 -
~ ,, ;,

the internal clock which controls the timing of the
functions during the vend cycle. 206 passes control to a
unit 208 which sets a flag Fl to zero, which allows start
times to be checked for coincidence. It also sets the
channel register to 15 so that the first channel to be
checked for a time coincidence is channel No. 15.
After the channel register is set to 15, unit 210
receives control and inspects the switches 14 to determine
whether the extra cream switch has been depressed. If so,
control is passed to the unit 212 which sets bit No. 7 of
register 5. If not, a unit 214 examines the condition of
the extra sugar switch, and passes control to unit 216
which sets bit 6 of register 5 if the extra sugar switch
has been depressed. Unit 217 then determines if Fl=0,
indioating a start time. If so, control passes to a group
of units 218a-e which determine whether the channel 15
start time corresponds to the time of the clock. The unit
218a gets the start time for channel 15 from ROM and the
unit 218b gets the signed modification parameter from RAM.
Unit 218c adds them; unit 218d gets the clock value; and
unit 218e checks for coincidence. If a coincidence is
found, control passes to unit 220~ Otherwise~ control
passes to unit 221. If the unit 217 determines that Fl=l,
the same sequence is performed for the stop time of the
selected channel, by operation of units ~18f-218j. As
described hereinafter, all the channels are checked for
start time coincidence, and then all are checked for
coincidence with stop times.
If the clock value is not equal to either the
- 29 -

start time or the stop time, control passes to a unit 221
(Fig. 5d) which clears the interrupt timerO Then a unit
222 inspects the state of the channel register. If the
channel register is not zero, control passes to a unit
224 which decreases the state of the channel register by
one and then returns control to the unit 210. This sequence
of operations beginning with 210 and ending with 224 is
repeated until the start times of all sixteen channels have
been compared with the clock, after which control is passed
over a line 225 to a unit 226. The unit 226 examines the
state of the flag Fl which was set to 0 by the unit 208,
before the start times were compared with the clock. Since
the first time the unit 226 receives control, the flag Fl is
0, control passes to the unit 228 which resets the channel
register to 15; sets the stop bit Fl to l; and returns
control to the unit 210. The sequence beginning with the
unit 210 and ending with the unit 228 is then repeated, so
that the stop times of all channels are compared with
the timer so that a coincidence can be detected.
When a coincidence is detected by the unit 218,
control is passed to the unit 220 which performs a relevance
test by determining, from the data stored in the upper half
of the register 4, whether the channel for which a coincidence
has been detected is one which is used in the selected
sequence. If not, control passes directly to the unit 221~
If the relevance test is positive, control passes to a unit
230 which determines whether the channel for which coincidence
has been detected is the extra cream channel. If it is the
extra cream channel, control passes to the unit 232 which
- 30 -

6~7~
examines bit 7 of th~ R5 register. This bit would have been
set by the unit 212 in response to recognition of the extra
cream pushbutton. If unit 230 determined that it had not
been the extra cream channel, control passes to unit 231
to dete~mine if it is the cream channel. If it is, control
is passed to the unit 232 for the bit 7 test of R5. If
bit 7 is found to be set, control passes to the unit 233
which determines whether he time for which coincidence
has been found is the cream stop time. If it is, control
is passed directly to unit 221, thus causing no change in
cream dispenses status. If it is not cream stop time,
control is passed to unit 234 for the substitution of the
cream channel output code for the extra cream code, and
thence to unit 242. The subsequent turn on or turn off of
the cream dispenser is described below. If the test by
unit 231 for cream channel was negative, or if bit 7 of R5
was not found to be set by unit 232, control is passed to
unit 236 which determines if the coincidence channel is the
extra sugar channel. If it is, control passes to unit 238
which examines bit 6 of R5, which may have been set by the
unit 216. If unit 236 determined that it had not been the
extra sugar channel, control passes to unit 237 to determine
if it is the sug~ar channel. If it is, control is passed to
the unit 238 for the bit 6 test of R5. If bit 6 is found
to be set, control is passed to the unit 239 which determines
whether the time for which coincidence has been found is the
sugar ~top time. If it is, control is passed directly to
unit 221, thu~ causing no change in the sugar dispenser
status. If it is not sugar stop time, control is passed

to unit 240 for the substitutio~ of the sugar channel
output codes for the extra sugar code and then to unit 242
for the subsequent turn on or turn off of the sugar dispenser.
Unit 242 can also receive control from unit 237 if the sugar
channel test was negat;ve, or from unit 238 if bit 6 of R5
was not found to be set.
The unit 242 determines whether the brew channel
is the channel for which a coincidence has been recognized,
and, if so, passes control to unit 244 which sets bit 3 of
register 5 to indicate that a long cycle is required,
since the coffee dispensing cycles employing the brewer
require longer time durations than other cycles. Control is
then passed to unit 246 which receives control directly
from the unit 242 if the brewer channel is not the coincidence
channel. The unit 246 determine~l whether the coincidence
time is a stop time, and if so, passes control to a unit
248 which conditions the apparatus for turning off an output
bit. Then control is passed to a unit 250 to accomplish
turning off of the appropriate output. If the unit 246
recognizes a start time instead of a stop time, it passes
control to the unit 252 which conditions the apparatus for
turning an output on and then passes control to a unit
254 to accomplish turning on of the selected output.
Control is then passed to unit 266, which may
also receive control from 250 in the output turn off sequence.
In the unit 266, the current channel output code is tested to
determine if it is the code for Sanka, cream or sugar.
If it is not one of these, unit 268 then determines if this
is an output turn-on by sensing if Fl-0. If it is, R5
is incremented by one to provide for a count of the outputs
which are currently energized. If Fl=l, indicating an
output turn-off, R5 is decremented by onel thereby decreasing
32 -

the count of the outputs currently energized. Control
is then passed to unit 221.
When the unit 226 determines that the last
recogni~ed coincidence is a stop time, control is passed
to a unit 256 instead of to the unit 228. The unit 256
determines whether the time of the vend cycle has equalled
or exceeded the time value of the vend channel plus a
modiier which may have been stored in RAM memory and if
it has, control is passed to a unit 258 which operates to
turn off all the relays and return control over a line 260
to the un:it 104. Although a single decision unit 256 has
been illustrated, it will be understood that several
different operations are required, and the unit 256 is
representative of a series of un:its such as units 218a-218e,
which check for a start time comparison. The unit 256
establishes the maximum time for any vending operation,
and restores the apparatus to its normal condition if,
for any reason, such as extraneous noise or the like, any
output relay has been improperly left on.
If the unit 256 determines that the maximum
cycle time has not yet elapsed, control is passed to a
unit 262 which determines whether the elapsed time of the
vend cycle is greater than 10 seconds. If not, control is
passed to unit 274 for incrementing of the clock by 1,
and then to the unit 208 and the sequence described above
is repeated. If more than 10 seconds have elapsed, control
is passed to the unit 264 which examines the state of bits
0, 1, 2 and 3 of reyister 5. If bit 0, 1 or 2, which
~othth~r constitute the output status count for the number
of relays currently energized, is set (meaning at least one
is still on), or if bit 3 is set, indicating that a long

cycle is required because the brewer has been selected,
control is returned to the unit 2080 If none of these bits
are set, control is passed directly to the unit 258, and
all relays are explicitly turned off (even those which had
previously been turned off).
By operation of the units 256, 262, and 264, as
well as the unit 244, no selected sequence requires more
than 10 seconds, except for a sequence which involves op-
eration of the brewer, and then the sequence is limited
to the vend channel time, which is nominally 18 seconds,
unless moclified. Accordingly, selected sequences which do
not involve operation of the brewer are permitted to occur
with almost twice the speed of brewer-depending sequences.
Figs. 6a-6c illustrate portions of the ROM and
~AM storage sections of the present invention. In Fig. 6a,
corresponding parts of the ROM and RAM are illustrated,
in which are stored, respectively, the basic times and the
modifying parameters of a typical channel. Four decimal
digits are stored in ROM for the basic times, and three
decimal digits (of which the most significant digit is a
maximum of 7~ is stored in RAM. Thus, a basic time may be
any time within the range 0-9999 units, and the modifying
parameter may be within the range of minus 799 to plus 799.
Also, the total of the basic time plu5 the modifier must
be within the range of 0-9999 units. 5ince the modifying
parameters are typically small, not as much RAM storage
capacity is required.
The actual time value of each unit of the stored
start and stop times depends on the speed o-f operation of
- 34 -

the apparatus. In one embodiment, each unit corresponded
to 0.05 seconds. Fig. 6a also shows the check sum stored
in a portion of RAM.
Fig. 6b shows the significance assigned to several
of the MPU's operating registers. Register 4 stores, in
one bit, an indication that the proper coins have been
deposited as determined by signals from the coin mechanism.
Three other bits store a representation of the selected
sequence, in accordance with which of the sequence-selecting
pushbuttons 14 are operated. The other half of register 4
constitutes the channel register, for designating the channel
being accessed currently in ROM and RAM.
In register 5, two bits store flags indicating
that extra cream and sugar have been selected; another bit
stcres an indication of whether the current cycle is short
or long, i~e., whether the brewer has been selected, and
three other bits maintain a count of the number of outputs
turned on, so that a subsequent vend program can be initiated
as soon as all outputs of a preceding vend cycle are turned
off~ signifying the end of that cycle. This enables vending
cycles to be shorter than the vend cycle time for non-
brewer vends. The unit 258 functions as a back-up, after
10 seconds, in case some fault prevents a turn off of one
or more outputs.
Registers 6 and 7 constitute the internal timer,
which may be counted from 0 to 9999 (counting in binary-
coded decimal). It can, of couxse, coun~ from 0 to 216
when operated as a binary counter of 16 stages. If desired,
the data stored in the ROM and RAM sections for the basic
- 35 -

times and modifications may also ~e in binary.
Fig. 6c illustrates a ta~le used in the rele~ance
test. The table is stored in ROM, and identiEies which
channels are relevant to any of the eight selectable
sequances. No data is stored for channels 0 and 1, because
an indication of whether extra sugar or cream is selected
is stored in register 5 (Fig. 6b~.
When an EAROM is used, it is a separate unit 30Q
~Fig. 4) connected to the MPU via data bus lines 301.
The EAROM is operated for reading and writing by a logic
unit 302, under control of the MPU unit 39. The details
of the logic unit 302 are well known to those skilled in
the art. When the EAROM is used, it is accessed for modi-
fication by the service module in the same way that the
internal RAM is accessed, which hlas been described above
in detail. The EAROM may store ~ither the modification
parameters, like the RAM, or may store the complete pro-
grammed times, in which case, the ROM of the MPU 39 need
not store the basic times, and this memory space is made
available for program instructions and the like.
It is apparent that the sequence controller
described above may be adapted or other applications than
the control of a soup and beverage vending machine. Various
additions and modifications may be made bv those skilled
in the art without departing from the essential features
of novelty of the present invention, which are intended to
be defined and secured by the appended claims.
~ 36 -

Representative Drawing

Sorry, the representative drawing for patent document number 1116729 was not found.

Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC expired 2012-01-01
Inactive: IPC from MCD 2006-03-11
Inactive: IPC from MCD 2006-03-11
Inactive: IPC from MCD 2006-03-11
Inactive: IPC from MCD 2006-03-11
Inactive: Expired (old Act Patent) latest possible expiry date 1999-01-19
Grant by Issuance 1982-01-19

Abandonment History

There is no abandonment history.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
AMF INCORPORATED
Past Owners on Record
STEPHEN E. HEEGER
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-02-01 7 186
Claims 1994-02-01 8 268
Abstract 1994-02-01 2 50
Cover Page 1994-02-01 1 13
Descriptions 1994-02-01 36 1,339