Electronically programmable space-to-sales vender
BACKGROUND OF THE INVENTION 
     The present invention relates to vending machines which have the capability of providing more or less storage space for particular products to be vended depending upon the sales rates of those products. More particularly, the present invention relates to means for electronically programming the vending machine such that more or less storage space can be allocated to specific designated products by the simple expedient of coded inputs. This assignability of storage space for designated products also requires the electronic coordination of the vending mechanism with the storage space under the same constraints, such that once the storage space is assigned, only designated product will be dispensed from that storage space. 
     It is highly desirable in a vending machine to have the amount of each product stored in a ratio equivalent to its sales volume. This allows the maximum amount of time to elapse between the routine refillings of the product storage means. Ideally, each product selection would be one item away from soldout when the machine is refilled. A preferred system would be a vending machine where there are several more storage increments than there are product selections wherein the increments may be linked together for particular selections to provide a storage system that closely approximates the relative sales volume of each product. The storage relationship should also be easily altered at a future time, in the event that relative sales volumes between products change. A further desirable characteristic of such a vending system is to add or subtract the number of products offered (selections) to customize the vending system for each installed location. An example of this last feature would be to convert a nine selection vender to a seven selection vender, by eliminating two product selections that have very slow sales rates, and reallocate the storage increments to better serve the sales volume of the remaining seven products. 
     Space-to-sales vend rack mechanisms of the type generally described are shown in U.S. Pat. No. 4,722,455 of Philip B. Groover, issued Feb. 2, 1988 for INCREASED COLUMN/SELECTIVITY VENDER which is commonly assigned with the present application. The disclosure of that patent is incorporated by reference herein. 
     Presently, such devices as those in the Groover Patent require various selective manual interconnections of vending mechanisms with product selection buttons and product dispensing or storage columns in order that one or more storage columns may be assigned to a particular designated product. For example, a primary product may be designated such as a particular brand name or container size, and that product may be selected by, for example, an enlarged selection push button on the obverse face of the vender. Secondary products may be individually selected by other product selection buttons particularly assigned to designate such products. If it is desired for the primary product selection button to effect dispensing of a primary product from several storage compartments or columns of the vend mechanism, the vending machine attendant must open the machine and manually select, through switching and other interconnections, a control path from the primary product selection button to the vend mechanisms for all of the storage compartments associated with the primary product. This is sometimes a cumbersome and time consuming task and often requires a panel of toggle switches or the like which are subject to maintenance and other attendant ambient problems. 
     Therefore, there is a need in the art for a quick and facile way in which to program a vender to assign one or more storage increments, such as product containing vertical columns, to a particular product selection button or control on the obverse face of the vending machine, such that, actuation of that product selection button will result in the dispensing of that product from the assigned storage increments until the supply is exhausted. Optimally this should be achieved with a minimum of mechanical manipulation and primarily by an electronic input. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is the primary object of the present invention to provide an electronic means for programming a vending machine to assign particular storage increments, such as compartments or columns, within that machine to a specific designated product. 
     It is the further object of the present invention to provide an electronic means for programming a vending machine to assign particular storage increments, such as compartments or columns, within that machine to a specific designated product, wherein, the electronic means comprises a bar code reader and microprocessor. 
     The objects of the present invention are fulfilled by providing a microprocessor controlled vending machine having a central processing unit which is responsive to and programmable by coded inputs which constrain the vending machine to dispense selected products from specifically assigned storage means. 
     The objects of the present invention are further fulfilled by providing a vending machine having programmable product specific storage space to accommodate product specific sales rates comprising: 
     a plurality of product storage means for storing the vendable products; product selection means on the obverse face of the vending machine for selectively designating which of a plurality of products are to be dispensed from the said product storage means; a vend control means for selectively vending products from the said product storage means in accordance with the designations of the said product selection means; and programming means for constraining the vend control means to vend designated products from predetermined ones of the product storage means. 
     More specifically, the programming means may comprise a bar code index means providing a choice of bar codes for assigning the product storage means to designated products and a bar code reading and storage means associated with the vend control means for selecting from the index means and storing in the vend control means selected ones of the bar codes, such that the designated products will be dispensed only from those product storage means specifically assigned thereto by the vend control means in response to the bar code index and inputs. 
     The bar code index and bar code reader can be replaced by a keyboard or other coded signal input device which can load parameters into the microprocessor. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The objects of the present invention and the attendant advantages thereof will become more readily apparent by reference to the following drawings wherein like numerals refer to like parts and wherein: 
     FIG. 1 is a schematic block diagram of a vending machine of the present invention; and 
     FIG. 2 is a bar code index for use with the vending machine of FIG. 1. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENT 
     Referring in detail to the drawings and with particular reference to FIG. 1, a vending control system embodying the present invention is schematically illustrated as having a main CPU 10, which in a preferred embodiment is an Intel 8031 processor with external 2764 EPROM for program memory (all generally indicated as CPU 10). The CPU 10 is a master controller for a plurality of slave systems such as the coin mechanism slave 12, vend mechanism slave 14, display/selections slave 16 and bar code (encoder) slave 18, and various optional peripheral ports (not shown), all of which have dedicated slave microprocessors such as Intel 8748/8749 (or 8048/8049 mashed ROM) connected through serial data links 20 to the master CPU 10. 
     A selection panel module 22 is provided in association with the display/select slave 16 for selecting product to be vended by a vending machine embodying the control system and to indicate &#34;ON-SALE&#34; and &#34;SOLD OUT&#34; conditions for each product. 
     To this end, the selection panel module 22 includes a plurality of product selection switches SS1-SSn, associated ON-SALE indicators comprising light emitting diodes (LED&#39;s) 0S1-0Sn and SOLD OUT indicators comprising LED&#39;s S01-S0n where &#34;n&#34; is a whole number. In the preferred embodiment described &#34;n&#34; can be any number between 1 and 16, for example. Like numbered switches and indicators are assigned to like numbered products to be vended. 
     A power supply 24 and speaker 26 are also provided together with a bar code reading pen 28. The speaker 26 is associated with the master CPU 10 for audible indications of proper or improper programming and data entry and the reading pen 28 is for data entry to the master CPU 10 via the bar code slave 18. Instead of the bar code slave 18 and bar pen 28, an encoder slave and digital keyboard or the like may be substituted to provide input data to the master CPU 10. A credit display module 30 is also associated with the display/selection slave 16. 
     The vend mechanism slave 14 responds to the commands of the master CPU 10 to control vending motors VM1-VMm through vending switches VS1-VSm and sold out switches S0S1-S0Sm where &#34;m&#34; is a whole number indicating a particular product storage increment of the vending machine, such as a product holding column, from which product is vended by actuation of a like numbered vending motor VM1-VMm in a conventional manner known in the art. In a preferred embodiment &#34;m&#34; can also be any number from 1-16. 
     The vend mechanism slave 14 also has an energy management function involving lamps, fans, compressor, thermostat and the like generally illustrated as EMS RELAYS 32. 
     The programming and information inputs through the bar code pen 28 are through the bar code slave 18 which may be of any suitable configuration to encode the inputs and transmit them for storage in RAM memory in the master CPU 10. 
     By way of further general background information, the various slave units have physical input and output connections restricted to their respective immediate control function in the vending environment. For example, the vend mechanism slave 14 is connected to the soldout switches S0S1-S0Sm, the vend control switches VS1-VSm and the vend motors (or solenoids) VM1-VMm of the means for delivering product from the machine to the consumer. 
     The display/selection slave 16 is connected to the selection panel module 22 and then to the selection switches SS1-SSn, ON SALE LED&#39;s 0S1-0Sn and SOLD OUT LED&#39;s S01-S0n. Additional connections are provided to a CORRECT CHANGE LED (not shown) and the credit display 16. 
     Suitable 12--wire connectors 34 are provided between the various slaves and controlled associated peripherals. The bar code pen 28 has a suitable data cable 36 between it and the bar code slave 18. 
     In the vending machine embodying the present invention, there is no direct physical relationship between the selection panel 22, vending means in the vend mechanism slave 14 and the coin mechanism 12 as would be the case in a conventional electromechanical vender. Instead, these relationships are all defined in the programming of the master CPU 10. This programming exists in two forms. The first is the fixed relationships, rules, and/or limiting boundaries contained in the program memory (firmware) of the master CPU 10. The second is user-defined parameters. A data entry system is required to provide the means by which such user-defined parameters may be ingested and accepted by the master CPU 10 and also to determine the settings within the system of these user-adjusted parameters and store them in RAM in the master CPU 10. The user-adjusted parameter for the present invention is that defining the relationship between the product storage means and product selection means of a vender, to selectively vary the storage increments associated with a designated product in accordance with product sales rates and within the parameters of the particular vender. 
     Referring now to FIG. 2, a printed bar code menu BCM is illustrated having five information sections B1-B5 which define both programming steps and informational inputs for product space-to-sales parameter selection in a vender having no more than 16 products and 16 storage increments for those products. 
     The first menu group B1 is used to tell the vend control system the number of product storage increments (columns) and number of product selections used in the machine in which the system is embodied. This entry process enables the control system of the present invention to be used in a variety of vending systems with different storage and selection configurations. 
     The second menu group B2 is a BASIC LEVEL SET code which applies if a vender is to be used as a more conventional electromechanical vend mode in which a primary product, e.g., Selection #1 is assigned storage increments (columns) 1 and 2 and Selections 2-n are assigned storage increments (columns) 3-(n+1). 
     The third and fourth menu selections B3 and B4, respectively, are used to provide &#34;Option Level&#34; and &#34;Programming Check&#34; codes to implement the electronically variable space-to-sales function of the present invention. 
     The fifth menu selection B5 is entitled &#34;columns&#34; and provides in the preferred illustrated embodiment, bar codes for both product selection 1-16 and storage increments designated 1-16. More or less can be provided as desired, such as, 1-32. These codes are used with both the &#34;Basic Level&#34; and &#34;Option Level&#34; programming modes. 
     OPERATION 
     Using the bar code menu BCM as the source of coded input information for the master CPU 10, the programming or parameter setting process of the present invention evolves as follows: 
     First, the system is told the number of product selections and number of product storage increments in the physical configurations of the vender. This is accomplished by reading first the bar code for the process &#34;Number of Selections&#34; or &#34;Number of Columns&#34; from Section B1, followed by a code for the appropriate number form 1 to 16 from Section B5. Next the desired form of programming &#34;Basic&#34; or &#34;Option&#34; is entered by reading the appropriate bar code from Section B2 or Section B3, respectively. It should be noted that the Master CPU 10 indicates a correctly entered bar code having been received via the bar code slave by generating a short beep on its speaker 26. A misread or improper code is indicated by three short beeps. 
     If &#34;Basic&#34; level is set, no further entries are required for &#34;Space-to-Sales&#34;. If &#34;Option&#34; level bar code is entered, the Master CPU 10 will flash the On-Sale LED 0S1 for Selection 1. Bar codes corresponding to the designated storage increments to be assigned to Selection 1 are entered into the CPU 10 by the bar code pen 28 and bar code slave 18 from Section B5. Next, the selection button SS2 for Selection 2 is pressed, and the Master CPU 10 will flash the On-Sale LED 0S2 in the selection panel 22 for Selection 2. Bar codes of the designated increments to be assigned to Selection 2 are then entered into the CPU 10 from Section B5. This process is repeated for the remaining selections. When the assignments are completed for all selections, the bar code &#34;Completion&#34; is entered into the CPU 10 from Section B3. If all programming is done correctly, the Master CPU 10 generates one short beep from the speaker 26. If there is an error, such as a selection or column not assigned, the Master CPU 10 generates three short beeps, and the programming should be checked and corrected. Section B4 contains the &#34;Programming Check&#34; bar code, which is an aid to this process. &#34;Programming Check&#34; invokes a mode where when a code 1-16 is entered from Section B5, the On-Sale LED is illuminated for the selection to which it is assigned. This mode may also be used later as a confirmation of Space-to-Sales programming without using Sections B1-B3. 
     The bar code menu BCM lends itself to being encapsulated in a clear laminate and being carried as a part of a service person&#39;s equipment or being stored within a given vending machine for use only with that machine. Either of such uses of the bar code menu BCM are preferred means of practicing the present invention. 
     The master CPU 10, as a result of the ingestion of the input codes, comprises an assignment means for correlating specific designated storage increments or columns in the vending machine. When a product selection switch SS1-SSn is closed during a vend cycle, the master CPU 10 generates and emits a representative vend signal for that particular product, which signal is received by the vend mechanism slave 14, which in response to that vend signal activates the vend control means comprised of the various vend motors VM1-VMm, vend switches VS1-VSm, and sold out switches S0S1-S0Sm, correspondingly assigned to the designated storage increments. If more than one storage increment is assigned to a product, these may be emptied in any desired sequence until all products have been vended therefrom. This is readily achieved by firmware in the vend mechanism slave 14 in cooperation with those SOLD OUT deiyvhrd S0S1-S0Sm of the vend control means respectively associated with the storage increments. 
     As can be seen from the foregoing specification and drawings, the present invention provides a novel and facile system for electronically programming the master control unit of a vending machine to assign storage increments in the machine to those products being vended thereby, such that the relative sales volumes of the respective products can be taken into account to optimize the use of the storage space over the normal service intervals for the machine. 
     It should be understood that many other variations of the programmable vending control system described herein may be made, as would occur to one of ordinary skill in the are, without departing from the general spirit and scope of the present invention.