Abstract:
A scale weight combination selection system for selecting the most appropriate combination of scale weights for combinational weight machines. The system is best utilized in higher number order of scale machines and includes date stamping the scale weights as the scales are loaded, dividing the scale weights into two groups, one the earlier date stamps, and the other the later date stamps, calculating all combinations of scale weights in each group, assigning a digital code to each combination with code position representing scale number, ranking and sorting the digital codes in each group by a formula giving preference to the earliest date scale weights and the greatest number of scales in the combinations, adding the combinations, sequentially adding the combinations in one group to the combinations in the other groups in the ranked order, and selecting from the resulting combinations, the best combination of scale weights closest to a target weight.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to scale weight combination selections systems for selecting the most appropriate combination of weights in combinational weight machines. 
     These combinational weight machines are designed to select from a plurality of product weighing scales, the quantity of product that is most desirable, depending upon the objectives of the system. The product is not limited to foodstuffs and can include hardware product and soft goods products, as well, basically most non-liquid particulate product. These machines generally include an in-feeding system where the particulate product flows in a single stream. In one conventional combinational weighing machine, the bulk material is delivered to a central location in a machine and then fed radially outwardly to each of the scale areas, which generally includes a vibrator and a hopper or chamber to collect product flowing off the vibrator or belt conveyor. These scale chambers may be loaded simultaneously but not necessarily depending upon the speed of the machine. 
     In the past, scale weight combination selection systems have become increasingly common through the discovery and development of the microprocessor, which is capable of sampling multiple combination scales in a very short period and calculating which combination thus satisfies and provides a target weight. When the best weight combination has been identified, those scales belonging to the combination are dumped into a common chute which discharges the collected product into a package associated with a packaging machine. This process is easily effected repeatedly by a microprocessor with the scales reloaded while the dump scale is eliminated from the search process until they are reloaded. 
     Examples of these systems which attempt to provide a total weight closely approximating or equaling a target weight include systems disclosed in the Minamida, et al., U.S. Pat. No. 4,396,078, and the Mosher, et al., U.S. Pat. No. 4,466,500. 
     The versatility and speed of microprocessors permit a multitude of scales to be examined during the search process and permit weight parameters to be easily adjusted in accordance with differing product weight and production demands. It is important that the weight information and scale be accurate throughout extended periods of use and not be effected by drift in the components which process the weight information. 
     Calibration systems are generally employed in the scale to periodically update the weighing parameters used by the microprocessor. A procedure to weigh an empty scale will determine a tare or correction routinely while machine is in operation. 
     Furthermore, weight sampling is complicated by environmental factors such as temperature and humidity, as well as the resilient mouths for the vibrator and loading devices, as well as the mounting arrangements for measuring sensors in the scales. All of these elements introduce errors into the weighing process. 
     There is significant prior art directed to microprocessors for these combinational scale systems, but to a large extent, these systems have been predominantly directed to minimizing the number of calculations to improve cycle speed. 
     However, with the very marked improvement in event speed for microprocessors of the present day, and the outlook for significant increase in microprocessor speeds in the very near future, the elimination of certain combinational calculations by the microprocessor in prior art systems has practically no effect on present day overall cycle speeds, bearing in mind both the limited number of scales even in higher order machines over 16 scales, and the mechanical limitations of the multiple scale weighing machine itself. 
     In the Minamida, et al., U.S. Pat. No. 4,396,078, a weighing or counting method is disclosed which provides for the discharge of articles from a weighing machine corresponding to a selected combination, and during the subsequent feeding of fresh articles into the same weighing machines, the system functions at that time to select combinations on the basis of weight data from a fixed number of weighing machines which were not selected or did not discharge from the previous cycle. While such a feature is cycle improving, it in effect doubles the number of scales required because only effectively half the scales are used in every cycle. For example, in higher order scale machines, a 16 effective scale machine would require 32 scales, an extremely large and expensive machine. 
     In the Mosher, et al., U.S. Pat. No. 4,466,500, a combinational weight system is provided which selects the minimum qualified weight identified through a search operation based upon an ordered search sequence of all combinations of scales. The search is conducted by a search control means which has a means for eliminating from the search, combinations of scales having sub-combinations previously searched and found to be at or above the target weight. Elimination of certain combinations from the search sequence reduces cycle time. The search sequence is also established by adding one new or different scale to the combinations or sub-combinations previously searched. In that manner, the Mosher, et al. system minimizes the volume of data manipulated during each step of the search sequence with an improvement in cycle time. However, because microprocessor cycle times at the time of the 1982 filing date of the Mosher, et al. underlying application, were but a fraction of the microprocessor cycle times today, this system no longer has any significant viable cost-saving benefit. 
     It is a primary object of the present invention to ameliorate the problems noted above in prior art combination selection systems. 
     SUMMARY OF THE PRESENT INVENTION 
     In accordance with the present invention, a scale weight combination selection system is provided for selecting the most appropriate combination scale weights in combinational weight machines. 
     Combinational weight machines are designed to select from a plurality of product weighing scales, the quantity of product that is most desirable, depending upon the objective of the system. Product is not limited to foodstuffs and can include hardware product, soft goods product, and basically most non-liquid particulate products. 
     The present system is best utilized in higher order scale weighing machines; namely, 16 scales and above, although the invention is not limited thereto, and includes a microprocessor control that date stamps each of the scale weights as the scales are loaded. The scale weights are then sorted into date stamps and then divided into two groups; the first group being the earlier date stamps, and the second being the later date stamps. 
     The system then calculates all possible combinations in each group utilizing a digital code with code position representing a specific scale. 
     Any suitable digital code can be used for this purpose, although a gray code is exemplified in the present detailed description. 
     Thereafter, the digitally coded marked combinations in each group are sorted, utilizing a unique formula that gives preference to both the earliest date stamp scale weights and the combinations having the greatest number of scales. 
     An arithmetic logic unit in the microprocessor then sequentially scans the combinations in the first group(primary group) and combines them(adds) in the ranked order with the combinations in the second group(secondary group), also in ranked order. This preferential scanning order is further enhanced by an exact weight comparative system that automatically ends the scanning cycle if an exact weight is achieved. In the absence of an exact weight, however, the ranked order scanning and combining of the primary group combinations with the secondary group combinations will proceed until completion, with one caveat, and that is a fail-safe system ends the cycle in the event that a scale is in the system an excessive length of time, and this sub-system combines that scale and executes a discharge prior to completion of all possible primary group and secondary group combinations. 
     In order to improve cycle speed, a previous selection of an appropriate combination after discharge is eliminated from the next combination calculation. For example, in a 16 scale machine, if the selected combination is 5, and the appropriate discharge of those 5 chambers was in process, the system can begin a new cycle combination on the remaining 11 scale chambers instead of delaying the process awaiting the loading of the 5 used chambers. In that instance, all of the feeding devices, whether they be belts or vibrators associated with the scale chambers, would not be operating simultaneously. These feeders, one being provided for each scale, can deliver product either into a chamber upstream of the scale, or in some cases in less expensive systems, directly to the scale itself. These feeding devices are timed so that they feed an approximate fractional target weight of product into the scale upstream chamber. These upstream chambers are then discharged onto the scales where they are weighed and the weights of each scale are then stored in memory. 
     These weights are stored in a microprocessor which usually computes all possible scale weight combinations but in higher order scales(above 16) limits the number of combinations to reduce cycle time. In order to understand how the present systems work, it is necessary to provide a definition of “target weight”. In a 16 scale system, the target weight may, for example, be 1 lb. or 16 oz. In a 16 scale machine in which the total target product weight is 16.0 oz., the fractional target weight for each scale should be selected at 2 oz. because 2 oz. requires the use of 8 scales. Eight scales in a 16 scale machine have 12,870 combinations, while 7 scales have 11,440, as does 9 scales. Therefore, the 8 scale combination has the greatest number of combinations, and hence, the greater likelihood for achieving delivery closer to the target weight of 16.000 oz. 
     In one case, these scales are positioned within a funnel-shaped device, or a common reservoir that fills the product package at the total exact target weight. Each scale has a solenoid operator that, in most cases, pivots a door or a flap to discharge the product into the funnel. Stepper motors can also be utilized instead of solenoids. Typically, there is a single funnel in a circular type machine that surrounds all of the scale areas and provides the common discharge into the single product package. 
     There are also inline machines which utilize a single rectangular hopper. 
     In accordance with the present invention, the microprocessor arranges each of the stored scale weights according to time in the system and gives the highest priority to that scale that has been in the system the longest. For example, if scale number  12  were in the system the shortest time, it would be ranked first after rearrangement by the microprocessor, and all combinations using scale  12  are computed first. In this process, each of the scales is given a time stamp so that the oldest in the system scale will have the earliest time date. This rearrangement of scale weights into time priority occurs on each cycle of the machine. In the above example, when 8 of the 16 scales have been discharged, half of those 8 scales have been refilled, and they each will receive a new time stamp and, of course, they will have approximately the same time stamp. The refilled machines will then have a later time stamp and less priority and thus the unused scales in the next combination cycle will be the preferred scales, but not necessarily the ones selected depending upon the weight calculation which will be explained hereinafter. 
     While this rearrangement process occurs each cycle, it does not necessarily occur at a particular point in the cycle and is not critical thereto. 
     As discussed above, this rearranged scale order is then divided in half into two groups: one, a primary group; 
     and one, a secondary group. The primary group consists of the first 8 scales with the earliest time stamps, and the secondary group consists of the remaining 8 scales with the later time stamps. The methodology in dividing the scale weights into primary and secondary groups is to facilitate combining each primary group weight with each secondary group weight to analyze the weight combinations. 
     Thereafter, using a gray code or some other digital combination code, the microprocessor calculates all possible weight combinations in the primary group and all possible weight combinations in the secondary group, and those are stored in memory. 
     Then the microprocessor uses a ranking order for the primary and secondary group combinations utilized to combine each combination in the primary group with all of the combinations in the secondary group. In this machination, the combining calculation begins with by combining all of the scales in the primary group with each of the scales in the secondary group in the ranking sequence. The combination of all 8 primary scales then proceeds next with a combination of  7 ,  6 ,  5 ,  4 , etc. of the scales in the secondary group, then  8 ,  6 ,  5 ,  4 , etc. 
     This same calculation continues next with 7 of the oldest scales in the primary group combined first with 8 of the scales in the secondary group and then [sequentially] the next ranked combinations  7 ,  6 ,  5 ,  4 , etc., then  8 ,  6 ,  5 ,  4 , etc. and repeated in order of the ranking formula. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the overall combination selection system; 
     FIG. 2 is a block diagram of certain of the components illustrated in FIG. 1, with certain additional components; 
     FIGS. 3 a ,  3   b , and  3   c  are a summation chart for the primary and secondary groups; 
     FIG. 4 is a flowchart of the component  15  entitled “Combine Primary P[R(n)] and Secondary S[R(m)] Sub-groups” shown in FIG. 2; 
     FIG. 5 is a chart illustrating the weight machines in numerical order and date stamped; 
     FIG. 6 is a chart showing the weight machines divided into primary and secondary groups and sorted according to date stamps; 
     FIG. 7 is a chart of the sorted weights in the primary and secondary groups, and; 
     FIG. 8 is a chart illustrating all combinations of the primary group and all combinations of the secondary group with a digital code assigned to each combination. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 1, a block diagram of the general arrangement of the present system is illustrated, and is seen to include a plurality of scales  1 - 1  through  1 -N. It should be understood that in the Summary of the Present Invention, we have drawn an illustration exemplifying 16 scales, and that in the following Detailed Description, we will refer to an example of 10 scales, but it should be understood that the present invention preferably obtains full advantage utilizing a higher order number of scales, preferably 16 or above. The 10 scale illustration used in this Detailed Description is limited to 10 simply to reduce the volume of calculations illustrated and for no other purpose. In this regard, the term “scale” refers not just to the number of scales, but to the total number of compartments in systems where the scales feed more than one compartment. 
     The weights measured in each of the scales  1 - 1  to  1 -N are converted in analog to digital converter  2 , and the resulting digital values are transferred to a microprocessor memory  3 , and then these values are transferred to a transfer weight array memory  4 . The A to D memory  3  continually samples scale weights from the converter  2  while the transfer weight array memory  4  stores the scale or compartment weight memory values utilized in the following calculations. This compensates for configuring the system to either scale only systems or systems utilizing scales with multiple compartments. The order of memory in the transfer weight array  4  is simply the scale or compartment order. 
     The transfer logic circuit  5  is, in large part, separate from the microprocessor and activates the necessary solenoids and motors that control the combinational weight machine itself. 
     The internal timer  6  is a free-running clock and memory in the microprocessor. When the transfer logic circuit  5  executes a specific selective combination of weights and controls the machine to physically discharge that combination of weights, the transfer logic circuit  5  initiates the transfer of the raw data weights in memory  3  to the transfer weight array  4 . At the same moment that is done, the internal timer memory  6  data is transferred into the timer of transfer weight memory  7  which date-stamps each of the weights in the transfer weight array in scale order, although of course that is not necessarily the full number of scales in each of these transfer and date stamp cycles. The date stamps and order of arrangement of weights is illustrated at FIG. 7, noting that the weights are arranged not by date stamp, but by scale number. Note at FIG. 7, that the weights  4   a  are those weights stored in the transfer weight array  4 , in order of scale number. 
     The encoder  9  then sorts the scale weights using the Time of Transfer Weight array  7 , illustrated in FIG. 5 according to time with the earliest time first as illustrated in FIG.  6 . The encoder  9  searches the date stamp  7   a  and stores the weights  4   a (in FIG. 5) in the primary sub-group memory  10 , and the secondary sub-group memory  11 . In, for example, the 10 scale system described in this Detailed Description, the first oldest five scale weights are stored by the encoder  9  in the primary sub-group memory  10 , and the second oldest five scale weights are stored by encoder  9  in secondary sub-group memory  11 , both in date stamp order. These weight values and their order are illustrated at  10   a  and  11   a  in FIG.  7 . 
     Combinational weight systems have two distinct configurations: one being a dependent system, and one being an independent system. In an independent system, which is the one described generally above, each scale has a single weight chamber. In a dependent system, each scale feeds multiple chambers, and obviously these chambers are filled serially so that each of, for example, two chambers associated with a single scale will bear different date stamps, and the machine mechanism dictates which chamber is filled first, and hence will have the earlier date stamp. The encoder  9  always selects the first filled chamber for the primary group, and the second filled chamber for the secondary group in dependent systems. 
     The best combination memory  18  is transferred to the decoder memory  20  illustrated in FIG. 1 contains the data resulting from the calculations described in conjunction with the following figures. 
     Viewing FIG. 2, one will note that several of the function blocks illustrated are common with that shown in FIG. 1, particularly the Best Combination  18 , primary subgroup memory  10  and secondary sub-group memory  11 . 
     The combine primary sub-group memory  13  calculates all combinations of weights in the primary group memory  10  and stores them, each individually, and this calculation and storage position is illustrated at  13   a  in FIG.  8 . Memory  13  stores each combination with an associated gray code  50 ( 50   a  in FIG. 8) that represents the scale weights included in the combination with the oldest scale weight in the right position and the youngest in the left position. In all the combinations shown, position  50   b  is scale  9 , position  50   c  scale  4 ,  50   d  scale  10 ,  50   e  scale  7 , and position  50   f  is scale  1 . (This refers to all of the primary group scales only; the secondary scales are scales  2 ,  3 ,  6 ,  5 , and  8  in that order, right to left in the same code). Thus, combination  50   a  includes only scale  9 , and combination  50   g  includes all the primary group scales. 
     The combine secondary sub-group and memory  14  performs the same calculation and arrangement and memory from the sub-group memory  11 , and this is illustrated at  14   a  in FIG.  8 . 
     The arithmetic logic unit  12  is an element in the microprocessor that enables it to perform calculations, such as adding, subtracting, multiplying, and dividing. The code  50  illustrated in FIG. 8 is generated in the combine primary sub-group  13  and the combine secondary sub-group  14  and is in essence an add 1 or subtract 1 sequence for developing all possible combinations of the weight values  10   a  and  11   a  in FIG.  7 . 
     The ranking sequence  16  determines the order of retrieval of the weight values in memories  13  and  14  when utilized by the combine primary and secondary sub-groups by ranked order  16 , a sequence different than the combination sequence shown at  13   a  in FIG.  10 . 
     The ranking sequence  16  is ordered and executed according to the following recursive formula: 
     Where: 
     
       
         
               
               
             
               
               
               
             
               
               
             
           
               
                   
                   
               
               
                   
                 N = Total number to participate in sub-group 
               
               
                   
                 R = Rank Order such that: 
               
               
                   
                 R 1  = First Ranked Combination 
               
               
                   
                 R 2     N     −1  = Last Ranked Combination 
               
               
                   
                   
               
             
             
               
                   
                 R 1  = 2 N  − 1 
               
               
                   
                 R 2  = R 1  − 2 N−1   
               
               
                   
                   
               
               
                   
                 
                   
                     
                       
                         
                           R 
                           
                             x 
                             + 
                             
                               2 
                               1 
                             
                           
                         
                         = 
                         
                           
                             ∑ 
                             
                               x 
                               = 
                               1 
                             
                             
                               2 
                               1 
                             
                           
                            
                           
                               
                           
                            
                           
                             ( 
                             
                               
                                 R 
                                 x 
                               
                               - 
                               
                                 2 
                                 
                                   N 
                                   - 
                                   2 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 
                   
                     
                       
                         
                           R 
                           
                             x 
                             + 
                             
                               2 
                               2 
                             
                           
                         
                         = 
                         
                           
                             ∑ 
                             
                               x 
                               = 
                               1 
                             
                             
                               2 
                               2 
                             
                           
                            
                           
                               
                           
                            
                           
                             ( 
                             
                               
                                 R 
                                 x 
                               
                               - 
                               
                                 2 
                                 
                                   N 
                                   - 
                                   3 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
             
          
           
               
                 . 
                 . 
                 . 
               
               
                 . 
                 . 
                 . 
               
               
                 . 
                 . 
                 . 
               
             
          
           
               
                   
                 
                   
                     
                       
                         
                           R 
                           
                             x 
                             + 
                             
                               2 
                               
                                 N 
                                 - 
                                 3 
                               
                             
                           
                         
                         = 
                         
                           
                             ∑ 
                             
                               x 
                               = 
                               1 
                             
                             
                               2 
                               
                                 N 
                                 - 
                                 3 
                               
                             
                           
                            
                           
                               
                           
                            
                           
                             ( 
                             
                               
                                 R 
                                 x 
                               
                               - 
                               
                                 2 
                                 2 
                               
                             
                             ) 
                           
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 
                   
                     
                       
                         
                           R 
                           
                             x 
                             + 
                             
                               2 
                               
                                 N 
                                 - 
                                 2 
                               
                             
                           
                         
                         = 
                         
                           
                             ∑ 
                             
                               x 
                               = 
                               1 
                             
                             
                               2 
                               
                                 N 
                                 - 
                                 2 
                               
                             
                           
                            
                           
                               
                           
                            
                           
                             ( 
                             
                               
                                 R 
                                 x 
                               
                               - 
                               
                                 2 
                                 1 
                               
                             
                             ) 
                           
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 
                   
                     
                       
                         
                           R 
                           
                             x 
                             + 
                             
                               2 
                               
                                 N 
                                 - 
                                 1 
                               
                             
                           
                         
                         = 
                         
                           
                             ∑ 
                             
                               x 
                               = 
                               1 
                             
                             
                               2 
                               
                                 N 
                                 - 
                                 1 
                               
                             
                           
                            
                           
                               
                           
                            
                           
                             ( 
                             
                               
                                 R 
                                 x 
                               
                               - 
                               
                                 2 
                                 0 
                               
                             
                             ) 
                           
                         
                       
                     
                             
                     
                         
                     
                   
                 
               
               
                   
                   
               
               
                   
                 Rank sequence for given example: 
               
               
                   
                 N = Total number to participate in sub-group 
               
               
                   
                  N = 5 
               
               
                   
                 R = Rank Order 
               
               
                   
                  R 1  = First Ranked Combination 
               
               
                   
                  R 2  = Second Ranked Combination 
               
               
                   
                  R 3  = Third Ranked Combination 
               
               
                   
                  R 31  = Third Ranked Combination 
               
               
                   
                 R 1  = 2 5  − 1 
               
               
                   
                  R 1  = 31 BASE10  = 11111 BASE2   
               
               
                   
                 R 2  = R 1  − 10000 BASE2   
               
               
                   
                  R 2  = 15 BASE10  = 01111 BASE2   
               
               
                   
                 R 3  = R 1  − 01000 BASE2   
               
               
                   
                 R 4  = R 2  − 01000 BASE2   
               
               
                   
                  R 3  = 23 BASE10  = 10111 BASE2   
               
               
                   
                  R 4  = 7 BASE10  = 00111 BASE2   
               
               
                   
                 R 5  = R 1  − 00100 BASE2   
               
               
                   
                 R 6  = R 2  − 00100 BASE2   
               
               
                   
                 R 7  = R 3  − 00100 BASE2   
               
               
                   
                 R 8  = R 4  − 00100 BASE2   
               
               
                   
                  R 5  = 27 BASE10  = 11011 BASE2   
               
               
                   
                  R 6  = 11 BASE10  = 01011 BASE2   
               
               
                   
                  R 7  = 19 BASE10  = 10011 BASE2   
               
               
                   
                  R 8  = 3 BASE10  = 00011 BASE2   
               
               
                   
                 R 9  = R 1  − 00010 BASE2   
               
               
                   
                 R 10  = R 2  − 00010 BASE2   
               
               
                   
                 R 11  = R 3  − 00010 BASE2   
               
               
                   
                 R 12  = R 4  − 00010 BASE2   
               
               
                   
                 R 13  = R 5  − 00010 BASE2   
               
               
                   
                 R 14  = R 6  − 00010 BASE2   
               
               
                   
                 R 15  = R 7  − 00010 BASE2   
               
               
                   
                 R 16  = R 8  − 00010 BASE2   
               
               
                   
                  R 9  = 29 BASE10  = 11101 BASE2   
               
               
                   
                  R 10  = 13 BASE10  = 01101 BASE2   
               
               
                   
                  R 11  = 21 BASE10  = 10101 BASE2   
               
               
                   
                  R 12  = 5 BASE10  = 00101 BASE2   
               
               
                   
                  R 13  = 25 BASE10  = 11001 BASE2   
               
               
                   
                  R 14  = 9 BASE10  = 01001 BASE2   
               
               
                   
                  R 15  = 17 BASE10  = 10001 BASE2   
               
               
                   
                  R 16  = 1 BASE10  = 00001 BASE2   
               
               
                   
                 R 17  = R 1  − 00001 BASE2   
               
               
                   
                 R 18  = R 2  − 00001 BASE2   
               
               
                   
                 R 19  = R 3  − 00001 BASE2   
               
               
                   
                 R 20  = R 4  − 00001 BASE2   
               
               
                   
                 R 21  = R 5  − 00001 BASE2   
               
               
                   
                 R 22  = R 6  − 00001 BASE2   
               
               
                   
                 R 23  = R 7  − 00001 BASE2   
               
               
                   
                 R 24  = R 8  − 00001 BASE2   
               
               
                   
                 R 25  = R 9  − 00001 BASE2   
               
               
                   
                 R 26  = R 10  − 00001 BASE2   
               
               
                   
                 R 27  = R 11  − 00001 BASE2   
               
               
                   
                 R 28  = R 12  − 00001 BASE2   
               
               
                   
                 R 29  = R 13  − 00001 BASE2   
               
               
                   
                 R 30  = R 14  − 00001 BASE2   
               
               
                   
                 R 31  = R 15  − 00001 BASE2   
               
               
                   
                  R 17  = 30 BASE10  = 11110 BASE2   
               
               
                   
                  R 18  = 14 BASE10  = 01110 BASE2   
               
               
                   
                  R 19  = 22 BASE10  = 10110 BASE2   
               
               
                   
                  R 20  = 6 BASE10  = 00110 BASE2   
               
               
                   
                  R 21  = 26 BASE10  = 11010 BASE2   
               
               
                   
                  R 22  = 10 BASE10  = 01010 BASE2   
               
               
                   
                  R 23  = 18 BASE10  = 10010 BASE2   
               
               
                   
                  R 24  = 2 BASE10  = 00010 BASE2   
               
               
                   
                  R 25  = 28 BASE10  = 11100 BASE2   
               
               
                   
                  R 26  = 12 BASE10  = 01100 BASE2   
               
               
                   
                  R 27  = 20 BASE10  = 10100 BASE2   
               
               
                   
                  R 28  = 4 BASE10  = 00100 BASE2   
               
               
                   
                  R 29  = 24 BASE10  = 11000 BASE2   
               
               
                   
                  R 30  = 8 BASE10  = 01000 BASE2   
               
               
                   
                  R 31  = 16 BASE10  = 10000 BASE2   
               
               
                   
                   
               
             
          
         
       
     
     The ranking order  16  utilizes the above formula to rank the combination of scales in the primary and secondary sub-groups with the objective of giving priority or preference to the oldest scales and largest number of scales in the combination. That is, viewing FIG. 3 a , the highest priority combination 11111, utilizes all scales in the primary group, which of course is the older group, and utilizes obviously the oldest scale  9  represented by the right “1” in the code as noted above. The second ranked primary group combination, 01111, utilizes the four oldest of the five scales in the primary group and eliminates the latest date scale, scale  1 , and this methodology continues based upon the formula described above. The least preferred combination  52  utilizes only the latest date scale  1  in the primary group. 
     This ranking sequence is illustrated by the order of the primary group values  16   a  top-down in FIG. 3, and the order of the secondary group values  16   b  illustrated in FIG. 3, left to right. The chart illustrated in FIG. 3 is illustrative only in the sense that the chart itself is not generated in the microprocessor, but rather is the result of the calculations in the microprocessor. 
     The combine primary and secondary sub-groups  15  combines(adds) the primary sub-group values at  16   a  with the secondary sub-group values in  16   b  in an order of priority and creates the combined scale weights in the matrix of FIG.  3 . It does so in the order of ranking in FIG. 3 by beginning in the upper left of FIG. 3 a.    
     The target weight limit  17  sets the outer parameters for acceptable weights to be preliminarily stored for later consideration. For example, the weight limit  17  might set 10.5 oz. as the high and 9.9 oz. as the low, as illustrated at  54  in FIG. 3 a.    
     FIG. 4 is a flow chart for the combine primary and secondary sub-group element  15  illustrated in FIG.  2 . 
     The combine primary and secondary sub-group element  15  first selects the highest preference primary group combination from primary group combination  13  and tests it against the limits set by target weight  17 . If this weight value is under the target weight range, as tested at  17 (which it is not), secondary group is initialized at  25 , and the current primary weight is added to rank sequence to the combinations  16   b  in the secondary group by the secondary sub-group combination  14 . The ALU  12  then combines the specific primary group combination  25  with the rank secondary group combination  16 b, according to the formula  26 , and the best weight memory  18  determines the best weight found thus far within the target values and saves that weight in memory  27 . (Note none of the weights in horizontal line  1  in the matrix are within the target range). Formula  26  simply adds the current primary weight P Rn →P[R(n)] with the current secondary weight S Rn →S[R(m)] where R n  or R m  is the ranked combination. 
     The save best weight memory  27  stores, in addition to the best current weight, those code numbers associated with that weight in both the primary group and the secondary group. For example, the first best weight  28  of 10.205 oz. in FIG. 3 b  is stored in  27 (FIG.  4 ). It also stores the secondary group code  30  and the primary group code  31 (FIG. 3 b ) with that combination. 
     The secondary group code  30 , as the primary group codes; i.e., 00100, represents a ranked combination of scale weights in the secondary group with the 0 representing no scale weight, and a 1 representing scale weight and the position of the 0 or 1 in the code representing the scale number beginning from right to left. For example, in the secondary sub-group code  30 , reading from right to left with the earliest date scale is in the right-hand column, which in the example given in FIG. 7 is scale number  2 , and since it has a 0 designation, it is not included in combination  30 . The second ranked scale  3  is also 0, so that it is not included in combination  30 ; the third ranked scale  6  at 1.902 oz. is included in the calculation because the 1 is in the third position in the code, and the fourth and fifth ranked secondary group scale weights from scales  5  and  8  are also not included. This methodology applies to all the coding combinations described herein. 
     Next, comparator  32  checks to determine whether the weight is exactly 10.000 oz.(to three decimal places), or whatever the target tolerance might be bearing in mind that the calculation is not carried to a finite value but to a predetermined place. If so, the calculation ends at  33  and the combination is selected. If it is an exact weight carried out to that decimal place, the best combination memory  18 (FIG. 2) transfers this combination to the decoder  20 , which decodes the values and controls the transfer logic  5  to discharge the appropriate combination of scales. 
     In the example illustrated in FIG. 3, however, it should be understood that there are no exact values ex-emplified there, so that the calculation by the arithmetic logic unit  12  continues past the primary and secondary group combination  28 , even though within the target range. 
     It should be understood that in the example of FIG. 3, all possible combinations of primary and secondary group combinations are calculated and tested, but the perfect weight function comparator  32  would, if achieved, terminate the sequence at that point, thus conserving sequencing time. More important, the combination found will use the oldest scale weights since all remaining scales will be made up of newer scale weights. 
     Since primary group combination 11111(10.771 oz.) is over the target range, the best weight  18  will discard it, and no secondary group combination calculation will be made. If, however, the primary group combination is over the target weight but closer to the target weight than the last saved value, it will replace the last saved value in the save best weight( 27  in FIG.  4 ). 
     Timer flag  19  selects a combination in which the earliest dated weight in the combination has been in the scale over a pre-determined time period. This is, of course, an override to the systemic methodology and prevents excessively old scales, particularly when packaging perishable foodstuffs. It is in effect a fail-safe system. 
     Since primary combination 11111 is overweight and failed the best weight test  17 , these weights are not combined with the secondary sub-group weights  16   b , even though these combined values are illustrated in horizontal row  33  in FIG. 3 a  and FIG. 3 b . That is, these calculations, while shown on the chart in FIG. 3, are not actually made in the microprocessor. Next, the combine primary and secondary sub-groups  15  selects the next ranked primary weight combinations 01111 from the primary sub-group combination  13 , and since this weighs 8.619 oz., it is less than the target weight  17  test it tests “yes”, secondary sub-group is initialized at  25  and the primary sub-group combination is combined with the secondary sub-group combinations in the ranking order illustrated from left to right in FIG. 3 a  and FIG. 3 b  in the second horizontal row  34 . (Note scale number  1 , the latest date stamp scale in the primary group has been eliminated in this combination). Since all of the combined values in horizontal column  34  are above or below the target, best weight comparator  18  discards combinations because they are either above or below the target range. Component  35 (m=m+1) repeats the cycling from one secondary combination to another . These discarded values are also tested by the timer flag and best weight exists element  19  determine if one of the scale weights has been previously stored. Component  37 (n=n+1), recycles the circuitry to the next primary group rank combination  38 , and the cycle repeats itself. The next primary group combination  38 , 10111(8.303 oz.) is under the target weight, the secondary sub-group will be initialized at  25  and the primary sub-group combination is combined with the secondary sub-group combinations by the ALU  12  in ranked order until combined weight 10.205 oz. indicated at  28  in FIG. 3 b  is located, and this weight is saved at memory  27  along with the above-noted primary sub-group and secondary sub-group codes as indicated above, until a weight closer to the target weight is found later in the sequencing. This sequencing continues until primary group combination 01011 is added to secondary group combination 00010 to yield a weight of 9.952 oz.( 29  in FIG. 3 b ), which by being less than target weight does not replace 10.205 oz. indicated at  28  in FIG. 3 b , but an acceptable negative best weight memory  27  saves results as best negative weight memory  27 . Sequencing continues until primary group combination 10011 is added to secondary group combination 10100 to yield a weight of 10.162 oz.( 32  in FIG. 3 b ), and thus replaces the save best positive weight memory  27 . Negative weights are a separate test weight since negative weights increase towards target while positive weights decrease toward target weight. 
     This sequencing continues until primary group combination 10101(5.863 oz.) is combined by the primary and secondary sub-groups by ranked order  15  with the secondary sub-group combination 00101(4.164 oz.) to yield a combined weight of 10.027 oz. This value replaces the 10.162 weight in the save best weight memory  27 . The system continues to search the remaining combinations until primary group combination 10000 is combined with secondary group combination 01111 to yield 9.974 as the best of all possible combinations, it replaces 9.952 in the memory  27  and is selected at the end of all the calculations by best combination memory  18 , and these code values are decoded at  20  and utilized to activate the transfer logic circuitry  5  to discharge the corresponding scale chambers in both the primary and secondary sub-groups. 
     Note:  40   a  is the best positive weight while  40   b  is the best negative weight and best weight overall. 
     It should be understood that this calculation process is free-running in the sense that it repeats itself immediately upon the termination of a cycle represented by the calculations illustrated in FIG. 3 c . In this case the selected primary group code is 0001, and the secondary group code is 10101. The primary code 10001 represents scales  9  and  1 , and these are the scales, which will be discharged in this cycle, along with secondary group scales compared to 10101 which includes scales  2 ,  6  and  8 . These values are merely picked off FIG.  7 . 
     It should be remembered that A to D conversion  2  runs continuously and updates Raw A to D weights memory  3 , so the weight when reading Raw A to D weight memory is the most recent sample of any scale. 
     The transfer logic circuitry  5  then reloads scales  1 ,  2 ,  6 ,  8  and  9 , and their measured weights are transferred from Raw A to D into the analog to digital converter weights memory  3  to the transfer weight array memory  4 . Normally, the next calculation cycle would not begin until the discharged scales have been refilled and their weight values entered into the primary and secondary sub-group memories  10  and  11 . 
     Since these five new scale weights will bear a later date stamp than any of the non-discharged scales illustrated in FIG. 7, they will automatically define(in their new ranking order the secondary sub-group shown in FIG.  7  and the primary sub-group will be composed of scales  4 ,  10 ,  7 ,  3  and  5 , in that order. In some cases, in order to increase machine speed, it is within the scope of the present invention to continue the calculation sequence prior to refilling the discharged scales. This feature increases machine speed, although with decreasing closeness to target value. This optional feature is expedited in accordance with the present invention by utilizing the ranking combination methodology. The present ranking combination found ranking calculations greatly reduce the number of calculations performed by the combined primary and secondary sub-groups element  15  illustrated in FIG. 2, and this reduction is described in more detail in connection with FIG.  5 . 
     Given the first calculation found a combination using scale  9 , since the sub-group size is N=5, the primary group is not required to compute ranked combinations R 1  through R 16 , since scale  9  has already been used. This is the result of the ranking sequence, and would also apply to excluding combination from the secondary group.