US20230348201A1 - Conveyor controllers - Google Patents
Conveyor controllers Download PDFInfo
- Publication number
- US20230348201A1 US20230348201A1 US18/345,247 US202318345247A US2023348201A1 US 20230348201 A1 US20230348201 A1 US 20230348201A1 US 202318345247 A US202318345247 A US 202318345247A US 2023348201 A1 US2023348201 A1 US 2023348201A1
- Authority
- US
- United States
- Prior art keywords
- controller
- conveyor
- conveyor controller
- block
- control circuitry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 80
- 230000004044 response Effects 0.000 claims description 33
- 238000012790 confirmation Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 40
- 238000011144 upstream manufacturing Methods 0.000 description 33
- 238000004804 winding Methods 0.000 description 13
- 206010000210 abortion Diseases 0.000 description 8
- 239000003999 initiator Substances 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
- B65G43/10—Sequence control of conveyors operating in combination
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G13/00—Roller-ways
- B65G13/02—Roller-ways having driven rollers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G23/00—Driving gear for endless conveyors; Belt- or chain-tensioning arrangements
- B65G23/02—Belt- or chain-engaging elements
- B65G23/04—Drums, rollers, or wheels
- B65G23/08—Drums, rollers, or wheels with self-contained driving mechanisms, e.g. motors and associated gearing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4189—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/22—Devices influencing the relative position or the attitude of articles during transit by conveyors
- B65G47/26—Devices influencing the relative position or the attitude of articles during transit by conveyors arranging the articles, e.g. varying spacing between individual articles
- B65G47/261—Accumulating articles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25081—Clone, copy configuration from first device, in teach mode, to second identical device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- the present invention relates controlling conveyor systems with networked conveyor controllers.
- Conveyors are used in a number of applications to convey an article from a first point to a second point.
- conventional conveyors can include roller conveyors, which include a plurality of motorized and non-motorized rollers, as well as belt conveyors, which include belts that are driven by one or more motorized rollers.
- a controller such as a computer.
- the controller generally controls the motorized rollers or motors that operate the belt of the conveyor to move an article along the conveyor.
- the controller also attempts to keep track of whether an article is being conveyed by monitoring sensors, such as photo-eyes, configured on the conveyor.
- conventional controllers for conveyor systems often lack the capability for advanced control of feedback. For example, conventional controllers are able to determine whether an article is sensed by a photo-eye but unable to discern any additional information about that article. Moreover, conventional controllers are often unable to track differently sized articles as they move through various portions of the conveyor. This, in turn, can result in a jam situation or result in collisions between articles. In any event, information about the article itself is often unknown or indeterminable.
- a conveyor typically includes multiple controllers. But each controller of the conveyor must be programmed to work with the other controllers.
- Conventional programming of multiple controllers has often involved programming each individually then attempting to operate them together. But this conventional programming is time consuming and laborious, often involving dip-switch setting and complex algorithmic management to implement even a simple run of a conveyor (e.g., a “linear” conveyor without any diverts or mergers).
- some conventional controllers may require that each controller for a conveyor is reprogrammed if even one is replaced.
- all conventional controllers need not be reprogrammed simply to replace one, conventional replacement of a controller often involves programming that replacement controller ahead of time. This can be a laborious process, as the exact configuration of a previous controller may not be available, requiring the configuration to be recreated from scratch.
- Embodiments of the invention include various methods, apparatuses, and program products that are used to control at least a portion of a conveyor, determine information about an article conveyed by the conveyor, or otherwise operate a conveyor.
- a method includes detecting whether a second conveyor controller is connected to the first conveyor controller and, in response to detecting that there is a second conveyor controller connected to the first conveyor controller, identifying whether the second conveyor controller is connected to a predetermined network interface of the first conveyor controller.
- the method further includes configuring the first conveyor controller to rotate a motorized roller in a first predetermined direction if a second conveyor controller is connected to the predetermined network interface and configuring the first conveyor controller to rotate the motorized roller in a second predetermined direction if a second conveyor controller is not connected to the predetermined network interface.
- a method in response to receiving first configuration data from a first conveyor controller at a second conveyor controller, detecting whether a third conveyor controller is connected to the second conveyor controller. The method further includes, transmitting a configuration message to a third conveyor controller that includes second configuration data associated with the second conveyor controller if the third conveyor controller is connected to the second conveyor controller and determining that the second conveyor controller is a final conveyor controller of a linear conveyor if the third conveyor controller is not connected to the second conveyor controller.
- a method includes receiving and storing configuration data associated with a second conveyor controller connected to the first conveyor controller and, in response to a first request for data from a third conveyor controller intended to replace the second conveyor controller, transmitting the configuration data to the third conveyor controller.
- a method in response to user input to a first conveyor controller to automatically configure the first conveyor controller, requesting configuration data from a second conveyor controller connected to the first conveyor controller and, in response to receiving the configuration data, storing the configuration data in the first conveyor controller.
- a method in another embodiment, includes monitoring a motorized roller for at least partial rotation thereof and, in response to detecting the at least partial rotation of the motorized roller, determining a length of time for the at least partial rotation. The method further includes, in response to determining that the length of time is greater than a target time, activating the motorized roller.
- An additional embodiment includes a method that in turn includes, in response to a determination to prevent rotation of a motorized roller, identifying a rotational position associated with the motorized roller when the motorized roller is stopped and, in response to an external force on the motorized roller, applying a voltage signal to the motorized roller to maintain the roller at the identified rotational position.
- Another embodiment includes a method that in turn includes detecting a photo-eye sensor connected to the conveyor controller, including whether the photo-eye sensor is light-operated or dark-operated, detecting a motorized roller connected to the conveyor controller, including information about the motorized roller, and automatically configuring at least one of a speed to operate the motorized roller, a rate at which to accelerate the motorized roller, a rate at which to decelerate the motorized roller, or combinations thereof.
- a method includes querying a motorized roller for data associated therewith, in response to receiving the data, analyzing the data to determine an operational characteristic associated with the motorized roller, and controlling the motorized roller based at least in part upon the determined operational characteristic.
- a still further additional embodiment includes a method that in turn includes operating a motorized roller to rotate in a first direction corresponding to a direction of travel and, in response to detecting that a jam has occurred, operating the motorized roller to rotate in a second direction opposite the first direction.
- Yet another embodiment is a method that includes sensing a current of a signal used to operate a motorized roller and determining a weight associated with the article based upon the sensed current.
- a still further embodiment is a method that includes determining a time during which a photo-eye detects an article as the article is conveyed along the at least a portion of the conveyor and determining a length associated with the article based upon the determined time.
- Yet another embodiment is a method that includes determining a rate of rotation associated with a motorized roller, connecting a first voltage signal generated by the rotation of the motorized roller to a power supply of the conveyor controller to supply the power supply with energy generated by the motorized roller if the rotation of the motorized roller does not exceed a target speed, and supplying a second voltage signal to the motorized roller to reduce the rate of rotation thereof if the rotation of the motorized roller exceeds the target speed.
- a method in another embodiment, includes determining whether a current through a motorized roller is associated with a low level to indicate that the motorized roller is conveying a first article, in response to determining that the motorized roller is conveying the first article, determining whether the current through the motorized roller is associated with a high level to indicate that the first article has encountered a second article, and, in response to determining that the first article has jammed or encountered a second article, conveying the first and second articles simultaneously and without substantial gap therebetween during such conveyance.
- a still further embodiment is a method of controlling at least a portion of a conveyor with a conveyor controller in a conveyor system having at least one downstream conveyor controller and at least one upstream conveyor controller to the conveyor controller.
- the method includes sending a message to the downstream conveyor controller to request data to determine whether at least a portion of the conveyor controlled thereby is occupied by an article. If the at least a portion of the conveyor controlled by the downstream conveyor controller is not occupied by an article, the method includes operating a motorized roller to convey an incoming article at a target speed. However, if the at least a portion of the conveyor controlled by the downstream conveyor controller is occupied by an article, the method includes operating the motorized roller to convey an incoming article at an adjusted target speed that is slower than the target speed
- FIG. 1 is a perspective illustration of a portion of a conveyor system that uses one or more modular conveyor controllers consistent with embodiments of the invention
- FIG. 2 is a diagrammatic illustration of a controller of FIG. 1 ;
- FIG. 3 is a diagrammatic illustration of a computer connected to the controllers of FIG. 1 ;
- FIG. 4 is a partial cut-away perspective view of a motorized roller of the conveyor system of FIG. 1 ;
- FIG. 5 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . during the automatic configuration thereof;
- FIG. 6 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . during the automatic configuration thereof when such controller is a downstream controller;
- FIG. 7 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to abort the automatic configuration thereof;
- FIG. 8 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to automatically configure itself as the first controller of a linear conveyor;
- FIG. 9 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to detect characteristics of at least a portion of the conveyor system to which it is configured;
- FIG. 10 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to determine which direction to rotate and adjust its operations accordingly;
- FIG. 11 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to detect and accumulate an article being transported based on the current to a motorized roller connected thereto;
- FIG. 12 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to stop a motorized roller using a servo-lock method;
- FIG. 13 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to initiate an automatic replacement procedure;
- FIG. 14 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to automatically recover a network address of a previous controller during an automatic replacement procedure;
- FIG. 15 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to operate in a “touch-and-go” mode;
- FIG. 16 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to operate in a “look-ahead-slow-down” mode;
- FIG. 17 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to determine whether a downstream zone is being operated at a target speed;
- FIG. 18 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to initiate a jam clearing procedure;
- FIG. 19 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to clear a jam;
- FIG. 20 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 . to reduce the rotational speed of a motorized roller;
- FIG. 21 is a flowchart illustrating a sequence of operations that may be performed by the controller of FIG. 1 to determine an operational characteristic of a motorized roller and, optionally, control that motorized roller based upon that operational characteristic.
- FIG. 1 is a perspective illustration of a portion of a conveyor system 10 that uses one or more modular conveyor controllers 12 a - c consistent with embodiments of the invention.
- the illustrated portion of the conveyor system 10 includes a conveyor assembly 14 which in turn includes a conveyor belt 16 that has motorized rollers 18 interspersed with non-motorized rollers 20 .
- the conveyor assembly 14 further includes a plurality of sensors 22 and a power supply unit 24 .
- the sensors 22 are configured to detect the presence or absence of an article 23 conveyed on the conveyor assembly 14
- the power supply unit 24 is configured to provide power to one or more modular conveyor controllers 12 , the motorized rollers 18 , and/or the sensors 22 .
- each modular conveyor controller 12 interfaces with and/or controls up to two motorized rollers 18 and up to two sensors 22 .
- each controller 12 may be configured to control one or more respective “zones” of the conveyor assembly 14 (e.g., a respective area of the conveyor assembly 14 ).
- Each zone may include one or more motorized rollers 18 and one or more sensors 22 .
- each controller 12 a - c is configured to control two zones. More specifically, controller 12 a is configured to control zones A 1 and A 2 , controller 12 b is configured to control zones B 1 and B 2 , and controller 12 c is configured to control zones C 1 and C 2 .
- each sensor 22 may be an optical sensor, such as an IR sensor that is configured to detect the presence of an article 23 on the conveyor assembly 14 .
- one or more controllers 12 are configured to move an article 23 in a downstream direction 26 along the conveyor system 10 .
- FIG. 2 is a diagrammatic illustration of a hardware and software environment of a controller 12 consistent with embodiments of the invention.
- the controller 12 includes at least one central processing unit (“CPU”) 40 coupled to a memory 42 .
- CPU central processing unit
- Each CPU 40 is typically implemented in hardware using circuit logic disposed in one or more physical integrated circuit devices, or chips, and may be comprised of one or more microprocessors, micro-controllers, field programmable gate arrays (“FPGAs”), or ASICs.
- FPGAs field programmable gate arrays
- Memory 42 may include random access memory (“RAM”), dynamic random access memory (“DRAM”), static random access memory (“SRAM”), flash memory, electronically erasable programmable read-only memory (“EEPROM”) and/or another digital storage medium, and is also typically implemented using circuit logic disposed on one or more physical integrated circuit devices, or chips.
- memory 42 may be considered to include memory storage physically located elsewhere in the controller 12 , e.g., any cache memory in the a CPU 40 , as well as any storage capacity used as a virtual memory, e.g., as stored on a computing system 90 ( FIG. 2 ) or another controller 12 coupled to the controller 12 through at least one network interface 44 a , 44 b (illustrated as “Network A Interface” 44 a and “Network B Interface 44 b ).
- the controller 12 is configured to couple to up to two motorized rollers 18 through respective motor interfaces 46 a , 46 b (illustrated as “Motor A Interface” 46 a and “Motor B Interface” 46 b ).
- the CPU 40 is configured to control the motors (not shown) of the motorized rollers 18 by selectively providing power to the motors as well as determining the rotational state of the motorized rollers 18 .
- Each motor interface 46 a , 46 b allows the CPU 40 to provide power to and determine information about a motor of a motorized roller 18 .
- the motor interface 46 a , 46 b may be generally utilized for brushless DC (“BLDC”) motor commutation control to control the rotational speed of a motorized roller 18 .
- BLDC brushless DC
- the motor interface 46 a , 46 b includes the ability to selectively energize particular windings of a motor connected thereto to turn a motorized roller, sense the current consumed by the motor connected thereto, and detect the rotational state of the motor connected thereto.
- the motor interface 46 a , 46 b may also include the ability to control a brake (not shown) associated with the motor.
- the CPU 40 is configured to couple to up to two sensors 22 through respective sensor interfaces 48 a , 48 b (illustrated as “Sensor A Interface” 48 a and “Sensor B Interface” 48 b ).
- the controller 12 is also configured to couple to up to two pieces of additional hardware (not shown) (e.g., such as additional sensors 22 that are not connected through the sensor interfaces 48 a , 48 b ) through respective hardware interfaces 49 a , 49 b (illustrated as “Hardware A Interface” 49 a and “Hardware B Interface” 49 b ).
- the controller 12 is configured to receive power from the power supply unit 24 through a power input and conditioning interface 50 .
- the CPU 40 is further configured to receive input from a user and/or provide a human-perceptible output to a user through an input/output device interface 52 (illustrated and referred to hereinafter as “I/O I/F” 52 ).
- the I/O I/F 52 is configured to receive data from the user through at least one user interface 54 (including, for example, one or more softkeys, a keyboard, mouse, a microphone, and/or other user interface), and/or provide a human-perceptible output to the user through at least one output device 5 (including, for example, one or more LEDs providing specific information, a display, speakers, a printer, and/or another output device).
- the I/O I/F 52 communicates with a device that is operative as a user interface 54 and output device 56 in combination, such as a touch screen display (not shown).
- the at least one user interface 54 includes a softkey that, upon an actuation lasting a first predetermined amount of time, allows the CPU 40 to determine that the user desires to automatically configure a plurality of controllers 12 , and, upon an actuation lasting a second predetermined amount of time, allows the CPU 40 to determine that the user desires to reset the controller 12 .
- the at least one output device 56 includes a plurality of LEDs that indicate, respectively, network connectivity through the network interfaces 44 a , 44 b , network traffic through the network interfaces 44 a , 44 b , a status of a network to which the controller 12 is connected, a status of one or more respective motors of respective motorized rollers 18 connected to the motor interfaces 46 a , 46 b , a status of one or more respective sensors 22 connected to the sensor interfaces 48 a , 48 b , a status of one or more respective pieces of hardware connected to the hardware interfaces 49 a , 49 b , a status of power to the controller 12 , and/or a status of the controller 12 .
- the controller 12 is typically under the control of firmware 57 as well as an operating system, application, and/or other program code configured to control the controller 12 (illustrated and referred to hereinafter as “Control Code”) 58 .
- the controller 12 executes or otherwise relies upon various computer software applications, sequences of operations, components, programs, files, objects, modules, etc., consistent with embodiments of the invention.
- the firmware 57 includes data to control the components of the controller 12 while the control code 58 is executed to perform various operations consistent with embodiments of the invention.
- the controller 12 also includes a network server 59 , which may include a web server and/or a DHCP server.
- the network server 59 allows a separate computing system 90 ( FIG. 3 ) to directly access information from the controller 12 through a network 82 ( FIG. 3 ) and/or allows the separate computing system 90 to be directly connected to the controller 12 to automatically configure a TCP/IP connection therewith.
- the controller 12 is also configured with a mass storage device 60 that may store data for to operate the controller 12 or other controllers 12 .
- the mass storage device 60 includes the configuration data of the controller 12 as well as the configuration data for adjacent controllers 12 in a configuration data structure 62 .
- the mass storage may also store parameters for operation, such as its IP address, subnet mask, gateway, and other data structures, such as lists or lookup tables, that may be used to in the configuration and/or operation of the controller 12 in a parameters data structure 64 .
- the controller 12 may be configured to operate alone or in conjunction with at least one additional controller 12 . Moreover, the controller 12 may be configured to controlled externally, such as with the aforementioned computing system 90 . As such, and consistent with embodiments of the invention, FIG. 3 is a diagrammatic illustration showing interconnection between a plurality of controllers 12 a - c via communication links 80 a - c as well as the connection of one or more controllers 12 to at least one network 82 for control thereby with a computing system 90 . In specific embodiments, each communication link 80 between controllers 12 is achieved through a network cable, such as a Category 5 cable used for Ethernet network communications.
- One controller 12 a may be configured to communicate with a separate controller 12 b , 12 c directly (e.g., in the case of controller 12 b ) or indirectly (e.g., in the case of controller 12 c ).
- the conveyor system 10 may include a computing system 90 operable to control the controllers 12 a - c and thus the operation of the conveyor system 10 .
- the computing system 90 includes at least CPU 92 coupled to a memory 94 .
- Each CPU 92 is typically implemented in hardware using circuit logic disposed on one or more physical integrated circuit devices or chips and may be one or more microprocessors, micro-controllers, FPGAs, or ASICs.
- Memory 94 may include RAM, DRAM, SRAM, flash memory, and/or another digital storage medium, and also typically implemented using circuit logic disposed on one or more physical integrated circuit devices, or chips.
- memory 94 may be considered to include memory storage physically located elsewhere in the computing system 90 , e.g., any cache memory in the at least one CPU 92 , as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device 96 , another computing system (not shown), a network storage device (e.g., a tape drive) (not shown), or another network device (not shown) coupled to the computing system 90 through at least one network interface 98 (illustrated and referred to hereinafter as “network I/F” 98 ) by way of the at least one network 82 .
- network I/F network interface
- the network I/F 98 may be connected to the network 82 wirelessly (e.g., through one of the numerous IEEE 802 standards) or through a hard-wire link (e.g., an Ethernet cable). It will be appreciated that the at least one network 82 may include at least one private communications network (e.g., such as an intranet) and/or at least one public communications network (e.g., such as the Internet).
- a private communications network e.g., such as an intranet
- public communications network e.g., such as the Internet
- the computing system 90 in specific embodiments, is a computer, computer system, computing device, server, disk array, or programmable device such as a multi-user computer, a single-user computer, a handheld computing device, a networked device (including a computer in a cluster configuration), a mobile telecommunications device, a telecommunications capable device, a video game console (or other gaming system), etc.
- the computing system 90 is an iPhone® or iPad® as distributed by Apple Inc., of Cupertino, CA.
- the computing system 90 is coupled to at least one peripheral device through an input/output device interface 102 (illustrated as, and hereinafter, “I/O I/F” 102 ).
- the computing system 90 receives data from a user through at least one user interface 104 (including, for example, a keyboard, mouse, a microphone, and/or other user interface) and/or outputs data to the user through at least one output device 106 (including, for example, a display, speakers, a printer, and/or another output device).
- the I/O I/F 102 communicates with a device that is operative as a user interface 104 and output device 106 in combination, such as a touch screen display (not shown).
- the computing system 90 is typically under the control of an operating system 108 and executes or otherwise relies upon various computer software applications, sequences of operations, components, programs, files, objects, modules, etc., consistent with embodiments of the invention. In specific embodiments, the computing system 90 executes or otherwise relies on a control application 110 to manage the operation of the controllers 12 a - c and the conveyor system 10 .
- a controller 12 may be configured to operate in an autonomous fashion, a collectively autonomous fashion, or a dependent fashion.
- the controller 12 is not controlled by the computing system 90 and operates without any concern to one or more controllers 12 located upstream or downstream along the downstream direction 26 , if any.
- the controller 12 simply controls a portion of the conveyor assembly 14 to convey an article 23 along the downstream direction 26 without regard to additional controllers 12 .
- the autonomous operation may be advantageous when there is conveyor system 10 that does not require additional controllers 12 and merely operates to consistently move articles 23 along that surface.
- controllers 12 When operating in a collective fashion, multiple controllers 12 are configured to share information upstream and/or downstream in order to move the article 23 in the downstream direction 26 , but are not otherwise controlled by the computing system 90 .
- the collective operation may be advantageous when there is a conveyor system 10 that does not include merges, joins, article sorting, or other article manipulating sections (but may nevertheless include turns, inclines, declines) and is used to convey an article 23 along a path.
- one or more controllers 12 When operating in a dependent fashion, one or more controllers 12 are configured to be controlled by the computing system 90 .
- the dependent operation may be advantageous when there is a conveyor system 10 that includes merges, joins, article sorting, and/or other article manipulating sections that requires complex movement and adjustment of articles 23 as they are conveyed along the conveyor system 10 .
- the controllers 12 include a number of operations, operational modes, and functions that assist in conveying articles.
- a controller 12 is configured to automatically determine information about the conveyor assembly 14 to which it is connected, and more particularly information about the motorized rollers 18 , sensors 22 , and/or additional hardware configured thereupon.
- the controllers 12 use BLDC commutation control to control the rotational speed and/or state of the motorized rollers 18 .
- the controllers 12 may also use current feedback from a motorized roller 18 to determine whether an article 23 is being conveyed as well as use rotation feedback from the motorized roller 18 to determine the position of an article 23 being conveyed.
- the controller 12 may also use the current feedback, rotation feedback, and/or additional information to determine the weight and length of the article 23 .
- the controller 12 is configured to stop the motorized roller 18 in a number of ways.
- conventional methods of stopping a motorized roller 18 include shunting windings of the motor of the motorized roller 18 to ground or engaging a brake (not shown) of the motorized roller 18 .
- the controller 12 may be configured to stop a motorized roller 18 through a gravity stop or through a servo-lock stop. With a gravity stop, the controller 12 may disconnect the motor of the motorized roller 18 from any ground signal or power signal.
- the gravity stop allows the motorized roller 18 to briefly rotate after the power thereto has been stopped, but otherwise prevents excessive power usage by the motorized rollers 18 .
- the controller 12 maintains the motorized roller 18 at the rotational position at which it has stopped. For example, if the motorized roller 18 is on an incline or decline, the servo-lock stop allows the controller 12 to maintain the motorized roller 18 at a particular rotational position, advantageously maintaining an article 23 loading that motorized roller 18 at a particular position.
- controllers 12 networked together may automatically configure themselves when configured in an uninterrupted path of one or more conveyor assemblies 14 with no merge or divert mechanisms, but possibly curved sections. This arrangement is more commonly referred to as a “linear conveyor.” As such, the controllers 12 are configured along the linear conveyor and interconnected via communication links 80 . The furthest upstream controller 12 may then be interfaced with (such as through a user interface 54 that includes a softkey) to begin an automatic configuration procedure.
- the automatic configuration procedure discussed in more detail below, automatically configures each of the controllers 12 to control one or more respective zones of the linear conveyor such that the linear conveyor may be used to convey articles 23 thereon in the downstream direction 26 .
- the controllers 12 communicate with each other through the communications links 80 to access information about zones, articles 23 , and controllers 12 upstream and downstream to dynamically adjust the operation of the conveyor system 10 .
- the controllers 12 also store configuration of each controller 12 to which they are adjacent. For example, when a conveyor system 10 includes a plurality of controllers, the first controller 12 (e.g., most upstream controller in a downstream direction 26 ) stores its configuration data and the configuration data of the second controller 12 , the second controller 12 stores its configuration data and the configuration data of the first controller 12 and third controller 12 (if present), and so-on with the last controller 12 storing its configuration data and the configuration data of the next-to-last controller 12 .
- the first controller 12 e.g., most upstream controller in a downstream direction 26
- the second controller 12 stores its configuration data and the configuration data of the first controller 12 and third controller 12 (if present)
- so-on with the last controller 12 storing its configuration data and the configuration data of the next-to-last controller 12 .
- the replacement controller 12 may automatically access appropriate stored configuration data in an adjacent controller 12 .
- the controllers 12 may use UDP for transferring configuration data, Modbus TCP for controller-to-controller communication, and Ethernet/IP for other communications.
- Controllers 12 may be used to convey articles 23 along a conveyor system 10 in a zone singulation mode (in which there is a zone gap between articles), a flex zone mode (in which first article is longer than a second article such that the first article is assigned more zones than that second article), a train mode (in which all upstream zones from a downstream zone run articles in a “train” when the downstream zone releases an article), and a gap train mode (which is similar to the train mode, but is a mode in which the controllers 12 configure a time delay between the articles in the train).
- a zone singulation mode in which there is a zone gap between articles
- a flex zone mode in which first article is longer than a second article such that the first article is assigned more zones than that second article
- train mode in which all upstream zones from a downstream zone run articles in a “train” when the downstream zone releases an article
- a gap train mode which is similar to the train mode, but is a mode in which the controllers 12 configure a time delay between the articles in the train
- One additional mode of operation for the controllers 12 is a mode in which a controller 12 detects the movement of a motorized roller 18 that was previously stationary and then activates one or more motorized rollers 18 connected thereto to move an article 23 along the conveyor system 10 .
- an article 23 may be situated on a conveyor system 10 and stationary.
- a motorized roller 18 associated therewith is rotated.
- a controller 12 senses this motion, conveys the article 23 through its zones, and sends messages to at least one downstream controller 12 to convey the article 23 as well.
- This “touch and go” mode may be advantageous in facilities where leaving conveyor systems 10 constantly running (e.g., leaving motorized rollers 18 constantly turning) is inefficient, unwanted, or unnecessary.
- a user may start the conveyor system 10 by placing an article 23 thereon and pushing the article therealong.
- the controllers 12 of the conveyor system 10 activate the motorized rollers 18 until all articles 23 on the conveyor system 10 have been discharged.
- the controllers 12 of the conveyor system 10 gradually increase and decrease the speed of the motorized rollers 18 for respective zones as the articles 23 are adjacent to or pass through those zones until all articles 23 on the conveyor system 10 have been discharged.
- the controllers 12 can “look ahead” to at least one downstream zone to determine whether it is occupied by an article 23 , and adjust the speed of the motorized rollers 18 accordingly. In this manner, higher speed applications where increased stopping distance is required can keep the articles 23 from over-traveling their stop positions. This “look-ahead-slow-down” mode also allows the controllers 12 to keep from losing articles 23 between zones, which may happen if momentum carries an article 23 that is to be slowed in the area between zones where it may not be sensed by a sensor 22 .
- the controllers 12 are also configured to detect jams, or potential jams, when an article 23 does not reach a sensor 22 within a predetermined amount of time, or when an article 23 is constantly detected by a sensor 22 for a predetermined amount of time. When a jam is detected, the controller 12 may reverse an appropriate motorized roller 18 in an attempt to clear that jam.
- FIG. 4 is a partially transparent view of a motorized roller 18 consistent with embodiments of the invention.
- the motorized roller 18 is connected to a controller 12 through various wires as at 102 .
- the wires 112 may provide various signals or connection (e.g., a voltage signal, a current signal, a connection to ground) to one or more components of the motorized roller 18 .
- the wires 112 may carry one or more signals, such as a voltage, current, or ground signal, for a motor 114 of the motorized roller.
- the motor 114 when energized, rotates and turns a gearbox 116 .
- the gearbox 116 is coupled to the housing 118 of the motorized roller 18 and operates to translate the rotation of the motor 114 into rotation of the housing 118 at a fixed ratio.
- the gearbox 116 may operate to translate sixty rotations of the motor 114 into one rotation of the housing 118 such that the gearbox 116 has a ratio of approximately 60-1.
- the motorized roller 18 may include one or more addressable circuits 110 , such as processing circuitry with memory, that can be queried for information associated with the motorized roller 18 .
- a controller 12 connected to the motorized roller 18 may query the motorized roller 18 , and in particular the addressable circuit 110 thereof, for information and determine at least one operational characteristic associated with that motorized roller 18 .
- the operational characteristic may include a gear ratio of the gearbox 116 or a current threshold (e.g., a maximum current) for the motor.
- the controller 12 may then determine information and/or control the motorized roller 18 accordingly (e.g., determine the distance of rotation of the housing 118 of the motorized roller 18 from a pulse of voltage and/or keep the current supplied to the motorized roller 18 below the current threshold).
- conveyor system 10 , controller 12 , and/or computing system 90 may include fewer or additional components consistent with alternative embodiments of the invention.
- controller 12 and/or computing system 90 may include more or fewer applications configured therein.
- other alternative hardware and software environments may be used without departing from the scope of embodiments of the invention.
- routines executed to implement the embodiments of the invention whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions executed by one or more controllers 12 and/or computing systems 90 will be referred to herein as a “sequence of operations,” a “program product,” or, more simply, “program code.”
- the program code typically comprises one or more instructions that are resident at various times in various memory and storage devices in a controller 12 and/or computing system 90 , and that, when read and executed by one or more CPUs 40 and/or 92 of the respective controllers 12 and/or computing system 90 , cause that controller 12 and/or computing system 90 to perform the steps necessary to execute steps, elements, and/or blocks embodying the various aspects of the invention.
- controllers 12 and/or computing systems 90 While the invention has and hereinafter will be described in the context of fully functioning controllers 12 and/or computing systems 90 , those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the invention applies equally regardless of the particular type of computer readable signal bearing media used to actually carry out the distribution.
- Examples of computer readable signal bearing media include but are not limited to physical and tangible recordable type media such as volatile and nonvolatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., CD-ROM's, DVD's, etc.), among others.
- the controllers 12 of the conveyor system 10 are configured by the computing system 90 .
- each the computing system 90 designates the function of each controller 12 and how it is to operate in the conveyor system 10 .
- at least a portion of the conveyor system 10 is a linear conveyor.
- the controllers 12 for the linear conveyor may be configured in an automatic configuration procedure consistent with embodiments of the invention.
- FIG. 5 is a flowchart 200 illustrating a sequence of operations that may be performed by a controller 12 during an automatic configuration procedure.
- the sequence of operations of FIG. 5 may be performed by a controller 12 configured as the initial controller 12 of a linear conveyor.
- the controller 12 determines whether to initiate an automatic configuration procedure (block 202 ).
- a user may initiate an automatic configuration procedure by pressing and holding a softkey of a user interface 54 for a predetermined amount of time.
- the controller 12 determines not to initiate an automatic configuration procedure (“No” branch of decision block 202 )
- the sequence of operations returns to block 202 .
- the controller 12 determines to initiate an automatic configuration procedure (“Yes” branch of decision block 202 )
- the controller 12 determines whether there are upstream and downstream controllers 12 connected thereto.
- the controller 12 determines whether there are upstream and downstream controllers 12 connected thereto by polling its network interfaces 44 a , 44 b to determine if controllers 12 are connected thereto through communication links 80 a , 80 b . If there is a response to a poll on a network interface 44 a , 44 b , the controller 12 determines that a controller 12 is connected to that network interface 44 a , 44 b . When there are both upstream and downstream controllers 12 connected to the network interfaces 44 a , 44 b of the controller 12 initiating the automatic configuration procedure (“Yes” branch of decision block 204 ), the controller 12 indicates an error and aborts the automatic configuration procedure (block 206 ).
- preventing an automatic configuration procedure for a controller 12 that is situated between at least two additional controllers 12 prevents network and resource contention.
- the controller 12 initiating the automatic configuration procedure (referred to hereinafter for this sequence of operations as the “first” controller 12 ) initiates the automatic configuration procedure (block 208 ) and determines whether there are is a second controller 12 connected to one of its network interfaces 44 a , 44 b (block 210 ).
- the first controller 12 determines that there is not a second controller 12 connected to one of its network interfaces 44 a , 44 b (“No” branch of decision block 210 ).
- the first controller 12 configures itself to operate in an autonomous fashion (block 212 ).
- the first controller 12 determines whether the second controller 12 is connected to its first network interface 44 a (block 214 ).
- each controller 12 is configured with a default that indicates that a downstream direction 26 is to proceed from the “A” side, or “left” side, of the controller 12 (e.g., the side with network interface 44 a , motor interface 46 a , sensor interface 48 a , and hardware interface 49 a ) to the “B” side, or “right” side of the controller 12 (e.g., the side with network interface 44 b , motor interface 46 b , sensor interface 48 b , and hardware interface 49 b ).
- the first controller 12 sets a flag to indicate that the downstream direction 26 is reversed from its presumed direction (block 216 ).
- the second controller 12 is connected to the second network interface 44 b of the first controller (“No” branch of decision block 214 )
- the first controller 12 clears a flag to indicate that the downstream direction 26 is not reversed from its presumed direction (block 218 ).
- the first controller 12 sets itself up as the “initial” controller 12 of a linear conveyor, and sends one or more messages to the second, or “downstream,” controller 12 indicating the initiation of an automatic configuration procedure as well as configuration data of the first controller 12 (block 220 ).
- the first controller 12 sets itself as the initial controller 12 by setting its network address to a predetermined network address. For example, if the current IP address of the first controller is 192.168.0.45, the first controller 12 sets itself as the initial controller 12 by setting its IP address to 192.168.0.20.
- the first controller 12 also sets itself as the initial controller 12 by determining its subnet mask and gateway and providing the subnet mask and gateway to downstream controllers 12 .
- the first controller 12 may send multiple messages in block 220 , including a first message (referred to hereinafter as an “configuration initiator” message) that indicates that the initiation of an automatic configuration procedure and a second message (referred to hereinafter as a “configuration token”) that includes at least the serial number of the first controller 12 , its IP address, the subnet mask, and/or gateway of the first controller 12 .
- the first controller 12 determines whether multiple configuration confirmation messages from downstream controllers 12 have been received ( 222 ). When multiple configuration confirmation messages have not been received (“No” branch of decision block 222 ′′), this indicates that there are not two independent network branches from the first controller 12 to downstream controllers 12 , and the sequence of operations may end. However, when multiple configuration messages have been received (“Yes” branch of decision block 222 ), this indicates that there are at least two independent network branches from the first controller 12 to downstream controllers 12 , and thus the first controller 12 indicates and error and aborts the automatic configuration procedure (block 224 ).
- FIG. 6 is a flowchart 230 illustrating a sequence of operations that may be performed by a downstream controller 12 during an automatic configuration procedure consistent with embodiments of the invention.
- the downstream controller 12 upon being started, determines whether a configuration initiator message has been received from an upstream controller 12 (e.g., the first controller 12 or a controller 12 between the first controller 12 and the controller 12 performing this sequence of operations) (block 232 ). When a configuration initiator message has not been received (“No” branch of decision block 232 ), the downstream controller 12 may return to block 232 .
- the downstream controller 12 determines whether it has received a valid configuration token within a predetermined amount of time (e.g., twenty seconds) (block 234 ). For example, a configuration token may be invalid when at least some of the data expected therein is missing or corrupt. In any event, when the downstream controller 12 has not received a valid configuration token within the predetermined amount of time, or when the controller 12 has received an invalid configuration token (“No” branch of decision block 234 ), the downstream controller 12 indicates and error and aborts the automatic configuration procedure (block 236 ).
- a predetermined amount of time e.g., twenty seconds
- the downstream controller 12 When the downstream controller 12 receives a valid configuration token within the predetermined amount of time (“Yes” branch of decision block 234 ), the downstream controller 12 sets its network address based on the network address included in the configuration token, determines the downstream direction 26 based on which network interface the 44 a , 44 b received configuration token, and otherwise configures itself to operate in a linear conveyor based on the data in the configuration token (block 238 ). In specific embodiments, the downstream controller 12 sets its network address in block 238 by adding a fixed value to the received network address. For example, if the network address received in the configuration token is 192.168.0.24, the downstream controller 12 may add a fixed value of one to the network address and thus set its network address to 192.168.0.25.
- the downstream controller 12 determines that the downstream direction 26 is its presumed direction when it receives the configuration token on network interface 44 a on its “A,” or “left,” side. Correspondingly the downstream controller 12 determines that the downstream direction 26 is reversed from its presumed direction when the downstream controller 12 receives the configuration token on network interface 44 b on its “B,” or “right,” side. Also in block 238 , the downstream controller 12 sets its subnet mask, and/or gateway based on information in the configuration token.
- the downstream controller 12 After configuring itself to operate in a linear conveyor (block 238 ), the downstream controller 12 sends a configuration confirmation message back upstream through the network interface 44 a , 44 b that received the configuration token (block 240 ) and sends a configuration initiator message and a configuration token for an additional downstream controller 12 through the network interface 44 a , 44 b that did not receive the configuration token (block 242 ). The downstream controller 12 then determines whether multiple configuration confirmation messages from additional downstream controllers 12 have been received ( 244 ). When multiple configuration confirmation messages have been received (“Yes” branch of decision block 244 ), the downstream controller 12 indicates and error and aborts the automatic configuration procedure (block 246 ).
- the downstream controller 12 determines whether one configuration confirmation message has been received (block 248 ). When no configuration confirmation message has been received (“No” branch of decision block 248 ), the downstream controller 12 sends a message (referred to hereinafter as a “last controller” message) indicating that it is the last controller 12 in a linear conveyor to the first controller 12 (e.g., through any upstream controllers 12 previously configured) (block 250 ). In response to determining that a configuration confirmation message has been received (“Yes” branch of decision block 248 ) or sending a last controller message (block 250 ), the sequence of operations may end.
- a message referred to hereinafter as a “last controller” message
- FIG. 7 is a flowchart 260 illustrating a sequence of operations for a subroutine of a controller 12 (e.g., a first controller 12 or a downstream controller 12 ) to abort an automatic configuration procedure consistent with embodiments of the invention.
- the subroutine determines whether the controller 12 has aborted an automatic configuration procedure (block 262 ).
- the subroutine causes the controller 12 to send an abort message to any upstream and downstream controllers 12 connected thereto (block 264 ).
- the subroutine determines whether the controller 12 has received an abort message on a network interface 44 a , 44 b (block 266 ).
- the controller 12 has not received an abort message on a network interface 44 a , 44 b (“No” branch of decision block 266 )
- the sequence of operations returns to block 262 .
- the controller forwards the abort message through the network interface 44 a , 44 b that did not receive the abort message (block 268 ).
- the controller 12 sends an abort message (block 264 ) or forwards an abort message (block 268 )
- the controller 12 reverts its configuration data to the configuration used before the initiation of an automatic configuration procedure (block 270 ).
- FIG. 8 is a flowchart 280 illustrating a sequence of operations for a first controller 12 of a linear conveyor to finalize the automatic configuration of the controllers 12 therein consistent with embodiments of the invention.
- the first controller 12 determines whether a predetermined time (e.g., about five minutes) in which to receive an abort message or a last controller message has expired (block 282 ). When the predetermined time has not expired (“No” branch of decision block 282 ), the sequence of operations may return to block 282 . However, when the predetermined time has expired (“Yes” branch of decision block 282 ), the first controller 12 determines whether a last controller message has been received (block 284 ).
- a predetermined time e.g., about five minutes
- the first controller 12 When a last controller message has not been received (“No” branch of decision block 284 ), the first controller 12 indicates and error and aborts the automatic configuration procedure (block 286 ). However, when a last controller message has been received (“Yes” branch of decision block 284 ), the first controller 12 sends a message to the downstream controllers 12 to detect characteristics of the portion of the conveyor system 10 to which they are attached and performs its own detection of characteristics of the portion of the conveyor system 10 to which it is attached (block 288 ). The first controller 12 then sends a message to the downstream controllers 12 to restart, then restarts itself (block 290 ).
- FIG. 9 is a flowchart 300 illustrating a sequence of operations for a controller 12 (e.g., a first controller 12 or a downstream controller 12 ) to detect characteristics of the portion of the conveyor system 10 to which it is configured or attached.
- the controller 12 initially detects any sensors 22 connected to its sensor interfaces 48 a , 48 b , including whether any sensors 22 are connected thereto, as well as whether connected sensors 22 are light-activated sensors (which provide a logic high when light from one end of the sensor is detected, e.g., an article is not blocking the photo-eye) or whether the sensors 22 are dark-activated, or PNP-type, sensors (which provide a logic high when light from one end of the sensors is not detected, e.g., an article is blocking the photo-eye), then stores that indication (block 302 ).
- a controller 12 e.g., a first controller 12 or a downstream controller 12 to detect characteristics of the portion of the conveyor system 10 to which it is configured or attached.
- the controller 12 initially
- the controller 12 may be further configured to query the sensor 22 for information, including the serial number of the sensor 22 , whether the sensor is an light or dark activated type sensor 22 , and/or additional information about the sensor.
- the controller 12 is further configured to detect any motors of the motorized rollers 18 connected to the motor interfaces 46 a , 46 b , including any data related thereto, and store that data (block 304 ).
- the controller 12 merely detects the presence of a motor connected to the motor interfaces 46 a , 46 b and, when a motor is detected, retrieves default information and uses that to configure the controllers 12 interaction with that motor.
- the default information includes an indication that the motor is a pulse roller, that the speed to operate the motor is a percentage of its maximum power rating (e.g., about 80%), the brake method to stop the motor, the acceleration rate to accelerate the motor (if any), the deceleration rate at which to decelerate the motor (if any), the mode in which to convey articles (e.g., zone singulation mode, flex zone mode, train mode, or gap train mode), the amount of time to wait before declaring a jam, and/or the amount of time to wait to run the motor after a sensor has been cleared, among others.
- the brake method to stop the motor e.g., the brake method to stop the motor, the acceleration rate to accelerate the motor (if any), the deceleration rate at which to decelerate the motor (if any), the mode in which to convey articles (e.g., zone singulation mode, flex zone mode, train mode, or gap train mode), the amount of time to wait before declaring a jam, and/or the amount of time to wait to
- the controller 12 is further configured to detect any hardware connected to the hardware interfaces 49 a , 49 b , including any data related thereto, and store that data (block 306 ).
- the controller 12 further sets up network connections and communications with at least one additional controller 12 and/or computing systems 90 (e.g., as described above) (block 308 ) and configures the zones it controls as well as parameters thereof (block 310 ).
- the data associated with that article is also transmitted from the first controller 12 to the second controller 12 .
- This data can include an identification of the article, its weight, its length, and/or the state of the downward direction.
- this data is used to indicate whether direction of product flow of a conveyor assembly 14 is in the typically default direction (i.e., from the “left” of the controller 12 to the “right” of the controller 12 , as described above) or whether the direction of product flow is reversed (i.e., from the “right” of the controller 12 to the “left” of the controller 12 , as described above).
- the controller 12 receives a downstream communication (e.g., a communication on its second network interface 44 b from a downstream controller 12 and/or computing system 90 ) (block 322 ) or receives an upstream communication (e.g., a communication on its first network interface 44 a from an upstream controller 12 and/or computing system 90 ) (block 324 ).
- a downstream communication e.g., a communication on its second network interface 44 b from a downstream controller 12 and/or computing system 90
- an upstream communication e.g., a communication on its first network interface 44 a from an upstream controller 12 and/or computing system 90
- the controller 12 determines whether the downstream communication includes data indicating the product flow for the article (e.g., whether the product flow is “normal” or “reversed”) (block 326 ).
- the controller 12 determines that the message is not data associated with an article and instead may be data intended for another controller 12 (such as the initial controller 12 in a linear conveyor and/or the computing system 90 ). As such, the controller 12 processes the communication as different from a communication containing article data (block 328 ).
- the controller 12 determines whether the current direction it is transporting articles is reversed (e.g., whether previous articles have been sent in the reverse direction) (block 330 ). When the current direction is not reversed (“No” branch of decision block 330 ), the controller 12 changes its current direction of travel (e.g., such as by reversing the motors of the motorized rollers 18 it controls) (block 332 ) and accepts the article from the downstream controller 12 if it is able to do so (e.g., has a clear zone) (block 334 ). When the current direction is reversed (“Yes” branch of decision block 330 ), the controller accepts the article from the downstream controller 12 if it is able to do so (block 334 ).
- the controller accepts the article from the downstream controller 12 if it is able to do so (block 334 ).
- the controller 12 when the controller 12 receives an upstream communication it determines whether the upstream communication includes data indicating the product flow for the article (block 336 ). When the communication does not indicate the product flow for the article (“No” branch of decision block 336 ), the controller 12 determines that the message is not data associated with an article and instead may be data intended for another controller 12 (such as the initial controller 12 in a linear conveyor and/or the computing system 90 ). As such, the controller 12 processes the communication as different from a communication containing article data (block 328 ).
- the controller 12 determines whether the current direction it is transporting articles is normal (e.g., whether previous articles have been sent in the normal direction) (block 338 ). When the current direction is not normal (“No” branch of decision block 338 ), the controller 12 changes its current direction of travel (e.g., such as by reversing the motors of the motorized rollers 18 it controls) (block 332 ) and accepts the article from the upstream controller 12 if it is able to do so (e.g., has a clear zone) (block 334 ). When the current direction is normal (“Yes” branch of decision block 338 ), the controller accepts the article from the upstream controller 12 if it is able to do so (block 334 ).
- the controller accepts the article from the upstream controller 12 if it is able to do so (block 334 ).
- a controller 12 When transporting an article, a controller 12 may be configured to sense the current utilized by the motor of a motorized roller 18 to detect the presence of an article being transported thereby.
- this allows a controller 12 to achieve maximum article density on a conveyor surface without constant pressure or force being applied to articles once densely accumulated, and further offers the advantage of sensor-less detection of articles.
- the controller 12 monitors current to motors and filters current fluctuations and spikes in order to determine when an article is being transported by a motorized roller 18 .
- Such operation allows controllers 12 to accumulate articles and prime upstream zones to accumulate articles consistent with embodiments of the invention.
- the controller 12 is configured to accumulate an article by determining whether there the current to the motorized roller 18 is at a first, “low current” level, or whether the current to the motorized roller 18 is at a second, “high current” level above that low current level.
- the low current level corresponds to a current level at which a motorized roller 18 is operated to transport an article without impingement.
- the high current level corresponds to a current level at which a motorized roller 18 is operated to attempt to move an article that is jammed or otherwise impinged by another article.
- FIG. 11 is a flowchart 340 illustrating a sequence of operations for a controller 12 to detect and accumulate an article being transported by a motorized roller 18 by determining the current to the motorized roller 18 consistent with embodiments of the invention.
- the controller 12 initially determines whether it has a selected zone that is ready to accept an article from an upstream zone, as well as whether the upstream zone is transporting an article to the selected zone (block 342 ). When the selected zone cannot accept an article, or when the upstream zone is not transporting an article to the selected zone (“No” branch of decision block 342 ), the sequence of operations returns to block 342 .
- the controller 12 starts the motorized roller 18 associated with that selected zone (block 344 ) as well as an “energy saver” timer (e.g., a timer after which the motorized roller 18 is stopped to save energy, and which may have a default of five seconds) (block 346 ), then determines whether the energy saver timer has expired (block 348 ). When the energy saver timer has expired (“Yes” branch of decision block 348 ), the motorized roller for the selected zone is stopped (block 350 ) and the sequence of operations returns to block 342 .
- an “energy saver” timer e.g., a timer after which the motorized roller 18 is stopped to save energy, and which may have a default of five seconds
- the controller 12 detects the current used by the motorized roller and determines whether the low current level has been reached (block 352 ). When the low current level has not been reached (“No” branch of decision block 352 ), the controller 12 determines whether the high current level has been reached (block 354 ). When the high current level has not been reached (“No” branch of decision block 354 ), the sequence of operations returns back to block 348 ).
- the controller 12 may determine that the motorized roller 18 is transporting an article.
- the controller 12 starts a “stop” timer (e.g., a timer used to accumulate an article in the selected zone, and which may have a default of about two seconds) (block 356 ) and determines whether the stop timer has expired (block 358 ).
- the controller 12 determines whether the high current level has been reached (block 360 ).
- the controller 12 indicates that the selected zone is not free, stops the motorized roller 18 for the zone, and kills the stop timer (block 362 ).
- the sequence of operations may return to block 358 .
- the controller determines whether the article is releasable from the selected zone (block 364 ).
- the sequence of operations may return to block 364 .
- the controller may release the article (e.g., activate the motorized roller 18 to release the article to a downstream zone) (block 366 ) and, after releasing the article, the sequence of operations may return to block 342 .
- the controller 12 can determine when an article is received at a zone (e.g., when the low current level is reached but the high current level is not reached) as well as when an article is impinged or jammed (e.g., when the high current level is reached).
- the controller 12 also reduces pressure on the motorized roller 18 , articles, and other components of the conveyor system 10 , which may prevent damage thereto.
- the controller 12 prevents constant running of the motorized roller 18 , which can save energy and resulting in a conveying system that may be utilized in an “on-demand” fashion.
- the controller 12 may be configured to detect the current to a motorized roller 18 and determine the weight and/or length of the article based, at least in part, thereon. For example, the controller 12 may be configured to determine the level of current requires to move the article with a motorized roller 18 then cross-reference the current required to move the article with a table that indicates the weight of the article. Also, for example, when the controller 12 senses that an article is being transported by a motorized roller 18 , it may count the rotations of the motorized roller 18 required to transport the article across the motorized roller 18 (e.g., the amount of time that the low level current is provided to the motorized roller 18 ).
- the controller 12 may multiply the number of rotations required to move the article by the circumference of the motorized roller 18 to determine a length of the article.
- the controller 12 may determine the length of the article by determining the amount of time it takes to transport the article across a motorized roller 18 (e.g., the amount of time that the low level current is provided to the motorized roller 18 ) then multiply that time by the speed of the motorized roller 18 .
- this alternative determination of length is not advantageous in situations where the speed of the motorized roller 18 is variable or situations where the article is stopped while on the motorized roller.
- a controller 12 may be further configured to determine where the article is within a given zone based on the number of rotations that have been used to transport the article through the zone.
- Article weight and/or length information may be passed in a communication to a downstream controller 12 .
- the controller 12 is configured to maintain the motorized roller 18 at a particular rotational position using a servo-lock stop.
- FIG. 12 is a flowchart 370 illustrating a sequence of operations for the controller 12 to use a servo-lock stop consistent with embodiments of the invention.
- the controller 12 determines whether to stop the motor of a motorized roller 18 (block 372 ). When the controller 12 determines that the motor should not be stopped (“No” branch of decision block 372 ), the sequence of operations returns to block 372 .
- the controller 12 determines that the motor should be stopped (“Yes” branch of decision block 372 )
- the controller 12 stops the motor (e.g., by shunting to the windings of the motor to ground or engaging a brake of the motorized roller 18 , to name a few methods), determines the rotational position of the motor of the motorized roller 18 when it is stopped, and stores that data (block 374 ).
- the controller 12 determines whether the motor is at the determined rotational position (block 376 ).
- the controller 12 determines whether it has been configured to adjust the rotational position of the motor by energizing two windings or by energizing just one winding (block 378 ). When the controller 12 is configured to adjust the rotational position of the motor by energizing one winding (“No” branch of decision block 378 ), the controller 12 energizes one winding of the motor to maintain the motor at the determined rotational position (block 380 ).
- the controller 12 when the controller 12 is configured to adjust the rotational position of the motor by energizing two windings (“Yes” branch of decision block 378 ), the controller 12 energizes two windings of the motor to maintain the motor at the determined rotational position (block 382 ).
- the controller 12 determines whether to release the article (e.g., whether to energize the motorized roller 18 to convey the article to a different zone) (block 384 ). When the controller 12 determines that it should not release the article (“No” branch of decision block 384 ), the sequence of operations returns to block 376 . However, when the controller 12 determines that it should release the article (“Yes” branch of decision block 384 ) it releases the article (block 386 ) and the sequence of operations returns to block 372 . Returning to block 376 , when the controller determines that the motor is at the determined rotational position (“Yes” branch of decision block 376 ), the sequence of operations proceeds to block 384 and advances as described above.
- FIG. 13 is a flowchart 400 illustrating a sequence of operations for an automatic replacement procedure that may be executed by a controller 12 consistent with embodiments of the invention.
- the controller 12 detects whether there is a trigger for an automatic replacement procedure (block 402 ).
- the trigger to initiate an automatic replacement procedure may be a user pressing and holding a softkey of a user interface 54 before the controller 12 is turned on, then maintaining depression of the softkey of the user interface 54 as the controller 12 is turned on.
- the controller 12 starts up and sends its firmware and configuration data to upstream and/or downstream controllers 12 , if so configured (block 404 ), the sequence of operations may end.
- a controller 12 automatically stores firmware and configuration data in response to the receipt thereof, and, in specific embodiments, stores a notation of the IP address of the controller 12 from which the firmware and configuration data are sent.
- the controller 12 can send the firmware and configuration data to the appropriate controller 12 based on the IP address of the controller that requested that firmware and configuration data.
- the controller 12 (which, with respect to the sequence of operations of FIGS. 13 and 14 , is referred to hereinafter as the “replacement” controller 12 ) initiates a procedure to recover the network addresses of the controller 12 (which, with respect to the sequence of operations of FIGS. 13 and 14 , is referred to hereinafter as the “previous” controller 12 ) that the replacement controller 12 is intended to replace (block 406 ).
- the replacement controller 12 After recovering the network addresses (block 406 ), the replacement controller 12 requests the firmware and configuration data of the previous controller 12 that is stored on a neighboring controller 12 (block 408 ).
- the replacement controller 12 initially determines whether any neighboring controllers 12 are present (e.g., similarly to at least part of the sequence of operations of FIG. 5 ) and, if there is a neighboring controller 12 connected to the replacement controller's 12 first network interface 44 a , the replacement controller 12 sends a request for the firmware and configuration data to that neighboring controller 12 through the first network interface 44 a . However, and also in block 408 , if there is not a neighboring controller 12 connected to the replacement controller's 12 first network interface 44 a , the replacement controller 12 sends a request for the firmware and configuration data to the neighboring controller 12 connected to the second network interface 44 b.
- the replacement controller 12 After requesting the firmware and configuration data from a neighboring controller 12 (block 408 ), the replacement controller 12 determines whether it has received the firmware and configuration data (block 410 ). When the firmware and configuration data have not been received (“No” branch of decision block 410 ), the replacement controller 12 indicates an error and aborts the automatic replacement procedure (block 412 ). However, when the firmware and configuration data have been received (“Yes” branch of decision block 410 ), the replacement controller installs the firmware and configuration data (block 414 ) and restarts itself (block 416 ).
- the replacement controller 12 may recover the network addresses of the previous controller 12 in block 406 of FIG. 13 .
- the controllers 12 of a conveyor system 10 are programmed to have consecutive IP addresses that increase by a predetermined amount (e.g., one) along the downstream direction 26 .
- a replacement controller 12 may recover its IP address (as well as other network addresses) by determining the network addresses of additional controllers 12 of the conveyor system 10 and comparing those network addresses to potential network addresses.
- FIG. 14 is a flowchart 420 illustrating a sequence of operations for a replacement controller 12 to recover the network address of the previous controller 12 , and particular a sequence of operations to perform at block 406 in FIG. 13 , consistent with embodiments of the invention.
- the replacement controller 12 sends one or more queries through its network interfaces 44 a , 44 b to neighboring controllers 12 for network information, including their IP addresses, the subnet mask, the gateway, and data indicating whether a neighboring controller 12 is the beginning or ending controller 12 within a particular subnet (block 422 ).
- the replacement controller 12 sends one query through each network interface 44 a , 44 b .
- the replacement controller 12 determines whether any responses were received (block 424 ). When at least one response is not received (“No” branch of decision block 424 ), the replacement controller 12 indicates and error and aborts the automatic replacement procedure (block 426 ).
- the replacement controller 12 analyzes the data therein to generate a list of possible IP addresses to use, determines the subnet mask, determines the gateway, and, optionally, attempts to determine its location along the conveyor system 10 (block 428 ).
- the replacement controller 12 may generate the list of possible IP addresses such that it has one entry set to the IP address between those of the neighboring controllers 12 .
- the replacement controller 12 may generate the list of possible IP addresses such that it has one entry set to the IP address above the neighboring controller 12 and one IP address below the neighboring controller 12 .
- the replacement controller 12 After the replacement controller 12 has generated the list of possible IP addresses, it sends a query to discover one or more controllers 12 of the conveyor system 10 (block 430 ) and, as it receives responses from the one or more controllers 12 (e.g., including any neighboring controllers 12 ), it deletes the IP addresses from the list of possible IP addresses when messages from the one or more controllers 12 have a corresponding IP address that matches (block 432 ).
- a downstream controller 12 when the replacement controller 12 is the initial controller 12 of a conveyor system 10 and connected to one neighboring controller 12 , a downstream controller 12 will be configured with the IP address above that of the neighboring controller 12 such that the corresponding entry is removed from the list of possible IP addresses, leaving only the IP address below that of the neighboring controller 12 .
- a downstream controller 12 when the replacement controller 12 is the last controller 12 of a conveyor system 10 and connected to one neighboring controller 12 , a downstream controller 12 will be configured with the IP address below that of the neighboring controller such that the corresponding entry is removed from the list of possible IP addresses, leaving only the IP address above that of the neighboring controller 12 .
- the replacement controller 12 determines whether there is only one entry in the list of possible IP addresses (block 434 ). More than one entry in the list of possible IP addresses may indicate that there is more another missing controller 12 , which could result in the replacement controller 12 picking an unused IP address. This, in turn, may cause communication confusion between the controllers 12 of the conveyor system 10 in which one or more of those controllers attempt to send a message to the replacement controller 12 at an IP address that the replacement controller 12 is not using. Thus, when there is more than one entry in the list of possible IP addresses (“No” branch of decision block 434 ), the replacement controller indicates an error and aborts the automatic replacement procedure (block 436 ).
- the replacement controller sets its IP address to the IP address of that entry (block 438 ) and completes network address recovery by setting its subnet mask to that of neighboring controllers 12 , setting its gateway to that of neighboring controllers 12 , and deleting the list of possible IP addresses, among other tasks (block 440 ).
- Controllers 12 may be configured to convey articles across the conveyor system 10 in a number of ways, including, as discussed above, a zone singulation mode, a flex zone mode, a train mode, a gap train mode, a touch-and-go mode, and a look-ahead-slow-down mode. More specifically, the touch-and-go mode allows a user to selectively activate a conveyor system 10 , which may be advantageous in facilities where leaving conveyor systems 10 constantly running (e.g., leaving motorized rollers 18 constantly turning) is inefficient, unwanted, or unnecessary. As such, a controller 12 may detect the rotation of a previously static motorized roller 18 then start at least one motorized roller 18 of at least one downstream controller 12 in response thereto. FIG.
- 15 is a flowchart 450 illustrating a sequence of operations for a controller 12 in a touch-and-go mode to implement functionality corresponding to that described above consistent with embodiments of the invention.
- the controller 12 initially determines whether a zone it is controlling is free and whether there is an article being transported upstream (block 452 ).
- the controller 12 When the zone is not free or when an article is being transported upstream (“No” branch of decision block 452 ), the controller 12 continues its current operation (e.g., running motorized rollers 18 and waiting to accept the upstream article, keeping motorized rollers 18 static and waiting to unload an article, or running motorized rollers 18 to unload an article) (“Yes” branch of decision block 452 ), the controller resets a rotation counter (block 454 ) and determines whether there is more than one rotation (e.g., such as one-and-a-half rotations or two rotations) in the proper direction (e.g., in the downstream direction 26 ) that lasts for less than two-hundred milliseconds (block 456 ).
- a rotation counter block 454
- controllers 12 may also be configured to constantly look ahead to the next downstream zone and dynamically adjust the motors of the motorized rollers to a user configurable speed to allow the article to come to a controlled stop.
- FIG. 16 is a flowchart 470 illustrating a sequence of operations for a controller 12 in a look-ahead-slow-down mode to implement functionality corresponding to that described above consistent with embodiments of the invention.
- the controller 12 determines whether it has received an incoming article communication for a selected zone controlled thereby (e.g., a message indicating that an article is being transported to a zone controlled by the controller 12 ) (block 472 ).
- the controller 12 When the look-ahead-slow-down mode is not enabled (“No” branch of decision block 474 ), the controller 12 operates the motorized roller 18 for the selected zone at its normal speeds (e.g., the normal starting and stopping speed) (block 476 ). However, when the look-ahead-slow-down mode is enabled (“Yes” branch of decision block 474 ), the controller 12 determines whether the controller 12 is accumulating articles at the selected zone (block 478 ). For example, the controller 12 for the selected zone may adjust the speed of a motorized roller 18 for that selected zone to a target speed that is lower than the normal speed for the motorized roller 18 when it is accumulating an article. Advantageously, this slows the article.
- the controller 12 for the selected zone may adjust the speed of a motorized roller 18 for that selected zone to a target speed that is lower than the normal speed for the motorized roller 18 when it is accumulating an article.
- this slows the article.
- the controller 12 when the controller 12 is not accumulating articles in the selected zone (“No” branch of decision block 478 ), the controller 12 operates the motorized roller 18 for the selected zone at its normal speeds (block 476 ).
- the controller 12 When the controller 12 is accumulating articles at the selected zone (“Yes” branch of decision block 478 ), the controller 12 operates the motorized roller at a target speed (block 480 ), which may be from about 20% to about 80% of the normal speed, and in specific embodiments is predefined by the user.
- the controller 12 sends a communication to at least one upstream controller 12 that the motorized roller 18 is being operated at the target speed (referred to hereinafter as a “target speed communication”) and accepts the article, then sends an incoming article communication to controller 12 controlling the next downstream zone (or, when the controller 12 controlling the next downstream zone is the controller 12 controlling the selected zone, merely stores such an indication) (block 482 ).
- target speed communication a communication to at least one upstream controller 12 that the motorized roller 18 is being operated at the target speed
- controller 12 controlling the next downstream zone or, when the controller 12 controlling the next downstream zone is the controller 12 controlling the selected zone, merely stores such an indication
- FIG. 17 is a flowchart 490 illustrating a sequence of operations for a controller 12 to receive a communication that at least one downstream zone includes a motorized roller 18 being operated at the target speed consistent with embodiments of the invention.
- the upstream controller 12 determines whether it has received a communication associated with a downstream zone that indicates that the motorized roller 18 of the downstream zone is being operated at the target speed (block 492 ).
- the controller 12 receives such a communication (“Yes” branch of decision block 492 )
- the controller 12 operates the motorized roller 18 of the zone at the target speed (block 494 ).
- the controller has not received a communication indicating that the motorized roller of a downstream zone is being operated at the target speed (“No” branch of decision block 492 )
- the controller operates the motorized roller 18 of the zone at its normal speeds.
- FIG. 18 is a flowchart 500 illustrating a sequence of operations for a controller 12 to initiate such a jam clearing procedure consistent with embodiments of the invention.
- the controller 12 initially determines whether a sensor 22 associated with a selected zone detects an article (bock 502 ). When the sensor 22 does not detect an article (“No” branch of decision block 502 ), the sequence of operations returns to block 502 .
- the controller 12 resets and starts a jam timer (e.g., resetting the jam timer to about five seconds) (block 504 ) and again determines whether the sensor 22 detects an article (block 506 ).
- a jam timer e.g., resetting the jam timer to about five seconds
- the controller 12 determines whether the jam timer has elapsed (block 508 ).
- the sequence of operations returns to block 506 .
- the controller 510 automatically initiates a jam clearing procedure (block 510 ).
- the controller 12 determines whether the jam has been cleared (e.g., whether the article is no longer detected) (block 512 ).
- the controller 12 stops and resets the jam timer, stops the motorized rollers 18 associated with the zone in which that jam has occurred, sends a communication to at least one upstream controller 12 (if any) that indicates that a jam has occurred, and prevents further operation until the jam has been manually cleared (block 514 ).
- the sequence of operations proceeds from block 514 back to block 512 .
- FIG. 19 is a flowchart 520 illustrating a jam clearing procedure that may be performed at block 510 in flowchart 500 of FIG. 18 by a controller 12 consistent with embodiments of the invention.
- the controller 12 operates the motorized roller 18 associated with the zone that may have a jam in reverse, resets and starts a jam clearance timer (e.g., resetting the jam clearance timer to about five seconds), resets the jam timer, and resets a jam counter (e.g., resetting the jam counter to zero) (block 522 ) and determining whether the jam clearance timer has expired (block 524 ).
- a jam clearance timer e.g., resetting the jam clearance timer to about five seconds
- a jam counter e.g., resetting the jam counter to zero
- the controller 12 determines whether the sensor 22 associated with the selected zone detects an article (block 526 ). When the sensor 22 detects the article (“Yes” branch of decision block 526 ), the sequence of operations returns to block 524 . However, when the sensor 22 does not detect the article (“No” branch of decision block 526 ), the controller 12 operates the motorized roller 18 associated with the jam in the normal direction until the sensor 22 detects the article, then resumes normal operation and attempts to convey the article downstream (block 528 ). Returning to block 524 , when the jam clearance timer has expired (“Yes” branch of decision block 524 ), the controller 12 operates the motorized roller 18 associated with the jam in the normal direction and attempts to convey the article downstream (block 530 ).
- the controller starts the jam timer (block 532 ) and again determines whether the sensor 22 detects the article (block 534 ).
- the controller determines that the jam has been cleared, and stops and resets the jam timer and the jam clearance timer (block 536 ).
- the controller 12 determines whether the jam timer has elapsed (block 538 ).
- the sequence of operations returns to block 534 .
- the controller 12 increments the jam counter (e.g., such as by one), and stops and resets the jam timer and the jam clearance timer (block 540 ). The controller 12 then determines whether the jam counter has reached a target value (e.g., about three) (block 542 ). When the jam counter has not reached a target value (“No” branch of decision block 542 ), the controller restarts the jam clearance timer (block 544 ) and the sequence of operations returns to block 524 . However, when the jam counter has reached the target value (“Yes” branch of decision block 542 ), the controller determines that the jam has not been cleared (block 546 ). In response to the actions at block 536 or block 546 , the controller may proceed to block 512 of the flowchart 500 of FIG. 18 .
- a target value e.g., about three
- a particular motorized roller 18 may be experience a tangential mechanical force such that the maximum rotational speed therefor is exceeded.
- the motor in the motorized roller 18 thus generates excess electrical energy that is fed back to a corresponding controller 12 .
- the controller 12 may absorb the energy and dissipate it as heat within the motor interface(s) 46 a , 46 b thereof. This prevents high voltage from being provided to other, more sensitive circuitry of the controller 12 .
- the controller 12 may actively divert the excess electrical energy to the power supply unit 24 connected thereto, thus reducing the overall load thereon.
- the controller 12 is configured to slow down the motor of a motorized roller 18 by providing an opposing current to the windings of the motor to, in turn, induce an opposing motor torque to reduce the speed of the motorized roller 18 .
- FIG. 20 is a flowchart 550 illustrating a sequence of operations for a controller 12 to reduce the rotational speed of a motorized roller 18 consistent with embodiments of the invention.
- the controller 12 determines whether the target rotational speed of a motorized roller 18 has been exceeded (block 552 ).
- the sequence of operations returns to block 552 .
- the controller 12 determines the speed and looks up the speed in a table to determine a reverse current to apply to the motorized roller 18 to slow the motorized roller 18 (block 554 ) and applies that determined reverse current to the motorized roller 18 to slow that motorized roller 18 (block 556 ). The sequence of operations may then return to block 552 .
- brushless DC motors that may be used in motorized rollers 18 consistent with embodiments of the invention may generate power when they are rotated from an external force, such as a when a conveyor surface they control is angled downwardly and an article rolls the motorized roller 18 as it traverses that surface.
- Some embodiments of the invention apply a current to the motorized roller 18 to prevent it from turning, as discussed above.
- alternative embodiments of the invention may supply the power generated by the motorized roller to the power supply unit 24 . This, in turn, may reduce the overall power consumption of the conveyor system 10 .
- a motorized roller 18 may include an addressable circuit 110 having information stored thereon.
- the controller 12 may be configured to retrieve that information, determine an operational characteristic of the motorized roller 18 , and/or control the motorized roller 18 based upon that operational characteristic.
- FIG. 21 is a flowchart 560 illustrating a sequence of operations for a controller 12 to determine an operational characteristic of a motorized roller 18 and, optionally, control that motorized roller 18 based upon that operational characteristic consistent with embodiments of the invention.
- the controller 12 may be configured to communicate with an addressable circuit 110 of the motorized roller 18 and query the addressable circuit 110 for information associated with the motorized roller 18 (block 562 ).
- the controller 12 determines at least one operational characteristic of the motorized roller 18 , such as the number of windings of the motor of the motorized roller 18 , the circumference of the housing of the motorized roller 18 , the radius of the motorized roller 18 , the gear ratio for the gear box of the motorized roller 18 , the power rating of the motor of the motorized roller 18 , the serial number for the motorized roller 18 , the model of the motorized roller 18 , and/or other motorized roller 18 information (block 566 ). The controller 12 may then determine information about the operation of the motorized roller 18 and/or control the motorized roller 18 appropriately.
- the controller 12 determines the rotational distance of the motorized roller 18 in response to a momentary pulse of voltage (block 568 ).
- the rotation of a motor of the motorized roller 18 in response to a momentary pulse of voltage is typically from one winding to the next.
- the motor includes three windings, the motor operates to rotate by one-third. This, in turn, is translated by the gearbox into a percentage of rotation of the housing of the motorized roller 18 .
- the gearbox ratio of a gearbox of the motorized roller 18 is 60-1, then sixty rotations of the motor translate into one rotation of the motorized roller 18 .
- one-third rotation of the motor translates to 1/180 th rotation of the housing of the motorized roller.
- the controller 12 may calculate that the rotational distance of the housing of the motorized roller 18 in response to a momentary pulse of voltage to the motor of the motorized roller 18 is approximately 2/30 th of an inch in block 566 .
- the controller 12 determines the current threshold of the motor of the motorized roller 18 based information associated with the motorized roller 18 (block 570 ).
- the motorized roller 18 may be rated for a particular current level. Exceeding that current level may result in damage to a component of the motorized roller.
- the controller 12 may receive information associated with the motorized roller 18 that indicates the power rating of the motor of the motorized roller 18 (e.g., how many watts the motor is rated for) or the model of the motorized roller 18 .
- the controller 12 may access the configuration data structure 62 or parameters data structure 64 , and particularly a lookup table thereof, to determine, for the power rating or model, the current limit for the motor of the motorized roller 18 in block 570 .
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Conveyors (AREA)
- General Factory Administration (AREA)
Abstract
A conveyor controller for being implemented into a conveyor system includes control circuitry and one or more network interfaces for coupling with other conveyor controllers. In one embodiment, the control circuitry configured for detecting whether another conveyor controller is connected and to determine which network interface is used in order to set the direction of the conveyor system. In another embodiment, the control circuitry is configured, to receive configuration data from a conveyor controller connected to a network interface, and to detect if another conveyor controller is and to transmit configuration message to another conveyor controller that includes additional configuration data associated with the conveyor controller. In still another embodiment, the control circuitry transmits configuration data to a replacement conveyor controller upon getting a request from the replacement conveyor controller that has been connected to a network interface.
Description
- This application is a continuation of U.S. patent application Ser. No. 17/671,136 Filed Feb. 14, 2022 (pending), which is a continuation of U.S. patent application Ser. No. 16/878,283 filed May 19, 2020 (now U.S. Pat. No. 11,247,846), which is a continuation of U.S. patent application Ser. No. 16/355,006 filed Mar. 15, 2019 (now U.S. Pat. No. 10,654,659), which is a continuation of U.S. patent application Ser. No. 15/417,588 filed Jan. 27, 2017 (now U.S. Pat. No. 10,233,028), which is a continuation of U.S. patent application Ser. No. 14/270,590 filed May 6, 2014 (now U.S. Pat. No. 9,555,977), which is a continuation application of U.S. patent application Ser. No. 13/103,705 filed May 9, 2011 (now U.S. Pat. No. 8,757,363), the disclosures of which are incorporated by reference herein in their entireties.
- The present invention relates controlling conveyor systems with networked conveyor controllers.
- Conveyors are used in a number of applications to convey an article from a first point to a second point. As an example, conventional conveyors can include roller conveyors, which include a plurality of motorized and non-motorized rollers, as well as belt conveyors, which include belts that are driven by one or more motorized rollers. Typically, one or more sections of the conventional conveyor are controlled by a controller, such as a computer. The controller generally controls the motorized rollers or motors that operate the belt of the conveyor to move an article along the conveyor. In conventional conveyor controllers, the controller also attempts to keep track of whether an article is being conveyed by monitoring sensors, such as photo-eyes, configured on the conveyor.
- However, conventional controllers for conveyor systems often lack the capability for advanced control of feedback. For example, conventional controllers are able to determine whether an article is sensed by a photo-eye but unable to discern any additional information about that article. Moreover, conventional controllers are often unable to track differently sized articles as they move through various portions of the conveyor. This, in turn, can result in a jam situation or result in collisions between articles. In any event, information about the article itself is often unknown or indeterminable.
- Moreover, conventional controllers are often difficult to maintain and replace. For example, a conveyor typically includes multiple controllers. But each controller of the conveyor must be programmed to work with the other controllers. Conventional programming of multiple controllers has often involved programming each individually then attempting to operate them together. But this conventional programming is time consuming and laborious, often involving dip-switch setting and complex algorithmic management to implement even a simple run of a conveyor (e.g., a “linear” conveyor without any diverts or mergers).
- Also for example, some conventional controllers may require that each controller for a conveyor is reprogrammed if even one is replaced. Moreover, in the event that all conventional controllers need not be reprogrammed simply to replace one, conventional replacement of a controller often involves programming that replacement controller ahead of time. This can be a laborious process, as the exact configuration of a previous controller may not be available, requiring the configuration to be recreated from scratch.
- Consequently, there is a continuing need for improving control of conveyors and the controllers that perform such control of conveyors.
- Embodiments of the invention include various methods, apparatuses, and program products that are used to control at least a portion of a conveyor, determine information about an article conveyed by the conveyor, or otherwise operate a conveyor. In one embodiment, a method includes detecting whether a second conveyor controller is connected to the first conveyor controller and, in response to detecting that there is a second conveyor controller connected to the first conveyor controller, identifying whether the second conveyor controller is connected to a predetermined network interface of the first conveyor controller. The method further includes configuring the first conveyor controller to rotate a motorized roller in a first predetermined direction if a second conveyor controller is connected to the predetermined network interface and configuring the first conveyor controller to rotate the motorized roller in a second predetermined direction if a second conveyor controller is not connected to the predetermined network interface.
- In another embodiment, a method includes, in response to receiving first configuration data from a first conveyor controller at a second conveyor controller, detecting whether a third conveyor controller is connected to the second conveyor controller. The method further includes, transmitting a configuration message to a third conveyor controller that includes second configuration data associated with the second conveyor controller if the third conveyor controller is connected to the second conveyor controller and determining that the second conveyor controller is a final conveyor controller of a linear conveyor if the third conveyor controller is not connected to the second conveyor controller.
- In yet another embodiment, a method includes receiving and storing configuration data associated with a second conveyor controller connected to the first conveyor controller and, in response to a first request for data from a third conveyor controller intended to replace the second conveyor controller, transmitting the configuration data to the third conveyor controller.
- In still a further embodiment, a method includes in response to user input to a first conveyor controller to automatically configure the first conveyor controller, requesting configuration data from a second conveyor controller connected to the first conveyor controller and, in response to receiving the configuration data, storing the configuration data in the first conveyor controller.
- In another embodiment, a method includes monitoring a motorized roller for at least partial rotation thereof and, in response to detecting the at least partial rotation of the motorized roller, determining a length of time for the at least partial rotation. The method further includes, in response to determining that the length of time is greater than a target time, activating the motorized roller.
- An additional embodiment includes a method that in turn includes, in response to a determination to prevent rotation of a motorized roller, identifying a rotational position associated with the motorized roller when the motorized roller is stopped and, in response to an external force on the motorized roller, applying a voltage signal to the motorized roller to maintain the roller at the identified rotational position.
- Another embodiment includes a method that in turn includes detecting a photo-eye sensor connected to the conveyor controller, including whether the photo-eye sensor is light-operated or dark-operated, detecting a motorized roller connected to the conveyor controller, including information about the motorized roller, and automatically configuring at least one of a speed to operate the motorized roller, a rate at which to accelerate the motorized roller, a rate at which to decelerate the motorized roller, or combinations thereof.
- In yet another additional embodiment, a method includes querying a motorized roller for data associated therewith, in response to receiving the data, analyzing the data to determine an operational characteristic associated with the motorized roller, and controlling the motorized roller based at least in part upon the determined operational characteristic.
- A still further additional embodiment includes a method that in turn includes operating a motorized roller to rotate in a first direction corresponding to a direction of travel and, in response to detecting that a jam has occurred, operating the motorized roller to rotate in a second direction opposite the first direction.
- Yet another embodiment is a method that includes sensing a current of a signal used to operate a motorized roller and determining a weight associated with the article based upon the sensed current. A still further embodiment is a method that includes determining a time during which a photo-eye detects an article as the article is conveyed along the at least a portion of the conveyor and determining a length associated with the article based upon the determined time.
- Yet another embodiment is a method that includes determining a rate of rotation associated with a motorized roller, connecting a first voltage signal generated by the rotation of the motorized roller to a power supply of the conveyor controller to supply the power supply with energy generated by the motorized roller if the rotation of the motorized roller does not exceed a target speed, and supplying a second voltage signal to the motorized roller to reduce the rate of rotation thereof if the rotation of the motorized roller exceeds the target speed.
- In another embodiment, a method includes determining whether a current through a motorized roller is associated with a low level to indicate that the motorized roller is conveying a first article, in response to determining that the motorized roller is conveying the first article, determining whether the current through the motorized roller is associated with a high level to indicate that the first article has encountered a second article, and, in response to determining that the first article has jammed or encountered a second article, conveying the first and second articles simultaneously and without substantial gap therebetween during such conveyance.
- A still further embodiment is a method of controlling at least a portion of a conveyor with a conveyor controller in a conveyor system having at least one downstream conveyor controller and at least one upstream conveyor controller to the conveyor controller. The method includes sending a message to the downstream conveyor controller to request data to determine whether at least a portion of the conveyor controlled thereby is occupied by an article. If the at least a portion of the conveyor controlled by the downstream conveyor controller is not occupied by an article, the method includes operating a motorized roller to convey an incoming article at a target speed. However, if the at least a portion of the conveyor controlled by the downstream conveyor controller is occupied by an article, the method includes operating the motorized roller to convey an incoming article at an adjusted target speed that is slower than the target speed
- These and other advantages will be apparent in light of the following figures and detailed description.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with a general description of the invention given above and the detailed description of the embodiments given below, serve to explain the principles of the invention.
-
FIG. 1 is a perspective illustration of a portion of a conveyor system that uses one or more modular conveyor controllers consistent with embodiments of the invention; -
FIG. 2 is a diagrammatic illustration of a controller ofFIG. 1 ; -
FIG. 3 is a diagrammatic illustration of a computer connected to the controllers ofFIG. 1 ; -
FIG. 4 is a partial cut-away perspective view of a motorized roller of the conveyor system ofFIG. 1 ; -
FIG. 5 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . during the automatic configuration thereof; -
FIG. 6 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . during the automatic configuration thereof when such controller is a downstream controller; -
FIG. 7 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to abort the automatic configuration thereof; -
FIG. 8 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to automatically configure itself as the first controller of a linear conveyor; -
FIG. 9 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to detect characteristics of at least a portion of the conveyor system to which it is configured; -
FIG. 10 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to determine which direction to rotate and adjust its operations accordingly; -
FIG. 11 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to detect and accumulate an article being transported based on the current to a motorized roller connected thereto; -
FIG. 12 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to stop a motorized roller using a servo-lock method; -
FIG. 13 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to initiate an automatic replacement procedure; -
FIG. 14 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to automatically recover a network address of a previous controller during an automatic replacement procedure; -
FIG. 15 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to operate in a “touch-and-go” mode; -
FIG. 16 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to operate in a “look-ahead-slow-down” mode; -
FIG. 17 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to determine whether a downstream zone is being operated at a target speed; -
FIG. 18 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to initiate a jam clearing procedure; -
FIG. 19 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to clear a jam; -
FIG. 20 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 . to reduce the rotational speed of a motorized roller; and -
FIG. 21 is a flowchart illustrating a sequence of operations that may be performed by the controller ofFIG. 1 to determine an operational characteristic of a motorized roller and, optionally, control that motorized roller based upon that operational characteristic. - It should be understood that the appended drawings are not necessarily to scale, presenting a somewhat simplified representation of various features illustrative of the basic principles of embodiments of the invention. The specific design features of embodiments of the invention as disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes of various illustrated components, as well as specific sequences of operations (e.g., including concurrent and/or sequential operations), will be determined in part by the particular intended application and use environment. Certain features of the illustrated embodiments may have been enlarged or distorted relative to others to facilitate visualization and clear understanding.
-
FIG. 1 is a perspective illustration of a portion of aconveyor system 10 that uses one or moremodular conveyor controllers 12 a-c consistent with embodiments of the invention. In particular, the illustrated portion of theconveyor system 10 includes aconveyor assembly 14 which in turn includes aconveyor belt 16 that has motorizedrollers 18 interspersed withnon-motorized rollers 20. Theconveyor assembly 14 further includes a plurality ofsensors 22 and apower supply unit 24. Thesensors 22 are configured to detect the presence or absence of anarticle 23 conveyed on theconveyor assembly 14, while thepower supply unit 24 is configured to provide power to one or moremodular conveyor controllers 12, themotorized rollers 18, and/or thesensors 22. - As illustrated in
FIG. 1 , each modular conveyor controller 12 (referred to hereinafter as “controller” 12) interfaces with and/or controls up to twomotorized rollers 18 and up to twosensors 22. As such, eachcontroller 12 may be configured to control one or more respective “zones” of the conveyor assembly 14 (e.g., a respective area of the conveyor assembly 14). Each zone, in turn, may include one or moremotorized rollers 18 and one ormore sensors 22. As illustrated inFIG. 1 , eachcontroller 12 a-c is configured to control two zones. More specifically, controller 12 a is configured to control zones A1 and A2,controller 12 b is configured to control zones B1 and B2, and controller 12 c is configured to control zones C1 and C2. In some embodiments, eachsensor 22 may be an optical sensor, such as an IR sensor that is configured to detect the presence of anarticle 23 on theconveyor assembly 14. In operation, one ormore controllers 12 are configured to move anarticle 23 in adownstream direction 26 along theconveyor system 10. -
FIG. 2 is a diagrammatic illustration of a hardware and software environment of acontroller 12 consistent with embodiments of the invention. Thecontroller 12 includes at least one central processing unit (“CPU”) 40 coupled to amemory 42. EachCPU 40 is typically implemented in hardware using circuit logic disposed in one or more physical integrated circuit devices, or chips, and may be comprised of one or more microprocessors, micro-controllers, field programmable gate arrays (“FPGAs”), or ASICs.Memory 42 may include random access memory (“RAM”), dynamic random access memory (“DRAM”), static random access memory (“SRAM”), flash memory, electronically erasable programmable read-only memory (“EEPROM”) and/or another digital storage medium, and is also typically implemented using circuit logic disposed on one or more physical integrated circuit devices, or chips. As such,memory 42 may be considered to include memory storage physically located elsewhere in thecontroller 12, e.g., any cache memory in the aCPU 40, as well as any storage capacity used as a virtual memory, e.g., as stored on a computing system 90 (FIG. 2 ) or anothercontroller 12 coupled to thecontroller 12 through at least onenetwork interface Network B Interface 44 b). - The
controller 12 is configured to couple to up to twomotorized rollers 18 throughrespective motor interfaces 46 a, 46 b (illustrated as “Motor A Interface” 46 a and “Motor B Interface” 46 b). In particular, theCPU 40 is configured to control the motors (not shown) of themotorized rollers 18 by selectively providing power to the motors as well as determining the rotational state of themotorized rollers 18. Eachmotor interface 46 a, 46 b allows theCPU 40 to provide power to and determine information about a motor of amotorized roller 18. In particular, themotor interface 46 a, 46 b may be generally utilized for brushless DC (“BLDC”) motor commutation control to control the rotational speed of amotorized roller 18. More specifically, themotor interface 46 a, 46 b includes the ability to selectively energize particular windings of a motor connected thereto to turn a motorized roller, sense the current consumed by the motor connected thereto, and detect the rotational state of the motor connected thereto. Themotor interface 46 a, 46 b may also include the ability to control a brake (not shown) associated with the motor. - In addition to the
motorized rollers 18, theCPU 40 is configured to couple to up to twosensors 22 through respective sensor interfaces 48 a, 48 b (illustrated as “Sensor A Interface” 48 a and “Sensor B Interface” 48 b). Thecontroller 12 is also configured to couple to up to two pieces of additional hardware (not shown) (e.g., such asadditional sensors 22 that are not connected through the sensor interfaces 48 a, 48 b) through respective hardware interfaces 49 a, 49 b (illustrated as “Hardware A Interface” 49 a and “Hardware B Interface” 49 b). Thecontroller 12 is configured to receive power from thepower supply unit 24 through a power input andconditioning interface 50. - The
CPU 40 is further configured to receive input from a user and/or provide a human-perceptible output to a user through an input/output device interface 52 (illustrated and referred to hereinafter as “I/O I/F” 52). In some embodiments, the I/O I/F 52 is configured to receive data from the user through at least one user interface 54 (including, for example, one or more softkeys, a keyboard, mouse, a microphone, and/or other user interface), and/or provide a human-perceptible output to the user through at least one output device 5 (including, for example, one or more LEDs providing specific information, a display, speakers, a printer, and/or another output device). In some embodiments, the I/O I/F 52 communicates with a device that is operative as auser interface 54 and output device 56 in combination, such as a touch screen display (not shown). In specific embodiments, the at least oneuser interface 54 includes a softkey that, upon an actuation lasting a first predetermined amount of time, allows theCPU 40 to determine that the user desires to automatically configure a plurality ofcontrollers 12, and, upon an actuation lasting a second predetermined amount of time, allows theCPU 40 to determine that the user desires to reset thecontroller 12. In further specific embodiments, the at least one output device 56 includes a plurality of LEDs that indicate, respectively, network connectivity through the network interfaces 44 a, 44 b, network traffic through the network interfaces 44 a, 44 b, a status of a network to which thecontroller 12 is connected, a status of one or more respective motors of respectivemotorized rollers 18 connected to the motor interfaces 46 a, 46 b, a status of one or morerespective sensors 22 connected to the sensor interfaces 48 a, 48 b, a status of one or more respective pieces of hardware connected to the hardware interfaces 49 a, 49 b, a status of power to thecontroller 12, and/or a status of thecontroller 12. - The
controller 12 is typically under the control offirmware 57 as well as an operating system, application, and/or other program code configured to control the controller 12 (illustrated and referred to hereinafter as “Control Code”) 58. As such, thecontroller 12 executes or otherwise relies upon various computer software applications, sequences of operations, components, programs, files, objects, modules, etc., consistent with embodiments of the invention. In specific embodiments, thefirmware 57 includes data to control the components of thecontroller 12 while thecontrol code 58 is executed to perform various operations consistent with embodiments of the invention. Thecontroller 12 also includes anetwork server 59, which may include a web server and/or a DHCP server. As such, thenetwork server 59 allows a separate computing system 90 (FIG. 3 ) to directly access information from thecontroller 12 through a network 82 (FIG. 3 ) and/or allows theseparate computing system 90 to be directly connected to thecontroller 12 to automatically configure a TCP/IP connection therewith. - The
controller 12 is also configured with amass storage device 60 that may store data for to operate thecontroller 12 orother controllers 12. In specific embodiments, themass storage device 60 includes the configuration data of thecontroller 12 as well as the configuration data foradjacent controllers 12 in aconfiguration data structure 62. The mass storage may also store parameters for operation, such as its IP address, subnet mask, gateway, and other data structures, such as lists or lookup tables, that may be used to in the configuration and/or operation of thecontroller 12 in aparameters data structure 64. - The
controller 12 may be configured to operate alone or in conjunction with at least oneadditional controller 12. Moreover, thecontroller 12 may be configured to controlled externally, such as with theaforementioned computing system 90. As such, and consistent with embodiments of the invention,FIG. 3 is a diagrammatic illustration showing interconnection between a plurality ofcontrollers 12 a-c via communication links 80 a-c as well as the connection of one ormore controllers 12 to at least onenetwork 82 for control thereby with acomputing system 90. In specific embodiments, each communication link 80 betweencontrollers 12 is achieved through a network cable, such as a Category 5 cable used for Ethernet network communications. One controller 12 a may be configured to communicate with aseparate controller 12 b, 12 c directly (e.g., in the case ofcontroller 12 b) or indirectly (e.g., in the case of controller 12 c). - As discussed above, the
conveyor system 10 may include acomputing system 90 operable to control thecontrollers 12 a-c and thus the operation of theconveyor system 10. Thecomputing system 90 includes at least CPU 92 coupled to amemory 94. Each CPU 92 is typically implemented in hardware using circuit logic disposed on one or more physical integrated circuit devices or chips and may be one or more microprocessors, micro-controllers, FPGAs, or ASICs.Memory 94 may include RAM, DRAM, SRAM, flash memory, and/or another digital storage medium, and also typically implemented using circuit logic disposed on one or more physical integrated circuit devices, or chips. As such,memory 94 may be considered to include memory storage physically located elsewhere in thecomputing system 90, e.g., any cache memory in the at least one CPU 92, as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device 96, another computing system (not shown), a network storage device (e.g., a tape drive) (not shown), or another network device (not shown) coupled to thecomputing system 90 through at least one network interface 98 (illustrated and referred to hereinafter as “network I/F” 98) by way of the at least onenetwork 82. The network I/F 98 may be connected to thenetwork 82 wirelessly (e.g., through one of the numerous IEEE 802 standards) or through a hard-wire link (e.g., an Ethernet cable). It will be appreciated that the at least onenetwork 82 may include at least one private communications network (e.g., such as an intranet) and/or at least one public communications network (e.g., such as the Internet). - As such, the
computing system 90, in specific embodiments, is a computer, computer system, computing device, server, disk array, or programmable device such as a multi-user computer, a single-user computer, a handheld computing device, a networked device (including a computer in a cluster configuration), a mobile telecommunications device, a telecommunications capable device, a video game console (or other gaming system), etc. In specific embodiments, thecomputing system 90 is an iPhone® or iPad® as distributed by Apple Inc., of Cupertino, CA. - The
computing system 90 is coupled to at least one peripheral device through an input/output device interface 102 (illustrated as, and hereinafter, “I/O I/F” 102). In particular, thecomputing system 90 receives data from a user through at least one user interface 104 (including, for example, a keyboard, mouse, a microphone, and/or other user interface) and/or outputs data to the user through at least one output device 106 (including, for example, a display, speakers, a printer, and/or another output device). Moreover, in some embodiments, the I/O I/F 102 communicates with a device that is operative as auser interface 104 andoutput device 106 in combination, such as a touch screen display (not shown). - The
computing system 90 is typically under the control of anoperating system 108 and executes or otherwise relies upon various computer software applications, sequences of operations, components, programs, files, objects, modules, etc., consistent with embodiments of the invention. In specific embodiments, thecomputing system 90 executes or otherwise relies on acontrol application 110 to manage the operation of thecontrollers 12 a-c and theconveyor system 10. - Consistent with embodiments of the invention, a
controller 12 may be configured to operate in an autonomous fashion, a collectively autonomous fashion, or a dependent fashion. When operating in an autonomous fashion, thecontroller 12 is not controlled by thecomputing system 90 and operates without any concern to one ormore controllers 12 located upstream or downstream along thedownstream direction 26, if any. As such, thecontroller 12 simply controls a portion of theconveyor assembly 14 to convey anarticle 23 along thedownstream direction 26 without regard toadditional controllers 12. The autonomous operation may be advantageous when there isconveyor system 10 that does not requireadditional controllers 12 and merely operates to consistently movearticles 23 along that surface. When operating in a collective fashion,multiple controllers 12 are configured to share information upstream and/or downstream in order to move thearticle 23 in thedownstream direction 26, but are not otherwise controlled by thecomputing system 90. The collective operation may be advantageous when there is aconveyor system 10 that does not include merges, joins, article sorting, or other article manipulating sections (but may nevertheless include turns, inclines, declines) and is used to convey anarticle 23 along a path. When operating in a dependent fashion, one ormore controllers 12 are configured to be controlled by thecomputing system 90. The dependent operation may be advantageous when there is aconveyor system 10 that includes merges, joins, article sorting, and/or other article manipulating sections that requires complex movement and adjustment ofarticles 23 as they are conveyed along theconveyor system 10. - In any event, the
controllers 12 include a number of operations, operational modes, and functions that assist in conveying articles. For example, acontroller 12 is configured to automatically determine information about theconveyor assembly 14 to which it is connected, and more particularly information about themotorized rollers 18,sensors 22, and/or additional hardware configured thereupon. Thecontrollers 12, in turn, use BLDC commutation control to control the rotational speed and/or state of themotorized rollers 18. Thecontrollers 12 may also use current feedback from amotorized roller 18 to determine whether anarticle 23 is being conveyed as well as use rotation feedback from themotorized roller 18 to determine the position of anarticle 23 being conveyed. Thecontroller 12 may also use the current feedback, rotation feedback, and/or additional information to determine the weight and length of thearticle 23. - In addition to providing power to rotate a
motorized roller 18, thecontroller 12 is configured to stop themotorized roller 18 in a number of ways. For example, conventional methods of stopping amotorized roller 18 include shunting windings of the motor of themotorized roller 18 to ground or engaging a brake (not shown) of themotorized roller 18. However, thecontroller 12 may be configured to stop amotorized roller 18 through a gravity stop or through a servo-lock stop. With a gravity stop, thecontroller 12 may disconnect the motor of themotorized roller 18 from any ground signal or power signal. Advantageously, the gravity stop allows themotorized roller 18 to briefly rotate after the power thereto has been stopped, but otherwise prevents excessive power usage by themotorized rollers 18. In the servo-lock stop, thecontroller 12 maintains themotorized roller 18 at the rotational position at which it has stopped. For example, if themotorized roller 18 is on an incline or decline, the servo-lock stop allows thecontroller 12 to maintain themotorized roller 18 at a particular rotational position, advantageously maintaining anarticle 23 loading thatmotorized roller 18 at a particular position. -
Multiple controllers 12 networked together (such as in aconveyor system 10 having a linear conveyor or other conveyor run) may automatically configure themselves when configured in an uninterrupted path of one ormore conveyor assemblies 14 with no merge or divert mechanisms, but possibly curved sections. This arrangement is more commonly referred to as a “linear conveyor.” As such, thecontrollers 12 are configured along the linear conveyor and interconnected via communication links 80. The furthestupstream controller 12 may then be interfaced with (such as through auser interface 54 that includes a softkey) to begin an automatic configuration procedure. The automatic configuration procedure, discussed in more detail below, automatically configures each of thecontrollers 12 to control one or more respective zones of the linear conveyor such that the linear conveyor may be used to conveyarticles 23 thereon in thedownstream direction 26. - The
controllers 12 communicate with each other through the communications links 80 to access information about zones,articles 23, andcontrollers 12 upstream and downstream to dynamically adjust the operation of theconveyor system 10. Thecontrollers 12 also store configuration of eachcontroller 12 to which they are adjacent. For example, when aconveyor system 10 includes a plurality of controllers, the first controller 12 (e.g., most upstream controller in a downstream direction 26) stores its configuration data and the configuration data of thesecond controller 12, thesecond controller 12 stores its configuration data and the configuration data of thefirst controller 12 and third controller 12 (if present), and so-on with thelast controller 12 storing its configuration data and the configuration data of the next-to-last controller 12. As such, when acontroller 12 is removed, thereplacement controller 12 may automatically access appropriate stored configuration data in anadjacent controller 12. Thecontrollers 12 may use UDP for transferring configuration data, Modbus TCP for controller-to-controller communication, and Ethernet/IP for other communications. -
Controllers 12 may be used to conveyarticles 23 along aconveyor system 10 in a zone singulation mode (in which there is a zone gap between articles), a flex zone mode (in which first article is longer than a second article such that the first article is assigned more zones than that second article), a train mode (in which all upstream zones from a downstream zone run articles in a “train” when the downstream zone releases an article), and a gap train mode (which is similar to the train mode, but is a mode in which thecontrollers 12 configure a time delay between the articles in the train). - One additional mode of operation for the
controllers 12 is a mode in which acontroller 12 detects the movement of amotorized roller 18 that was previously stationary and then activates one or moremotorized rollers 18 connected thereto to move anarticle 23 along theconveyor system 10. For example, anarticle 23 may be situated on aconveyor system 10 and stationary. When a user pushes thearticle 23 along theconveyor system 10, amotorized roller 18 associated therewith is rotated. Acontroller 12 senses this motion, conveys thearticle 23 through its zones, and sends messages to at least onedownstream controller 12 to convey thearticle 23 as well. This “touch and go” mode may be advantageous in facilities where leavingconveyor systems 10 constantly running (e.g., leavingmotorized rollers 18 constantly turning) is inefficient, unwanted, or unnecessary. As such, a user may start theconveyor system 10 by placing anarticle 23 thereon and pushing the article therealong. In one embodiment, thecontrollers 12 of theconveyor system 10 activate themotorized rollers 18 until allarticles 23 on theconveyor system 10 have been discharged. In an alternative embodiment, thecontrollers 12 of theconveyor system 10 gradually increase and decrease the speed of themotorized rollers 18 for respective zones as thearticles 23 are adjacent to or pass through those zones until allarticles 23 on theconveyor system 10 have been discharged. - During operation, the
controllers 12 can “look ahead” to at least one downstream zone to determine whether it is occupied by anarticle 23, and adjust the speed of themotorized rollers 18 accordingly. In this manner, higher speed applications where increased stopping distance is required can keep thearticles 23 from over-traveling their stop positions. This “look-ahead-slow-down” mode also allows thecontrollers 12 to keep from losingarticles 23 between zones, which may happen if momentum carries anarticle 23 that is to be slowed in the area between zones where it may not be sensed by asensor 22. - The
controllers 12 are also configured to detect jams, or potential jams, when anarticle 23 does not reach asensor 22 within a predetermined amount of time, or when anarticle 23 is constantly detected by asensor 22 for a predetermined amount of time. When a jam is detected, thecontroller 12 may reverse an appropriatemotorized roller 18 in an attempt to clear that jam. -
FIG. 4 is a partially transparent view of amotorized roller 18 consistent with embodiments of the invention. Themotorized roller 18 is connected to acontroller 12 through various wires as at 102. In turn, thewires 112 may provide various signals or connection (e.g., a voltage signal, a current signal, a connection to ground) to one or more components of themotorized roller 18. More specifically, thewires 112 may carry one or more signals, such as a voltage, current, or ground signal, for amotor 114 of the motorized roller. Themotor 114, when energized, rotates and turns agearbox 116. Thegearbox 116 is coupled to thehousing 118 of themotorized roller 18 and operates to translate the rotation of themotor 114 into rotation of thehousing 118 at a fixed ratio. In specific embodiments, thegearbox 116 may operate to translate sixty rotations of themotor 114 into one rotation of thehousing 118 such that thegearbox 116 has a ratio of approximately 60-1. Moreover, themotorized roller 18 may include one or moreaddressable circuits 110, such as processing circuitry with memory, that can be queried for information associated with themotorized roller 18. As such, acontroller 12 connected to themotorized roller 18 may query themotorized roller 18, and in particular theaddressable circuit 110 thereof, for information and determine at least one operational characteristic associated with thatmotorized roller 18. For example, the operational characteristic may include a gear ratio of thegearbox 116 or a current threshold (e.g., a maximum current) for the motor. Thecontroller 12 may then determine information and/or control themotorized roller 18 accordingly (e.g., determine the distance of rotation of thehousing 118 of themotorized roller 18 from a pulse of voltage and/or keep the current supplied to themotorized roller 18 below the current threshold). - A person having ordinary skill in the art will recognize that the environments illustrated in
FIGS. 1-4 are not intended to limit the scope of embodiments of the invention. In particular,conveyor system 10,controller 12, and/orcomputing system 90 may include fewer or additional components consistent with alternative embodiments of the invention. Indeed, a person having skill in the art will recognize that other alternative hardware and/or software environments may be used without departing from the scope of the invention. Additionally, a person having ordinary skill in the art will appreciate that thecontroller 12 and/orcomputing system 90 may include more or fewer applications configured therein. As such, other alternative hardware and software environments may be used without departing from the scope of embodiments of the invention. - The routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions executed by one or
more controllers 12 and/orcomputing systems 90 will be referred to herein as a “sequence of operations,” a “program product,” or, more simply, “program code.” The program code typically comprises one or more instructions that are resident at various times in various memory and storage devices in acontroller 12 and/orcomputing system 90, and that, when read and executed by one ormore CPUs 40 and/or 92 of therespective controllers 12 and/orcomputing system 90, cause thatcontroller 12 and/orcomputing system 90 to perform the steps necessary to execute steps, elements, and/or blocks embodying the various aspects of the invention. - While the invention has and hereinafter will be described in the context of fully functioning
controllers 12 and/orcomputing systems 90, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the invention applies equally regardless of the particular type of computer readable signal bearing media used to actually carry out the distribution. Examples of computer readable signal bearing media include but are not limited to physical and tangible recordable type media such as volatile and nonvolatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., CD-ROM's, DVD's, etc.), among others. - In addition, various program code described hereinabove or hereinafter may be identified based upon the application or software component within which it is implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Furthermore, given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, APIs, applications, applets, etc.), it should be appreciated that the invention is not limited to the specific organization and allocation of program functionality described herein.
- In some embodiments, the
controllers 12 of theconveyor system 10 are configured by thecomputing system 90. As such, each thecomputing system 90 designates the function of eachcontroller 12 and how it is to operate in theconveyor system 10. However, in alternative embodiments, at least a portion of theconveyor system 10 is a linear conveyor. As such, thecontrollers 12 for the linear conveyor may be configured in an automatic configuration procedure consistent with embodiments of the invention.FIG. 5 is aflowchart 200 illustrating a sequence of operations that may be performed by acontroller 12 during an automatic configuration procedure. In particular, the sequence of operations ofFIG. 5 may be performed by acontroller 12 configured as theinitial controller 12 of a linear conveyor. As such, thecontroller 12 determines whether to initiate an automatic configuration procedure (block 202). Specifically, a user may initiate an automatic configuration procedure by pressing and holding a softkey of auser interface 54 for a predetermined amount of time. When thecontroller 12 determines not to initiate an automatic configuration procedure (“No” branch of decision block 202), the sequence of operations returns to block 202. When thecontroller 12 determines to initiate an automatic configuration procedure (“Yes” branch of decision block 202), thecontroller 12 determines whether there are upstream anddownstream controllers 12 connected thereto. - In some embodiments, the
controller 12 determines whether there are upstream anddownstream controllers 12 connected thereto by polling its network interfaces 44 a, 44 b to determine ifcontrollers 12 are connected thereto throughcommunication links network interface controller 12 determines that acontroller 12 is connected to thatnetwork interface downstream controllers 12 connected to the network interfaces 44 a, 44 b of thecontroller 12 initiating the automatic configuration procedure (“Yes” branch of decision block 204), thecontroller 12 indicates an error and aborts the automatic configuration procedure (block 206). Advantageously, preventing an automatic configuration procedure for acontroller 12 that is situated between at least twoadditional controllers 12 prevents network and resource contention. However, when there are not both upstream anddownstream controllers 12 connected to the network interfaces 44 a, 44 b of thecontroller 12 initiating the automatic configuration procedure (“No” branch of decision block 204), thecontroller 12 initiating the automatic configuration procedure (referred to hereinafter for this sequence of operations as the “first” controller 12) initiates the automatic configuration procedure (block 208) and determines whether there are is asecond controller 12 connected to one of its network interfaces 44 a, 44 b (block 210). - When the
first controller 12 determines that there is not asecond controller 12 connected to one of its network interfaces 44 a, 44 b (“No” branch of decision block 210), thefirst controller 12 configures itself to operate in an autonomous fashion (block 212). However, when thefirst controller 12 determines that there is asecond controller 12 connected to one of its network interfaces 44 a, 44 b (“Yes” branch of decision block 210), thefirst controller 12 determines whether thesecond controller 12 is connected to itsfirst network interface 44 a (block 214). Specifically, eachcontroller 12 is configured with a default that indicates that adownstream direction 26 is to proceed from the “A” side, or “left” side, of the controller 12 (e.g., the side withnetwork interface 44 a,motor interface 46 a,sensor interface 48 a, andhardware interface 49 a) to the “B” side, or “right” side of the controller 12 (e.g., the side withnetwork interface 44 b, motor interface 46 b,sensor interface 48 b, andhardware interface 49 b). Thus, when thesecond controller 12 is connected to thefirst network interface 44 a of the first controller 12 (“Yes” branch of decision block 214), thefirst controller 12 sets a flag to indicate that thedownstream direction 26 is reversed from its presumed direction (block 216). However, when thesecond controller 12 is connected to thesecond network interface 44 b of the first controller (“No” branch of decision block 214), thefirst controller 12 clears a flag to indicate that thedownstream direction 26 is not reversed from its presumed direction (block 218). - In response to setting a flag or clearing a flag indicating whether the
downstream direction 26 is reversed from its presumed direction (block 216 or block 218), thefirst controller 12 sets itself up as the “initial”controller 12 of a linear conveyor, and sends one or more messages to the second, or “downstream,”controller 12 indicating the initiation of an automatic configuration procedure as well as configuration data of the first controller 12 (block 220). In some embodiments, thefirst controller 12 sets itself as theinitial controller 12 by setting its network address to a predetermined network address. For example, if the current IP address of the first controller is 192.168.0.45, thefirst controller 12 sets itself as theinitial controller 12 by setting its IP address to 192.168.0.20. Thefirst controller 12 also sets itself as theinitial controller 12 by determining its subnet mask and gateway and providing the subnet mask and gateway todownstream controllers 12. In any event, thefirst controller 12 may send multiple messages inblock 220, including a first message (referred to hereinafter as an “configuration initiator” message) that indicates that the initiation of an automatic configuration procedure and a second message (referred to hereinafter as a “configuration token”) that includes at least the serial number of thefirst controller 12, its IP address, the subnet mask, and/or gateway of thefirst controller 12. - In any event, after sending the configuration initiator and/or the configuration token (block 220), the
first controller 12 determines whether multiple configuration confirmation messages fromdownstream controllers 12 have been received (222). When multiple configuration confirmation messages have not been received (“No” branch ofdecision block 222″), this indicates that there are not two independent network branches from thefirst controller 12 todownstream controllers 12, and the sequence of operations may end. However, when multiple configuration messages have been received (“Yes” branch of decision block 222), this indicates that there are at least two independent network branches from thefirst controller 12 todownstream controllers 12, and thus thefirst controller 12 indicates and error and aborts the automatic configuration procedure (block 224). -
FIG. 6 is aflowchart 230 illustrating a sequence of operations that may be performed by adownstream controller 12 during an automatic configuration procedure consistent with embodiments of the invention. Thedownstream controller 12, upon being started, determines whether a configuration initiator message has been received from an upstream controller 12 (e.g., thefirst controller 12 or acontroller 12 between thefirst controller 12 and thecontroller 12 performing this sequence of operations) (block 232). When a configuration initiator message has not been received (“No” branch of decision block 232), thedownstream controller 12 may return to block 232. When a configuration initiator message has been received (“Yes” branch of decision block 232), thedownstream controller 12 determines whether it has received a valid configuration token within a predetermined amount of time (e.g., twenty seconds) (block 234). For example, a configuration token may be invalid when at least some of the data expected therein is missing or corrupt. In any event, when thedownstream controller 12 has not received a valid configuration token within the predetermined amount of time, or when thecontroller 12 has received an invalid configuration token (“No” branch of decision block 234), thedownstream controller 12 indicates and error and aborts the automatic configuration procedure (block 236). - When the
downstream controller 12 receives a valid configuration token within the predetermined amount of time (“Yes” branch of decision block 234), thedownstream controller 12 sets its network address based on the network address included in the configuration token, determines thedownstream direction 26 based on which network interface the 44 a, 44 b received configuration token, and otherwise configures itself to operate in a linear conveyor based on the data in the configuration token (block 238). In specific embodiments, thedownstream controller 12 sets its network address inblock 238 by adding a fixed value to the received network address. For example, if the network address received in the configuration token is 192.168.0.24, thedownstream controller 12 may add a fixed value of one to the network address and thus set its network address to 192.168.0.25. Moreover, inblock 238, thedownstream controller 12 determines that thedownstream direction 26 is its presumed direction when it receives the configuration token onnetwork interface 44 a on its “A,” or “left,” side. Correspondingly thedownstream controller 12 determines that thedownstream direction 26 is reversed from its presumed direction when thedownstream controller 12 receives the configuration token onnetwork interface 44 b on its “B,” or “right,” side. Also inblock 238, thedownstream controller 12 sets its subnet mask, and/or gateway based on information in the configuration token. - After configuring itself to operate in a linear conveyor (block 238), the
downstream controller 12 sends a configuration confirmation message back upstream through thenetwork interface downstream controller 12 through thenetwork interface downstream controller 12 then determines whether multiple configuration confirmation messages from additionaldownstream controllers 12 have been received (244). When multiple configuration confirmation messages have been received (“Yes” branch of decision block 244), thedownstream controller 12 indicates and error and aborts the automatic configuration procedure (block 246). However, when multiple configuration confirmation messages have not been received (e.g., one configuration confirmation message has been received or no configuration confirmation message has been received) (“No” branch of decision block 244), thedownstream controller 12 determines whether one configuration confirmation message has been received (block 248). When no configuration confirmation message has been received (“No” branch of decision block 248), thedownstream controller 12 sends a message (referred to hereinafter as a “last controller” message) indicating that it is thelast controller 12 in a linear conveyor to the first controller 12 (e.g., through anyupstream controllers 12 previously configured) (block 250). In response to determining that a configuration confirmation message has been received (“Yes” branch of decision block 248) or sending a last controller message (block 250), the sequence of operations may end. -
FIG. 7 is aflowchart 260 illustrating a sequence of operations for a subroutine of a controller 12 (e.g., afirst controller 12 or a downstream controller 12) to abort an automatic configuration procedure consistent with embodiments of the invention. In particular, the subroutine determines whether thecontroller 12 has aborted an automatic configuration procedure (block 262). When thecontroller 12 has aborted an automatic configuration procedure (“Yes” branch of decision block 262), the subroutine causes thecontroller 12 to send an abort message to any upstream anddownstream controllers 12 connected thereto (block 264). However, when thecontroller 12 has not aborted an automatic configuration procedure (“No” branch of decision block 262), the subroutine determines whether thecontroller 12 has received an abort message on anetwork interface controller 12 has not received an abort message on anetwork interface controller 12 has received an abort message on anetwork interface network interface controller 12 sends an abort message (block 264) or forwards an abort message (block 268), thecontroller 12 reverts its configuration data to the configuration used before the initiation of an automatic configuration procedure (block 270). -
FIG. 8 is aflowchart 280 illustrating a sequence of operations for afirst controller 12 of a linear conveyor to finalize the automatic configuration of thecontrollers 12 therein consistent with embodiments of the invention. In particular, thefirst controller 12 determines whether a predetermined time (e.g., about five minutes) in which to receive an abort message or a last controller message has expired (block 282). When the predetermined time has not expired (“No” branch of decision block 282), the sequence of operations may return to block 282. However, when the predetermined time has expired (“Yes” branch of decision block 282), thefirst controller 12 determines whether a last controller message has been received (block 284). When a last controller message has not been received (“No” branch of decision block 284), thefirst controller 12 indicates and error and aborts the automatic configuration procedure (block 286). However, when a last controller message has been received (“Yes” branch of decision block 284), thefirst controller 12 sends a message to thedownstream controllers 12 to detect characteristics of the portion of theconveyor system 10 to which they are attached and performs its own detection of characteristics of the portion of theconveyor system 10 to which it is attached (block 288). Thefirst controller 12 then sends a message to thedownstream controllers 12 to restart, then restarts itself (block 290). -
FIG. 9 is aflowchart 300 illustrating a sequence of operations for a controller 12 (e.g., afirst controller 12 or a downstream controller 12) to detect characteristics of the portion of theconveyor system 10 to which it is configured or attached. In particular, thecontroller 12 initially detects anysensors 22 connected to itssensor interfaces sensors 22 are connected thereto, as well as whetherconnected sensors 22 are light-activated sensors (which provide a logic high when light from one end of the sensor is detected, e.g., an article is not blocking the photo-eye) or whether thesensors 22 are dark-activated, or PNP-type, sensors (which provide a logic high when light from one end of the sensors is not detected, e.g., an article is blocking the photo-eye), then stores that indication (block 302). In some embodiments, such as with asensor 22 that includes its own processing capabilities, thecontroller 12 may be further configured to query thesensor 22 for information, including the serial number of thesensor 22, whether the sensor is an light or dark activatedtype sensor 22, and/or additional information about the sensor. Thecontroller 12 is further configured to detect any motors of themotorized rollers 18 connected to the motor interfaces 46 a, 46 b, including any data related thereto, and store that data (block 304). In some embodiments, thecontroller 12 merely detects the presence of a motor connected to the motor interfaces 46 a, 46 b and, when a motor is detected, retrieves default information and uses that to configure thecontrollers 12 interaction with that motor. In specific embodiments, the default information includes an indication that the motor is a pulse roller, that the speed to operate the motor is a percentage of its maximum power rating (e.g., about 80%), the brake method to stop the motor, the acceleration rate to accelerate the motor (if any), the deceleration rate at which to decelerate the motor (if any), the mode in which to convey articles (e.g., zone singulation mode, flex zone mode, train mode, or gap train mode), the amount of time to wait before declaring a jam, and/or the amount of time to wait to run the motor after a sensor has been cleared, among others. - In any event, the
controller 12 is further configured to detect any hardware connected to the hardware interfaces 49 a, 49 b, including any data related thereto, and store that data (block 306). Thecontroller 12 further sets up network connections and communications with at least oneadditional controller 12 and/or computing systems 90 (e.g., as described above) (block 308) and configures the zones it controls as well as parameters thereof (block 310). - As an article is moved from a first zone managed by a
first controller 12 to a second zone managed by asecond controller 12, the data associated with that article is also transmitted from thefirst controller 12 to thesecond controller 12. This data can include an identification of the article, its weight, its length, and/or the state of the downward direction. With respect to the “state” data, this data is used to indicate whether direction of product flow of aconveyor assembly 14 is in the typically default direction (i.e., from the “left” of thecontroller 12 to the “right” of thecontroller 12, as described above) or whether the direction of product flow is reversed (i.e., from the “right” of thecontroller 12 to the “left” of thecontroller 12, as described above).FIG. 10 is aflowchart 320 illustrating a sequence of operations for acontroller 12 to detect state data and adjust its downstream direction consistent with embodiments of the invention. In particular, thecontroller 12 receives a downstream communication (e.g., a communication on itssecond network interface 44 b from adownstream controller 12 and/or computing system 90) (block 322) or receives an upstream communication (e.g., a communication on itsfirst network interface 44 a from anupstream controller 12 and/or computing system 90) (block 324). When thecontroller 12 receives a downstream communication, it determines whether the downstream communication includes data indicating the product flow for the article (e.g., whether the product flow is “normal” or “reversed”) (block 326). When the communication does not indicate the product flow for the article (“No” branch of decision block 326), thecontroller 12 determines that the message is not data associated with an article and instead may be data intended for another controller 12 (such as theinitial controller 12 in a linear conveyor and/or the computing system 90). As such, thecontroller 12 processes the communication as different from a communication containing article data (block 328). - Returning to block 326, when the communication does indicate the product flow for the article (“Yes” branch of decision block 326), the
controller 12 determines whether the current direction it is transporting articles is reversed (e.g., whether previous articles have been sent in the reverse direction) (block 330). When the current direction is not reversed (“No” branch of decision block 330), thecontroller 12 changes its current direction of travel (e.g., such as by reversing the motors of themotorized rollers 18 it controls) (block 332) and accepts the article from thedownstream controller 12 if it is able to do so (e.g., has a clear zone) (block 334). When the current direction is reversed (“Yes” branch of decision block 330), the controller accepts the article from thedownstream controller 12 if it is able to do so (block 334). - Returning to block 324, when the
controller 12 receives an upstream communication it determines whether the upstream communication includes data indicating the product flow for the article (block 336). When the communication does not indicate the product flow for the article (“No” branch of decision block 336), thecontroller 12 determines that the message is not data associated with an article and instead may be data intended for another controller 12 (such as theinitial controller 12 in a linear conveyor and/or the computing system 90). As such, thecontroller 12 processes the communication as different from a communication containing article data (block 328). - Returning to block 336, when the communication does indicate the product flow for the article (“Yes” branch of decision block 336), the
controller 12 determines whether the current direction it is transporting articles is normal (e.g., whether previous articles have been sent in the normal direction) (block 338). When the current direction is not normal (“No” branch of decision block 338), thecontroller 12 changes its current direction of travel (e.g., such as by reversing the motors of themotorized rollers 18 it controls) (block 332) and accepts the article from theupstream controller 12 if it is able to do so (e.g., has a clear zone) (block 334). When the current direction is normal (“Yes” branch of decision block 338), the controller accepts the article from theupstream controller 12 if it is able to do so (block 334). - When transporting an article, a
controller 12 may be configured to sense the current utilized by the motor of amotorized roller 18 to detect the presence of an article being transported thereby. Advantageously, this allows acontroller 12 to achieve maximum article density on a conveyor surface without constant pressure or force being applied to articles once densely accumulated, and further offers the advantage of sensor-less detection of articles. In particular, thecontroller 12 monitors current to motors and filters current fluctuations and spikes in order to determine when an article is being transported by amotorized roller 18. Such operation allowscontrollers 12 to accumulate articles and prime upstream zones to accumulate articles consistent with embodiments of the invention. - In one embodiment, the
controller 12 is configured to accumulate an article by determining whether there the current to themotorized roller 18 is at a first, “low current” level, or whether the current to themotorized roller 18 is at a second, “high current” level above that low current level. The low current level corresponds to a current level at which amotorized roller 18 is operated to transport an article without impingement. The high current level corresponds to a current level at which amotorized roller 18 is operated to attempt to move an article that is jammed or otherwise impinged by another article.FIG. 11 is aflowchart 340 illustrating a sequence of operations for acontroller 12 to detect and accumulate an article being transported by amotorized roller 18 by determining the current to themotorized roller 18 consistent with embodiments of the invention. Thecontroller 12 initially determines whether it has a selected zone that is ready to accept an article from an upstream zone, as well as whether the upstream zone is transporting an article to the selected zone (block 342). When the selected zone cannot accept an article, or when the upstream zone is not transporting an article to the selected zone (“No” branch of decision block 342), the sequence of operations returns to block 342. - However, when a selected zone can accept an article and the upstream zone is transporting an article to the selected zone (“Yes” branch of decision block 342), the
controller 12 starts themotorized roller 18 associated with that selected zone (block 344) as well as an “energy saver” timer (e.g., a timer after which themotorized roller 18 is stopped to save energy, and which may have a default of five seconds) (block 346), then determines whether the energy saver timer has expired (block 348). When the energy saver timer has expired (“Yes” branch of decision block 348), the motorized roller for the selected zone is stopped (block 350) and the sequence of operations returns to block 342. However, when the energy saver timer has not expired (“No” branch of decision block 348), thecontroller 12 detects the current used by the motorized roller and determines whether the low current level has been reached (block 352). When the low current level has not been reached (“No” branch of decision block 352), thecontroller 12 determines whether the high current level has been reached (block 354). When the high current level has not been reached (“No” branch of decision block 354), the sequence of operations returns back to block 348). - Returning to block 352, when the low current level has been reached, the
controller 12 may determine that themotorized roller 18 is transporting an article. Thus, when the low current level has been reached (“Yes” branch of decision block 352), thecontroller 12 starts a “stop” timer (e.g., a timer used to accumulate an article in the selected zone, and which may have a default of about two seconds) (block 356) and determines whether the stop timer has expired (block 358). When the stop timer has not expired (“No” branch of decision block 358), thecontroller 12 determines whether the high current level has been reached (block 360). However, when the stop timer has expired (“Yes” branch of decision block 358) or when the high current level has been reached (“Yes” branch of decision block 360), thecontroller 12 indicates that the selected zone is not free, stops themotorized roller 18 for the zone, and kills the stop timer (block 362). Returning to block 360, when the high current level has not been reached (“No” branch of decision block 360), the sequence of operations may return to block 358. - After
block 362, the controller determines whether the article is releasable from the selected zone (block 364). When the article cannot be released from the selected zone (e.g., because a downstream zone cannot accept the article) (“No” branch of decision block 364), the sequence of operations may return to block 364. However, when the article can be released from the selected zone (e.g., because a downstream zone can accept the article) (“Yes” branch of decision block 364), the controller may release the article (e.g., activate themotorized roller 18 to release the article to a downstream zone) (block 366) and, after releasing the article, the sequence of operations may return to block 342. In this manner, thecontroller 12 can determine when an article is received at a zone (e.g., when the low current level is reached but the high current level is not reached) as well as when an article is impinged or jammed (e.g., when the high current level is reached). Advantageously, by using motor timeouts, thecontroller 12 also reduces pressure on themotorized roller 18, articles, and other components of theconveyor system 10, which may prevent damage thereto. Moreover, thecontroller 12 prevents constant running of themotorized roller 18, which can save energy and resulting in a conveying system that may be utilized in an “on-demand” fashion. - In addition to article detection, the
controller 12 may be configured to detect the current to amotorized roller 18 and determine the weight and/or length of the article based, at least in part, thereon. For example, thecontroller 12 may be configured to determine the level of current requires to move the article with amotorized roller 18 then cross-reference the current required to move the article with a table that indicates the weight of the article. Also, for example, when thecontroller 12 senses that an article is being transported by amotorized roller 18, it may count the rotations of themotorized roller 18 required to transport the article across the motorized roller 18 (e.g., the amount of time that the low level current is provided to the motorized roller 18). When the circumference of themotorized roller 18 is known, thecontroller 12 may multiply the number of rotations required to move the article by the circumference of themotorized roller 18 to determine a length of the article. Alternatively, thecontroller 12 may determine the length of the article by determining the amount of time it takes to transport the article across a motorized roller 18 (e.g., the amount of time that the low level current is provided to the motorized roller 18) then multiply that time by the speed of themotorized roller 18. However, this alternative determination of length is not advantageous in situations where the speed of themotorized roller 18 is variable or situations where the article is stopped while on the motorized roller. In any event, when the length of an article is known, acontroller 12 may be further configured to determine where the article is within a given zone based on the number of rotations that have been used to transport the article through the zone. Article weight and/or length information may be passed in a communication to adownstream controller 12. - In one embodiment, the
controller 12 is configured to maintain themotorized roller 18 at a particular rotational position using a servo-lock stop.FIG. 12 is aflowchart 370 illustrating a sequence of operations for thecontroller 12 to use a servo-lock stop consistent with embodiments of the invention. In particular, thecontroller 12 determines whether to stop the motor of a motorized roller 18 (block 372). When thecontroller 12 determines that the motor should not be stopped (“No” branch of decision block 372), the sequence of operations returns to block 372. However, when thecontroller 12 determines that the motor should be stopped (“Yes” branch of decision block 372), thecontroller 12 stops the motor (e.g., by shunting to the windings of the motor to ground or engaging a brake of themotorized roller 18, to name a few methods), determines the rotational position of the motor of themotorized roller 18 when it is stopped, and stores that data (block 374). Thecontroller 12 then determines whether the motor is at the determined rotational position (block 376). - When the motor is not at its determined rotational position (“No” branch of decision block 376), the
controller 12 determines whether it has been configured to adjust the rotational position of the motor by energizing two windings or by energizing just one winding (block 378). When thecontroller 12 is configured to adjust the rotational position of the motor by energizing one winding (“No” branch of decision block 378), thecontroller 12 energizes one winding of the motor to maintain the motor at the determined rotational position (block 380). However, when thecontroller 12 is configured to adjust the rotational position of the motor by energizing two windings (“Yes” branch of decision block 378), thecontroller 12 energizes two windings of the motor to maintain the motor at the determined rotational position (block 382). - In response to maintaining the motor at a determined rotational position (block 380 or 382), the
controller 12 determines whether to release the article (e.g., whether to energize themotorized roller 18 to convey the article to a different zone) (block 384). When thecontroller 12 determines that it should not release the article (“No” branch of decision block 384), the sequence of operations returns to block 376. However, when thecontroller 12 determines that it should release the article (“Yes” branch of decision block 384) it releases the article (block 386) and the sequence of operations returns to block 372. Returning to block 376, when the controller determines that the motor is at the determined rotational position (“Yes” branch of decision block 376), the sequence of operations proceeds to block 384 and advances as described above. - In a
conveyor system 10, one ormore controllers 12 may be replaced as they experience errors, failure, or other wear. As such, areplacement controller 12 may execute an automatic replacement procedure by accessing stored configuration data of theprevious controller 12 that thereplacement controller 12 replaced from one or moreneighboring controllers 12.FIG. 13 is aflowchart 400 illustrating a sequence of operations for an automatic replacement procedure that may be executed by acontroller 12 consistent with embodiments of the invention. Initially, thecontroller 12 detects whether there is a trigger for an automatic replacement procedure (block 402). Specifically, the trigger to initiate an automatic replacement procedure may be a user pressing and holding a softkey of auser interface 54 before thecontroller 12 is turned on, then maintaining depression of the softkey of theuser interface 54 as thecontroller 12 is turned on. In any event, when there is no trigger for an automatic replacement procedure (“No” branch of decision block 402), thecontroller 12 starts up and sends its firmware and configuration data to upstream and/ordownstream controllers 12, if so configured (block 404), the sequence of operations may end. Acontroller 12 automatically stores firmware and configuration data in response to the receipt thereof, and, in specific embodiments, stores a notation of the IP address of thecontroller 12 from which the firmware and configuration data are sent. Thus, and as discussed in more detail below, thecontroller 12 can send the firmware and configuration data to theappropriate controller 12 based on the IP address of the controller that requested that firmware and configuration data. - However, when there is a trigger for an automatic replacement procedure (“Yes” branch of decision block 402), the controller 12 (which, with respect to the sequence of operations of
FIGS. 13 and 14 , is referred to hereinafter as the “replacement” controller 12) initiates a procedure to recover the network addresses of the controller 12 (which, with respect to the sequence of operations ofFIGS. 13 and 14 , is referred to hereinafter as the “previous” controller 12) that thereplacement controller 12 is intended to replace (block 406). After recovering the network addresses (block 406), thereplacement controller 12 requests the firmware and configuration data of theprevious controller 12 that is stored on a neighboring controller 12 (block 408). Specifically, inblock 408, thereplacement controller 12 initially determines whether any neighboringcontrollers 12 are present (e.g., similarly to at least part of the sequence of operations ofFIG. 5 ) and, if there is a neighboringcontroller 12 connected to the replacement controller's 12first network interface 44 a, thereplacement controller 12 sends a request for the firmware and configuration data to that neighboringcontroller 12 through thefirst network interface 44 a. However, and also inblock 408, if there is not a neighboringcontroller 12 connected to the replacement controller's 12first network interface 44 a, thereplacement controller 12 sends a request for the firmware and configuration data to the neighboringcontroller 12 connected to thesecond network interface 44 b. - After requesting the firmware and configuration data from a neighboring controller 12 (block 408), the
replacement controller 12 determines whether it has received the firmware and configuration data (block 410). When the firmware and configuration data have not been received (“No” branch of decision block 410), thereplacement controller 12 indicates an error and aborts the automatic replacement procedure (block 412). However, when the firmware and configuration data have been received (“Yes” branch of decision block 410), the replacement controller installs the firmware and configuration data (block 414) and restarts itself (block 416). - As discussed above, the
replacement controller 12 may recover the network addresses of theprevious controller 12 inblock 406 ofFIG. 13 . In general, even if not automatically configured in an automatic configuration procedure, thecontrollers 12 of aconveyor system 10 are programmed to have consecutive IP addresses that increase by a predetermined amount (e.g., one) along thedownstream direction 26. As such, areplacement controller 12 may recover its IP address (as well as other network addresses) by determining the network addresses ofadditional controllers 12 of theconveyor system 10 and comparing those network addresses to potential network addresses. -
FIG. 14 is aflowchart 420 illustrating a sequence of operations for areplacement controller 12 to recover the network address of theprevious controller 12, and particular a sequence of operations to perform atblock 406 inFIG. 13 , consistent with embodiments of the invention. In particular, thereplacement controller 12 sends one or more queries through its network interfaces 44 a, 44 b to neighboringcontrollers 12 for network information, including their IP addresses, the subnet mask, the gateway, and data indicating whether a neighboringcontroller 12 is the beginning or endingcontroller 12 within a particular subnet (block 422). Specifically, thereplacement controller 12 sends one query through eachnetwork interface replacement controller 12 then determines whether any responses were received (block 424). When at least one response is not received (“No” branch of decision block 424), thereplacement controller 12 indicates and error and aborts the automatic replacement procedure (block 426). - When at least one response is received (“Yes” branch of decision block 424), the
replacement controller 12 analyzes the data therein to generate a list of possible IP addresses to use, determines the subnet mask, determines the gateway, and, optionally, attempts to determine its location along the conveyor system 10 (block 428). In one example, when connected to two neighboringcontrollers 12, thereplacement controller 12 may generate the list of possible IP addresses such that it has one entry set to the IP address between those of the neighboringcontrollers 12. Also for example, when connected to one neighboringcontroller 12, thereplacement controller 12 may generate the list of possible IP addresses such that it has one entry set to the IP address above the neighboringcontroller 12 and one IP address below the neighboringcontroller 12. - After the
replacement controller 12 has generated the list of possible IP addresses, it sends a query to discover one ormore controllers 12 of the conveyor system 10 (block 430) and, as it receives responses from the one or more controllers 12 (e.g., including any neighboring controllers 12), it deletes the IP addresses from the list of possible IP addresses when messages from the one ormore controllers 12 have a corresponding IP address that matches (block 432). In a specific example, when thereplacement controller 12 is theinitial controller 12 of aconveyor system 10 and connected to one neighboringcontroller 12, adownstream controller 12 will be configured with the IP address above that of the neighboringcontroller 12 such that the corresponding entry is removed from the list of possible IP addresses, leaving only the IP address below that of the neighboringcontroller 12. Correspondingly, when thereplacement controller 12 is thelast controller 12 of aconveyor system 10 and connected to one neighboringcontroller 12, adownstream controller 12 will be configured with the IP address below that of the neighboring controller such that the corresponding entry is removed from the list of possible IP addresses, leaving only the IP address above that of the neighboringcontroller 12. - In any event, and in response to filtering out already used IP addresses (block 432), the
replacement controller 12 determines whether there is only one entry in the list of possible IP addresses (block 434). More than one entry in the list of possible IP addresses may indicate that there is more another missingcontroller 12, which could result in thereplacement controller 12 picking an unused IP address. This, in turn, may cause communication confusion between thecontrollers 12 of theconveyor system 10 in which one or more of those controllers attempt to send a message to thereplacement controller 12 at an IP address that thereplacement controller 12 is not using. Thus, when there is more than one entry in the list of possible IP addresses (“No” branch of decision block 434), the replacement controller indicates an error and aborts the automatic replacement procedure (block 436). However, when there is one entry in the list of possible IP addresses (“Yes” branch of decision block 434), the replacement controller sets its IP address to the IP address of that entry (block 438) and completes network address recovery by setting its subnet mask to that of neighboringcontrollers 12, setting its gateway to that of neighboringcontrollers 12, and deleting the list of possible IP addresses, among other tasks (block 440). -
Controllers 12 may be configured to convey articles across theconveyor system 10 in a number of ways, including, as discussed above, a zone singulation mode, a flex zone mode, a train mode, a gap train mode, a touch-and-go mode, and a look-ahead-slow-down mode. More specifically, the touch-and-go mode allows a user to selectively activate aconveyor system 10, which may be advantageous in facilities where leavingconveyor systems 10 constantly running (e.g., leavingmotorized rollers 18 constantly turning) is inefficient, unwanted, or unnecessary. As such, acontroller 12 may detect the rotation of a previously staticmotorized roller 18 then start at least onemotorized roller 18 of at least onedownstream controller 12 in response thereto.FIG. 15 is aflowchart 450 illustrating a sequence of operations for acontroller 12 in a touch-and-go mode to implement functionality corresponding to that described above consistent with embodiments of the invention. In particular, thecontroller 12 initially determines whether a zone it is controlling is free and whether there is an article being transported upstream (block 452). When the zone is not free or when an article is being transported upstream (“No” branch of decision block 452), thecontroller 12 continues its current operation (e.g., runningmotorized rollers 18 and waiting to accept the upstream article, keepingmotorized rollers 18 static and waiting to unload an article, or runningmotorized rollers 18 to unload an article) (“Yes” branch of decision block 452), the controller resets a rotation counter (block 454) and determines whether there is more than one rotation (e.g., such as one-and-a-half rotations or two rotations) in the proper direction (e.g., in the downstream direction 26) that lasts for less than two-hundred milliseconds (block 456). - When there is not more than one rotation in the proper direction that lasts for less than two-hundred milliseconds (“No” branch of decision block 456), the sequence of operations proceeds back to block 452. However, when there is more than one rotation in the proper direction that lasts for less than two-hundred milliseconds (“Yes” branch of decision block 456), the
controller 12 determines whether the touch-and-go mode is enabled (block 458). When the touch-and-go mode is not enabled (“No” branch of decision block 458), the sequence of operations proceeds back to block 452. However, when the touch-and-go mode is enabled (“Yes” branch of decision block 458), thecontroller 12 proceeds to block 344 ofFIG. 11 (block 460). - When transporting an article,
controllers 12 may also be configured to constantly look ahead to the next downstream zone and dynamically adjust the motors of the motorized rollers to a user configurable speed to allow the article to come to a controlled stop.FIG. 16 is aflowchart 470 illustrating a sequence of operations for acontroller 12 in a look-ahead-slow-down mode to implement functionality corresponding to that described above consistent with embodiments of the invention. In particular, thecontroller 12 determines whether it has received an incoming article communication for a selected zone controlled thereby (e.g., a message indicating that an article is being transported to a zone controlled by the controller 12) (block 472). When the controller has not received an incoming article communication (“No” branch of decision block 472), the sequence of operations returns to block 472. However, when the controller receives an incoming article communication (“Yes” branch of decision block 472), it determines whether the look-ahead-slow-down mode is enabled (block 474). - When the look-ahead-slow-down mode is not enabled (“No” branch of decision block 474), the
controller 12 operates themotorized roller 18 for the selected zone at its normal speeds (e.g., the normal starting and stopping speed) (block 476). However, when the look-ahead-slow-down mode is enabled (“Yes” branch of decision block 474), thecontroller 12 determines whether thecontroller 12 is accumulating articles at the selected zone (block 478). For example, thecontroller 12 for the selected zone may adjust the speed of amotorized roller 18 for that selected zone to a target speed that is lower than the normal speed for themotorized roller 18 when it is accumulating an article. Advantageously, this slows the article. As such, when thecontroller 12 is not accumulating articles in the selected zone (“No” branch of decision block 478), thecontroller 12 operates themotorized roller 18 for the selected zone at its normal speeds (block 476). When thecontroller 12 is accumulating articles at the selected zone (“Yes” branch of decision block 478), thecontroller 12 operates the motorized roller at a target speed (block 480), which may be from about 20% to about 80% of the normal speed, and in specific embodiments is predefined by the user. In any event, thecontroller 12 sends a communication to at least oneupstream controller 12 that themotorized roller 18 is being operated at the target speed (referred to hereinafter as a “target speed communication”) and accepts the article, then sends an incoming article communication tocontroller 12 controlling the next downstream zone (or, when thecontroller 12 controlling the next downstream zone is thecontroller 12 controlling the selected zone, merely stores such an indication) (block 482). -
FIG. 17 is aflowchart 490 illustrating a sequence of operations for acontroller 12 to receive a communication that at least one downstream zone includes amotorized roller 18 being operated at the target speed consistent with embodiments of the invention. In particular, theupstream controller 12 determines whether it has received a communication associated with a downstream zone that indicates that themotorized roller 18 of the downstream zone is being operated at the target speed (block 492). When thecontroller 12 receives such a communication (“Yes” branch of decision block 492), thecontroller 12 operates themotorized roller 18 of the zone at the target speed (block 494). Alternatively, when the controller has not received a communication indicating that the motorized roller of a downstream zone is being operated at the target speed (“No” branch of decision block 492), the controller operates themotorized roller 18 of the zone at its normal speeds. - An article may become jammed as it is conveyed along a
conveyor system 10. Thecontrollers 12, however, may automatically initiate a jam clearing procedure to resolve such jams.FIG. 18 is aflowchart 500 illustrating a sequence of operations for acontroller 12 to initiate such a jam clearing procedure consistent with embodiments of the invention. Thecontroller 12 initially determines whether asensor 22 associated with a selected zone detects an article (bock 502). When thesensor 22 does not detect an article (“No” branch of decision block 502), the sequence of operations returns to block 502. However, when thesensor 22 detects that an article is present (“Yes” branch of decision block 502), thecontroller 12 resets and starts a jam timer (e.g., resetting the jam timer to about five seconds) (block 504) and again determines whether thesensor 22 detects an article (block 506). When, atblock 506, the controller determines that the article is still present (“Yes” branch of decision block 506), thecontroller 12 determines whether the jam timer has elapsed (block 508). - When the jam timer has not elapsed (“No” branch of decision block 508), the sequence of operations returns to block 506. However, when the jam timer has elapsed (“Yes” branch of decision block 508), the
controller 510 automatically initiates a jam clearing procedure (block 510). When the jam clearing procedure has finished, thecontroller 12 then determines whether the jam has been cleared (e.g., whether the article is no longer detected) (block 512). When the jam has not been cleared by the jam clearing procedure (“No” branch of decision block 512), thecontroller 12 stops and resets the jam timer, stops themotorized rollers 18 associated with the zone in which that jam has occurred, sends a communication to at least one upstream controller 12 (if any) that indicates that a jam has occurred, and prevents further operation until the jam has been manually cleared (block 514). The sequence of operations proceeds fromblock 514 back to block 512. Returning to block 506, when an article is not still present (“No” branch of decision block 506), or, with respect to block 512, when a jam has been cleared by the jam clearing procedure (“Yes” branch of decision block 512), thecontroller 12 stops and resets the jam timer, then continues operating in a normal fashion (block 516). -
FIG. 19 is aflowchart 520 illustrating a jam clearing procedure that may be performed atblock 510 inflowchart 500 ofFIG. 18 by acontroller 12 consistent with embodiments of the invention. Returning toFIG. 19 , thecontroller 12 operates themotorized roller 18 associated with the zone that may have a jam in reverse, resets and starts a jam clearance timer (e.g., resetting the jam clearance timer to about five seconds), resets the jam timer, and resets a jam counter (e.g., resetting the jam counter to zero) (block 522) and determining whether the jam clearance timer has expired (block 524). When the jam clearance timer has not elapsed (“No” branch of decision block 524), thecontroller 12 determines whether thesensor 22 associated with the selected zone detects an article (block 526). When thesensor 22 detects the article (“Yes” branch of decision block 526), the sequence of operations returns to block 524. However, when thesensor 22 does not detect the article (“No” branch of decision block 526), thecontroller 12 operates themotorized roller 18 associated with the jam in the normal direction until thesensor 22 detects the article, then resumes normal operation and attempts to convey the article downstream (block 528). Returning to block 524, when the jam clearance timer has expired (“Yes” branch of decision block 524), thecontroller 12 operates themotorized roller 18 associated with the jam in the normal direction and attempts to convey the article downstream (block 530). - In response to the actions at
block 528 or block 530, the controller starts the jam timer (block 532) and again determines whether thesensor 22 detects the article (block 534). When thesensor 22 does not detect the article (“No” branch of decision block 534), the controller determines that the jam has been cleared, and stops and resets the jam timer and the jam clearance timer (block 536). When thesensor 22 detects the article (“Yes” branch of decision block 534), thecontroller 12 determines whether the jam timer has elapsed (block 538). When the jam timer has not elapsed (“No” branch of decision block 538), the sequence of operations returns to block 534. When the jam timer has elapsed (“Yes” branch of decision block 534), thecontroller 12 increments the jam counter (e.g., such as by one), and stops and resets the jam timer and the jam clearance timer (block 540). Thecontroller 12 then determines whether the jam counter has reached a target value (e.g., about three) (block 542). When the jam counter has not reached a target value (“No” branch of decision block 542), the controller restarts the jam clearance timer (block 544) and the sequence of operations returns to block 524. However, when the jam counter has reached the target value (“Yes” branch of decision block 542), the controller determines that the jam has not been cleared (block 546). In response to the actions atblock 536 or block 546, the controller may proceed to block 512 of theflowchart 500 ofFIG. 18 . - At times, a particular
motorized roller 18 may be experience a tangential mechanical force such that the maximum rotational speed therefor is exceeded. The motor in themotorized roller 18 thus generates excess electrical energy that is fed back to a correspondingcontroller 12. Thecontroller 12, in turn, may absorb the energy and dissipate it as heat within the motor interface(s) 46 a, 46 b thereof. This prevents high voltage from being provided to other, more sensitive circuitry of thecontroller 12. Alternatively, thecontroller 12 may actively divert the excess electrical energy to thepower supply unit 24 connected thereto, thus reducing the overall load thereon. - However, neither method of dealing with excess electrical energy in turn alleviates the problem of the maximum rotational speed of a
motorized roller 18 being exceeded. Thus, in some embodiments, thecontroller 12 is configured to slow down the motor of amotorized roller 18 by providing an opposing current to the windings of the motor to, in turn, induce an opposing motor torque to reduce the speed of themotorized roller 18.FIG. 20 is aflowchart 550 illustrating a sequence of operations for acontroller 12 to reduce the rotational speed of amotorized roller 18 consistent with embodiments of the invention. In particular, thecontroller 12 determines whether the target rotational speed of amotorized roller 18 has been exceeded (block 552). When the target rotational speed of themotorized roller 18 has not been exceeded (“No” branch of decision block 552), the sequence of operations returns to block 552. However, when the target rotational speed of themotorized roller 18 has been exceeded (“Yes” branch of decision block 552), thecontroller 12 determines the speed and looks up the speed in a table to determine a reverse current to apply to themotorized roller 18 to slow the motorized roller 18 (block 554) and applies that determined reverse current to themotorized roller 18 to slow that motorized roller 18 (block 556). The sequence of operations may then return to block 552. - In general, brushless DC motors that may be used in
motorized rollers 18 consistent with embodiments of the invention may generate power when they are rotated from an external force, such as a when a conveyor surface they control is angled downwardly and an article rolls themotorized roller 18 as it traverses that surface. Some embodiments of the invention apply a current to themotorized roller 18 to prevent it from turning, as discussed above. However, alternative embodiments of the invention may supply the power generated by the motorized roller to thepower supply unit 24. This, in turn, may reduce the overall power consumption of theconveyor system 10. - In some embodiments, and as discussed above, a
motorized roller 18 may include anaddressable circuit 110 having information stored thereon. Thecontroller 12, in turn, may be configured to retrieve that information, determine an operational characteristic of themotorized roller 18, and/or control themotorized roller 18 based upon that operational characteristic.FIG. 21 is aflowchart 560 illustrating a sequence of operations for acontroller 12 to determine an operational characteristic of amotorized roller 18 and, optionally, control thatmotorized roller 18 based upon that operational characteristic consistent with embodiments of the invention. In particular, thecontroller 12 may be configured to communicate with anaddressable circuit 110 of themotorized roller 18 and query theaddressable circuit 110 for information associated with the motorized roller 18 (block 562). When data is received from the addressable circuit 110 (“Yes” branch of decision block 564), thecontroller 12 determines at least one operational characteristic of themotorized roller 18, such as the number of windings of the motor of themotorized roller 18, the circumference of the housing of themotorized roller 18, the radius of themotorized roller 18, the gear ratio for the gear box of themotorized roller 18, the power rating of the motor of themotorized roller 18, the serial number for themotorized roller 18, the model of themotorized roller 18, and/or othermotorized roller 18 information (block 566). Thecontroller 12 may then determine information about the operation of themotorized roller 18 and/or control themotorized roller 18 appropriately. - In an optional block, the
controller 12 determines the rotational distance of themotorized roller 18 in response to a momentary pulse of voltage (block 568). For example, the rotation of a motor of themotorized roller 18 in response to a momentary pulse of voltage is typically from one winding to the next. When the motor includes three windings, the motor operates to rotate by one-third. This, in turn, is translated by the gearbox into a percentage of rotation of the housing of themotorized roller 18. Continuing the example, if the gearbox ratio of a gearbox of themotorized roller 18 is 60-1, then sixty rotations of the motor translate into one rotation of themotorized roller 18. As such, one-third rotation of the motor translates to 1/180th rotation of the housing of the motorized roller. Thus, if the housing of themotorized roller 18 has a circumference of twelve inches, thecontroller 12 with the data above, some of which may be received from the addressable circuit of themotorized roller 18, may calculate that the rotational distance of the housing of themotorized roller 18 in response to a momentary pulse of voltage to the motor of themotorized roller 18 is approximately 2/30th of an inch inblock 566. - In another optional block, the
controller 12 determines the current threshold of the motor of themotorized roller 18 based information associated with the motorized roller 18 (block 570). For example, themotorized roller 18 may be rated for a particular current level. Exceeding that current level may result in damage to a component of the motorized roller. Continuing with the example, thecontroller 12 may receive information associated with themotorized roller 18 that indicates the power rating of the motor of the motorized roller 18 (e.g., how many watts the motor is rated for) or the model of themotorized roller 18. As such, thecontroller 12 may access theconfiguration data structure 62 orparameters data structure 64, and particularly a lookup table thereof, to determine, for the power rating or model, the current limit for the motor of themotorized roller 18 inblock 570. - When data is not received from a motorized roller 18 (“No” branch of decision block 564), or in response to completing operations in
blocks - While the present invention has been illustrated by a description of the various embodiments and the examples, and while these embodiments have been described in considerable detail, it is not the intention of the applicants to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Thus, the invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative example shown and described. In particular, one having ordinary skill in the art will appreciate that any of the blocks in the above flowcharts may be reorganized, deleted, or made concurrent with any other block of the above flowcharts. Accordingly, departures may be made from such details without departing from the spirit or scope of applicants' general inventive concept. Thus, the invention lies in the claims hereinafter appended.
Claims (20)
1. A conveyor controller for being implemented into a conveyor system for use with at least a portion of the conveyor system, the conveyor controller comprising:
control circuitry;
a first network interface;
a second network interface;
the control circuitry configured for detecting whether a second conveyor controller is connected to the conveyor controller;
the control circuitry further configured, upon detection of a connected second conveyor controller, to identify whether the second conveyor controller is connected to a predetermined one of the first and second network interfaces; and
if a second conveyor controller is connected to the predetermined network interface, configuring the conveyor controller to operate the at least a portion of the conveyor system in a downstream direction and rotate a motorized roller of the conveyor system in a first direction; and
if a second conveyor controller is not connected to the predetermined network interface, configuring the conveyor controller to operate the at least a portion of the conveyor system in an alternative downstream direction and rotate a motorized roller of the conveyor system in a second direction.
2. The conveyor controller of claim 1 , the control circuitry further configured, upon detection of a connected second conveyor controller, to determine that there is not a third conveyor controller connected to the conveyor controller and to set the first conveyor controller as an initial conveyor controller of a conveyor system.
3. The conveyor controller of claim 1 , wherein the control circuitry detects whether there is a second conveyor controller connected thereto in response to user interaction to initiate an automatic configuration procedure.
4. The conveyor controller of claim 1 , wherein the control circuitry detects whether there is a second conveyor controller connected thereto in response to receiving a command to initiate an automatic configuration procedure.
5. The conveyor controller of claim 1 , wherein the control circuitry is further configured, if the second conveyor controller is connected to the predetermined network interface, to set a flag to indicate the downstream direction.
6. The conveyor controller of claim 1 , wherein the control circuitry is further configured, if the second conveyor controller is not connected to the predetermined network interface, to clear a flag to indicate the downstream direction.
7. The conveyor controller of claim 1 , wherein the control circuitry is further configured, upon detection of a connected second conveyor controller, to transmit a configuration message to a second conveyor controller, the configuration message including configuration data associated with the conveyor controller.
8. The conveyor controller of claim 7 , wherein the control circuitry is further configured for receiving a confirmation message from the second conveyor controller indicating that the configuration data was received.
9. The conveyor controller of claim 8 , wherein the control circuitry is further configured, in response to receiving an additional confirmation message from an additional connected conveyor controller, to indicate that an error has occurred.
10. The conveyor controller of claim 9 , wherein the control circuitry is further configured to transmit an error message to a connected conveyor when an error has occurred.
11. The conveyor controller of claim 7 , wherein the configuration data includes a network address for the conveyor controller.
12. The conveyor controller of claim 1 , wherein the control circuitry is further configured for receiving and storing configuration data that is associated with a connected second conveyor.
13. The conveyor controller of claim 1 , wherein the control circuitry is further configured for detecting a photo-eye sensor connected to the conveyor controller and detecting whether the photo-eye sensor is light-operated or dark-operated, and for detecting information about a motorized roller connected to the conveyor controller, the first conveyor controller configuring itself for at least one of a speed to operate the motorized roller, a rate at which to accelerate the motorized roller, or a rate at which to decelerate the motorized roller.
14. A conveyor controller for being implemented into a conveyor system for use with at least a portion of the conveyor system, the conveyor controller comprising:
control circuitry;
a first network interface;
a second network interface;
the control circuitry, upon receiving configuration data from one conveyor controller connected to a network interface, configured for detecting whether another conveyor controller is connected to another network interface; and
if the control circuitry detects that another conveyor controller is connected to the another network interface, transmitting a configuration message to the another conveyor controller that includes additional configuration data associated with the conveyor controller; and
if the control circuitry detects that another conveyor controller is not connected to the another network interface, determining that the conveyor controller is a final conveyor controller of a conveyor system.
15. The conveyor controller of claim 14 , wherein the control circuitry is further configured for determining a network address for the conveyor controller based on the configuration data.
16. The conveyor controller of claim 15 , wherein the control circuitry is further configured for determining, from the configuration data, a network address for the one conveyor controller coupled at a network interface; and
for incrementing the network address to generate a second network address; and
for assigning the second network address to the conveyor controller.
17. The conveyor controller of claim 16 , wherein the control circuitry is further configured for including the second network address in the additional configuration data transmitted to the another conveyor controller.
18. The conveyor controller of claim 14 , wherein the control circuitry is further configured for transmitting a confirmation message to the one conveyor controller indicating that the configuration data was received.
19. The conveyor controller of claim 14 , wherein the control circuitry is further configured for receiving a confirmation message from the another conveyor controller indicating that the additional configuration data was received.
20. The conveyor controller of claim 19 , wherein the confirmation message from the another conveyor controller is a first confirmation message, the control circuitry further configured, upon receiving a second confirmation message from still another conveyor controller, for indicating that an error has occurred.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/345,247 US20230348201A1 (en) | 2011-05-09 | 2023-06-30 | Conveyor controllers |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/103,705 US8757363B2 (en) | 2011-05-09 | 2011-05-09 | Conveyor controllers |
US14/270,590 US9555977B2 (en) | 2011-05-09 | 2014-05-06 | Conveyor controllers |
US15/417,588 US10233028B2 (en) | 2011-05-09 | 2017-01-27 | Conveyor controllers |
US16/355,006 US10654659B2 (en) | 2011-05-09 | 2019-03-15 | Conveyor controllers |
US16/878,283 US11247846B2 (en) | 2011-05-09 | 2020-05-19 | Conveyor controllers |
US17/671,136 US11724888B2 (en) | 2011-05-09 | 2022-02-14 | Conveyor controllers |
US18/345,247 US20230348201A1 (en) | 2011-05-09 | 2023-06-30 | Conveyor controllers |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/671,136 Continuation US11724888B2 (en) | 2011-05-09 | 2022-02-14 | Conveyor controllers |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230348201A1 true US20230348201A1 (en) | 2023-11-02 |
Family
ID=47139566
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/103,705 Active 2031-09-16 US8757363B2 (en) | 2011-05-09 | 2011-05-09 | Conveyor controllers |
US14/270,590 Active 2031-12-20 US9555977B2 (en) | 2011-05-09 | 2014-05-06 | Conveyor controllers |
US15/417,588 Active US10233028B2 (en) | 2011-05-09 | 2017-01-27 | Conveyor controllers |
US16/355,006 Active US10654659B2 (en) | 2011-05-09 | 2019-03-15 | Conveyor controllers |
US16/878,283 Active US11247846B2 (en) | 2011-05-09 | 2020-05-19 | Conveyor controllers |
US17/671,136 Active US11724888B2 (en) | 2011-05-09 | 2022-02-14 | Conveyor controllers |
US18/345,247 Pending US20230348201A1 (en) | 2011-05-09 | 2023-06-30 | Conveyor controllers |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/103,705 Active 2031-09-16 US8757363B2 (en) | 2011-05-09 | 2011-05-09 | Conveyor controllers |
US14/270,590 Active 2031-12-20 US9555977B2 (en) | 2011-05-09 | 2014-05-06 | Conveyor controllers |
US15/417,588 Active US10233028B2 (en) | 2011-05-09 | 2017-01-27 | Conveyor controllers |
US16/355,006 Active US10654659B2 (en) | 2011-05-09 | 2019-03-15 | Conveyor controllers |
US16/878,283 Active US11247846B2 (en) | 2011-05-09 | 2020-05-19 | Conveyor controllers |
US17/671,136 Active US11724888B2 (en) | 2011-05-09 | 2022-02-14 | Conveyor controllers |
Country Status (4)
Country | Link |
---|---|
US (7) | US8757363B2 (en) |
EP (1) | EP2707316B1 (en) |
JP (5) | JP6174010B2 (en) |
WO (1) | WO2012154650A1 (en) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2254818A1 (en) * | 2008-01-28 | 2010-12-01 | Johann Haberl | Tubing conduit system, a method for control thereof and the use thereof |
US20120024669A1 (en) * | 2010-07-29 | 2012-02-02 | Danelski Darin L | Networked Motorized Drive Roller Conveyor |
US8757363B2 (en) | 2011-05-09 | 2014-06-24 | Insight Automation, Inc. | Conveyor controllers |
US9446908B2 (en) | 2012-02-05 | 2016-09-20 | Matthews Resources, Inc. | Conveying systems and methods of associating data with an item transported by a conveying system |
JP6212487B2 (en) * | 2012-06-21 | 2017-10-11 | 伊東電機株式会社 | Conveyor device and weight detection method using conveyor device |
CN104981418B (en) * | 2012-11-30 | 2018-02-13 | 英特里格拉特德总部有限公司 | Accumulation control |
WO2014085429A1 (en) * | 2012-11-30 | 2014-06-05 | Intelligrated Headquarters Llc | Accumulation control |
US8983651B2 (en) | 2013-03-14 | 2015-03-17 | Insight Automation, Inc. | Zone controller for modular conveyor system |
US10807805B2 (en) * | 2013-05-17 | 2020-10-20 | Intelligrated Headquarters, Llc | Robotic carton unloader |
US9983574B2 (en) | 2013-09-30 | 2018-05-29 | United States Gypsum Company | Systems and methods for controlling a conveyor system during product changeovers |
WO2015184539A1 (en) * | 2014-06-02 | 2015-12-10 | Ats Automation Tooling Systems Inc. | System and method for controlling a moving element in a linear motor conveyor |
KR102173894B1 (en) * | 2014-10-08 | 2020-11-04 | 두산공작기계 주식회사 | Pallet transfer system |
DE102014222171A1 (en) | 2014-10-30 | 2016-05-04 | Interroll Holding Ag | Conveyor for conveyor systems, modular system and method for producing such a conveyor |
WO2016080362A1 (en) * | 2014-11-18 | 2016-05-26 | 伊東電機株式会社 | Conveyor device, conveyor system, zone controller, cad device, and method for manufacturing conveyor device |
DE102015106024B4 (en) | 2015-04-20 | 2023-06-07 | Interroll Holding Ag | Conveyor with configuration change |
DE102015106034A1 (en) | 2015-04-20 | 2016-10-20 | Interroll Holding Ag | Installation method for setting up conveying devices |
DE102015106026B3 (en) * | 2015-04-20 | 2016-08-25 | Interroll Holding Ag | Method for exchanging a control unit in a conveyor device |
CN104843454B (en) * | 2015-04-24 | 2017-07-28 | 北新集团建材股份有限公司 | A kind of control device of three controls storage roller-way |
DE102015107167A1 (en) * | 2015-05-07 | 2016-11-10 | Interroll Holding Ag | Control unit for a conveyor with hardware detection |
DE102015213644A1 (en) * | 2015-07-20 | 2017-01-26 | Heinz Buse | Device for separating bulk goods |
US10341135B2 (en) * | 2015-12-30 | 2019-07-02 | Nova-Tron Controls Corp. | Zone control system for conveyor system |
US10131502B2 (en) | 2016-04-03 | 2018-11-20 | Kamran Ramezani | Front and/or side mount motor |
EP3236329B1 (en) * | 2016-04-22 | 2021-02-24 | Siemens Aktiengesellschaft | Linear drive and method for operating a linear drive |
US10093487B2 (en) | 2016-04-25 | 2018-10-09 | Kamran Ramezani | Motor shaped as a roller |
US10230315B2 (en) | 2016-05-02 | 2019-03-12 | Kamran Ramezani | Use of battery as the DC power source in portable/expandable or fixed conveyors to drive DC motors |
GB2565017B (en) | 2016-05-13 | 2021-10-06 | Walmart Apollo Llc | Systems and methods for sortation of products using a conveyor assembly |
WO2017205288A1 (en) | 2016-05-23 | 2017-11-30 | Hilmot LLC | Roller system having spaced apart external rotor motor |
US9440799B1 (en) * | 2016-06-01 | 2016-09-13 | Finetek Co., Ltd. | Conveying apparatus |
DE102016112051B4 (en) | 2016-06-30 | 2024-01-04 | Interroll Holding Ag | Modular system for motor-driven conveyor rollers |
DE102016112036A1 (en) | 2016-06-30 | 2018-01-04 | Interroll Holding Ag | Drive unit for a drum motor, drum motor, rear flange and manufacturing process |
DE102016112054B4 (en) | 2016-06-30 | 2021-08-12 | Interroll Holding Ag | Drum motor with alternative gear mount |
DE102016114182B4 (en) * | 2016-08-01 | 2023-06-15 | Tdk-Micronas Gmbh | Conveying device and method for conveying an object |
DE102016114524B4 (en) | 2016-08-05 | 2020-09-03 | Interroll Holding Ag | Drum motor with frequency converter and optional belt tension sensor |
WO2018024917A2 (en) | 2016-08-05 | 2018-02-08 | Interroll Holding Ag | Motor-driven conveyor roller with bus control |
DE102016114672A1 (en) | 2016-08-08 | 2018-02-08 | Interroll Holding Ag | Electrical connector for motorized rollers |
GB2555383B (en) * | 2016-10-20 | 2020-02-12 | Jaguar Land Rover Ltd | Method and apparatus having operating mode |
US10597235B2 (en) | 2016-10-20 | 2020-03-24 | Intelligrated Headquarters, Llc | Carton unloader tool for jam recovery |
NL2017923B1 (en) * | 2016-12-05 | 2018-06-18 | Qimarox Patenten B V | Device and method configured to control rotation of an object on a carrier |
JP6269793B1 (en) * | 2016-12-05 | 2018-01-31 | 千住金属工業株式会社 | Transport device |
EP3373232B1 (en) | 2017-03-09 | 2020-12-09 | Interroll Holding AG | Intralogistic arrangement |
US10737887B2 (en) * | 2017-05-15 | 2020-08-11 | Dorner Mfg. Corp. | Zoned roller conveyor |
DE102017007923B4 (en) * | 2017-06-09 | 2020-12-17 | Interroll Holding Ag | Control device, transport goods conveyor and method for controlling a transport goods conveyor |
EP3453651A1 (en) * | 2017-09-07 | 2019-03-13 | M. Tanner AG | Transport and supply unit for preforms |
WO2019054983A1 (en) * | 2017-09-12 | 2019-03-21 | Spirol International Corporation | Methods and systems for controlling a vibratory feeder |
DE102017129318A1 (en) * | 2017-12-08 | 2019-06-13 | Interroll Holding Ag | Control device for a conveyor |
DE102017129460A1 (en) * | 2017-12-11 | 2019-06-13 | Interroll Holding Ag | Device for inspecting a conveyor system and control unit, motor roller and conveyor system and method |
DE102017129459A1 (en) * | 2017-12-11 | 2019-06-13 | Interroll Holding Ag | Method for condition monitoring in a conveyor system and control unit, motor roller and conveyor system for carrying out the method |
EP3539904B1 (en) | 2018-03-12 | 2023-08-02 | Interroll Holding AG | Driving device for a roller conveyor |
WO2019190916A1 (en) | 2018-03-30 | 2019-10-03 | Walmart Apollo, Llc | Systems and methods for distributing merchandise and merchandise kits at emergency locations |
US10326732B1 (en) | 2018-10-08 | 2019-06-18 | Quest Automated Services, LLC | Automation system with address generation |
US10523673B1 (en) | 2018-10-08 | 2019-12-31 | Quest Automated Services, LLC | Automation system controller |
US10534351B1 (en) | 2018-10-08 | 2020-01-14 | Quest Automated Services, LLC | Automation system network |
CN109502279A (en) * | 2018-10-18 | 2019-03-22 | 常州大学怀德学院 | A kind of view-based access control model system adjusting is single to drive Conveyor and its method |
US10967892B2 (en) * | 2018-11-08 | 2021-04-06 | Rockwell Automation Technologies, Inc. | Independent cart system and method of operating the same |
GB2579233A (en) * | 2018-11-27 | 2020-06-17 | Edwards Ltd | A method relating to controllers of a vacuum pumping and/or abatement system |
DE102018009733A1 (en) * | 2018-12-11 | 2020-06-18 | Sprick Gmbh Bielefelder Papier- Und Wellpappenwerke & Co. | Device with an electric motor for providing packaging material and method for operating a packaging material supply device |
DE102018133481A1 (en) * | 2018-12-21 | 2020-06-25 | Interroll Holding Ag | Conveyor arrangement with integrated sensor function unit |
DE102018133478A1 (en) * | 2018-12-21 | 2020-06-25 | Interroll Holding Ag | Motorized conveyor roller with integrated control |
US10835928B2 (en) | 2019-01-25 | 2020-11-17 | Walmart Apollo, Llc | Conveyor systems and methods for sorting merchandise using interchangeable and assignable sortation modules |
US11059676B2 (en) * | 2019-01-31 | 2021-07-13 | Intelligrated Headquarters, Llc | High-rate at high-density tunable accumulation conveyor |
US10944342B2 (en) | 2019-02-21 | 2021-03-09 | Worldwide Logistics Corporation | Secure roller controller of roller conveyor system for logistics services |
DE102019217682A1 (en) * | 2019-02-21 | 2020-08-27 | Sms Group Gmbh | Device and method for transporting strip material, in particular hot strip |
PL3699696T3 (en) * | 2019-02-21 | 2021-08-23 | Worldwide Logistics Corporation | Secure roller controller of roller conveyor system for logistics services |
US11040829B2 (en) * | 2019-08-01 | 2021-06-22 | Intelligrated Headquarters, Llc | Pivotable drive conveyor system |
WO2021030479A1 (en) | 2019-08-13 | 2021-02-18 | Kamran Ramezani | Conveyor with extended motor configuration |
US10858198B1 (en) * | 2019-10-02 | 2020-12-08 | Intelligrated Headquarters, Llc | Singulation conveyor system with rollers of different roller cross-sectional profiles |
US11594018B2 (en) * | 2019-10-03 | 2023-02-28 | United States Postal Service | Intelligent item receptacle |
CN111035152B (en) * | 2019-12-19 | 2021-04-27 | 安徽建筑大学 | Mechanical structure of unmanned breakfast vehicle |
KR102326017B1 (en) * | 2019-12-30 | 2021-11-15 | 세메스 주식회사 | Transfer apparatus and transfer method |
US11599101B2 (en) * | 2020-02-26 | 2023-03-07 | Rockwell Automation Technologies, Inc. | Independent mover transport system and method of extending range of operations in an independent mover transport system |
EP4118498A1 (en) * | 2020-05-29 | 2023-01-18 | Hach Lange GmbH | Plant control system |
DE102020123195A1 (en) * | 2020-09-04 | 2022-03-10 | Afag Holding Ag | Vibrating conveyor with a control device |
US11799758B2 (en) | 2020-10-23 | 2023-10-24 | Insight Automation, Inc. | System and method for relative addressing based on physical topology |
CN112707115A (en) * | 2020-12-10 | 2021-04-27 | 金川集团股份有限公司 | Mineral processing bagged medicament conveying control system |
KR102597304B1 (en) | 2021-01-18 | 2023-11-02 | 주식회사 신아티앤씨 | Method of manufacturing a core-shell structured quantum dot particle, core-shell structured quantum dot particle manufactured thereby, population of the core-shell structured quantum dot particles, and display device including the same |
US11407596B1 (en) | 2021-01-29 | 2022-08-09 | Intelligrated Headquarters, Llc | Methods and systems for establishing and transmitting status parameters of a conveyor technological field |
EP4050918A1 (en) * | 2021-02-24 | 2022-08-31 | Industrial Software | Motor-driven conveyor-roller controller, system comprising such a controller and method for operating a motor roller |
EP4071093A1 (en) * | 2021-04-07 | 2022-10-12 | Interroll Holding AG | Dock station arrangement and method for transferring goods between a conveyor device and a transport vehicle |
EP4080302B1 (en) * | 2021-04-20 | 2023-09-06 | Kyowa Europe GmbH | Conveyor system, motor roller controller and method for operating a conveyor system |
EP4140923A1 (en) * | 2021-08-27 | 2023-03-01 | Airbus Operations GmbH | Dynamically controlled cargo loading system for aircraft |
EP4159647A1 (en) * | 2021-10-01 | 2023-04-05 | Intelligrated Headquarters LLC | Integrated motorized conveyor rollers |
US11897697B2 (en) | 2021-10-01 | 2024-02-13 | Intelligrated Headquarters, Llc | Integrated motorized conveyor rollers |
CN114572644B (en) * | 2022-03-11 | 2024-01-05 | 博众精工科技股份有限公司 | Battery pack transmission control method and system |
EP4246253A1 (en) * | 2022-03-18 | 2023-09-20 | Worldwide Logistics Corporation | Logistics conveyer roller control system with onboard setting functions |
KR102508543B1 (en) * | 2022-05-27 | 2023-03-09 | 주식회사 펩텍시스템 | Conveyor Controller based on Non PLC |
EP4372504A1 (en) * | 2022-11-21 | 2024-05-22 | Intelligrated Headquarters, LLC | Methods, apparatuses, and computer program products for automatic configuration of a motor driven roller |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090084657A1 (en) * | 2007-09-27 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Modular wireless conveyor interconnection method and system |
US7672737B2 (en) * | 2005-05-13 | 2010-03-02 | Rockwell Automation Technologies, Inc. | Hierarchically structured data model for utilization in industrial automation environments |
US7996104B2 (en) * | 2000-04-27 | 2011-08-09 | Rockwell Automation Technologies | Driver board control system for modular conveyor with address-based network for inter-conveyer communication |
Family Cites Families (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2019469A (en) | 1934-03-22 | 1935-10-29 | Curab Inc H | Garment supporter |
US2612982A (en) * | 1949-05-26 | 1952-10-07 | Jr William W Michaux | Automatic feeder and transfer mechanism for tobacco ordering machines |
US3104318A (en) * | 1961-11-20 | 1963-09-17 | Ramsey Eng Co | Integrating circuit |
IT1224050B (en) | 1988-12-30 | 1990-09-26 | Cavanna Spa | PROCEDURE FOR REGULATING THE ADVANCE OF ONE-PROJECT PRODUCTS FOR THE LAUNCH AND DISPERSION OF ELECTRIC DECEPTIONS AUTOMATIC PACKAGING EQUIPMENT AND MAGNETIC ANTIMISSILE EQUIPMENT HIATURA OPERATING ACCORDING TO THIS PROCEDURE |
JPH03267835A (en) | 1990-03-16 | 1991-11-28 | Hitachi Ltd | Local area network control system |
GB9008687D0 (en) | 1990-04-18 | 1990-06-13 | Wright Machinery Co | Drive and monitoring system for a vibratory conveyor |
US5150781A (en) | 1990-06-27 | 1992-09-29 | Xerox Corporation | Modular conveyor system |
US5456347A (en) | 1991-01-16 | 1995-10-10 | Northstar Industries, Inc. | Controllably powered roller conveyors |
DE4200985C2 (en) | 1991-01-31 | 1994-05-05 | Bavaria Cargo Tech | Electronic control arrangement for drive roller units |
US5228558A (en) | 1991-12-23 | 1993-07-20 | Interroll Holding A.G. | Control system for an accumulating conveyor |
JPH05193722A (en) * | 1992-06-26 | 1993-08-03 | Daifuku Co Ltd | Conveyor apparatus |
US5285887A (en) | 1992-11-23 | 1994-02-15 | Interroll Holding A. G. | Accumulating conveyor and control system |
JP3116647B2 (en) * | 1993-04-08 | 2000-12-11 | 株式会社ダイフク | Conveyor equipment |
US5548505A (en) | 1994-07-15 | 1996-08-20 | Oktrak Systems, Inc. | Scrubber control system |
US5582286A (en) | 1994-10-28 | 1996-12-10 | Electrocom Automation, L.P. | Modular power roller conveyor |
JP3125643B2 (en) * | 1995-09-13 | 2001-01-22 | 株式会社ダイフク | Conveyor device and conveyor transport equipment formed by this conveyor device |
DE19632609A1 (en) | 1996-08-13 | 1998-02-19 | Duerr Systems Gmbh | Manufacturing plant |
US5862907A (en) | 1996-11-27 | 1999-01-26 | Hytrol Conveyor Company, Inc. | Control system and module for an accumulation conveyor |
JPH10167446A (en) | 1996-12-13 | 1998-06-23 | Toyota Autom Loom Works Ltd | Conveyor and detection device for articles |
US6085892A (en) * | 1997-02-07 | 2000-07-11 | Quantum Conveyor Systems, Inc. | High speed sorting/diverting apparatus, an apparatus controller and systems using same |
JP3378462B2 (en) | 1997-03-31 | 2003-02-17 | 伊東電機株式会社 | Conveyor system and control method thereof |
US6047812A (en) | 1997-09-05 | 2000-04-11 | Middlesex General Industries, Inc. | Asynchronous soft conveyor system |
DE19802674C2 (en) | 1998-01-24 | 2001-05-10 | Michael Ertl | Method for weight measurement of loads in lifting devices |
US6253906B1 (en) | 1998-05-18 | 2001-07-03 | Milwaukee Electronics Corporation | Sequential release control for a zoned conveyor system |
US6615091B1 (en) * | 1998-06-26 | 2003-09-02 | Eveready Battery Company, Inc. | Control system and method therefor |
JP2000117594A (en) | 1998-10-12 | 2000-04-25 | Hitachi Ltd | Conveyer system |
US6240335B1 (en) | 1998-12-14 | 2001-05-29 | Palo Alto Technologies, Inc. | Distributed control system architecture and method for a material transport system |
US6302266B1 (en) | 1999-01-15 | 2001-10-16 | Humphrey Products Company | Conveyor control system employing zone control module |
JP3424013B2 (en) | 1999-04-21 | 2003-07-07 | 伊東電機株式会社 | Brushless motor drive and conveyor system |
JP2000302233A (en) | 1999-04-21 | 2000-10-31 | Ito Denki Kk | Conveyor unit and conveyor system |
AU5031600A (en) | 1999-05-20 | 2000-12-12 | Middlesex General Industries, Inc. | Method and apparatus for a modular conveyor control system |
US6788980B1 (en) * | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6460683B1 (en) | 1999-11-22 | 2002-10-08 | Seagate Technology Llc | Conveyor with flexible zone parameter control |
US6337122B1 (en) | 2000-01-11 | 2002-01-08 | Micron Technology, Inc. | Stereolithographically marked semiconductors devices and methods |
JP4251425B2 (en) | 2000-03-27 | 2009-04-08 | オークラ輸送機株式会社 | Sorting device |
JP3421689B2 (en) | 2000-04-06 | 2003-06-30 | 伊東電機株式会社 | Roller conveyor zone control method and zone controller |
US6522944B2 (en) | 2000-04-27 | 2003-02-18 | Rockwell Automation Technologies, Inc. | Driver board control system for modular conveyor with address-based network for inter-conveyor communication |
US7062355B2 (en) * | 2000-09-26 | 2006-06-13 | Rockwell Automation Technologies, Inc. | Electrical communications architecture |
WO2002053481A1 (en) | 2000-12-29 | 2002-07-11 | Siemens Aktiengesellschaft | Motorized roller conveyor system with modular control system |
DE10101805A1 (en) * | 2001-01-17 | 2002-07-18 | Siemens Ag | Networks of switches, programmable devices, PCs or measurement transformers having distributed storage of network parameters and configuration details, so that if a component is replaced or repaired it is readily reconfigured |
DE10195943T1 (en) | 2001-01-23 | 2003-08-07 | Mitsubishi Electric Corp | conveyor |
WO2003000574A1 (en) | 2001-06-20 | 2003-01-03 | Itoh Electric Company Limited | Zone controller |
JP2005231745A (en) | 2001-06-27 | 2005-09-02 | Ito Denki Kk | Zone controller |
US6705454B2 (en) | 2001-08-01 | 2004-03-16 | Cinetic Automation Corporation | Accumulating power roll conveyor system |
US7032082B1 (en) * | 2001-08-31 | 2006-04-18 | Juniper Networks, Inc. | Centralized memory allocation with write pointer drift correction |
US6848933B1 (en) * | 2001-11-13 | 2005-02-01 | Rockwell Automation Technologies, Inc. | System and methodology providing coordinated and modular conveyor zone control |
CA2361973A1 (en) | 2001-11-14 | 2003-05-14 | Stephen Mcisaac | Method for assessing the operation of a conveyor apparatus |
JP3632058B2 (en) | 2001-11-28 | 2005-03-23 | 伊東電機株式会社 | Motor drive control device, motor built-in roller, and conveying device |
US6827202B2 (en) | 2001-12-21 | 2004-12-07 | Balluff, Inc. | Methods and apparatus for controlling conveyor zones |
JP3534736B2 (en) | 2001-12-28 | 2004-06-07 | 川崎重工業株式会社 | Diagnosis device for belt conveyor |
US6623411B2 (en) * | 2002-01-25 | 2003-09-23 | Ro-An Industries Corporation | Bag-making machine with web alignment control |
US7280889B2 (en) | 2002-03-08 | 2007-10-09 | Humphrey Products Company | Networkable zone control modules and method and coveyor system incorporating the same |
US7096287B1 (en) | 2002-03-22 | 2006-08-22 | Ametek, Inc. | Automatic address selection method |
US6899219B2 (en) | 2002-04-12 | 2005-05-31 | Rapistan Systems Advertising Corp. | Tape drive conveyor |
DE60302699T2 (en) * | 2002-05-08 | 2006-07-20 | Itoh Denki Co., Ltd. | conveyor |
JP3845659B2 (en) * | 2002-05-08 | 2006-11-15 | 伊東電機株式会社 | Transport device |
JP3780311B2 (en) * | 2002-06-17 | 2006-05-31 | 伊東電機株式会社 | Transport device |
US6959804B2 (en) | 2002-07-19 | 2005-11-01 | Magstar Technologies, Inc. | Conveyor assembly |
WO2004039699A1 (en) * | 2002-10-30 | 2004-05-13 | Ecoprocess Hf. | A refuse collecting apparatus for a refuse collecting vehicle |
US7104395B2 (en) | 2002-11-05 | 2006-09-12 | Lockheed Martin Corporation | Control and power distribution system for a conveyor |
US6758327B1 (en) | 2003-01-07 | 2004-07-06 | Rexnord Industries, Inc. | Conveyor drive assembly and method of operation |
JP2006516520A (en) * | 2003-01-24 | 2006-07-06 | シーメンス アクチエンゲゼルシヤフト | Integrated conveyor bed |
US6860381B2 (en) | 2003-01-29 | 2005-03-01 | Hytrol Conveyor Company, Inc. | Decentralized drive system for a conveyor |
DE10312756A1 (en) | 2003-03-21 | 2004-09-30 | Focke & Co.(Gmbh & Co. Kg) | Method for operating a controller on a communication medium |
DE10318621A1 (en) | 2003-04-24 | 2004-11-25 | Siemens Ag | Conveyor for the transport of load carriers |
AU2003242171A1 (en) * | 2003-06-05 | 2005-01-04 | Hirata Corporation | Assembling system, assembling unit, layout arranging system and layout arranging method |
JP4203558B2 (en) | 2003-07-31 | 2009-01-07 | 伊東電機株式会社 | Brushless motor drive device |
JP3799404B2 (en) | 2003-08-25 | 2006-07-19 | 伊東電機株式会社 | Zone-controlled conveyor system and zone controller |
US6850021B1 (en) | 2003-08-29 | 2005-02-01 | Rockwell Automation Technologies, Inc. | Precision virtual encoder |
US7191895B2 (en) | 2003-10-07 | 2007-03-20 | Dematic Corp. | Conveyor induct system with probability estimator |
JP2006033903A (en) | 2004-07-12 | 2006-02-02 | Matsushita Electric Ind Co Ltd | Motor controller |
JP4599528B2 (en) | 2004-08-03 | 2010-12-15 | 株式会社ナベル | Egg transfer device |
US7360638B2 (en) * | 2004-08-04 | 2008-04-22 | Siemens Energy & Automation, Inc. | Integrated control card for conveying systems |
DE102004049392A1 (en) | 2004-10-08 | 2006-04-13 | Meiko Maschinenbau Gmbh & Co.Kg | Method for transporting items to be cleaned by a continuous-flow dishwasher and continuous-flow dishwasher |
US7275637B2 (en) * | 2005-02-24 | 2007-10-02 | Barry Charles Brown | Multi-channel conveyor belt condition monitoring |
FR2882547B1 (en) | 2005-02-28 | 2007-06-01 | Sidel Sa Sa | ARRANGEMENT FOR THE COMBINATION OF BATCH PRODUCTS ON A HIGH CADENCE CONVEYANCE MAT |
GB0504284D0 (en) | 2005-03-02 | 2005-04-06 | Boc Group Plc | Conveyor system |
US7613542B2 (en) | 2005-03-18 | 2009-11-03 | Siemens Energy & Automation, Inc. | Reference-based automatic address assignment system and method for a material handling system |
AT501695B1 (en) | 2005-04-01 | 2009-10-15 | Tgw Mechanics Gmbh | ELECTRICALLY DECENTRALIZED CONVEYING DEVICE FOR PARTICULAR CONVEYORS AND CORRESPONDING CONVEYOR SYSTEM |
US7591366B2 (en) | 2005-06-07 | 2009-09-22 | Hytrol Conveyor Company, Inc. | Conveyor system and method for accumulating packages of varying lengths |
GB2428658A (en) | 2005-08-05 | 2007-02-07 | Fki Logistex Ltd | Accumulator conveyor modules with sensors and control circuit |
JP2007078831A (en) | 2005-09-12 | 2007-03-29 | Ricoh Co Ltd | Belt conveying device, transfer device and color image forming apparatus |
US20070261941A1 (en) * | 2006-05-10 | 2007-11-15 | Dematic Corp. | Dynamic motorized roller conveyor control |
US7669708B2 (en) * | 2006-08-31 | 2010-03-02 | Martin Engineering Company | Bulk material handling system and control |
US7806254B2 (en) | 2006-09-25 | 2010-10-05 | Dematic Corp. | Belt conveyor and method |
NL2000266C2 (en) | 2006-10-09 | 2008-04-10 | Specialty Conveyor Bv | Transporter for transporting and buffering general cargo. |
US7844349B2 (en) * | 2006-10-20 | 2010-11-30 | Rockwell Automation Technologies, Inc. | Standard MES interface for discrete manufacturing |
WO2008058543A1 (en) | 2006-11-16 | 2008-05-22 | Ihpostal A/S | Procedure for the weighing of letters; letter balance; and use of procedure and letter balance |
US8050795B2 (en) | 2007-03-20 | 2011-11-01 | Donald L. Dollens | Conveyor drive control system |
CN101754917B (en) | 2007-07-24 | 2013-04-10 | 莱特拉姆有限责任公司 | Accumulation-and-release conveyor |
DE102007040367B4 (en) | 2007-08-17 | 2022-11-17 | Ssi Schäfer Automation Gmbh | Material flow control to avoid collisions in a conveyor system |
US20100100235A1 (en) | 2008-04-08 | 2010-04-22 | Asyst Technology, Inc. | Method and system for simultaneous bi-directional conveyor control for moving material holders in a fab |
JP5031676B2 (en) | 2008-06-12 | 2012-09-19 | 株式会社リコー | Image forming apparatus |
WO2009154789A1 (en) | 2008-06-20 | 2009-12-23 | Asyst Technologies, Inc. | Direct loading to and from a conveyor system |
US8201681B2 (en) | 2008-07-14 | 2012-06-19 | Siemens Industry, Inc. | Method for gapping for sortation rate maximization |
EP2161223B2 (en) | 2008-09-07 | 2023-02-22 | Itoh Denki Co., Ltd. | Motorized roller and motor unit for motorized roller |
JP5222689B2 (en) | 2008-10-24 | 2013-06-26 | 伊東電機株式会社 | Conveyor device and conveyor control device |
DE102009003475A1 (en) | 2009-02-12 | 2010-08-19 | Krones Ag | Conveyor and method for feeding a further processing unit |
CN102762469B (en) | 2009-03-19 | 2014-09-24 | 因特利格拉泰德总部有限责任公司 | Method for controlling accumulation of transmitter |
US8284993B2 (en) | 2009-06-18 | 2012-10-09 | Hytrol Conveyor Company, Inc. | Decentralized tracking of packages on a conveyor |
US8371435B2 (en) | 2009-12-16 | 2013-02-12 | Charles Agnoff | Roller conveyor, drive system and detector system |
US20120024669A1 (en) | 2010-07-29 | 2012-02-02 | Danelski Darin L | Networked Motorized Drive Roller Conveyor |
US8887897B2 (en) | 2010-08-31 | 2014-11-18 | Itoh Denki Co., Ltd. | Fault diagnosis method for roller conveyor, roller conveyor, and controller for conveyor |
US8550234B2 (en) | 2010-12-07 | 2013-10-08 | Interroll Corporation | Sequential controlled start-up for zoned conveyor systems |
US8757363B2 (en) | 2011-05-09 | 2014-06-24 | Insight Automation, Inc. | Conveyor controllers |
JP6179238B2 (en) * | 2012-07-31 | 2017-08-16 | 株式会社リコー | Belt conveying device, image forming apparatus and image forming system |
DE102015107167A1 (en) * | 2015-05-07 | 2016-11-10 | Interroll Holding Ag | Control unit for a conveyor with hardware detection |
-
2011
- 2011-05-09 US US13/103,705 patent/US8757363B2/en active Active
-
2012
- 2012-05-07 EP EP12782413.4A patent/EP2707316B1/en active Active
- 2012-05-07 WO PCT/US2012/036745 patent/WO2012154650A1/en active Application Filing
- 2012-05-07 JP JP2014510392A patent/JP6174010B2/en active Active
-
2014
- 2014-05-06 US US14/270,590 patent/US9555977B2/en active Active
-
2017
- 2017-01-27 US US15/417,588 patent/US10233028B2/en active Active
- 2017-07-04 JP JP2017130919A patent/JP6509959B2/en active Active
-
2019
- 2019-03-15 US US16/355,006 patent/US10654659B2/en active Active
- 2019-04-02 JP JP2019070583A patent/JP6878487B2/en active Active
-
2020
- 2020-05-19 US US16/878,283 patent/US11247846B2/en active Active
-
2021
- 2021-04-28 JP JP2021076153A patent/JP7443285B2/en active Active
-
2022
- 2022-02-14 US US17/671,136 patent/US11724888B2/en active Active
-
2023
- 2023-06-30 US US18/345,247 patent/US20230348201A1/en active Pending
-
2024
- 2024-02-21 JP JP2024024578A patent/JP2024059776A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996104B2 (en) * | 2000-04-27 | 2011-08-09 | Rockwell Automation Technologies | Driver board control system for modular conveyor with address-based network for inter-conveyer communication |
US7672737B2 (en) * | 2005-05-13 | 2010-03-02 | Rockwell Automation Technologies, Inc. | Hierarchically structured data model for utilization in industrial automation environments |
US20090084657A1 (en) * | 2007-09-27 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Modular wireless conveyor interconnection method and system |
Also Published As
Publication number | Publication date |
---|---|
US11247846B2 (en) | 2022-02-15 |
JP6509959B2 (en) | 2019-05-08 |
US10654659B2 (en) | 2020-05-19 |
JP2019131402A (en) | 2019-08-08 |
EP2707316A1 (en) | 2014-03-19 |
JP2017171506A (en) | 2017-09-28 |
US20190210814A1 (en) | 2019-07-11 |
JP6174010B2 (en) | 2017-08-02 |
US8757363B2 (en) | 2014-06-24 |
JP7443285B2 (en) | 2024-03-05 |
JP2021119104A (en) | 2021-08-12 |
JP2014516895A (en) | 2014-07-17 |
US20140244030A1 (en) | 2014-08-28 |
US20170137230A1 (en) | 2017-05-18 |
US9555977B2 (en) | 2017-01-31 |
EP2707316A4 (en) | 2015-08-12 |
US20200277145A1 (en) | 2020-09-03 |
US20220162015A1 (en) | 2022-05-26 |
US20120290126A1 (en) | 2012-11-15 |
JP6878487B2 (en) | 2021-05-26 |
US11724888B2 (en) | 2023-08-15 |
US10233028B2 (en) | 2019-03-19 |
WO2012154650A1 (en) | 2012-11-15 |
EP2707316B1 (en) | 2024-07-03 |
JP2024059776A (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11724888B2 (en) | Conveyor controllers | |
JP6352379B2 (en) | Zone controller for modular conveyor systems. | |
US8284993B2 (en) | Decentralized tracking of packages on a conveyor | |
JP5513137B2 (en) | Accumulation conveyor | |
US20060062656A1 (en) | Article transport apparatus | |
US8996160B2 (en) | Article storage device and conveyor used therein | |
JPH10279047A (en) | Conveyor system and control method thereof | |
US20060071043A1 (en) | Transport apparatus | |
US7243781B2 (en) | Conveyor loading zone system and method | |
WO2017037774A1 (en) | Conveyance system | |
US8322288B2 (en) | Operator system with independent chain drive | |
CN109064637B (en) | Vending machine, manipulator goods taking and delivering method and manipulator platform | |
JP2018177441A (en) | Roller conveyor device | |
JP2006159923A (en) | Traveling control method for conveying truck | |
JPH11165808A (en) | Article delivery device for automatic storage and retrieval system | |
JPH09153175A (en) | Commodity carrying-out device for automatic vending machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |