Conveyor controller
Network-connected conveyor controllers address the limitations of conventional systems by providing advanced feedback control and automated configuration, enhancing efficiency and reducing maintenance complexity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- INSIGHT AUTOMATION INC
- Filing Date
- 2024-02-21
- Publication Date
- 2026-05-19
AI Technical Summary
Conventional conveyor controllers lack advanced feedback control, leading to issues such as congestion and collisions, and are difficult to maintain and program, requiring significant time and effort for configuration changes.
The implementation of network-connected conveyor controllers that can identify and adjust to articles of varying sizes, detect blockages, and automatically configure themselves and other controllers, using methods like detecting connected controllers, configuring motorized rollers, and monitoring electric rollers for feedback.
Enhances conveyor control by reducing congestion and collisions, simplifying maintenance, and automating configuration processes, thereby improving efficiency and reducing labor requirements.
Smart Images

Figure 0007862457000001 
Figure 0007862457000002 
Figure 0007862457000003
Abstract
Description
Technical Field
[0001] The present invention relates to the control of a conveyor system using a plurality of network-connected conveyor controllers.
Background Art
[0002] Conveyors are used in a variety of applications to transport articles from a first point to a second point. As an example, conventional conveyors can include roller conveyors that include a plurality of powered and non-powered rollers, and belt conveyors that include a belt driven by one or more powered rollers. Generally, one or more sections of a conventional conveyor are controlled by a controller such as a computer. This controller generally controls a powered roller or motor that operates the conveyor belt to move articles along the conveyor. In a conventional conveyor controller, such a controller attempts to track the progress of whether an article is being transported by a monitoring sensor such as a photo-eye provided on the conveyor.
[0003] However, conventional controllers for conveyor systems often lacked the ability for advanced feedback control. For example, conventional controllers could determine whether an article was detected by a photo-eye, but could not recognize further information about such an article. Further, conventional controllers often could not track such articles when articles of different sizes passed through different parts of the conveyor. This can result in congestion (jams) or cause collisions between articles. In either case, often the information about the articles themselves could not be recognized or confirmed.
[0004] Furthermore, many conventional controllers were difficult to maintain and replace. For example, conveyors typically contain numerous controllers, and each of these controllers had to be programmed to work together with the others. Programming numerous controllers in the conventional way often involved programming each individual controller and then testing whether they worked together. Programming in the conventional way required a great deal of time and effort, and even simply operating a conveyor (e.g., a "straight" conveyor without branches and mergers) required managing DIP switch settings and complex algorithms.
[0005] For example, some conventional controllers may require reprogramming each controller for the conveyor even when replacing just one of them. Furthermore, even if it's not always necessary to reprogram all conventional controllers to replace one, many conventional controller replacements require pre-programming of the controller being replaced. Pre-programming the controller being replaced can be a laborious process because the exact configuration of the controller before replacement is unavailable, and it requires rebuilding the configuration from scratch. [Overview of the project] [Problems that the invention aims to solve]
[0006] Therefore, improved control of conveyors and controllers to implement such control are still needed. [Means for solving the problem]
[0007] Embodiments of the present invention include various methods, apparatus, and programming products used to control at least a portion of a conveyor, to identify information about articles carried by the conveyor, or to operate the conveyor. In one embodiment, one method includes the steps of detecting whether a second conveyor controller is connected to a first conveyor controller, and, in response to the detection that the second conveyor controller is connected to the first conveyor controller, checking whether the second conveyor controller is connected to a specified network interface of the first conveyor controller. The method further includes the steps of configuring the first conveyor controller to rotate the motorized rollers in a first default direction if the second conveyor controller is connected to a specified network interface, and configuring the first conveyor controller to rotate the motorized rollers in a second default direction if the second conveyor controller is not connected to a specified network interface.
[0008] In another embodiment, one method includes the step of detecting whether a third conveyor controller is connected to the second conveyor controller in response to receiving first configuration data from the first conveyor controller in the second conveyor controller. The method further includes the step of sending a configuration message to the third conveyor controller, which includes second configuration data associated with the second conveyor controller, if the third conveyor controller is connected to the second conveyor controller, and the step of determining that the second conveyor controller is the last conveyor controller of a linear conveyor if the third conveyor controller is not connected to the second conveyor controller.
[0009] In yet another embodiment, the method includes the steps of receiving and storing configuration data associated with a second conveyor controller connected to a first conveyor controller, and transmitting the configuration data to the third conveyor controller in response to a first request for data from the third conveyor controller intended for exchange with the second conveyor controller.
[0010] In a further embodiment, one method includes the steps of: requesting configuration data from a second conveyor controller connected to the first conveyor controller in response to a user input to the first conveyor controller for automatically configuring the first conveyor controller; and storing the configuration data in the first conveyor controller in response to the receipt of the configuration data.
[0011] In another embodiment, one method includes the steps of monitoring an electric roller with respect to at least a partial rotation thereof, and determining the length of time required for the at least partial rotation in response to the detection of at least a partial rotation of the electric roller. The method further includes the step of operating the electric roller in response to the determination that the length of time is greater than a target time.
[0012] An additional embodiment includes a method that includes the steps of: identifying a rotational position associated with the electric roller when the electric roller is stopped in response to a decision that the rotation of the electric roller is being hindered; and applying a voltage signal to the electric roller to hold the roller in the identified rotational position in response to an external force acting on the electric roller.
[0013] Another embodiment includes a method comprising the steps of: detecting a photo-eye sensor connected to a conveyor controller, including whether the photo-eye sensor is light-activated or light-shielded; detecting an electric roller connected to the conveyor controller, including information about the electric roller; and automatically setting at least one of the operating speed of the electric roller, the rate at which the electric roller is accelerated, the rate at which the electric roller is decelerated, or a combination thereof.
[0014] In yet another additional embodiment, one method includes the steps of: querying an electric roller for data related to the electric roller; analyzing the data to identify operating characteristics associated with the electric roller in response to the receipt of the data; and controlling the electric roller in at least part in accordance with the identified operating characteristics.
[0015] A more additional embodiment includes a method that includes the steps of: acting an electric roller to rotate in a first direction corresponding to the direction of movement; and acting an electric roller to rotate in a second direction opposite to the first direction in response to the detection of a blockage.
[0016] Another embodiment is a method that includes the steps of detecting a signal current used to operate an electric roller, and determining the weight associated with an article based on the detected current. A further embodiment is a method that includes the steps of determining the time at which a photo eye detects an article as the article is being transported along at least a portion of a conveyor, and determining the length associated with the article in accordance with the determined time.
[0017] Another embodiment includes the steps of: identifying the rotational speed associated with the electric roller and communicating a first voltage signal generated by the rotation of the electric roller to the power supply of the conveyor controller so as to supply the energy generated by the electric roller to the power supply (power supply unit) if the rotation of the electric roller does not exceed a target speed; and supplying a second voltage signal to the electric roller so as to reduce the rotational speed of the electric roller if the rotation of the electric roller exceeds a target speed.
[0018] In another embodiment, the method includes the steps of: determining whether the current flowing through an electric roller is related to a low level indicating that the electric roller is transporting a first article; determining, in response to the determination that the electric roller is transporting a first article, whether the current flowing through the electric roller is related to a high level indicating that the first article has encountered (collided with) a second article; and, in response to the determination that the first article is jammed or has collided with the second article, transporting the first and second articles simultaneously and such that there is no substantial gap between the first and second articles during transport.
[0019] A further embodiment is a method for controlling at least a portion of a conveyor using a conveyor controller in a conveyor system having at least one downstream conveyor controller and at least one upstream conveyor controller relative to the conveyor controller. This method includes sending a message to the downstream conveyor controller to request data to determine whether at least a portion of the conveyor controlled by the downstream conveyor controller is occupied by goods. If at least a portion of the conveyor controlled by the downstream conveyor controller is not occupied by goods, this method includes operating an electric roller at a target speed to transport subsequent goods. If at least a portion of the conveyor controlled by the downstream conveyor controller is occupied by goods, this method includes operating an electric roller at an adjusted target speed slower than the target speed to transport subsequent goods.
[0020] These advantages and other advantages will become apparent from the following drawings and detailed description.
Brief Description of the Drawings
[0021] The accompanying drawings are incorporated herein and form a part thereof, showing embodiments of the present invention together with the above general description of the present invention and the following detailed description of the embodiments, and serving to explain the principles of the present invention.
[0022] [Figure 1] It is a perspective view showing a part of a conveyor system using one or more modular conveyor controllers adapted to embodiments of the present invention. [Figure 2] It is a diagram of the controller in FIG. 1. [Figure 3] It is a diagram of a computer connected to the controller in FIG. 1. [Figure 4] It is a partially cutaway perspective view of the electric roller of the conveyor system in FIG. 1. [Figure 5] It is a diagram showing a flow sequence of operations that can be performed by the controller in FIG. 1 during automatic setting of the controller in FIG. 1. [Figure 6] It is a diagram showing a flow sequence of operations that can be performed by the controller in FIG. 1 during automatic setting of the controller in FIG. 1 when the controller in FIG. 1 is a downstream controller. [Figure 7] It is a diagram showing a flow sequence of operations that can be performed by the controller in FIG. 1 to abort the automatic setting of the controller in FIG. 1. [Figure 8] It is a diagram showing a flow sequence of operations that can be performed by the controller in FIG. 1 to automatically set the controller in FIG. 1 as the first controller of a linear conveyor. [Figure 9]A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to detect characteristics in at least a part of a conveyor system set therefor. [Figure 10] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to identify the direction of rotation and adjust its operation accordingly. [Figure 11] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to detect and accumulate articles being conveyed based on the current flowing to an electric roller connected to the controller of FIG. 1. [Figure 12] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to stop an electric roller using the servo lock method. [Figure 13] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to start an automatic exchange process. [Figure 14] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to automatically recover the network address of a controller replaced during an automatic exchange process. [Figure 15] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 for operation in "touch and go" mode. [Figure 16] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 for operation in "preview deceleration" mode. [Figure 17] A diagram showing a flow sequence of operations that can be performed by the controller of FIG. 1 to determine whether a downstream zone is operating at a target speed. [Figure 18]This figure shows a flow sequence illustrating the sequence of operations that can be performed by the controller in Figure 1 to initiate a blockage clearing process. [Figure 19] This diagram shows a flow sequence illustrating the sequence of operations that can be performed by the controller in Figure 1 to clear a blockage. [Figure 20] This figure shows a flow sequence illustrating the sequence of operations that can be performed by the controller in Figure 1 to reduce the rotational speed of the electric roller. [Figure 21] This figure shows a flow sequence of operations that can be performed by the controller in Figure 1 to identify the operating characteristics of an electric roller and, optionally, to control the electric roller based on those operating characteristics. [Modes for carrying out the invention]
[0023] It should be understood that the accompanying drawings are not necessarily to scale and illustrate various feature parts illustrating the basic principles of embodiments of the present invention in a somewhat simplified manner. As disclosed herein, specific design features of embodiments of the present invention, such as features including specific dimensions, orientations, positions, and shapes of various illustrated components, and specific operation sequences (e.g., parallel and / or sequential operations), may be partially determined by individual intended applications and operating environments. Feature parts of the illustrated embodiments may be enlarged or modified to facilitate depiction and clearer understanding.
[0024] Figure 1 is a perspective view of a portion of a conveyor system 10 using one or more modular conveyor controllers 12a-12c adapted to embodiments of the present invention. In particular, the illustrated portion of the conveyor system 10 includes a conveyor assembly 14 which includes a conveyor belt 16 having a plurality of electric rollers 18 interspersed with a plurality of non-electric 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 articles 23 being transported on the conveyor assembly 14, while the power supply unit 24 is configured to supply power to one or more modular conveyor controllers 12, electric rollers 18 and / or sensors 22.
[0025] As shown in Figure 1, each of the modular conveyor controllers 12 (hereinafter referred to as "controllers" 12) interconnects and / or controls two or fewer motorized rollers 18 and two or fewer sensors 22. In such a configuration, each controller 12 may be configured to control one or more separate "bands" (e.g., individual regions of the conveyor assembly 14) of the conveyor assembly 14. Each band may include one or more motorized rollers 18 and one or more sensors 22. As shown in Figure 1, each controller 12a-12c is configured to control two bands. More specifically, controller 12a is configured to control bands A1 and A2, controller 12b is configured to control bands B1 and B2, and controller 12c is configured to control bands C1 and C2. In some embodiments, each sensor 22 may be an optical sensor, such as an IR sensor, configured to detect the presence of an article 23 on the conveyor assembly 14. During operation, one or more controllers 12 are configured to move the items 23 downstream 26 along the conveyor system 10.
[0026] Figure 2 is a diagram of the hardware and software environment of a controller 12 adapted to an embodiment of the present invention. The controller 12 includes at least one central processing unit ("CPU") 40 connected to a memory 42. Each CPU 40 is typically implemented in hardware using circuit logic processed within one or more physical integrated circuit devices (i.e., chips) and may consist of one or more microprocessors, microcontrollers, field-programmable gate arrays ("FPGAs") or ASICs. The memory 42 may include random access memory ("RAM"), dynamic random access memory ("DRAM"), static random access memory ("SRAM"), flash memory, electrically erasable and programmable read-only memory ("EEPROM") and / or other digital storage media, and may also typically be implemented using circuit logic processed in one or more physical integrated circuit devices (i.e., chips). As such, memory 42 may also include memory storage, such as cache memory in a CPU 40, which is physically located in other parts of the controller 12, or storage capacitors used as virtual memory, which are stored in other controllers 12 or computing systems 90 (Figure 2) connected to the controller 12 via at least one network interface 44a, 44b (illustrated as "Network A Interface" 44a and "Network B Interface" 44b).
[0027] The controller 12 is configured to connect to two or fewer electric rollers 18 via individual motor interfaces 46a, 46b (illustrated as “Motor A Interface” 46a and “Motor B Interface” 46b). In particular, the CPU 40 is configured to control the motors (not shown) of the electric rollers 18 by selectively supplying power to the motors to determine the rotational state of the electric rollers 18. Each of the motor interfaces 46a, 46b allows the CPU 40 to supply power to the electric rollers 18 and to identify information about the motors of the electric rollers 18. In particular, each of the motor interfaces 46a, 46b may generally be used for brushless DC (“BLDC”) motor rectification control to control the rotational speed of the electric rollers 18. More specifically, the motor interfaces 46a, 46b include the ability to selectively supply current to individual windings of motors connected to the motor interface to rotate the electric rollers 18, to sense the current consumed by the motors connected to the motor interface, and to sense the rotational state of the motors connected to the motor interface. Motor interfaces 46a, 46b may also include the ability to control a brake (not shown) associated with the motor.
[0028] In addition to the electric roller 18, the CPU 40 is configured to connect to two or fewer sensors 22 via individual sensor interfaces 48a, 48b (illustrated as "Sensor A Interface" 48a and "Sensor B Interface" 48b). The controller 12 is also configured to connect to two or fewer additional hardware components (not shown) (e.g., additional sensors 22 not connected via sensor interfaces 48a, 48b) via individual hardware interfaces 49a, 49b (illustrated as "Hardware A Interface" 49a and "Hardware B Interface" 49b). The controller 12 is configured to receive power from the power supply unit 24 via a power input and adjustment interface 50.
[0029] The CPU 40 is further configured to receive input from a user and / or provide a person-perceptible output to the user via an input / output device interface 52 (illustrated as "I / OI / F" 52, and so referred to hereinafter). In some embodiments, the I / OI / F 52 is configured to receive data from a user via at least one user interface 54 and / or provide a person-perceptible output to the user via at least one output device 56 (the user interface 54 includes, for example, one or more soft keys, a keyboard, a mouse, a microphone, and / or other user interfaces; the output device 56 includes, for example, one or more LEDs, a display, a speaker, and / or other output devices that present specific information). In some embodiments, the I / OI / F 52 communicates with a device that, in combination, operates as a user interface 54 and an output device 56, such as a touchscreen display (not shown). In certain embodiments, at least one user interface 54 includes a predetermined soft key. The soft key allows the CPU 40 to determine, in response to an operation sustained over a first defined time, that the user is requesting to automatically configure multiple controllers 12, and in response to an operation sustained over a second defined time, that the CPU 40 is requesting the user to reset the controllers 12. Furthermore, in certain embodiments, at least one output device 56 includes multiple LEDs.These LEDs each display the status of the connected network via network interfaces 44a, 44b, the network traffic via network interfaces 44a, 44b, the network to which the controller 12 is connected, the status of one or more motors of the individual electric rollers 18 connected to motor interfaces 46a, 46b, the individual status of one or more sensors 22 connected to sensor interfaces 48a, 48b, the status of one or more hardware components connected to hardware interfaces 49a, 49b, the power status to the controller 12, and / or the status of the controller 12.
[0030] The controller 12 is generally under the control of an operating system, applications, and / or other program code (illustrated as "control code 58," and so referred to hereafter) configured to control the controller 12, as well as the firmware 57. As such, the controller 12 runs on or depends on various computer software applications, operation sequences, components, programs, files, objects, modules, etc., which are adapted to embodiments of the present invention. In certain embodiments, the firmware 57 contains data for controlling the components of the controller 12, while the control code 58 is executed to perform various operations adapted to embodiments of the present invention. The controller 12 also includes a network server 59. The network server 59 may include a web server and / or a DHCP server. As such, the network server 59 allows another computing system 90 (Figure 3) to directly access information from the controller 12 via the network 82 (Figure 3) and / or allows another computing system 90 to directly connect to the controller 12 to automatically configure a TCP / IP connection with the controller 12.
[0031] Controller 12 is also configured with a mass storage device 60 that can store data for the operation of Controller 12 and other Controllers 12. In a particular embodiment, the mass storage device 60 includes a configuration data structure 62 containing the configuration data of Controller 12 and the configuration data of adjacent Controllers 12. 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 can be used to configure and / or operate Controller 12 in a parameter data structure 64.
[0032] Controller 12 may be configured to operate with or in association with at least one additional controller 12. Furthermore, controller 12 may be configured to be externally controlled using the computing system 90. In accordance with such embodiments of the present invention, Figure 3 illustrates a diagram showing the interconnection of a plurality of controllers 12a to 12c via communication links 80a to 80c, and the connection of one or more controllers 12 to at least one network 82 for control using the computing system 90. In certain embodiments, each communication link 80 between the plurality of controllers 12 is realized via a network cable such as a Category 5 cable used for Ethernet Work® communication. One controller 12a may be configured to communicate directly with another controller 12b, 12c (for example, controller 12b in this case), or to communicate indirectly with another controller 12b, 12c (for example, controller 12b in this case).
[0033] As described above, the conveyor system 10 may include a computing system 90 that can control the controllers 12a to 12c and, by extension, the operation of the conveyor system 10. The computing system 90 includes at least one CPU 92 connected to memory 94. Each CPU 92 is implemented in hardware using circuit logic processed by one or more physical integrated circuit devices (i.e., chips) and may be one or more microprocessors, microcontrollers, FPGAs, or ASICs. The memory 94 may include RAM, DRAM, SRAM, flash memory, and / or other digital storage media and is also generally executed using circuit logic processed by one or more physical integrated circuit devices (i.e., chips). As such, memory 94 may also include memory storage physically located in other parts of the computing system 90 (e.g., cache memory in at least one CPU 92) and storage capacitors used as virtual memory, such as being stored in a mass storage device 96, another computing system (not shown), a network storage device (e.g., a tape drive), or other network devices (not shown) connected to the computing system 90 via at least one network interface 98 (illustrated as "Network I / F" 98, and hereafter referred to as such) using at least one network 82. Network I / F 90 may be connected to network 92 wirelessly (e.g., via one of several IEEE 802 standards) or via a hardwired link (e.g., Ethernet® cable). Naturally, at least one network 82 may include at least one private communication network (e.g., an intranet) and / or at least one public communication network (e.g., the Internet).
[0034] In particular embodiments, the computing system 90 is a computer, computer system, computing device, server, disk array, or programmable device such as a multi-user computer, single-user computer, portable computing device, networked device (including a computer in a collective control structure), mobile telecommunications device, telecommunications device, video game console (or other game system). In particular embodiments, the computing system 90 is an iPhone® or iPad®, marketed by Apple Inc. in Cupertino, California, USA.
[0035] The computing system 90 is connected to at least one peripheral device via an input / output device interface 102 (illustrated as "I / OI / F" 102, and so referred to hereafter). In particular, the computing system 90 is configured to receive data from a user via at least one user interface 104 and / or output data to the user via at least one output device 106 (the user interface 104 includes, for example, one or more keyboards, mice, microphones, and / or other user interfaces, and the output device 106 includes, for example, a display, speaker, printer, and / or another output device). Furthermore, in some embodiments, the I / OI / F 102 communicates with a device that, in combination, operates as the user interface 104 and the output device 106, such as, for example, a touchscreen display (not shown).
[0036] The computing system 90 is generally under the control of the operating system 108 and runs or relies on various computer software applications, operation sequences, components, programs, files, objects, modules, etc., adapted to embodiments of the present invention. In certain embodiments, the computing system 90 runs or relies on control applications 110 to manage the operation of controllers 12a-12c and the conveyor system 10.
[0037] The controller 12 may be configured to operate independently, in a collective independent manner, or in a dependent manner, in accordance with embodiments of the present invention. When operating independently, the controller 12 is not controlled by the computing system 90 and operates independently of one or more controllers 12 located upstream or downstream along the downstream direction 26, if controllers 12 are present upstream or downstream along the downstream direction 26. As such, the controller 12 simply controls a portion of the conveyor assembly 14 to transport articles 23 along the downstream direction 26, without being associated with any further controllers 12. Independent operation can be advantageous when the conveyor system 10 operates primarily and consistently to move articles 23 along its surface without requiring any further controllers 12. When operating in a collective manner, multiple controllers 12 are configured to share upstream and downstream information to move articles 23 downstream 26, but are not controlled by the computing system 90 in other circumstances. Collective operation may be advantageous when the conveyor system 10 is used to move articles 23 along a path without including merging sections, connecting sections, article sorting sections, or other article handling sections (although the conveyor system 10 in this case may include swivel sections and vertical inclination sections). When operating in dependent mode, one or more controllers 12 are configured to be controlled by the computing system 90. Dependent operation may be advantageous when the conveyor system 10 includes merging sections, connecting sections, article sorting sections, and / or other article handling sections where complex movements and coordination of the articles 23 are required as the articles 23 are transported along the conveyor system 10.
[0038] In any case, the controller 12 includes numerous operations, operating modes, and functions to assist in the transport of goods. For example, the controller 12 is configured to automatically identify information about the conveyor assembly 14 to which the controller 12 is connected, and more detailed information about the electric rollers 18, sensors 22, and / or additional hardware configured on the conveyor assembly 14. The controller 12 uses BLDC communication control to control the rotational speed and / or rotational state of the electric rollers 18. The controller 12 may also use current feedback from the electric rollers 18 to determine whether an item 23 is being transported, and similarly use rotational feedback from the electric rollers 18 to determine the position of the transported item 23. The controller 12 may also use current feedback, rotational feedback, and / or further information to determine the weight and length of the item 23.
[0039] In addition to supplying power to rotate the electric roller 18, the controller 12 is configured to stop the electric roller 18 in various ways. For example, a conventional method of stopping the electric roller 18 is to shunt the motor windings of the electric roller 18 so that they rub against or engage with the brake of the electric roller 18. The controller 12 may also be configured to stop the electric roller 18 by gravity or by a servo lock stop. In the case of stopping by gravity, the controller 12 may disconnect the motor of the electric roller 18 from the ground signal or power signal. Advantageously, stopping by gravity allows the electric roller 18 to temporarily continue rotating after power to the electric roller 18 is cut off, preventing excessive power consumption by the electric roller 18 in other situations. In the case of stopping by servo lock, the controller 12 holds the electric roller 18 in the rotational position in which it stopped. For example, if the electric roller 18 is not tilted up or down, the servo lock stops the motor, allowing the controller 12 to hold the electric roller 18 in a specific rotational position, and advantageously, to hold the item 23 placed on the electric roller 18 in that specific position.
[0040] When a conveyor system 10 having a linear conveyor or other conveyors is in operation, multiple networked controllers 12 may automatically configure themselves if they are located along an uninterrupted path (which may be curved) of one or more conveyor assemblies 14 that do not have a merging or branching mechanism. This configuration is more commonly referred to as a “linear conveyor.” In such a configuration, the controllers 12 are configured along the linear conveyor and interconnected via a communication link 80. In this case, the furthest upstream controller 12 may be configured to initiate an automatic configuration procedure (via a user interface 54, including soft keys). The automatic configuration procedure, as will be described in detail below, automatically configures the controllers 12 to control one or more individual bands of the linear conveyor so that the linear conveyor can be used to transport items 23 on the conveyor downstream 26.
[0041] These controllers 12 communicate with each other via a communication link 80 to access information about bandwidth, items 23, and upstream and downstream controllers 12 in order to dynamically adjust the operation of the conveyor system 10. These controllers 12 also store the settings (configurations) of each controller 12 adjacent to them. For example, if the conveyor system 10 includes multiple controllers, the first controller 12 (e.g., the controller furthest upstream along the downstream direction 26) stores its own configuration data and the configuration data of the second controller 12, the second controller 12 stores its own configuration data, the configuration data of the first controller 12, and (if any) the configuration data of the third controller 12, and furthermore, for example, the last controller 12 stores its own configuration data and the configuration data of the controller 12 immediately preceding the last controller 12. For example, if a controller 12 is removed, the replacement controller 12 may automatically access the appropriate configuration data stored in the adjacent controller 12. Controller 12 may use UDP for transmitting configuration data, Modbus TCP for communication between controllers, and Ethernet® / IP for other communications.
[0042] The controller 12 may be used to transport articles 23 along the conveyor system 10 in various modes. These modes include a bandwidth unification mode (where bandwidth gaps exist between articles), a flexible bandwidth mode (where the first article is longer than the next, and the bandwidth allocated to the first article is larger than the bandwidth allocated to the next article), a continuous mode (where, when articles are discharged in the downstream bandwidth, all articles in the downstream bandwidth to the upstream bandwidth move "continuously"), and a gap-continuous mode (this mode is similar to the continuous mode, but the controller 12 sets a time delay between consecutive articles).
[0043] One example of a further mode of operation for the controller 12 is a mode in which the controller 12 detects the operation of a previously stationary electric roller 18 and subsequently activates one or more electric rollers 18 connected to the controller 12 to move an item 23 along the conveyor system 10. For example, the item 23 may be placed on the conveyor system 10 and stationary. When a user pushes the item 23 along the conveyor system 10, the electric rollers 18 associated with the item 23 are rotated. The controller 12 detects this operation, transports the item 23 across its bandwidth, and sends a message to at least one downstream controller 12 to transport the item 23 as well. This "touch-and-go" mode can be advantageous in equipment where keeping the conveyor system 10 constantly activated (e.g., keeping the electric rollers 18 constantly activated) is inefficient, undesirable, and unnecessary. In such a case, the user can start the conveyor system 10 by placing an item 23 on the conveyor system 10 and pushing the item along the conveyor system 10. In one embodiment, the controller 12 of the conveyor system 10 operates the electric rollers 18 until the article 23 is unloaded from the conveyor system 10. In an alternative embodiment, the controller 12 of the conveyor system 10 gradually increases or decreases the speed of the electric rollers 18 with respect to each individual band as the article 23 passes close to each band until the article 23 is unloaded from the conveyor system 10.
[0044] During operation, the controller 12 can "lock ahead" to at least one downstream bandwidth to determine whether that bandwidth is occupied by the article 23, and adjust the speed of the electric roller 18 accordingly. In this configuration, even in high-speed use where a longer stopping distance is required, the article 23 can be prevented from moving past its stopping position. This "anticipatory deceleration" mode prevents the controller 12 from losing sight of the article 23 between bandwidths. Losing sight of the article 23 can occur if the momentum of the decelerated article 23 is maintained in a region between bandwidths where the article 23 is not detected by the sensor 22.
[0045] The controller 12 is also configured to detect congestion, or a potential blockage, if the item 23 does not reach the sensor 22 within a predetermined time, or if the item 23 continues to be detected by the sensor 22 for a predetermined period of time. When a blockage is detected, the controller 12 may reverse the appropriate electric roller 18 in an attempt to clear the blockage.
[0046] Figure 4 is a partial perspective view of an electric roller 18 adapted to an embodiment of the present invention. The electric roller 18 is connected to a controller 12 via various wires at position 102. Wires 102 can provide various signals or connections (e.g., voltage signals, current signals, connections to ground) to one or more components of the electric roller 18. More specifically, wires 102 can transmit one or more signals, such as voltage signals, current signals, or ground signals, relating to the motor 104 of the electric roller. When powered, the motor 104 rotates to rotate a gearbox 106. The gearbox 106 is coupled to the housing 108 of the electric roller 18 and operates to convert the rotation of the motor 104 to the rotation of the housing 108 at a constant ratio. In a particular embodiment, the gearbox 106 may operate to convert 60 rotations of the motor 104 to 1 rotation of the housing 108, such that the gearbox 106 has a ratio of approximately 60-1. Furthermore, the electric roller 18 may include one or more addressable circuits 110, such as processing circuits with queryable memory for information associated with the electric roller 18. As such, a controller 12 connected to the electric roller 18 may query the electric roller 18 for reference, in particular its addressable circuits 110, and identify at least one operating characteristic associated with the electric roller 18. For example, this operating characteristic may include the gear ratio of the gearbox 106 or a current threshold (e.g., maximum current) related to the motor. The controller 12 may then identify the information and / or control the electric roller 18 accordingly (e.g., determine the rotational distance of the housing of the electric roller 18 from a voltage pulse and / or maintain the current supplied to the electric roller 18 below a current threshold).
[0047] Those skilled in the art will recognize that the environments shown in Figures 1 to 4 are not intended to limit the scope of embodiments of the present invention. In particular, the conveyor system 10, controller 12, and / or computing system 90 may include fewer or more components adapted to alternative embodiments of the present invention. Indeed, those skilled in the art will recognize that other alternative hardware and / or software environments may be used without departing the scope of the present invention. In addition, it will be apparent to those skilled in the art that the controller 12 and / or computing system 90 may include more or fewer applications than those set out herein. As such, other alternative hardware and software environments may be used without departing the scope of embodiments of the present invention.
[0048] A routine performed to carry out an embodiment of the present invention is implemented as either an operating system or a particular application, component, program, object, module or as part of a sequence of instructions executed by one or more controllers 12 and / or computing systems 90, such routine is referred herein to as a “running sequence” or “program product,” and more simply, “program code.” The program code generally includes one or more instructions. These instructions reside at varying times in various memories and in storage devices in the controllers 12 and / or computing systems 90, and when read and executed by one or more CPUs 40 and / or CPUs 92 of the individual controllers 12 and / or computing systems, they cause the controllers 12 and / or computing systems 90 to perform steps necessary for execution steps, elements, and / or blocks that carry out various aspects of the present invention.
[0049] The overall functionality of the controller 12 and / or computing system 90 of the present invention will be described below. It will be understood by those skilled in the art that various embodiments of the present invention can be assigned as diverse forms of program products, and that the present invention applies equally regardless of the particular type of computer capable of reading signals from the media used to actually perform the assignment. Examples of computers capable of reading signals from media include, but are not limited to, physically and tangible recordable media such as volatile or non-volatile memory devices, floppy disks and other removable disks, hard disks, and especially optical disks (e.g., CD-ROMs, DVDs, etc.).
[0050] In addition, the various program codes described above or below may be identified based on an application or a software component in which such program code is implemented in a particular embodiment of the present invention. Of course, any particular program term is used merely for convenience, but the present invention should not be limited simply by using any particular application identified and / or derived by such term. Given the countless ways in which computer programs can be configured to be routines, processes, methods, modules, objects, etc., and the diverse ways in which program functionality can be assigned between various software layers residing within a typical computer (e.g., operating systems, libraries, APIs, applications, applets, etc.), the present invention is naturally not limited to the specific configurations and assignments of program functionality described herein.
[0051] In some embodiments, the controllers 12 of the conveyor system 10 are configured by a computing system 90. In such embodiments, each computing system 90 specifies the function of an individual controller 12 and how the controller 12 operates in the conveyor system 10. In alternative embodiments, at least a portion of the conveyor system 10 is a linear conveyor. In such embodiments, the controller 12 for the linear conveyor may be configured by an automatic configuration process adapted to embodiments of the present invention. Figure 5 is a flowchart 200 showing a sequence of operations that may be performed by the controller 12 during the automatic configuration process. In particular, the flowchart of operations in Figure 5 may be performed by a controller 12 configured as the first controller 12 of a linear conveyor. In such embodiments, the controller 12 decides whether to start the automatic configuration process (block 202). Specifically, the user may start the automatic configuration process by pressing and holding a soft key on the user interface 54 for a predetermined period of time. If the controller 12 decides not to start the automatic configuration process (decision to branch to "No" in block 202), the sequence of operations returns to block 202. If controller 12 decides to start the automatic configuration process (decision to branch to "Yes" in block 202), controller 12 determines whether there are other controllers connected to it upstream and downstream.
[0052] In some embodiments, the controller 12 determines whether there are upstream and downstream controllers 12 connected to it by polling the network interfaces 44a and 44b of the controller 12 in order to determine whether the controller 12 is connected to the network interfaces 44a and 44b of the controller 12 via communication links 80a and 80b. If there is a response to polling the network interfaces 44a and 44b, the controller 12 determines that the controller 12 is connected to those network interfaces 44a and 44b. If both upstream and downstream controllers 12 connected to the network interfaces 44a and 44b of the controller 12 that initiates the auto-configuration process exist (decision of the "Yes" branch in block 204), the controller 12 notifies an error and aborts the auto-configuration process (block 206). Advantageously, stopping the auto-configuration process for controllers 12 located between at least two further controllers 12 prevents network and resource contention. If neither the upstream nor the downstream controller 12 connected to the network interfaces 44a and 44b of the controller 12 that initiates the automatic configuration process exists (determination of the "No" branch in block 204), the controller 12 that initiates the automatic configuration process (hereinafter referred to as the "first" controller 12 in relation to this operation sequence) initiates the automatic configuration process (block 208) and determines whether a second controller 12 connected to one of its network interfaces 44a and 44b exists (block 210).
[0053] If the first controller 12 determines that there is no second controller 12 connected to one of its network interfaces 44a, 44b (decision of branch "No" in block 210), the first controller 12 is configured to operate autonomously (block 212). If the first controller 12 determines that there is a second controller 12 connected to one of its network interfaces 44a, 44b (decision of branch "Yes" in block 210), the first controller 12 determines whether the second controller 12 is connected to its first network interface 44a (block 214). Specifically, each controller 12 is configured to have an initial value indicating that the downstream direction 26 proceeds from the "A" side, or "left" side, of the controller 12 (for example, this side includes the network interface 44a, motor interface 46a, sensor interface 48a, and hardware interface 49a) to the "B" side, or "right" side, of the controller 12 (for example, this side includes the network interface 44b, motor interface 46b, sensor interface 48b, and hardware interface 49b). Therefore, if the second controller 12 is connected to the first network interface 44a of the first controller 12 (decision of the "Yes" branch in block 214), the first controller 12 sets a flag indicating that the downstream direction 26 is the opposite of its estimated direction (block 216). Furthermore, if the second controller 12 is connected to the second network interface 44b of the first controller (determination of the "No" branch in block 214), the first controller 12 clears the flag indicating that the downstream direction 26 is not in the opposite direction of its estimated direction (block 218).
[0054] Depending on whether a flag is set or cleared indicating whether the downstream direction 26 is the opposite of its estimated direction (block 216 or block 218), the first controller 12 sets itself up as the "first" controller 12 of the linear conveyor and sends one or more messages to the second, i.e., downstream controller 12 notifying it to start the automatic setup process along with the configuration data of the first controller 12 (block 202). In some embodiments, the first controller 12 sets itself up as the first 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 up as the first controller 12 by setting its IP address to 192.168.0.20. The first controller 12 also configures itself as the first controller 12 by identifying its subnet mask and gateway and providing its subnet mask and gateway to the downstream controller 12. In any case, the first controller 12 may send a number of messages in block 220, including a first message and a second message. The first message (hereinafter referred to as the "configuration initiator" message) notifies the start of the automatic configuration process, and the second message (hereinafter referred to as the "configuration token") 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.
[0055] In either case, after sending the configuration initiator and / or configuration token (block 220), the first controller 12 determines whether it has received a number of configuration confirmation messages from the downstream controllers 12 (block 222). If no number of configuration confirmation messages have been received (decision of branch "No" in block 222), this notifies the downstream controllers 12 that there are no two independent network branches, and the operation sequence may terminate. If a number of configuration confirmation messages have been received (decision of branch "Yes" in block 222), this notifies the downstream controllers 12 that there are at least two independent network branches, and therefore the first controller 12 notifies an error and aborts the automatic configuration process (block 224).
[0056] Figure 6 is a flowchart 230 showing a sequence of operations that may be performed by a downstream controller 12 during an automatic configuration process adapted to an embodiment of the present invention. At the start, the downstream controller 12 determines whether a configuration initiator message has been received from an upstream controller 12 (e.g., a first controller 12, or a controller 12 between the first controller 12 and the controller 12 performing the sequence of operations) (block 232). If no configuration initiator message is received (decision to branch "No" in block 232), the downstream controller 12 returns to block 232. If a configuration initiator message is received (decision to branch "Yes" in block 232), the downstream controller 12 determines whether a valid configuration token has been received within a predetermined time (e.g., 20 seconds) (block 234). For example, a configuration token may be invalid if at least some of the data it is presumed to contain is missing or invalid. In either case, if the downstream controller 12 does not receive a valid configuration token within a predetermined time, or if the controller 12 receives an invalid configuration token (decision to branch to "No" in block 234), the downstream controller 12 will notify an error and abort the automatic configuration process (block 236).
[0057] If the downstream controller 12 receives a valid configuration token within a predetermined time (decision to branch to "Yes" in block 234), the downstream controller 12 sets its own network address based on the network address contained in the configuration token, determines the downstream direction 26 based on the network interfaces 44a, 44b that receive the configuration token, and otherwise configures the controller 12 itself to operate on a linear conveyor based on the data in the configuration token (block 238). In a particular embodiment, the downstream controller 12 sets its own 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 set its own network address to 192.168.0.25 by adding a fixed value of 1 to that network address. Furthermore, in block 238, the downstream controller 12 determines that the downstream direction 26 is the estimated direction if it receives a configuration token on its "A" or "left" side network interface 44a. Similarly, the downstream controller 12 determines that the downstream direction 26 is the opposite of the estimated direction if it receives a configuration token on its "B" or "right" side network interface 44b. Also in block 238, the downstream controller 12 configures its subnet mask and / or gateway based on the information from the configuration token.
[0058] After configuring the downstream controller 12 itself to operate on a linear conveyor (block 238), the downstream controller 12 sends a configuration confirmation message back upstream via network interfaces 44a and 44b that have received the configuration token (block 240), and also sends a configuration initiator message and configuration token to the further downstream controller 12 via network interfaces 44a and 44b that have not received the configuration token (block 242). Subsequently, the downstream controller 12 determines whether it has received a large number of configuration confirmation messages from the further downstream controller 12 (244). If a large number of configuration confirmation messages have been received (decision to branch to "Yes" in block 244), the downstream controller 12 notifies an error and aborts the automatic configuration process (block 246). If a large number of configuration confirmation messages are not received (for example, if one configuration confirmation message is received, or if no configuration confirmation messages are received at all) (decision to branch to "No" in block 244), the downstream controller 12 determines whether one configuration confirmation message has been received (block 248). If no configuration confirmation messages have been received at all (decision to branch to "No" in block 248), the downstream controller 12 sends a message to the first controller 12 (for example, via an already configured upstream controller 12) indicating that it is the last controller 12 on the linear conveyor (hereinafter referred to as the "final controller" message) (block 250). Depending on the decision that a configuration confirmation message has been received (decision to branch to "Yes" in block 248) or the transmission of the final controller message 12, the operation sequence may be terminated.
[0059] Figure 7 is a flowchart 260 showing the sequence of operations for a subroutine of a controller 12 (e.g., the first controller 12 or a downstream controller 12) for canceling an automatic configuration process, which is applicable to an embodiment of the present invention. In particular, this subroutine determines whether the controller 12 has canceled the automatic configuration process (block 262). If the controller 12 has canceled the automatic configuration process (decision to branch "Yes" in block 262), the subroutine causes the controller 12 to send a cancellation message to the upstream and downstream controllers 12 connected to it (block 264). If the controller 12 has not canceled the automatic configuration process (decision to branch "No" in block 262), the subroutine determines whether the controller 12 has received a cancellation message on the network interfaces 44a and 44b (block 266). If the controller 12 has not received a cancellation message on the network interfaces 44a and 44b (decision to branch "No" in block 266), the sequence of operations returns to block 262. If controller 12 receives a cancellation message on network interfaces 44a and 44b (decision to branch to "Yes" in block 266), controller forwards the cancellation message via network interfaces 44a and 44b that have not received the cancellation message (block 268). If controller 12 sends a cancellation message (block 264) or forwards a cancellation message (block 268), controller 12 reverts its configuration data to the configuration used before the start of the automatic configuration process (block 270).
[0060] Figure 8 shows the sequence of operations for the first controller 12 of a linear conveyor to complete the automatic setup of the controller 12 as described herein in an embodiment of the present invention. Specifically, the first controller 12 determines whether a cancellation message has been received or the final controller message has been completed within a predetermined time (e.g., about 5 minutes) (block 282). If the predetermined time has not elapsed (decision to branch to "No" in block 282), the operation sequence returns to block 282. If the predetermined time has elapsed (decision to branch to "Yes" in block 282), the first controller 12 determines whether the final controller message has already been received (block 284). If the final controller message has not been received (decision to branch to "No" in block 284), the first controller 12 notifies an error and cancels the automatic setup process (block 286). If the final controller message has already been received (decision to branch to "Yes" in block 284), the first controller 12 sends a message to the downstream controllers 12 to detect the characteristics of the part of the conveyor system 10 to which the multiple downstream controllers 12 are attached, and the first controller 12 performs the detection of the characteristics of the part of the conveyor system 10 to which the first controller 12 is attached (block 288). Subsequently, the first controller 12 sends a message to the downstream controllers 12 to restart and restarts the first controller 12 itself (block 290).
[0061] Figure 9 shows a flowchart 300 illustrating the sequence of operations for a controller 12 (first controller 12 or downstream controller 12) for detecting the characteristics of the portion of the conveyor system 10 to which the controller is provided or attached. In particular, the controller 12 first detects the sensors 22 connected to its sensor interfaces 48a, 48b and then stores the detection results (block 302). This detection includes whether the sensor 22 is connected to the sensor interfaces 48a, 48b, whether the connected sensor 22 is a photosensitive sensor (a photosensitive sensor makes the logic positive (high) when light is detected from one end of the sensor, for example, when an item does not obstruct the photo eye), or whether the sensor 22 is a light-shielding sensor, i.e., a PNP type sensor (this sensor makes the logic positive (high) when light is not detected from one end of the sensor, for example, when an item obstructs the photo eye). In some embodiments, if a sensor 22 that includes processing capabilities itself is used, the controller 12 may be further configured to query the sensor 22 for reference. This reference includes the serial number of sensor 22, whether this sensor is a light-actuated or light-shielded sensor 22, and / or additional information about the sensor. Controller 12 is further configured to detect and store the motors of the electric rollers 18 connected to motor interfaces 46a, 46b, along with any associated data (block 304). In some embodiments, controller 12 simply detects the presence of motors connected to motor interfaces 46a, 46b, and, if motors are detected, retrieves initial information to configure controller 12 to interact with the motors.In a particular embodiment, the initial information includes that the motor is a pulse roller, that the speed at which the motor operates is a certain percentage (e.g., about 80%) of its maximum power rating, the braking method for stopping the motor, the acceleration rate (if any) for accelerating the motor, the deceleration rate (if any) for decelerating the motor, the mode for transporting the goods (e.g., a band unified mode, a flex band mode, a continuous mode, or a gap continuous mode), the amount of time to wait before clearing the blockage, and / or the amount of time to wait for the motor to operate after the sensor has been cleared.
[0062] In either case, the controller 12 is further configured to detect hardware connected to hardware interfaces 49a, 49b, including data relating to it, and to store such data (block 306). The controller 12 further sets up a network connection with and communicates with at least one additional (e.g., as described above) controller 12 and / or computing system 90 (block 308), and sets its parameters as well as the bandwidth it controls (310).
[0063] When an item is moved from a first bandwidth managed by the first controller 12 to a second bandwidth managed by the second controller 12, data associated with that item is also transferred from the first controller 12 to the second controller 12. This data may include the item's identification information, its weight, its length, and / or downstream status. With respect to "status" data, this data is used to indicate whether the product flow direction of the conveyor assembly 24 is the normal initial setting direction (i.e., from the "left" of controller 12 to the "right" of controller 12 as described above) or the reverse direction (i.e., from the "right" of controller 12 to the "left" of controller 12 as described above). Figure 10 is a flowchart 320 showing a sequence of operations relating to controller 12 for detecting status data and adjusting its downstream direction, adapted to an embodiment of the present invention. In particular, controller 12 receives downstream communication information (e.g., communication information on the controller 12's second network interface 44b from a downstream controller 12 and / or computing system 90) (block 322), or upstream communication information (e.g., communication information on the controller 12's first network interface 44a from a downstream controller 12 and / or computing system 90) (block 324). When controller 12 receives downstream communication information, controller 12 determines whether the downstream communication information contains data that indicates the product flow of an item (e.g., whether the product flow is "normal" or "backward") (block 326). If the communication information does not indicate the product flow of an item (decision to branch to "No" in block 326), controller 12 determines that the message may not be data associated with an item, but rather data intended for another controller 12 (e.g., the first controller 12 and / or computing system 90 on a linear conveyor). In such a case, controller 12 processes the communication information as something different from communication information containing item data (block 328).
[0064] Returning to block 326, if the communication information does not indicate a product flow for an item (decision to branch to "Yes" in block 326), controller 12 determines whether the current direction in which the item is being transported is reversed (for example, whether the previous item is being sent in the reverse direction) (block 330). If the current direction is not reversed (decision to branch to "No" in block 330), controller 12 changes its current operating direction (for example, by reversing the motor of the electric roller 18 controlled by controller 12) (block 332), and accepts an item from a downstream controller 12 if possible (if there is bandwidth without items) (block 334). If the current direction is reversed (decision to branch to "Yes" in block 330), controller 12 accepts an item from a downstream controller 12 if possible (block 334).
[0065] Returning to block 324, when controller 12 receives upstream communication information, controller 12 determines whether the upstream communication information contains data that notifies the product flow of an item (block 336). If the communication information does not notify the product flow of an item (decision to branch to "No" in block 336), controller 12 determines that the message is not data associated with an item, and instead determines that it may be data intended for other controllers 12 (e.g., the first controller 12 on a linear conveyor and / or computing system 90). As such, controller 12 processes the information as different from communication information that contains item data (block 328).
[0066] Returning to block 336, if the communication information indicates a product flow related to an item (decision to branch to "Yes" in block 336), controller 12 determines whether the current direction in which the item is being transported is normal (for example, whether the previous item was sent in the normal direction) (block 338). If the current direction is not normal (decision to branch to "No" in block 338), controller 12 changes its current operating direction (for example, by reversing the motor of the transmission motor 18 controlled by controller 12) (block 332), and accepts an item from the upstream controller 12 if possible (if there is an empty bandwidth) (block 334). If the current direction is normal (decision to branch to "Yes" in block 338), controller accepts an item from the upstream controller 12 if possible (block 334).
[0067] During the transport of goods, the controller 12 may be configured to detect the current supplied to the motor of the electric roller 18 in order to detect the presence of goods being transported by the electric roller 18. Advantageously, this allows the controller 12 to maximize the density of goods on the conveyor surface so that, once the goods are densely loaded, no constant pressure or stress is applied to the goods, and further reduces the number of sensors required to detect the goods. In particular, the controller 12 monitors the current to the motor and filters out increases, decreases, and spikes in the current to determine that goods are being transported by the electric motor 18. Through such operations, the controller 12 can notify the upstream band in advance that goods are ready to be loaded and that goods suitable for embodiments of the present invention are being loaded.
[0068] In one embodiment, the controller 12 is configured to load articles by first determining whether the current to the electric roller 18 is at a “low current” level, or subsequently whether the current to the electric roller 18 is at a “high current” level exceeding the low current level. The low current level corresponds to the current level at which the electric roller 18 is activated to transport articles without collision. The high current level corresponds to the current level at which the electric roller 18 is activated to attempt to move jammed articles or articles that have collided with other articles. Figure 11 is a flowchart 340 showing a sequence of operations relating to the controller 12 for detecting and loading articles to be transported by the electric roller 18 by identifying the current to the electric roller 18 adapted to an embodiment of the present invention. The controller 12 first determines whether the controller 12 has a selected bandwidth ready to receive articles from an upstream bandwidth, and similarly determines whether the upstream bandwidth is transporting articles toward the selected bandwidth (block 342). If the selected bandwidth is unable to accept the goods, or if the upstream bandwidth is not transporting goods toward the selected bandwidth (determining a "No" branch in block 342), the operation sequence returns to block 342.
[0069] If the selected band is capable of receiving goods and the upstream band is transporting goods toward the selected band (decision to branch "Yes" in block 342), the controller 12 starts the electric roller 18 associated with the selected band and an "energy saving" timer (for example, a timer that may have an initial value of 5 seconds after which the electric roller 18 is stopped to save energy) (block 346). The controller 12 then determines whether the energy saving timer has finished timing (348). If the energy saving timer has finished timing (decision to branch "Yes" in block 348), the electric roller associated with the selected band is stopped (block 350), and the operation sequence returns to block 342. If the energy saving timer is still timing (decision to branch "No" in block 348), the controller 12 detects the current used by the electric roller and determines whether it has reached a low current level (block 352). If the low current level has not been reached (decision to branch "No" in block 352), the controller 12 determines whether the high current level has been reached (block 354). If the high current level has not been reached (decision to branch "No" in block 354), the operation sequence returns to block 348.
[0070] Returning to block 352, if a low current level is reached, the controller 12 may determine that the electric roller 18 is transporting an item. Therefore, if a low current level is reached (decision to branch "Yes" in block 352), the controller 12 starts a "stop" timer (used to load items into the selected band and which may have an initial value of approximately 2 seconds) (block 356), and then determines whether the stop timer has finished timing (block 358). If the stop timer is still timing (decision to branch "No" in block 358), the controller 12 determines whether a high current level has been reached (block 360). If the stop timer has finished timing (decision to branch "Yes" in block 358), or if a high current level has been reached (decision to branch "Yes" in block 360), the controller 12 determines that the selected band is not available, stops the electric roller 18 for that band, and stops the stop timer (block 362). Returning to block 360, if the high current level has not been reached (determining the "No" branch in block 360), the operation sequence returns to block 358.
[0071] After block 362, the controller determines whether the article can be released from the selected band (block 364). If the article cannot be released from the selected band (for example, because the downstream band cannot accept the article) (determination of the "No" branch in block 364), the operation sequence returns to block 364. If the article can be released from the selected band (for example, because the downstream band can accept the article) (determination of the "Yes" branch in block 364), the controller may release the article (for example, by operating the motorized roller 18 to send the article to the downstream band) (block 366), and after the article is released, the operation sequence may return to block 342. In this configuration, the controller 12 can determine that the article has been accepted into a predetermined band (for example, that a low current level has been reached but a high current level has not been reached), and similarly, that the article has collided or become jammed (for example, that a high current level has been reached). Advantageously, by using a motor timeout, the controller 12 can also reduce the pressure on the electric rollers 18, the articles, and other components of the conveyor system 10, potentially preventing damage to them. Furthermore, the controller 12 prevents the motor from running constantly, thereby saving energy and providing a conveyor system that can be used in an "on-demand" manner.
[0072] In addition to the direction of the article, the controller 12 may be configured to detect the current supplied to the electric roller 18 and determine the weight / length of the article based on at least a portion of it. For example, the controller 12 may be configured to determine the current level required to move the article using the electric roller 18 and to cross-reference with a table that displays the current required to move the article and the weight of the article. Alternatively, for example, if the controller 12 detects that an article is being transported by the electric roller 18, the controller 12 may count the number of rotations of the electric roller 18 required to move the article across the electric roller 18 (e.g., the amount of time a low level of current is supplied to the electric roller 18). If the circumference of the electric roller 18 is known, the controller 12 multiplies the number of rotations required to move the article by the circumference of the electric roller 18 to determine the length of the article. Alternatively, the controller 12 may determine the length of the article by determining the length of time required for the article to traverse the electric roller 18 (e.g., the time a low level of current is supplied to the electric roller 18) and then multiplying the time by the speed of the electric roller 18. However, these specific alternative methods for determining length are not advantageous in situations where the speed of the electric roller 18 changes or where the article stops on the electric roller. In any case, if the length of the article is known, the controller 12 may be further configured to determine where the article is within a predetermined band based on the number of rotations used to move the article across that band. Information on the weight and / or length of the article is transmitted to a downstream controller 12 by communication.
[0073] In one embodiment, the controller 12 is configured to use a servo lock stop to hold the electric roller 18 in a specific rotational position. Figure 12 is a flowchart 370 showing the sequence of the servo lock stop adapted to an embodiment of the present invention. Specifically, the controller 12 determines whether to stop the motor of the electric roller 18 (block 372). If the controller 12 determines that the motor should not be stopped (decision of the "No" branch in block 372), the operation sequence returns to block 372. If the controller 12 determines that the motor should be stopped (decision of the "Yes" branch in block 372), the controller 12 stops the motor (for example, by shunting the motor windings for friction or engagement of the brake of the electric roller 18 as an example) and identifies and stores the rotational position of the motor when the motor of the electric roller 18 is stopped (block 374). The controller 12 then determines whether the motor is in the identified rotational position (block 376).
[0074] If the motor is in the specified rotation position (determining the "No" branch in block 376), the controller 12 determines whether it is configured to adjust the motor's rotation position by supplying power to both windings or to only one winding (block 378). If the controller 12 is configured to adjust the motor's rotation position by supplying power to one winding (determining the "No" branch in block 378), the controller 12 supplies power to one winding of the motor to hold the motor in the specified rotation position (block 380). If the controller 12 is configured to adjust the motor's rotation position by supplying power to both windings (determining the "Yes" branch in block 378), the controller 12 supplies power to both windings of the motor to hold the motor in the specified rotation position (block 382).
[0075] In response to holding the motor in a predetermined rotational position (block 380 or 382), the controller 12 determines whether to release the item (for example, whether to supply power to the electric roller 18 to transport the item to a different band) (block 384). If the controller 12 determines that it should not release the item (decision of the "No" branch in block 384), the operation sequence returns to block 376. If the controller 12 determines that it should release the item (decision of the "Yes" branch in block 384), the controller 12 releases the item (block 386), and the operation sequence returns to block 372. Returning to block 376, if the controller 12 determines that the motor is in the specified rotational position (decision of the "Yes" branch in block 376), the operation sequence proceeds to block 384 and proceeds as described above.
[0076] In the conveyor system 10, one or more controllers 12 may be replaced due to errors, failures, or other wear and tear. As such, the replacement of a controller 12 may be performed by an automated replacement process by accessing the configuration data stored in the controller 12 before replacement. The replacement controller 12 is replaced with one or more nearby controllers 12. Figure 13 is a flowchart 400 showing the sequence of operations relating to an automated replacement process that may be performed by a controller 12 adapted to an embodiment of the present invention. First, the controller 12 detects whether there is a factor to initiate the automated replacement process (block 402). In particular, the factor to initiate the automated replacement process may be that a user presses and holds a soft key on the user interface 54 before switching on the controller 12, and then presses a soft key on the user interface 54 to switch on the controller 12. In any case, if there is no factor to initiate the automated replacement process (determination of the "No" branch in block 402), the controller 12 starts up and, if configured so, sends its firmware and configuration data to the upstream and / or downstream controllers 12 (block 404), and the sequence of operations may end. Controller 12 automatically stores the firmware and configuration data upon receiving it. In certain embodiments, Controller 12 stores a notation for the IP address of the Controller 12 that sent the firmware and configuration data. Therefore, as detailed below, Controller 12 can send the firmware and configuration data to the appropriate Controller 12 based on the IP address of the controller that requested the firmware and configuration data.
[0077] Furthermore, if there is a factor that triggers the automatic exchange process (decision to branch to "Yes" in block 402), controller 12 (hereinafter referred to as the "exchange" controller 12 in relation to the operation sequence in Figures 13 and 14) starts processing to recover the network address of the controller 12 intended to be exchanged with the exchange controller 12 (hereinafter referred to as the "previous" controller 12 in relation to the operation sequence in Figures 13 and 14) (block 406). After recovering the network address (block 406), the exchange controller 12 requests the firmware and configuration data of the previous controller 12 stored in the neighboring controller 12 (block 408). In particular, in block 408, the exchange controller 12 first determines whether there is a controller 12 nearby (for example, similar to at least part of the operation sequence in Figure 5). If there is a neighboring controller 12 connected to the first network interface 44a of the exchange controller 12, the exchange controller 12 sends a request for firmware and configuration data to that neighboring controller 12 via the first network interface 44a. In block 408, if there is no neighboring controller 12 connected to the first network interface 44a, the exchange controller 12 sends a request for firmware and configuration data to a neighboring controller 12 connected to the second network interface 44b.
[0078] After receiving a request for firmware and configuration data from the neighboring controller 12 (block 408), the replacement controller 12 determines whether it has received the firmware and configuration data (block 410). If the firmware and configuration data has not been received (decision to branch "No" in block 410), the replacement controller 12 notifies an error and cancels the automatic replacement process (block 412). If the firmware and configuration data has been received (decision to branch "Yes" in block 410), the replacement controller installs the firmware and configuration data (block 414) and restarts itself (block 416).
[0079] As described above, the replacement controller 12 may recover the network address of the previous controller 12 in block 406 of Figure 13. Generally, even if not automatically set in the automatic replacement process, the controllers 12 of the conveyor system 10 are programmed to have a contiguous IP address. This contiguous IP address increases along the downstream direction 26 up to a predetermined amount (e.g., 1). In such a case, the replacement controller 12 may recover its IP address (and other network addresses) by identifying the network addresses of further controllers 12 of the conveyor system 10 and comparing these network addresses with potential network addresses.
[0080] Figure 14 is a flowchart 420 showing a sequence of operations relating to the exchange controller 12 for recovering the network address of a previous controller 12, as adapted to an embodiment of the present invention, particularly the sequence of operations performed in block 406 of Figure 13. Specifically, the exchange controller 12 sends one or more queries to neighboring controllers 12 via its network interfaces 44a, 44b regarding network information (block 422). This network information includes the IP address, subnet mask, gateway, and data indicating whether the neighboring controller 12 is the first or last controller 12 in the subnet of Tokuchi e. Specifically, the exchange controller 12 sends one query via each network interface 44a, 44b. The exchange controller 12 then determines whether any response has been received (block 424). If at least one response has not been received (decision of the "No" branch in block 424), the exchange controller 12 notifies an error and aborts the automatic exchange process (block 426).
[0081] If at least one response is received (decision to branch to "Yes" in block 424), the exchange controller 12 attempts to parse the data therein to create a list of possible IP addresses to use, to identify the subnet mask, to identify the gateway, and optionally to identify the location of the controller 12 along the conveyor system 10 (block 428). In one embodiment, if connected to two neighboring controllers 12, the exchange controller 12 may create a list of possible IP addresses such that it has one set of entries for IP addresses between the IP addresses of these neighboring controllers 12. As another example, if connected to one neighboring controller 12, the exchange controller 12 may create a list of possible IP addresses such that it has one set of entries for IP addresses above that neighboring controller 12 and one IP address below that neighboring controller 12.
[0082] After the exchange controller 12 has created a list of possible IP addresses, it sends a query to discover one or more controllers 12 of the conveyor system 10 (block 430), and if it receives a response from one or more controllers 12 (including, for example, neighboring controllers 12), the exchange controller 12 removes the IP address from the list of possible IP addresses if the message from one or more controllers 12 has a corresponding IP address that matches an IP address in the list (block 432). In a particular embodiment, the exchange controller 12 is the first controller 12 of the conveyor system 10 and is connected to one neighboring controller 12, and the downstream controllers 12 are configured with IP addresses above the neighboring controller 12's IP address such that corresponding entries are removed from the list of possible IP addresses, leaving only IP addresses below the neighboring controller 12's IP address. In response to this, if the exchange controller 12 is the last controller 12 in the conveyor system 10 and is connected to one neighboring controller 12, the downstream controller 12 is configured with an IP address lower than the neighboring controller 12's IP address, such that the corresponding entry is removed from the list of possible IP addresses, leaving only IP addresses higher than the neighboring controller 12's IP address.
[0083] In either case, following the deletion of already used IP addresses (block 432), the exchange controller 12 determines whether only one entry remains in the list of possible IP addresses (block 434). If one or more entries remain in the list of possible IP addresses, it may indicate the existence of yet another unknown controller 12, which may result in the exchange controller 12 acquiring an unused IP address. This could cause communication confusion among the controllers 12 of the conveyor system 10, for example, by one or more controllers attempting to send a message to the exchange controller 12 using an IP address that the exchange controller 12 is not using. Therefore, if one or more entries remain in the list of possible IP addresses (decision to branch to "No" in block 434), the exchange controller notifies an error and aborts the automatic exchange process (block 436). If entry 1 is in the list of possible IP addresses (decision of the "Yes" branch in block 434), the exchange controller completes the network address recovery by setting its own IP address to the IP address of that entry (block 438), setting its subnet mask to the subnet mask of the neighboring controller 12, setting its gateway to the gateway of the neighboring controller 12, removing it from the list of possible IP addresses, and performing other tasks (block 440).
[0084] The controller 12 may be configured to transport items across the conveyor system 10 in various ways. These methods include, for example, the bandwidth unification mode, flex bandwidth mode, continuous mode, gap continuous mode, touch-and-go mode, and look-ahead deceleration mode, as described above. More specifically, in touch-and-go mode, the user can selectively operate the conveyor system 10. This can be advantageous in equipment where keeping the conveyor system 10 constantly operating (e.g., keeping the motorized rollers 18 constantly operating) is inefficient, undesirable, and unnecessary. As such, the controller 12 may detect the rotation of a motorized roller 18 that has been previously stationary and subsequently start at least one motorized roller 18 of at least one downstream controller 12 accordingly. Figure 15 is a flowchart 450 showing a sequence of operations relating to the controller 12 in touch-and-go mode for realizing the functionality corresponding to the above as adapted to embodiments of the present invention. In particular, the controller 12 first determines whether the bandwidth controlled by the controller 12 is available and whether the item being transported is located upstream (block 452). If the bandwidth is not available or an item is being transported upstream (decision to branch "No" in block 452), the controller 12 continues its current operation (e.g., operating the electric roller 18 and waiting to receive the item upstream, maintaining the electric roller 18 in a stationary state and waiting to unload the item, or operating the electric roller 18 for the unloading of the item) (decision to branch "Yes" in block 453), the controller resets the rotation counter (block 454), and determines whether there has been a rotation greater than 1 (e.g., 1.5 or 2 rotations, etc.) in the appropriate direction (e.g., downstream 26) for less than 200 milliseconds (block 456).
[0085] If there is no rotation greater than 1 in the appropriate direction for less than 200 milliseconds (decision to branch "No" in block 456), the operation sequence returns to block 452. If there is a rotation greater than 1 in the appropriate direction for less than 200 milliseconds (decision to branch "Yes" in block 456), the controller 12 determines whether touch-and-go mode is available (block 458). If touch-and-go mode is unavailable (decision to branch "No" in block 458), the operation sequence returns to block 452. If touch-and-go mode is available (decision to branch "Yes" in block 458), the controller 12 proceeds to block 344 in Figure 11 (block 460).
[0086] During the transport of goods, the controller 12 may also be configured to constantly look ahead to the next downstream bandwidth and dynamically adjust the motor of the electric roller to a user-settable speed so that the goods can be stopped in a controlled manner. Figure 16 is a flowchart 470 showing the sequence of operations relating to the controller 12 in look-ahead deceleration mode to achieve the functionality corresponding to the above, as adapted to embodiments of the present invention. Specifically, the controller 12 determines whether it has received information about the next goods (e.g., a message notifying that goods are being transported to a bandwidth controlled by the controller 12) with respect to a selected bandwidth controlled by the controller 12 (block 472). If the controller has not received information about the next goods (decision to branch to "No" in block 472), the sequence of operations returns to block 472. If the controller has received information about the next goods (decision to branch to "Yes" in block 472), the controller 12 determines whether the look-ahead deceleration mode is available (block 474).
[0087] If the look-ahead deceleration mode is unavailable (decision to branch "No" in block 474), the controller 12 operates the electric roller 18 related to the selected band at its normal speed (normal starting and stopping speed) (block 476). If the look-ahead deceleration mode is available (decision to branch "Yes" in block 474), the controller 12 determines whether the controller 12 has goods loaded in the selected band (block 478). For example, if the controller 12 associated with the selected band has goods loaded on the electric roller 18, it may adjust the speed of the electric roller 18 related to that selected band to a target speed lower than the normal speed of the electric roller 18. Advantageously, this decelerates the goods. If, for example, the controller 12 does not have goods loaded on the selected band (decision to branch "No" in block 478), the controller 12 operates the electric roller 18 related to the selected band at its normal speed (block 476). If controller 12 has loaded an item into the selected bandwidth (decision to branch to "Yes" in block 478), controller 12 operates the electric roller at a predetermined target speed (block 480). This target speed is approximately 20% to 80% of the normal speed and, in certain embodiments, is defined by the user. In any case, controller 12 transmits information (hereinafter referred to as "target speed information") to at least one upstream controller 12 that the electric roller 18 is operating at the target speed and an item has been accepted. Controller 12 then transmits the next item information to the controller 12 controlling the next downstream bandwidth (or, if the controller 12 controlling the next downstream bandwidth is the controller 12 controlling the selected bandwidth, simply stores such instructions) (block 482).
[0088] Figure 17 is a flowchart 490 showing a sequence of operations relating to a controller 12 that receives information that at least one downstream band contains an electric roller 18 operating at a target speed, applicable to an embodiment of the present invention. In particular, the upstream controller 12 determines whether it has received information associated with a downstream region that notifies it that the electric roller 18 in the downstream region is operating at a target speed (block 492). If the controller 12 has received such information (decision to branch "Yes" in block 492), the controller 12 operates the electric roller 18 in that band at the target speed (block 494). Alternatively, if the controller does not receive information notifying it that the electric roller in the downstream band is operating at a target speed (decision to branch "No" in block 492), the controller operates the electric roller 18 in that band at a normal speed.
[0089] Items may become jammed while being transported along the conveyor system 10. The controller 12 may automatically terminate the jam clearing process to resolve such jams. Figure 18 is a flowchart 500 showing the sequence of operations for the controller 12 to initiate such a jam clearing process, as adapted to an embodiment of the present invention. The controller 12 first determines whether the sensor 22 associated with the selected band detects an item (block 502). If the sensor 22 does not detect an item (decision to branch "No" in block 502), the sequence of operations returns to block 502. If the sensor 22 detects the presence of an item (decision to branch "Yes" in block 502), the controller 12 resets the jam timer (for example, resetting the jam timer to about 5 seconds) and starts it (block 504), and then determines again whether the sensor 22 detects an item (block 506). In block 506, if the controller determines that the item still exists (decision to branch to "Yes" in block 506), the controller 12 determines whether the jam timer has finished counting (block 508).
[0090] If the jam timer is still ticking (decision to branch "No" in block 508), the operation sequence returns to block 506. If the jam timer has finished ticking (decision to branch "Yes" in block 508), the controller 510 automatically starts the jam clearing process (block 510). Once the jam clearing process is complete, the controller 12 then determines whether the jam has been cleared (for example, whether the item is no longer detected) (block 512). If the jam has not been cleared by the jam clearing process (decision to branch "No" in block 512), the controller 12 stops and resets the jam timer, stops the electric roller 18 associated with the jammed band, sends information to at least one upstream controller 12 (if any) notifying it of the jam, and prevents further operations from being performed until the jam is manually cleared (block 514). The operation sequence proceeds from block 514 to block 512. Returning to block 506, if the item is no longer present (determining the "No" branch in block 516), or if the blockage has already been cleared by the clearing process by referring to block 512 (determining the "Yes" branch in block 512), the controller 12 stops and resets the blockage timer and then continues operation in the normal manner (block 516).
[0091] Figure 19 is a flowchart 520 showing a clearing process that may be performed by the controller 12 in block 510 of flowchart 500 in Figure 18, adapted to an embodiment of the present invention. Returning to Figure 19, the controller 12 reverses the operation of the electric roller 18 associated with the band that may have a blockage, resets the clearing timer (for example, resets the clearing timer to approximately 25 seconds) and starts it, resets the clearing timer and resets the blockage counter (for example, resets the blockage counter to zero) (block 522), and determines whether the clearing timer has finished timing (block 524). If the clearing timer is still timing (decision to branch "No" in block 524), the controller 12 determines whether the sensor 22 associated with the selected band detects an item (block 526). If the sensor 22 detects an item (decision to branch "Yes" in block 526), the operation sequence returns to block 524. If the sensor 22 does not detect an item (decision to branch "No" in block 526), the controller 12 operates the motorized roller 18 associated with the blockage in the normal direction until the sensor 22 detects an item, and then attempts to resume normal operation and transport the item downstream (block 528). Returning to block 524, if the blockage clearing timer has finished counting (decision to branch "Yes" in block 524), the controller 12 operates the motorized roller 18 associated with the blockage in the normal direction and attempts to transport the item downstream (block 530).
[0092] Depending on block 528 or block 530, the controller starts the jam timer (block 532) and determines whether sensor 22 detects an object again (block 534). If sensor 22 does not detect an object (decision of the "No" branch in block 534), the controller determines that the jam has been cleared and stops and resets the jam timer and the clearing timer (block 536). If sensor 22 detects an object (decision of the "Yes" branch in block 534), the controller 12 determines whether the jam timer is still counting (block 538). If the jam timer is still counting (decision of the "No" branch in block 538), the operation sequence returns to block 534. If the jam timer has finished counting (decision of the "Yes" branch in block 534), the controller 12 increments the value of the jam counter (for example, to 1) and stops and resets the jam timer and the clearing timer (block 540). Next, the controller 12 determines whether the jam counter has reached a target value (for example, approximately 3) (block 542). If the jam counter has not reached the target value (decision to branch "No" in block 542), the controller restarts the jam clearing timer (block 544), and the operation sequence returns to block 524. If the jam counter has reached the target value (decision to branch "Yes" in block 542), the controller determines that the jam has not been cleared (block 546). Depending on the decision in block 536 or 546, the controller may proceed to block 512 in the flowchart 500 of Figure 18.
[0093] In some cases, a particular electric roller 18 may be subjected to a tangential mechanical force that exceeds its maximum rotational speed. At this time, the motor within the electric roller 18 generates excess electrical energy that returns to the corresponding controller 12. The controller 12 may absorb this energy and dissipate it as heat within its motor interfaces 46a, 46b. This prevents high voltage from being supplied to other components of the controller 12, such as more sensitive circuits. Alternatively, the controller 12 may actively redirect the excess electrical energy to a power supply unit 24 connected to it. This reduces the overall load on the controller 12.
[0094] Furthermore, any method for dealing with excess electrical energy mitigates the problem related to exceeding the maximum rotational speed of the electric roller 18. Therefore, in some embodiments, the controller 12 is configured to decelerate the motor of the electric roller 18 by supplying a reverse current to the motor windings to induce a reverse motor torque to reduce the speed of the electric roller 18. Figure 20 is a flowchart 550 showing the sequence of operations for the controller 12 to reduce the rotational speed of the electric roller 18 as applied to embodiments of the present invention. In particular, the controller 12 determines whether the target rotational speed of the electric roller 18 has been exceeded (block 552). If the target rotational speed of the electric roller 18 has not been exceeded (determination of the "No" branch in block 552), the sequence of operations returns to block 552. If the target rotational speed of the electric roller 18 is exceeded (determining the "Yes" branch in block 552), the controller 12 searches for that speed in the table to determine the reverse current to supply to the electric roller 18 to decelerate it (block 554), and supplies the determined reverse current to the electric roller 18 to decelerate it (block 556). The operation sequence then returns to block 552.
[0095] In general, a brushless DC motor that can be used in an electric roller 18 adapted to an embodiment of the present invention can generate power when rotated by an external force, for example, when the conveyor surface controlled by the controller is inclined downward and the article crosses such surface, causing the article to rotate the electric roller 18. Some embodiments of the present invention supply current to the electric roller 18 to prevent the electric roller 18 from rotating as described above. Alternatively, an alternative embodiment of the present invention may supply the power generated by the electric roller to the power supply unit 24. This can reduce the overall power consumption of the conveyor system 10.
[0096] In some embodiments, as described above, the electric roller 18 may include an addressable circuit 110 having information stored therein. The controller 12 may be configured to retrieve such information, determine the operating characteristics of the electric roller 18, and / or control the electric roller 18 based on such operating characteristics. Figure 21 is a flowchart 560 showing a sequence of operations for the controller 12 to identify the operating characteristics of the electric roller 18 adapted to embodiments of the present invention and optionally control the electric roller 18 based on such operating characteristics. In particular, the controller 12 may be configured to communicate with the addressable circuit 110 of the electric roller 18 to query the addressable circuit 110 for information associated with the electric roller 18 (block 562). If data is received from the addressable circuit 110 (decision to branch to "Yes" in block 564), the controller 12 identifies the operating characteristics of at least one electric roller 18 (block 566). Examples of the operating characteristics of the electric roller 18 include the number of windings of the motor of the electric roller 18, the circumference of the housing of the electric roller 18, the radius of the electric roller 18, the gear ratio of the gearbox of the electric roller 18, the output rating of the motor of the electric roller 18, the serial number of the electric roller 18, the model of the electric roller 18, and / or other information related to the electric roller 18. Subsequently, the controller 12 may identify information regarding the operation of the electric roller 18 and / or control the electric roller 18 appropriately.
[0097] In any block, the controller 12 determines the rotational distance of the electric roller 18 in response to instantaneous voltage pulses (block 568). For example, the rotation of the motor of the electric roller 18 in response to an instantaneous voltage pulse typically occurs from one winding to the next. If the motor has three windings, the motor will operate to rotate up to one-third of an inch. This is converted by the gearbox into a ratio of rotation of the housing of the electric roller 18. Following this example, if the gearbox ratio of the gearbox of the electric roller 18 is 60-1, then 60 rotations of the motor are converted into 1 rotation of the electric roller 18. As such, one-third of a rotation of the motor is converted into 1 / 180 of a rotation of the housing of the electric roller. Therefore, if the housing of the electric roller 18 has a circumference of 20 inches, the controller 12 may, in block 566, use some of the above data that can be received from the addressable circuit of the electric roller 18 to calculate that the rotational distance of the electric roller 18 in response to an instantaneous voltage pulse to the motor of the electric roller 18 is approximately 2 / 30 of an inch.
[0098] In another arbitrary block, the controller 12 identifies the current threshold for the motor of the electric roller 18 based on information associated with the electric roller 18 (block 570). For example, the electric roller 18 may be rated to a certain current level. Exceeding such a current level may damage the components of the electric roller. Following such an example, the controller 12 may receive information associated with the electric roller 18 or information about the model of the electric roller 18 that indicates the power rating of the motor of the electric roller 18 (e.g., up to what wattage the motor is rated). In such a case, in block 570, the controller 12 may access the configuration data structure 62 or the parameter data structure 64, and in particular its lookup data, to identify the current range for the motor of the electric roller 18 in relation to the power rating or model.
[0099] The operation sequence may terminate if no data is received from the electric roller 18 (determination of branch "No" in block 564), or in response to the completion of an operation in block 568 or 570.
[0100] While the present invention has been illustrated by descriptions of various embodiments and examples, and these embodiments have been described in as much detail as possible, it is not intended to limit this application or, in any case, to restrict the claims to the above detailed description. Additional advantages and modifications will be readily apparent to those skilled in the art. Therefore, the invention in broader embodiments is not limited to the detailed description of the invention, the exemplary apparatus and methods, and the illustrated and described exemplary embodiments. In particular, those skilled in the art will understand that any block in the above flowchart can be modified or deleted, or implemented in parallel with other blocks in the flowchart. Therefore, any development based on such detailed description may be made without departing from the spirit and scope of the applicant's broad invention. Thus, the present invention is found within the scope of the claims. [Explanation of symbols]
[0101] 10 Conveyor Systems 12, 12a, 12b, 12c Conveyor Controller 14 Conveyor Assembly 16 Conveyor belt 18 Electric Roller 20 Non-electric rollers 22 sensors 24 Power Supply Units 26 Downstream direction 102 wire 104 Motor 106 Gearbox 108 Housing 110 Addressable Circuits A1, A2, B1, B2, C1, C2 Bandwidth
Claims
1. A controller for controlling an electric roller, At least one network interface, at least one processing unit Memory and A program code residing in the memory, which is executed by the at least one processing unit, and is configured to query the electric roller for information data related to the electric roller, and further, is configured to analyze the information data to determine at least one operating characteristic related to the electric roller, and to control the electric roller at least partially based on the determined at least one operating characteristic. A controller, including...
2. The controller according to claim 1, wherein the at least one operating characteristic includes information about the housing of the electric roller, including at least one of the circumference of the housing of the electric roller and the radius of the electric roller.
3. The controller according to claim 1, wherein the at least one operating characteristic includes information about the drive element of the electric roller, including at least one of the number of windings of the motor of the electric roller, the gear ratio of the gearbox of the electric roller, and the output rating of the motor of the electric roller.
4. The controller according to claim 1, wherein the at least one operating characteristic includes information about the type of the electric roller, which includes at least one of the serial number of the electric roller and model information of the electric roller.
5. The controller according to claim 3, wherein the at least one operating characteristic is the gear ratio of the gearbox of the electric roller, and the program code is further configured to determine from the gear ratio the distance the electric roller rotates in response to a signal.
6. The controller according to claim 5, wherein at least one operating characteristic also includes the circumference of the housing of the electric roller, and the program code is further configured to use the circumference to determine the distance the electric roller rotates in response to a signal to the motor.
7. The controller according to claim 6, wherein the signal is an instantaneous voltage signal.
8. The controller according to claim 1, wherein the at least one operating characteristic indicates at least one of the output rating of the electric roller or model information of the electric roller, and the program code is further configured to use the at least one of the output rating or model information to determine a current threshold associated with the electric roller that indicates a current level at which the electric roller should not operate.
9. The controller according to claim 1, wherein the electric roller includes an addressable circuit that includes associated information data, and the program code is executed by the at least one processing unit and configured to query the addressable circuit to obtain the information data.
10. A method for controlling an electric roller with a controller, The steps include querying the electric roller for information data associated with the electric roller, The steps include: analyzing the information data in response to receiving the information data to determine at least one operating characteristic related to the electric roller; A step of controlling the electric roller based at least partially on the at least one operating characteristic, Methods that include...
11. The method according to claim 10, wherein the at least one operating characteristic includes information about the housing of the electric roller, including at least one of the circumference of the housing of the electric roller and the radius of the electric roller.
12. The method according to claim 10, wherein the at least one operating characteristic includes information about the drive element of the electric roller, including at least one of the number of windings of the motor of the electric roller, the gear ratio of the gearbox of the electric roller, and the output rating of the motor of the electric roller.
13. The method according to claim 10, wherein the at least one operating characteristic includes information about the type of electric roller, which includes at least one of the serial number of the electric roller and model information of the electric roller.
14. The method according to claim 12, wherein the at least one operating characteristic is the gear ratio of the gearbox of the electric roller, and the method further comprises the step of determining from the gear ratio the distance the electric roller rotates in response to a signal.
15. The method according to claim 14, wherein at least one operating characteristic also includes the circumference of the housing of the electric roller, and the method further includes the step of using the circumference to determine the distance the electric roller rotates in response to a signal to the motor.
16. The method of claim 10, wherein the at least one operating characteristic indicates at least one of the power rating of the electric roller or model information of the electric roller, and the method further comprises the step of using at least one of the power rating or model information to determine a current threshold associated with the electric roller that indicates a current level at which the electric roller should not operate.