[0001] This invention relates to a product dispensing system.
[0002] In a prior art product dispensing system, Figure 1, a dispensing machine 10 containing
product items of different product types is controlled by a remote keyboard-operated
control unit 12, herein referred to simply as a keyboard unit. A user presses a respective
key (or combination of keys) on the keyboard unit corresponding to a desired product
type and the dispensing machine selectively dispenses an item of that product type.
A common example of such a machine is a cigarette vending machine located behind a
supermarket counter where, for example, each product type is a different brand of
cigarette. In this case, where the packet includes a barcode, this can be scanned
at a point of sale (POS) terminal to register the sale of the product item along with
any other product items being purchased by a customer. The POS terminal is usually
a personal-computer (PC) based terminal.
[0003] It will be appreciated that cigarettes are relatively high value items and it is
important to ensure that the number of packets being dispensed is reconciled with
the number sold, to prevent packets being dispensed without being paid for. In the
system of Figure 1, the keyboard unit 12 includes a printer port 13 which is connected
to a printer 14 to allow a journal to be printed. This however requires manual reconciliation
with sales recorded by the POS terminal.
[0004] In one prior art solution to this problem, Figure 2, a modified POS terminal 16'
is directly connected to the dispensing machine 10. However, for a dispensing machine
manufacturer, this means that dedicated software must be produced for each POS terminal
and for each version of till control software running on a POS terminal replicating
the functionality of the keyboard 12 to ensure that each product dispensed will be
registered as a sale.
[0005] According to the present invention there is provided a product dispensing system
cooperable with a point of sale (POS) terminal having a barcode scanner for scanning
barcodes on product items and providing respective barcode data in response to the
scanning of each item, said dispensing system comprising a machine for selectively
dispensing individual product items of different product types in response to a dispense
request identifying a particular product type, a data store for storing a plurality
of product type identifiers and a plurality of related barcode data each associated
with a respective product type identifier, and a controller for automatically supplying
to the POS terminal the barcode data relating to product items successfully dispensed
by the dispensing machine in response to a dispense request, said controller supplying
to the POS terminal the barcode data scanned by the barcode scanner for product items
not dispensed from the dispensing machine
[0006] Embodiments of the invention will now be described, by way of example, with reference
to the accompanying drawings, in which:
Figure 1 shows a conventional dispensing system;
Figure 2 shows another conventional dispensing system;
Figure 3 shows a first embodiment of a dispensing system according to the present
invention;
Figure 4 shows a second embodiment of a dispensing system according to the present
invention;
Figure 5 shows a multi-till embodiment of a dispensing system according to the present
invention;
Figure 6 shows a second multi-till embodiment of a dispensing system according to
the present invention; and
Figure 7 shows an interface circuit which can be used with the embodiments of Figures
3 to 6.
[0007] In a first embodiment of the invention, Figure 3, a modified keyboard unit 12' for
controlling the dispensing machine 10 is provided with an adapter 20 for a barcode
scanner 18 of a type normally used by a conventional POS terminal 16. This is typically
a PS/2 or RS-232 type adapter, although the present invention is not limited to any
particular type of adapter. The keyboard unit 12' in turn includes a port 22 for providing
a connection to an adapter 24 on the POS terminal 16 into which a barcode scanner
would be plugged in a conventional setup. The adapters 20 and 24 are preferably of
the same type.
[0008] The keyboard unit 12' is initially programmed to associate different barcode data
produced by the scanner 18 with respective different product types to be dispensed
from the dispensing machine 10. This can be done either by uploading pre-programmed
information to the unit 12', for example, through the adapter 20, or by training the
unit 12'.
[0009] In the latter case, the keyboard unit 12' is set to program mode, for example, through
a set of pre-defined keystrokes or by switching a hard switch. An item of each product
type to be dispensed by the dispensing machine 10 is scanned in turn. The keyboard
unit 12' receives the barcode data provided by the scanner 18 in respect of each such
item and, upon pressing a corresponding keyboard unit key (or combination of keys),
stores it in association with an identifier (ID) of the corresponding product type,
preferably in non-volatile internal memory. Thus the keyboard unit memory contains
a table associating each different product type with a respective different barcode
and a respective different keyboard unit key or key combination, the latter being
the key or key combination which is pressed in normal use of the system to dispense
an item of that product type.
[0010] The keyboard unit 12' controls switching circuitry described in more detail later
such that, in normal use, the scanner port 20 is connected directly to the port 22
of the POS terminal 16. Thus, as product items other than those dispensed from the
dispensing machine 10 are scanned, the barcode data provided by the scanner 18 is
fed directly to the POS terminal 16 in normal manner. However, when a key or key combination
on the keyboard unit 12' is pressed which corresponds to a product type in the dispensing
machine 10, the keyboard unit first provides a "dispense request" to the machine which
instructs the dispensing machine to dispense an item of the corresponding product
type. If successful, the keyboard unit 12' then automatically switches out the scanner
18 and supplies from its internal memory the barcode data corresponding to the product
type dispensed to the POS terminal 16.
[0011] As will be described, in this embodiment, as well as in program mode, the keyboard
unit 12' can be programmed to "listen" to barcode data scanned by scanner 18. In case
an operator scans a product item dispensed from the dispensing machine 10, the keyboard
unit 12' can either ignore this scan or warn the operator that a sale may be recorded
twice.
[0012] Figure 7 shows an example of switching circuitry 70 contained within the keyboard
unit 12' suitable for implementing various embodiments of the invention. The switching
circuitry primarily comprises two sub-circuits: sub-circuit 70A for controlling PS/2-type
connector POS terminals and scanners and sub-circuit 70B for controlling RS232-type
connector POS terminals, scanners and printers.
[0013] For the embodiment of Figure 3, by comparison with conventional keyboard unit circuitry,
the keyboard unit circuitry includes 4 additional control lines DL1...DL4 which are
connected to the switching circuitry through jumper J7. Signals on the control lines
DL1...DL4 control respective relays LS1...LS4. Figure 7 shows the positions of the
relays when the signals on the control lines are OFF (the control signals are active
low, so they are high when OFF and low when ON). A master relay LS5 controls a reference
voltage VEE supplied to each of the relays LS1...LS4 and so enables such relays for
switching under the control of DL1...DL4.
[0014] The keyboard unit control lines for the printer 14, previously connected to the port
13, are now connected to adapter J3, and the keyboard unit printer port 13 is now
connected to jumper J5. When control line DL3 is set OFF by the keyboard unit 12'
the changeover contacts of the relay LS3 are in their lower positions, as seen in
Figure 7, so that the keyboard unit printer port 13, connected to jumper J5, is connected
via relay LS3 to adapter J3. Thus, when a journal is required it can be printed as
before, and this can be done independently of whether RS232 or PS/2 type scanner/POS
terminal equipment is being used. However, in normal operation of the unit (i.e. other
than when a journal is required to be printed) the control line DL3 is set ON, so
that the changeover contacts of the relay LS3 are normally in their upper positions.
[0015] Where the scanner and POS terminal have RS232-type connectors, the scanner 18 is
connected to adapter J4 and the POS terminal 16 to adapter J6. Pin 1 of each adapter
J3...J6 is TX, pin 2 RX and pin 3 is connected to ground.
[0016] Control line DL4 is normally OFF and connects scanner TX to POS terminal RX and to
the keyboard printer port RX (scanner RX is permanently connected to POS terminal
TX - so the scanner 18 is always "listening" to the POS terminal 16). As product items
other than those from the dispensing machine 10 are scanned by the scanner 18, the
POS terminal 16 picks up the signals from the scanner and can in turn control the
scanner as required. In this state, the keyboard unit 12' can listen to scanner signals
through the printer port at adapter J3. Thus, if it detects a scanner signal corresponding
to a barcode stored in memory and associated with a dispensing machine product type,
it can for example sound an audible alarm to indicate a product sale is being recorded
twice (in this state, however, it cannot stop the scanner signal being provided to
the POS terminal).
[0017] When a keyboard unit 12' key or key combination is pressed corresponding to a product
item in the dispensing machine 10 and the corresponding product item is successfully
dispensed, the control line DL4 is switched ON and connects the keyboard printer port
TX to the POS terminal RX via the relay LS4, the scanner TX being temporarily open
circuited. The keyboard unit 12' now retrieves from its internal memory the barcode
data corresponding to the product type just dispensed by the machine 10 and sends
such data to the POS terminal 16, so ensuring that the sale of the product item will
be recorded without user intervention.
[0018] In the case of the scanner 18 and POS terminal 16 having PS/2 ports, a single adapter
connected to jumper J2 is connected via a split lead to each of the scanner and POS
terminal; in other words, the scanner and POS terminal are connected in parallel to
jumper J2. The keyboard unit 12' produces and receives PS/2 control signals which
are connected to jumper J1.
[0019] When the control lines DL1 and DL2 are OFF, as seen in Figure 7, the signal lines
of scanner 18 are connected through relay LS1 to the opposite signal lines of the
POS terminal 16. Thus scanner Data_Out and CK_Out are connected respectively to POS
terminal Data_IN1 and CK_IN1. As both scanner 18 and POS terminal 16 are connected
in parallel to the same adapter, POS terminal Data_Out and CK_Out are likewise connected
to Scanner Data_IN1 and CK_IN1 via relay LS1. This is the normal operating mode of
the system, i.e. when non-dispensing machine product items are being scanned. When
DL1 is on and DL2 is off, the scanner 18 is connected to the POS terminal 16 as before,
but the keyboard unit 12' can now listen to the scanner output available at jumper
J1 via relay LS2.
[0020] When a keyboard unit 12' key or key combination is pressed corresponding to a product
item in the dispensing machine 10 and the corresponding product item is successfully
dispensed, the control lines DL1 and DL2 are switched ON. This disconnects the scanner
18 from the POS terminal 16 and connects the keyboard unit 12' to the POS terminal
16 via J1, LS2 and J2. As before, this allows the keyboard unit 12' to retrieve from
its internal memory the barcode data corresponding to the product type just dispensed
by the machine 10 and send such data to the POS terminal 16. Switching on DL1 and
DL2 also connects the keyboard unit 12' both to listen to the scanner 18 and to talk
to the POS terminal 16. This enables the keyboard unit 12' to temporarily store manually
scanned barcode data before deciding whether or not to transmit it to the POS terminal
16. Thus, where a product item sale would otherwise be recorded twice, the keyboard
unit 12' can decide not to forward a manually scanned barcode for a product item matching
barcode data stored in its non-volatile internal memory.
[0021] As well as enabling the invention to be implemented in the RS232 case described above,
the sub-circuit 70A of switching circuitry 70 also enables the invention to be implemented
without a keyboard unit 12'. In a second embodiment of the invention, Figure 4, the
control circuitry for implementing the invention is located within a modified dispensing
machine 10' rather than in a keyboard unit. The control circuitry is connected to
jumper J1 of the sub-circuit 70A and the POS terminal 16 and barcode scanner 18 are
connected in parallel to the jumper J2, as previously described. The control circuitry
in the modified dispensing machine 10' stores a table in its internal memory associating
each different product type dispensed by the machine 10' with a respective different
barcode.
[0022] Within the sub-circuit 70A, in this embodiment the control lines DL1 and DL2 are
held ON. Thus, as described for the RS232 example of Figure 3, the control circuitry
in the machine 10' is connected both to listen to the scanner 18 via LS1 and to talk
to the POS terminal 16 via LS2.
[0023] In normal use, the control circuitry in the machine 10' listens at J1 for barcode
data scanned by the scanner 18, and looks to see if any such barcode matches a barcode
stored in the table in the machine's internal memory, i.e. matches a barcode corresponding
to a product type to be dispensed by the machine 10'. Where there is no match, the
received barcode data is forwarded to the POS terminal via J2 to record a sale. If
there is a match, the dispensing machine control circuitry attempts to dispense a
product item of the type associated with the barcode. If successful, the received
barcode data is forwarded to the POS terminal 16 for recording as a sale. In this
case, the keyboard unit is replaced with a sheet 26 bearing labels each identifying
a different product type able to be dispensed by the machine 10' and including its
associated barcode. When such a product is to be dispensed, therefore, an operator
simply scans the barcode of the relevant label and the barcode data is sent to the
machine 10' as a dispense request, the relevant product item then being dispensed
and the relevant barcode data being automatically provided to the POS terminal 16.
[0024] The invention can also be implemented in a multi-till environment. Referring now
to Figure 5, a number of checkouts of the kind described with reference to Figure
3 are provided, except that they are connected to a common dispensing machine 10.
Each checkout is provided with an individual identity and the dispensing machine 10
is arranged to communicate across a common bus 28 with the keyboard units 12'. When
the dispensing machine successfully dispenses a product selected on a keyboard unit
located at a particular checkout, it notifies the particular keyboard unit and the
latter provides the appropriate signalling to its associated POS terminal to have
the sale recorded.
[0025] Figure 6 shows another multi-till embodiment, this time comprising checkouts of the
kind described with reference to Figure 4 but having a common dispensing machine 10'.
Again, each checkout has an individual identity, and communication between the checkouts
and the dispensing machine is via a common bus 30.
[0026] The invention is not limited to the embodiments described herein which may be modified
or varied without departing from the scope of the invention.
1. A product dispensing system cooperable with a point of sale (POS) terminal having
a barcode scanner for scanning barcodes on product items and providing respective
barcode data in response to the scanning of each item, said dispensing system comprising
a machine for selectively dispensing individual product items of different product
types in response to a dispense request identifying a particular product type, a data
store for storing a plurality of product type identifiers and a plurality of related
barcode data each associated with a respective product type identifier, and a controller
for automatically supplying to the POS terminal the barcode data relating to product
items successfully dispensed by the dispensing machine in response to a dispense request,
said controller supplying to the POS terminal the barcode data scanned by the barcode
scanner for product items not dispensed from the dispensing machine.
2. A system as claimed in claim 1, wherein the controller normally connects the scanner
to the POS terminal except when a dispense request is received in which case the scanner
is disconnected from the POS terminal and the relevant barcode supplied to the POS
terminal from the data store.
3. A system as claimed in claim 1 or 2, wherein the dispense request is supplied by a
keyboard having a respective key or key combination for each product type.
4. A system as claimed in claim 1, wherein the controller receives all barcode data provided
by the scanner and, in the case of barcode data corresponding to a product item of
a type not dispensed by the machine, provides such barcode data to the POS terminal,
and in the case of a barcode data corresponding to a product item of a type dispensed
by the machine, causes the machine to dispense such item and provides such barcode
data to the POS terminal, the dispense request being constituted by the latter barcode
data received by the controller.
5. A system as claimed in claim 4, wherein the dispense request is generated by scanning
a barcode not carried by a product item of the type concerned.