The invention relates generally to power-driven conveyors and in particular to controlling conveyor speed upstream of a processing station to maximize throughput.
In many package-handling applications, packages on a conveyor have to be sorted, weighed, or scanned. And in many of those cases, the packages must be sorted, weighed, scanned, or otherwise processed individually. So packages are commonly conveyed in single file separated by interpackage gaps. Gapping conveyors are used to deliver packages either with a fixed gap length or at a fixed pitch to the downstream processing conveyor feeding the sorter, scale, or scanner. The processing conveyor is generally run at a constant speed determined by the processing speed of the sorter, scale, or scanner. If the speed of the infeed conveyor or other conveyors upstream of the gapper is too high, packages accumulate and the gapping conveyor has to be stopped. Because of latency in stopping and restarting, throughput is compromised. If, on the other hand, the speed of the infeed conveyor is too low, the rate of delivering packages is below the capacity of the processing station.
One version of a conveyor system embodying features of the invention comprises an infeed conveyor conveying packages at an infeed speed and a separation conveyor receiving the packages from the infeed conveyor and conveying the packages in a conveying direction at a separation speed greater than the infeed speed to separate consecutive packages across gaps. A sensor detects the lengths of the packages in the conveying direction at a sensing position on the separation conveyor and produces a sensor signal indicative of the lengths of the packages and the gaps. A gapping conveyor receives the packages from the separation conveyor and spaces the packages with a fixed gap length or with a fixed pitch. A processing conveyor receives the packages from the gapping conveyor and delivers the packages at a processing speed to a processing station. A controller receives the sensor signal to compute the lengths of the packages and the gaps on the separation conveyor and makes a speed adjustment to the infeed speed as a function of the lengths of the packages and the gaps.
In another aspect a method of controlling the supply of packages to a processing station, comprises: (a) conveying packages in a single file at an infeed speed; (b) separating the packages across interpackage gaps by accelerating the packages to a separation speed higher than the infeed speed on a separation conveyor; (c) measuring the lengths in a conveying direction of separated packages and the interpackage gaps leading or trailing the packages; (d) computing a string length of a string of a predetermined number of consecutive separated packages and interpackage gaps from the measured lengths; and (e) adjusting the infeed speed as a function of the computed string length.
These features and aspects of the invention, as well as its advantages, are described in more detail in the following description, appended claims, and accompanying drawings, in which:
One version of a conveyor system embodying features of the invention is shown in
A sensor, such as a photo-eye 24 and reflector 25 or a light curtain, is used to detect the lengths of packages and interpackage gaps G on the separation conveyor 14 at a sensing position 27. The sensing position 27 is far enough downstream of the infeed conveyor 10 that packages being measured have cleared the infeed conveyor and are being conveyed in the conveying direction 12 at the separation conveyor's speed Y. For the optical sensor described, the sensor's light beam is blocked by the passing package. The duration of the blocked beam is proportional to the length L of the package measured in the conveying direction 12. And the time during which the light beam is not blocked is proportional to the length of an interpackage gap G.
The nominal speed Z of the processing conveyor 20 is set to maximize throughput as limited by the capacity of the processing station 22. And the nominal speed X of the infeed conveyor 10 is set to match the rate of product delivery by the processing conveyor 20. For a given fixed gap g between products on the processing conveyor 20, the nominal infeed speed X is set to maximize throughput. If packages on the infeed conveyor 10 are abutting without intervening gaps, the nominal infeed speed X would be set to Z·L/(L+g). For example, if the processing conveyor runs at Z=100 ft/min and requires fixed gaps of g=0.5 ft and all the package lengths L=0.5 ft, the nominal infeed speed X=50 ft/min. If all the package lengths L=1.5 ft and 0.5 ft gaps are required, the nominal infeed speed X=75 ft/min for a fixed processing speed Z=100 ft/min. Because package lengths can vary, the speed X of the infeed conveyor 10 is changed dynamically to maintain maximum throughput by feeding packages at the required rate.
A similar conveyor system is shown in
The conveyor systems shown in
Although there are many ways to implement the control program stored in the program memory and executed by the controller, the following example of one realization of the control program is provided to explain the operation of the conveyor system. Whenever a low-to-high or a high-to-low transition in the sensor output signal 33 is detected on the controller's edge-detecting input 34 (
The interrupt service routine's rising-edge program steps G also bid a speed control task to run to adjust the speed Z of the infeed conveyor. The speed Z is adjusted depending on the length of the separation conveyor spanned by a string of N consecutive packages and the N gaps trailing (or leading) each of those packages. The predetermined number N of packages in the string is set by the number of packages that the gapping conveyor can handle at one time; i.e., the gapper's package capacity. In this example, N=4.
For a controller that does not have an edge-sensitive input 34 (
A flowchart describing the operation of the G and L program paths in an interrupt service routine that runs on either a rising edge or a falling edge of the sensor signal is shown in
The speed adjustment task, bid by the interrupt service routine and shown in the flowchart of
If, at the start of the task, the gap flag is set, the task follows path M and clears the gap flag at step 74. At step 76, the task stores the stopped count (GAPCOUNT) of the gap timer in a circular buffer G(i), where i is an index into a buffer of N locations. After incrementing the index i at step 78, the routine resets the index i to 1 if it exceeds N at step 80. The count GAPCOUNT of the gap timer is reset to zero at step 82 to prepare for measuring the next gap. Then the length (STRING_LENGTH) of the string of the previous N packages and the gaps following each are computed at step 84 by adding the contents of both circular buffers G(i), L(j). Thus, STRING_LENGTH is a running sum of a string of N package lengths and N gap lengths recomputed for the N most recent packages as each new package is measured. In other words the STRING_LENGTH computation in this example is realized by a finite impulse response (FIR) digital filter with equal coefficients for all the gap and package lengths. The string length is inversely proportional to the speed X of the infeed conveyor.
If the separation speed Y equals the processing speed Z, the string length (STRING_LENGTH) of the package string of N consecutive packages and their trailing gaps G on the separation conveyor is compared directly to the string length (PROC_LENGTH) of a string of N packages and their trailing gaps g on the processing conveyor. (If the speeds Y and Z are not equal, STRING_LENGTH is scaled by the factor Z/Y, the ratio of the processing speed to the separation speed, before being compared to PROC_LENGTH. Or, equivalently, PROC_LENGTH can be scaled by the reciprocal factor Y/Z.) The difference (step 86) in lengths (DELTA_LENGTH) represents a difference in speeds. The percent difference in the lengths (DELTA_LENGTH/PROC_LENGTH) spanned by the string of N packages on the separation conveyor and the same string on the processing conveyor relative to the length of the string of N packages on the processing conveyor is computed in step 88 and is used to determine a dynamic adjustment (SPEED_ADJUSTMENT) of, for example, that same length-difference percentage to the infeed conveyor's speed. The speed adjustment (SPEED_ADJUSTMENT), if down, is further lowered by an optional safety factor (SAFETY_FACTOR). If the speed adjustment is upward, it is decreased by an optional safety factor, which may be the same as or different from the safety factor for a slowdown. The speed of the infeed conveyor is sped up or down accordingly in step 90 by a motor speed signal sent over the controller's control output 36 (
The embodiments described in detail are used as examples for descriptive purposes. Alternatives exist. For example, the sensor used to measure package and gap lengths could be a proximity switch, a weight sensor, a visioning system, or any sensor capable of detecting package and gap lengths. As another example, the control program is described as adjusting the infeed speed by an amount equal to the length-difference percentage between packages on the separation conveyor and the processing conveyor plus or minus a predetermined safety factor. But other functional relationships between the speed adjustment and the lengths of the packages and the interpackage gaps are possible. For example, different safety factors could be used for different adjustment magnitudes or different safety factors could be used for speedups and slowdowns. Or the percentage speed adjustment could be less or more than the length-difference percentage. As another example, instead of recomputing the running sum as each new package is entered, the sum could be recomputed with every other new package or with the next group of N packages. Or as another alternative, the FIR filter used to compute STRING_LENGTH could be replaced with a recursive, or infinite impulse response (IIR), digital filter that computes a STRING_LENGTH from a previous STRING_LENGTH output as an input along with the new package and gap lengths appropriately weighted. For example, the IIR filter could be implemented as a lowpass filter in the speed adjust task by the recursion equation: STRING_LENGTHi=Aα[L(i)+G(i)]+(1−α)STRING_LENGTHi-1, where 0<α<1 and A is a constant equal to a string length N.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2017/029511 | 4/26/2017 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2017/200723 | 11/23/2017 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4227607 | Malavenda | Oct 1980 | A |
5267638 | Doane | Dec 1993 | A |
5308930 | Tokutu et al. | May 1994 | A |
5479352 | Smith | Dec 1995 | A |
6513641 | Affaticati | Feb 2003 | B1 |
6629593 | Zeitler | Oct 2003 | B2 |
6751524 | Neary | Jun 2004 | B2 |
7413071 | Zeitler et al. | Aug 2008 | B2 |
8408380 | Doane | Apr 2013 | B2 |
8855806 | Hara | Oct 2014 | B2 |
9280756 | Hara | Mar 2016 | B2 |
9771222 | Schroader | Sep 2017 | B2 |
9776215 | Wargo | Oct 2017 | B2 |
10226795 | Schroader | Mar 2019 | B2 |
20070144868 | Zeitler et al. | Jun 2007 | A1 |
20110196877 | Sakagami et al. | Aug 2011 | A1 |
Number | Date | Country |
---|---|---|
H092648 | Jan 1997 | JP |
2015089842 | May 2015 | JP |
0066280 | Nov 2000 | WO |
Entry |
---|
Extended European Search Report, European Application No. 17799848.1, dated Mar. 6, 2020. European Patent Office, Munich Germany. |
Number | Date | Country | |
---|---|---|---|
20200109011 A1 | Apr 2020 | US |
Number | Date | Country | |
---|---|---|---|
62339245 | May 2016 | US |