Continuous processing system with accumulator model for product flow control
APPENDIX 
     The attached appendix comprises a program listing and description of the software of the present invention which is incorporated herein by reference and forms a part of this disclosure for all that it teaches. This program was run in the INTEL:RMS 86 operating system which is commercially available from the Intel Corporation of 3200 Lakeside Drive, Santa Clara, Calif. 95051. 
     BACKGROUND OF THE INVENTION 
     The present invention is directed to a continuous processing system for performing high speed production operations on a plurality of unit products and, more particularly, to a continuous processing system using product accumulator inventory measurement for controlling processing machine speed in a loosely coupled mechanical system. 
     Loosely coupled mechanical systems are those in which discrete processing machines are coupled together to form a continuous process. The machines are generally coupled together by an accumulator connected between the machines. The accumulator provides a product flow path between the processing machines and also provides space for accumulating a product inventory between the machines. 
     An accumulator product &#34;inventory&#34; or &#34;accumulation&#34; as used herein refers to the number of unit products in the accumulator at any particular time and includes products flowing freely through the accumulator, hereinafter sometimes referred to as the &#34;floating accumulation,&#34; as well as products positioned in relatively tightly paced relationship adjacent the downstream processing machine, hereinafter sometimes referred to as the &#34;continuous accumulation&#34; or &#34;continuous-fill-accumulation.&#34; Many high speed processing machines require a continuous, i.e. uninterrupted, supply of unit products for proper operation. If there is a gap in the supply of unit products to such machines, incorrectly formed parts or faulty machine operation may occur. Thus when such machines are used in a loosely coupled mechanical system it is important to provide a continuous accumulation of relatively tightly packed unit products in a portion of an accumulator immediately upstream of such a processing machine to ensure that there will be a continuous supply of products to the machine. Monitoring or measurement of this continuous accumulation is necessary in high speed operations. A sufficiently large continuous accumulation must be maintained to provide sufficient time for the system to react, i.e. to provide enough time to enable the downstream machine to be slowed or stopped before the continuous accumulation is exhausted. For example, the downstream machine must be slowed or stopped if the flow of unit products into the accumulator upstream of the machine is slowed or stopped for an extended period. The monitoring or measurement of the continuous accumulation is also important to prevent too great a continuous inventory in the accumulator, i.e. an &#34;overflow&#34; condition. As overflow condition could cause damage to the upstream and downstream processing machines as well as to the products being processed. 
     Expressing this control situation metaphorically, the downstream machine needs to &#34;know&#34; if there is a sufficient continuous inventory to start processing or to increase processing speed, and the upstream machine needs to &#34;know&#34; if the accumulator is running out of area to store the unit products because of downstream stoppage or slow down. A problem in measuring product accumulation in an accumulator is caused by the fact that an accumulator has two areas with different product flow characteristics: a downstream area wherein the unit products are tightly packed, i.e. the continuous accumulation area, with product movement being dependent on downstream machine speed, and an upstream area where unit products are flowing freely through the accumulator unimpeded by downstream conditions, i.e. the floating accumulation area. The relative size of the floating accumulation area and the continuous accumulation area of an accumulator are generally constantly changing. An accumulator inventory monitoring system, to be effective, must be able to distinguish between free flowing products in the floating accumulation and tightly packed products in the continuous accumulation and must be able to quickly determine the number of unit products in the ever changing continuous accumulation. 
     One prior art inventory measuring system makes measurements of the continuous accumulation by placing sensors at discrete points in the accumulator and from the monitored continuous accumulation value determines the appropriate machine speed response. However, it take such sensors a relatively long period of time to distinguish between a unit product moving quickly (a product in the floating accumulation) and a unit product moving slowly or intermittently (a product in the continuous accumulation). Thus it takes such a system a relatively long time to update its &#34;count&#34; of the number of unit products in the continuous accumulation. As a result such a system has a slow reaction time and a very large accumulator is required for higher machine operating speeds because of the system&#39;s slow reaction time. An associated disadvantage of such a system is that no information is provided to the measuring system about the incoming unit product rate. The resolution of this type of system is limited by the number of sensors used and the response time of the sensors for differentiation between free flowing product conditions and tightly packed product conditions. 
     Another known inventory measuring method is counting the unit products entering the accumulator, counting the unit products leaving the accumulator and computing the number of products in the accumulator based on these counts. A disadvantage of this method is the necessary assumption that all unit products entering the accumulator are immediately available for processing. The count in/count out method does not account for accumulator delay, i.e. the time that it takes a unit product to move through the accumulator. Thus, although the total accumulator inventory may be calculated, the continuous accumulation cannot be determined by such a system. For machines that require a continuous supply of unit products such a system is of little value. 
     SUMMARY OF THE INVENTION 
     The method and apparatus of the present invention provides an intelligent control system that stores in computer memory certain information about the characteristics of a subject accumulator and which operates on update information provided by detection of unit products entering and exiting the accumulator. The control system keeps track of the unit products moving through the accumulator using a tracking approach and computes the number of unit products in the continuous accumulation at frequent intervals. A control algorithm is then used to control the upstream and/or downstream machine speed based on the computed number of unit products in the continuous accumulation. 
     A computer models the physical accumulator as a data memory array in the form of a shift register. The size of the array determines the modeling resolution. As unit products are detected entering the accumulator an element of the array which corresponds to a first portion of the physical accumulator is incremented (increased by one) for each unit product that enters. The measuring system moves the data corresponding to a number of unit products accumulated in the initial element of the data array to the next element of the data array at periodic intervals which correspond to the transit time of unit products through the physical accumulator. The data movement process is the same for all the elements of the array, i.e. at the same time data from the initial element is shifted to the next succeeding element the data from that element is shifted to the element next succeeding it, etc. The data shifting through the array simulates the physical movement of products through the accumulator. A time based data shifting method is used for accumulators that move products with constant velocity and may also be used with accumulators where the products free fall. In the free fall accumulator the average velocity may be used to compute the average data shifting rate. In powered accumulators such at flat conveyors where the unrestricted part movement through the accumulator is controlled by a variable speed driving mechanism, a slightly different approach is used for data shifting. A pulse generator may be mechanically connected to the conveyor or may be connected to the conveyor motor and is used to indicate to the system computer when data should be shifted through the data array so that the computer properly tracks the part movement through the physical accumulator. 
     After each shift of data through the data array all of the data values in a selected portion of the data array are summed and transferred to a separate data element which stores the computed continuous-fill-accumulation, i.e. the computed number of unit products in the continuous accumulation of the physical accumulator. The data array elements from which the data is transferred are then set to zero. The continuous-fill-accumulation value is then used by the computer in a conventional control algorithm to control the relative speed of the upstream and/or downstream machine. The selected elements of the data array having values summed and transferred to the continuous-fill-accumulation data element during any particular system iteration are selected based on the value of the continuous-fill-accumulation data element immediately preceding the information transfer thereto and includes a continuous string of data array elements beginning with the element of the data array corresponding to the physical exit portion of the accumulator and proceeding upstream therefrom. 
     Each time a unit product is detected leaving the accumulator the continuous-fill-accumulation data element, if greater than zero, is decremented (decreased by one). Thus, in addition to changing as a result of data transfer from a selected portion of the data array, the continuous-fill-accumulation element is also changed in value by decrementing caused by product exit from the accumulator. The processes of data array incrementing, continuous-fill-accumulation data element decrementing and data shifting/transfer occur asynchronously i.e. not simultaneously except by coincidence. 
     Low level and high level sensors may be provided to confirm or correct certain data values in the continuous-fill-accumulation data element and to provide initial data information at system start up. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic plan view of the physical components and a portion of the software components of a product processing system of the present invention. 
     FIG. 2 is a flow diagram illustrating some major software functions of the processing system of the present invention. 
     FIG. 3 is a block diagram more specifically illustrating software tasks and variable data storage locations used for performing the software functions of the present invention. 
     FIG. 4 is a block diagram illustrating certain non-region protected accumulator peculiar constant values used in performing the software functions of the present invention. 
     FIG. 5 is a block diagram illustrating certain non-region protected accumulator peculiar variable values used in performing the software functions of the present invention. 
     FIG. 6 is a schematic elevation view of an alternate embodiment of the invention illustrated in FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     This application includes a software appendix which forms a part of the description of the invention. 
     The continuous processing system 10 of the present invention is used for the continuous processing of unit products 11 such as for example can bodies which pass through a discrete upstream machine 12 such as a can necking machine and a discrete downstream machine 22 such as a can flanging machine which are coupled together by an accumulator 32. As illustrated in FIGS. 1 and 6 the upstream machine 12 may comprise a product inlet 14 for receiving unit products, a product outlet 16 for discharging unit products and a variable speed upstream machine motor 18. Downstream machine 22 may comprise a product inlet 24, a product outlet 26, and a variable speed downstream machine motor 28. The accumulator 32 may be for example a conveyor belt 33 type accumulator as illustrated in FIG. 1 or a free fall track 35 type accumulator as illustrated in FIG. 6. The accumulator 32 comprises an accumulator product inlet 34 interfacing with the upstream machine product outlet 18 and also comprises an accumulator product outlet 36 interfacing with the downstream machine product inlet 24. In the case of a conveyor belt type conveyor 33 as illustrated in FIG. 1, the accumulator may be driven by a motor 38 which may be a variable speed motor. In the case of a variable speed accumulator an accumulator speed sensing device 40 such as an encoder physically engaging a conveyor belt or a accumulator motor tachometer may be provided. A count-in sensor 52 is positioned opposite the accumulator inlet 34 and a product count-out sensor 54 is positioned opposite the accumulator outlet 36. A high level sensor 56 is positioned opposite the accumulator count-in sensor 52 and a product low level sensor 58 is positioned opposite the count-out sensor 54. The product count-in sensor 52 counts each unit product 11 entering the accumulator and provides a count-in signal 57 responsive thereto to computer or data processing unit 80. The product count-out sensor 54 counts each product as it leaves the accumulator and provides a count-out signal 59 responsive thereto to the data processing unit. High level sensor 56 senses whether the continuous accumulation has reached the accumulator inlet and provides a high level signal 53 responsive thereto to data processing unit 80. Low level sensor 58 senses whether the continuous fill level has fallen below the accumulator exit and provides a signal 55 responsive thereto to the data processing unit 80. As products flow through the accumulator from the upstream machine to the downstream machine an accumulation of relatively tightly packed continuously touching products, the continuous accumulation 62, may be provided adjacent the downstream machine product inlet 24. The speed of movement of the products in the continuous accumulation 62 is dependent upon the speed of the downstream machine 22. Products passing from the upstream machine into the accumulator prior to entering the continuous accumulation 62 have a speed through the accumulator which is dependent only upon the characteristics of the accumulator. For example in the embodiment illustrated in FIG. 1 the speed of the products in the loosely packed floating accumulation 64 is dependent upon the speed of conveyor 33 and in the case of the free fall track accumulator 35 illustrated in FIG. 6 the product speed in the floating accumulation 64 is the free fall velocity of the product within track 35. The position of the high level sensor 56 and the low level sensor 58 define the length of an accumulator model which is used by the data processing unit 80 in performing the functions necessary for machine motor control. It will be appreciated by those having skill in the art after reading this application that the accumulator model definition provided by the spacing of the high and low level sensors 56, 58 need not conform exactly with the length of the associated physical accumulator assembly. However, in a preferred embodiment the actual physical length of the accumulator and the computer accumulator model definition are identical. 
     In operation a product 11 entering accumulator 32 from the upstream machine 12 is sensed by count-in sensor 52 which provides a count-in sensor signal 53 to data processing unit 80. The processing unit 80 increments the computer model in response to sensor signal 53. The product 11 thereafer moves through the accumulator loosely packed region 64 at a speed dependent upon the particular characteristics of the accumulator until reaching the accumulator tightly packed area 62. Upon reaching the tightly packed area 62 the speed of the product is determined by the rate at which the downstream machine 22 is operating. The computer accumulator model shifts data corresponding to the unit product therethrough in a manner which simulates the physical movement of unit products through the accumulator. As the unit product leaves the tightly packed region 62 and enters the downstream machine product inlet portion 24 it is counted by count-out sensor 54 which provides a signal 55 responsive thereto to computer 80. The accumulator model is decremented in response to signal 55. The relative length of the tightly packed accumulation area 62 within the accumulator 32 will vary depending upon the rate of products entering and leaving the accumulator and on the accumulator transfer characteristics e.g. the speed at which conveyor belt 33 is operating or the free fall velocity characteristics of free fall track 35. In the case of a variable speed conveyor such as illustrated in FIG. 1 a signal 41 indicative of the accumulator speed is sent by the accumulator speed sensing device 40 to the data processing unit 80. The accumulator model takes all of these variables into account. If the continuous accumulation area 62 extends to the high level sensor 56 a high level sensor signal 57 is provided to the data processing unit 80. If the tightly packed accumulation level falls below the low level sensor 58 then a low level sensor signal 59 is sent to the data processing unit 80. Using the information provided by signals 53, 55, 57, and 59 and in some cases 41 data processing unit 80 computes a value representative of the number of unit products in the continuous accumulation area 62 at periodic intervals and using this computed value generates a control signal for controlling the speed of upstream machine motor 18 and/or downstream machine motor 28 to provide a proper flow of unit products through the accumulator. A proper flow of unit products is one in which a sufficient continuous accumulation is provided to allow continuous product feed to the downstream machine without creating an excessive product accumulation. 
     Having thus described the basic mechanical and sensing device components of the present invention the associated computer software will now be described. The basic functions of the computer software are illustrated in FIG. 2. The computer software provides an accumulator model 200 which periodically moves data therethrough in a manner simulating the movement of unit products through the physical accumulator. Data is added to the accumulator model based on parts entering the physical accumulator as represented generally at 202. Data is also subtracted from the accumulator model 200 based on the exiting of parts from the physical accumulator as illustrated at 204. From these three primary functions: data addition to the accumulator model, data subtraction from the accumulator model, and data shifting and transfer within the accumulator model a continuous-fill accumulation value is computed which predicts the number of unit products in the continuous accumulation area 62 of the physical accumulator 32. From this computed continuous-fill accumulation value a conventional control algorithm 206 is used to calculate the relative speed difference between the upstream machine and the downstream machine needed to maintain proper operating conditions in the system and a control signal responsive thereto is provided to the appropriate machine motor or motors to maintain such control. Control may be maintained by increasing or decreasing speed of the upstream machine motor 18 or the downstream machine motor 28 or by appropriately adjusting the speed of both the upstream and downstream machine motors. Algorithms for controlling machine speed operation in this manner are conventional and well-known in the art. In addition to these primary functions 200, 202, 204 used for computing the continuous-fill-accumulation value, data entry functions 208, 210 may also be provided through the high and low level sensors 56, 58 to correct data values within the accumulation model 200. This function is most important at system start up when no previous data values or incorrect data values from the previous operation may be present in the accumulator model 200. After the system has been operational for a short period of time such data correction input is generally unnecessary but may be used to confirm proper operation of the system and may be used to overridingly shut the system down in the event that the sensed tightly packed area falls below the low level sensor or exceeds the high level sensor. 
     The software and certain data values for performing the functions illustrated in FIG. 2 is shown schematically in FIGS. 3-5. In FIGS. 3-5 the various software tasks and data values are briefly described and indicated with reference numerals and are also given names which correspond to the names used in the attached software appendix. The accumulator model protected region 100 comprises a variable data array (FLOAT$ACC) 101 which may be a conventional single dimension data array which is used to track a numeric representation of unit products through the physical accumulator. The data array consists of a finite number of serially arranged elements e.g. elements 1 through 42 as illustrated in FIGS. 1, 3 and 6. Each element is the data array corresponds to a physical portion of the accumulator. In FIGS. 1 and 6 it is shown that the first element of the data array corresponds to the last physical element i.e. the exit of the accumulator and the last element of the data array corresponds to the first physical element i.e. the entrance of the accumulator. Data moves through the variable data array 101 from the last element to the first element. Of course the designation &#34;first&#34; and &#34;last&#34; element is arbitrary i.e., the &#34;first&#34; element of the data array could be made to correspond with the entrance portion of the physical accumulator. However, the present naming convention has been used to conform with an embodiment of the invention software illustrated in the software appendix of the application which forms a part hereof. The method of calculating the number of elements required for the data array is described in detail hereinafter. 
     The accumulator model protected region 100 also comprises a continuous-fill-accumulation variable data element (CONT$FILL$LEVEL) 102 which stores the numeric representation of the continuous accumulation 62 in the physical accumulator. Data is transferred from data array 101 to data element 102 during each system iteration. 
     The accumulator model protected region 100 also comprises a data element (MAX$NUMBER$ELEMENTS) 110 which stores a value equal to the total number of elements in data array 101. 
     The software task which detects the count-in signal 53 from the count-in sensor and adds data to the accumulator model protected region is represented as task (COUNTN) 103. This task increments the last element of the data array 101 each time a count-in signal is detected. Count-out task (COUNTO) 104 detects each count-out signal and updates the system responsive thereto by decrementing the continuous-fill accumulation value in data element 102 each time the count-out signal from sensor 58 is detected. Task (SPDREG) 105 is the software task which maintains the model of the physical accumulator and computes the required machine speed control action for the upstream and/or downstream machine in response thereto. This task also updates the accumulator model region 100 at periodic intervals which may be time-based in the case of constant velocity or free fall type accumulator such as illustrated in FIG. 6 or which may be variable speed-based in the case of variable speed accumulators such as illustrated in FIG. 1. System interface software task (ALGOUT) 106 translates the control action computed by task 105 to an acceptable format for controlling the applicable machine motor or motors. In addition to the region protected values in the accumulator model region 100, a number of non-region protected constant values which are dependent upon the particular accumulator used must also be input into the computer 80. These values are illustrated in FIG. 4 and include the maximum possible tightly packed product accumulation between the high and low level sensors (MAX$FILL) 107. (MAX$FILL) 107 is used only in the case of a free fall or constant velocity accumulator model. The total elapsed time for product to move unobstructed from the high level sensor to the low level sensor (TRANSIT$TIME) 108 is also required for a free fall or constant velocity computer as is the update interval (UPDATE$INTERVAL) 109 for shifting data through the data array 101 and transferring data to the continuous-fill accumulation element 102. A required constant value for all accumulators indicated as (ACCUMULATION$LENGTH) 115 is the physical length of the accumulator to be modeled. In the case of a variable speed accumulator the resolution in pulses-per-unit length of the accumulator provided by the accumulator speed sensing device such as 40 is required and is indicated as (PULSES$PER$UNIT$LENGTH) 116. 
     A number of variable values which are dependent upon a particular accumulator which are not provided in the model region 100 are also require as indicated in FIG. 5. These variables include the number of elements in the data array 101 to have data therein transferred to the continuous-fill accumulation variable data element 102 which is indicated as (NUMBER$ELEMENTS$TRANSFER) 111; the status of the accumulator high level sensor 56 on a previous iteration of the model update 105 as indicated as (OLD$ACCUMULATOR$LEVEL$HIGH) 119; the status of the accumulator low level sensor 58 on a previous iteration of the model update 105 as indicated as (OLD$ACCUMULATOR$LEVEL$LOW) 120; the status of the accumulator high level sensor 56 on a current iteration of the model update 105 as indicated as (ACCUMULATOR$LEVEL$HIGH) 121; and the status of the accumulator low level sensor 58 on a previous iteration of the model update 105 as indicated as (ACCUMULATOR$LEVEL$LOW) 122. 
     Thus an accumulator modeling means comprising the software tasks and data storage elements illustrated in FIGS. 3-5 is provided which predicts the continuous accumulation 62 in the accumulator 32 at frequent intervals. A conventional speed control algorithm is them applied to each predicted continuous accumulation value by machine speed control means, indicated generally as 206 in FIG. 2, which generate a signal used to control the upstream and/or downstream machines 12, 22. 
     Having thus described the basic components of the system&#39;s software the method of calculating certain software values will now be described. With respect to the number of elements in the variable data array in the case of a free fall or constant velocity accumulator model, the number of elements indicated at 110 to be used in the variable data array 101 is calculated by dividing the product transit time indicated as constant value 108 in FIG. 4 by the update interval indicated at 109 in FIG. 4. In the case of a variable speed accumulator having a pulsed speed indicating signal such as provided by a motor tachometer or encoder, the number of elements in the data array is computed by multiplying the accumulator length indicated at 115 in FIG. 4 by the pulses-per-unit length of the speed indicating signal indicated at 116 in FIG. 4. The computed number of elements transferred from the variable data array 101 to the continuous-fill-accumulation variable data element 102 in any system iteration is equal to the present value of the continuous-fill accumulation data element 102 multiplied by the number of elements in the data array 101 divided by the maximum possible number of products in the accumulator which may be expressed: [NUMBER$ELEMENTS$TRANSFER (111)]=[CONT$FILL$LEVEL (102)]times [MAX$NUMBER$ELEMENTS (110]divided by [MAX$FILL (107)]. 
     Having thus described the basic mechanical and software components of the system, operation of the system will now be described. The system is started by initializing the system as indicated in task (INITIAL) 112. This initialization function is the setting of the accumulator constant parameters to the appropriate values and also the setting of the variable data values in region 100 to zero. The constant variables may be set into permanent memory at the time of program calculation or alternately might be set using a conventional keyboard into non-permanent memory for use as long as the system is powered. The following information about the particular accumulator to be employed is placed into memory for the measuring system tasks to use: 
     In the case of a free fall or constant velocity type accumulator model (a time-driven model), the transit time 108, the update interval 109, and the maximum number of parts that can be stored in the accumulator between the high level sensor and the low level sensor 107 are placed into memory. 
     In the case of a variable speed accumulator (an accumulator position/variable speed driven model) the accumulator length 115 and the speed indicating device resolution in pulses-per-unit length 116 are put into memory. 
     Next, all of the elements of the variable data array 101 and the continuous accumulation variable data element 102 are set to zero. The system is now ready for operation. 
     As a unit part 11 enters the accumulator from the upstream machine outlet 16 it is sensed by the count-in sensor 52 which generates an electronic pulse in response thereto. The electronic pulse is detected by software task 103 which increments the last element 113 of the data array which is indicated in FIGS. 1, 3 and 6 as upstream most element 42. 
     As a unit product 11 leaves the accumulator it passes past count-out sensor 54 which generates an electrical pulse in response thereto which is detected by software task 104. Task 104 upon detecting the count-out signal decrements the variable data element 102 by one in response thereto if the value of element 102 is greater than zero. 
     Movement of data through variable data array 101 is controlled by task 105. Task 105 may be run on a regular periodic time basis if the accumulator has a free fall or constant velocity product movement therethrough as illustrated in FIG. 6. The regular periodic running of the task 105 in such a case provides a clocking method for tracking the part movement through a free fall or constant velocity accumulator. Optionally, task 105 may be run based on an accumulator position signal i.e. a variable speed-based signal from a speed sensing device such as 40 illustrated in FIG. 1. In either situation, the running of task 105 corresponds to part movement through the accumulator. Each time task 105 runs the continuous-accumulation variable data element 102 is updated and used to determine the number of data elements from the variable data array 101 that are to have data therefrom summed and transferred to element 102. The number of data elements in data array 101 to have their data transferred to element 102 is represented in FIG. 3 as those elements included in bracket 111 and, as explained above, is equal to the present value of continuous-accumulation variable data element 102 multiplied by the total number of elements in the data array divided by the maximum number of tightly packed product accumulation possible between high and low level sensors which is indicated as data element 107. The embodiment of FIG. 3 shows a situation in which the value of constant 107 and 111 are equal and in which case the number of elements to be transferred is simply equal to the value of the continuous-fill-accumulation 102. Thus in this embodiment the continuous-fill-accumulation element 102 is updated by adding all values from the first element of the data array 101 through the element in the data array equal to the present value of the continuous-fill-level 102, which is &#34;5&#34; in this example. Once the data is transferred from the data array elements shown bracketed at 111 to the continuous fill level element 102, the values of the elements shown bracketed at 111 are set to zero and the remaining elements in the data array have their values moved one position through the data array, i.e. the values are transferred from each element in the data array to the next lower element in the data array. 
     Once the transfer of data to element 102 is completed, the value of element 102 is checked against the accumulator low level sensor 58 and the accumulator high level sensor 56. This is done to correct for initial start up conditions when the computer is first turned on and the part accumulation in the accumulator is unknown. It also acts as a check on the computations being done to model the process. 
     The present value of the high level sensor signal 121 is compared against the previous value of the high level sensor 119 for an indication of the continuous accumulation value 102 reaching the value associated with the high accumulation sensor signal. If the continuous accumulation value 102 is within a reasonable value of the high level sensor value, no adjustment of the continuous accumulation value 102 is made. If value 102 is not within the prescribed limits, then it is reset to the value associated with the maximum tightly packed accumulation value 107. If both the present values of the high level sensor and the low level sensor indicate parts in accumulator and the continuous accumulation value 102 is not within a prescribed tolerance of the value 107, then the value 102 is set to the maximum tightly packed accumulation value 107. A further check is performed against the present value of the low level sensor to verify if there are any parts at all in the accumulator. If the low level sensor indicates that there are no parts, then the value 102 is set to zero indicating no parts in the accumulator. The present value of the high level sensor and the low level sensor are thereafter stored in the previous iteration storage positions 119 and 120, respectively, for use on the next iteration of task 105. At the end of each iteration of task 105 the computed value stored in continuous-fill accumulation element 102 is used to compute a control signal for controlling the speed of the upstream and/or downstream motors 18, 28. In the example illustrated in the attached appendix software, a simple proportional control algorithm is applied to the downstream machine motor to affect control of the accumulator level. Such control algorithms are well-known in the industry and may comprise proportional, derivative, and integral control algorithms. The control algorithm applied computes an appropriate machine speed to satisfy a predetermined control strategy and then translates the machine speed to a value acceptable to a conventional signal conversional module to provide the proper signal to the variable speed motor 28 connected to the downstream machine 22. In the appendix softward provided the appropriate downstream machine speed is computed based on the value in element 102 on every iteration of the task 105. The larger the value of the data variable in 102, the higher the required downstream machine speed. The frequency of running task 105 determines the information update interval for control of the downstream machine. 
     Program printouts for performing the various software tasks described herein are provided in the attached appendix. Names of the various tasks and data values used in the appendix correspond to the names given in this section of the application. All information in the appendix comprises a part of the disclosure of the present invention. 
     The various physical devices which form components of the processing system of the present invention are well known in the art and may be any of a number of commercially available products. 
     The inventory measuring and control system described may be implemented in software using a general purpose microcomputer system with analog output capability such as model SBC 86/30 in combination with model iSBX328 manufactured by Intel Corporation of 3200 Lakeside Drive, Santa Clara, Calif. 95051, using a software operating system such as Model RMX/86 manufactured by Intel Corporation. The interface of such software with such a computer and conventional hardware will be obvious to any person with ordinary skill in the art after reading this disclosure. The implementation of the invention disclosed in the attached software appendix may be performed using the above listed software and microcomputer. 
     It is contemplated that the inventive concepts herein described may be variously otherwise embodied and it is intended that the appended claims be construed to include the alternative embodiments of the invention except insofar as limited by the prior art. ##SPC1##