System and method for limiting motion in an independent cart system

A controller for an independent cart system simplifies programming and automatically adapts operation each mover travelling along a track. The controller includes a configuration table defining segments of the track, which includes a maximum velocity and/or a maximum acceleration for each mover within the segment. A motion command for a mover commands motion across multiple segments between the starting point and the ending point. As the mover travels, the controller receives a position feedback signal corresponding to the present location of the mover. The controller obtains the maximum velocity and/or maximum acceleration for the mover corresponding to the segment in which it is located. The controller automatically adjusts the speed and/or acceleration of the mover along the segment in which it is presently located. As the mover transitions between segments, the controller automatically adjusts the speed and/or acceleration according to the new segment in which the mover is located.

BACKGROUND INFORMATION

The subject matter disclosed herein relates to a motion control system with independent carts and a linear drive system. More specifically, the system and method provides ease of operation and automatic adjustment to the speed of travel for the independent carts as they are moved along the linear drive system.

Motion control systems utilizing movers and linear motors can be used in a wide variety of processes (e.g. packaging, manufacturing, and machining) and can provide an advantage over conventional conveyor belt systems with enhanced flexibility, extremely high-speed movement, and mechanical simplicity. The motion control system includes a set of independently controlled carts or “movers” each supported on a track for motion along the track. The track is made up of a number of track segments that, in turn, hold individually controllable electric coils. Successive activation of the coils establishes a moving electromagnetic field that interacts with the movers and causes the mover to travel along the track. Sensors may be spaced at fixed positions along the track and/or on the movers to provide information about the position and speed of the movers.

Each of the movers may be independently moved and positioned along the track in response to the moving electromagnetic field generated by the coils. In a typical system, the track forms a path, which could be a closed path, over which each mover repeatedly travels. At certain positions along the track other actuators may interact with each mover. For example, the mover may be stopped at a loading station at which a first actuator places a product on the mover. The mover may then be moved along a process segment of the track where various other actuators may fill, machine, position, or otherwise interact with the product on the mover. The mover may be programmed to stop at various locations or to move at a controlled speed past each of the other actuators. After the various processes are performed, the mover may pass or stop at an unloading station at which the product is removed from the mover. The mover then completes a cycle along the path by returning to the loading station to receive another unit of the product.

While the mover is travelling along the different segments for filling, machining, placing, returning, and the like or while the mover is travelling along different lengths of track, curves of varying radii, and the like, it may be desirable to command the mover to travel at a different velocity. For example, a curve having a short radius may require the mover to travel at a slower velocity than a curve having a long radius to avoid undesirable centrifugal forces applied to the product on the mover causing damage and/or loss of product. The centrifugal forces applied to the mover may also increase wear on bearings, wheels, and the like. Similarly, it may be desirable to travel at a greater rate of speed along a long straight segment of track when returning an empty mover to a starting position than along a short segment of track when the mover is traveling between stations while loaded with a product.

Historically, it has been necessary for a programmer to generate a sequence of commands for each mover as it travels across each of the different segments. Each command includes a desired velocity and a desired distance for the mover to travel. Further, the programmer must know whether the mover is to stop at the end of travel, continue traveling with an additional move command, and whether the mover is to change velocity or continue at a constant velocity prior to the end of the travel distance. Further, the commands may vary between movers as a function of the loading of the mover. Depending on the configuration of the track, controlling operation of a mover between two positions on the track requires the programmer to generate a series of commands, having five, ten, or even a greater number of commands to control the mover as it travels across the multiple segments of the track between the start position and the end position. Programming movers to travel along the track requires significant knowledge about the configuration of the track, the movers, and the operations being performed along the track and often results in a complex series of commands for each mover to achieve a desired operation of each mover.

Thus, it would be desirable to provide a system and method to simplify programming of the movers.

It is further desirable to provide a system and method that will automatically adapt operation of each mover as it travels along the track.

BRIEF DESCRIPTION

The subject matter disclosed herein describes a system and method for controlling operation of an independent cart system, where the independent cart system includes multiple movers traveling along a linear drive system. The system and method for controlling the independent cart system simplifies programming of the movers and automatically adapts operation of each mover as it travels along the track. A controller for the independent cart system includes a configuration table defining segments of the track. For each segment of the track, the configuration table includes a maximum velocity and may further include a maximum acceleration for each of the movers to travel along the segment. A motion command for a mover identifies a starting point on the track and an ending point along the track. Multiple segments, as defined by the configuration table, exist between the starting point and the ending point. As the mover travels between the starting point and the ending point, the controller receives a position feedback signal corresponding to the present location of the mover. The controller obtains the maximum velocity and/or maximum acceleration for the mover as defined in the configuration table corresponding to the segment in which the mover is located. The controller automatically adjusts the speed and/or acceleration at which the mover is travelling along the segment in which it is presently located. As the mover transitions between segments, the controller automatically adjusts the speed and/or acceleration according to the new segment in which the mover is located. Thus, commanding motion of each mover is greatly simplified as a single motion command controls operation of the mover along multiple segments, and the controller automatically adapts operation of the mover as it travels across the multiple segments defined between the start and end positions within the motion command.

In one embodiment of the invention, an independent cart system includes multiple movers traveling along a track of a linear drive system, where each mover includes at least one drive magnet. The track includes multiple drive coils positioned along a length of the track. The drive coils are selectively energized to establish an electromagnetic field interacting with the at least one drive magnet on each mover to drive each mover along the track, and the track includes multiple zones defined along the length of the track. The independent cart system also includes a controller having a memory device operative to store a track configuration table and a processor. The processor is operative to receive a desired motion command for each of the movers and to receive a position feedback signal corresponding to a location for each of the movers along the length of the track. The desired motion command includes at least one of a desired acceleration and a desired velocity at which the mover is driven during the desired motion command. The processor is further operative to read either a maximum velocity or a maximum acceleration from the track configuration table corresponding to the location for each of the movers along the length of the track and to limit either an actual velocity or an actual acceleration of each of the movers to a lesser of the desired velocity or the maximum velocity and to the lesser of the desired acceleration or the maximum acceleration, respectively.

According to another embodiment of the invention, a method for controlling operation of multiple movers traveling along a linear drive system is disclosed. A desired motion command is received at a controller for each of the movers, where the desired motion command includes at least one of a desired acceleration and a desired velocity at which the mover is driven during the desired motion command. A position feedback signal is received at the controller corresponding to a location for each of the movers along a length of a track for the linear drive system. At least one of a maximum velocity and a maximum acceleration is read from a track configuration table corresponding to the location for each of the movers along the length of the track, and either an actual velocity or an actual acceleration of each of the movers is limited to a lesser of the desired velocity or the maximum velocity and to the lesser of the desired acceleration or the maximum acceleration, respectively.

According to still another embodiment of the invention, a controller for an independent cart system is disclosed. The independent cart system includes multiple movers traveling along a linear drive system, and the controller includes a memory device and a processor. The memory device is operative to store a track configuration table, where the track configuration table defines a plurality of zones along a length of a track on which a plurality of movers travel along the linear drive system, the track configuration table includes at least one of a maximum velocity and a maximum acceleration for each of the plurality of zones, and the processor identifies one of the plurality of zones in which each mover is located as a function of the location for each mover. The processor is operative to receive a desired motion command for each of the plurality of movers and to receive a position feedback signal corresponding to a location for each of the plurality of movers along the length of the track. The desired motion command includes at least one of a desired acceleration and a desired velocity at which the mover is driven during the desired motion command. The processor is further operative to read at least one of the maximum velocity and the maximum acceleration for one of the plurality of zones from the track configuration table corresponding to the location for each of the plurality of movers along the length of the track, and to limit one of an actual velocity and an actual acceleration of each of the plurality of movers to a lesser of the desired velocity or the maximum velocity and to the lesser of the desired acceleration or the maximum acceleration, respectively.

DETAILED DESCRIPTION

With respect toFIGS. 1-4, an exemplary transport system for moving articles or products includes a track10made up of multiple segments12. According to the illustrated embodiment, multiple segments12are joined end-to-end to define the overall track configuration. The illustrated segments12are both straight segments having generally the same length. It is understood that track segments of various sizes, lengths, and shapes may be connected together to form the track10without deviating from the scope of the invention. In one embodiment, track segments12may be joined to form a generally closed loop supporting a set of independent carts, also referred to herein as movers,100movable along the track10. The track10is illustrated in a horizontal plane. For convenience, the horizontal orientation of the track10shown inFIG. 1will be discussed herein. Terms such as upper, lower, inner, and outer will be used with respect to the illustrated track orientation. These terms are relational with respect to the illustrated track and are not intended to be limiting. It is understood that the track may be installed in different orientations, such as sloped or vertical, and include different shaped segments including, but not limited to, straight segments, inward bends, outward bends, up slopes, down slopes and various combinations thereof. The width of the track10may be greater in either the horizontal or vertical direction according to application requirements. The movers100will travel along the track and take various orientations according to the configuration of the track10and the relationships discussed herein may vary accordingly.

According to the illustrated embodiment, each mover100is configured to slide along the channel15as it is propelled by a linear drive system. The mover100includes a body102configured to fit within the channel15. In one embodiment, the body102includes a lower surface106, configured to engage the bottom surface16of the channel, and side surfaces108configured to engage the side walls13of the channel. The mover100further includes a shoulder105extending inward from each of the side surfaces10$. The shoulder105has a width equal to or greater than the width of the rail14protruding into the channel. A neck of the mover then extends upward to a top surface104of the body102. The neck extends for the thickness of the rails such that the top surface104of the body102is generally parallel with the upper surface of each rail14. The mover100further includes a platform110secured to the top surface104of the body102. According to the illustrated embodiment, the platform110is generally square and the width of the platform110is greater than the width between the rails14. The lower surface of the platform110, an outer surface of the neck, and an upper surface of the shoulder105define a channel15in which the rail14runs. The channel15serves as a guide to direct the mover100along the track. It is contemplated that platforms or attachments of various shapes may be secured to the top surface104of the body102. Further, various workpieces, clips, fixtures, and the like may be mounted on the top of each platform110for engagement with a product to be carried along the track by the mover100.

The mover100is carried along the track10by a linear drive system. The linear drive system is incorporated in part on each mover100and in part within each track segment12. One or more drive magnets120are mounted to each mover100. With reference toFIG. 3, the drive magnets120are arranged in a block on the lower surface of each mover. The drive magnets120include positive magnet segments122, having a north pole, N, facing outward from the mover and negative magnet segments124, having a south pole, S, facing inward to the mover. According to the illustrated embodiment, two positive magnet segments122are located on the outer sides of the set of magnets and two negative magnet segments124are located between the two positive magnet segments122. Optionally, the positive and negative motor segments may be placed in an alternating configuration. In still other embodiments, a single negative magnet segment124may be located between the positive magnet segments122. Various other configurations of the drive magnets120may be utilized without deviating from the scope of the invention.

The linear drive system further includes a series of coils150spaced along the length of the track segment12. With reference also toFIG. 5, the coils150may be positioned within a housing11for the track segment12and below the bottom surface16of the channel15. The coils150are energized sequentially according to the configuration of the drive magnets120present on the movers100. The sequential energization of the coils150generates a moving electromagnetic field that interacts with the magnetic field of the drive magnets120to propel each mover100along the track segment12.

A segment controller50is provided within each track segment12to control the linear drive system and to achieve the desired motion of each mover100along the track segment12. Although illustrated as blocks inFIG. 1external to the track segments12, the illustration is to facilitate illustration of interconnects between controllers. As shown inFIG. 2, it is contemplated that each segment controller50may be mounted in the lower portion19of the track segment12. Each segment controller50is in communication with an adjacent segment controller50and a central controller170which is, in turn, in communication with an industrial controller200. Accordingly, each segment controller50can interact with other controllers to establish routing and global move parameters to re-create overall commands from the industrial controller200. The industrial controller may be, for example, a programmable logic controller (PLC) configured to control elements of a process line stationed along the track10. The process line may be configured, for example, to fill and label boxes, bottles, or other containers loaded onto or held by the movers100as the travel along the line. In other embodiments, robotic assembly stations may perform various assembly and/or machining tasks on workpieces carried along by the movers100. The exemplary industrial controller200includes a power supply202with a power cable204connected, for example, to a utility power supply; a communication module206connected by a network medium160to the central controller170; a processor module208; an input module210receiving input signals211from sensors or other devices along the process line; and an output module212transmitting control signals213to controlled devices, actuators, and the like along the process line. The processor module208may identify when a mover100is required at a particular location and may monitor sensors, such as proximity sensors, position switches, or the like to verify that the mover100is at a desired location. The processor module208transmits the desired locations of each mover100to a central controller170where the central controller170operates to generate commands for each segment controller50.

With reference also toFIG. 6, the central controller170includes a processor174and a memory device172. It is contemplated that the processor174and memory device172may each be a single electronic device or formed from multiple devices. The processor may be a microprocessor. Optionally, the processor174and/or the memory device172may be integrated on a field programmable array (FPGA) or an application specific integrated circuit (ASIC). The memory device172may include volatile memory, non-volatile memory, or a combination thereof. An optional user interface176may be provided for an operator to configure the central controller170and to load or configure desired motion profiles for the movers100on the central controller170. Optionally, the configuration may be performed via a remote device connected via a network and a communication interface178to the central controller170. It is contemplated that the central controller170and user interface176may be a single device, such as a laptop, notebook, tablet or other mobile computing device. Optionally, the user interface176may include one or more separate devices such as a keyboard, mouse, display, touchscreen, interface port, removable storage medium or medium reader and the like for receiving information from and displaying information to a user. Optionally, the central controller170and user interface may be an industrial computer mounted within a control cabinet and configured to withstand harsh operating environments. It is contemplated that still other combinations of computing devices and peripherals as would be understood in the art may be utilized or incorporated into the central controller170and user interface176without deviating from the scope of the invention.

The central controller170includes one or more programs stored in the memory device172for execution by the processor174. The central controller170can receive instructions for coordinating with industrial processes or machines. In one aspect, known as “centralized” control, the central controller170can determine one or more motion profiles for the movers100to follow along the track10. A program executing on the processor174is in communication with each segment controller50on each track segment via a network medium160. The central controller170may transfer a command signal to one or more power segments in each track segment to control energization of the coils150. The central controller170may receive feedback signals corresponding to the identification and/or location of movers100along each track segment and control motion of the movers100directly from the central controller170. In one embodiment of the invention, it is contemplated that the central controller170may be implemented within the industrial controller200as either a portion of the control program executing in the processor module208or as a dedicated motion control module inserted within one of the slots of the industrial controller200.

In another aspect, known as “distributed” control, the central controller170may be configured to transfer the desired motion commands, or a portion thereof, from the central controller170to each of the segment controllers50. The motion commands identify one or more desired movers100to be positioned at or moved along each track segment12. The central controller170may distribute motion commands to each segment controller170according to the mover located at or proximate to the track segment12. The corresponding segment controller50for each track segment12may, in turn, determine the appropriate command signals for each mover100and transmit the command signals to one or more power segments in each track segment to control energization of the coils150. Distributed control can minimize the amount of communication in the system by allowing segment controllers50, rather than the central controller170, to control driving each mover100along the track10.

A position feedback system provides knowledge of the location of each mover100along the length of the track segment12to the segment controller50. In one embodiment, the position feedback system can include one or more position magnets140mounted to the mover100and an array of sensors145spaced along the side wall13of the track segment12. The sensors145are positioned such that each of the position magnets140are proximate to the sensor as the mover100passes each sensor145. The sensors145are a suitable magnetic field detector including, for example, a Hall Effect sensor, a magneto-diode, an anisotropic magnetoresistive (AMR) device, a giant magnetoresistive (GME) device, a tunnel magnetoresistance (TMR) device, fluxgate sensor, or other microelectromechanical (MEMS) device configured to generate an electrical signal corresponding to the presence of a magnetic field. The magnetic field sensor145outputs a feedback signal provided to the segment controller50for the corresponding track segment12on which the sensor145is mounted. The feedback signal may be an analog signal provided to a feedback circuit58which, in turn, provides a signal to the processor52which corresponds to the magnet140passing the sensor145.

The segment controller50controls operation of the mover100to execute the motion profile, whether generated by the central controller170or generated locally. The segment controller50may include a position and/or a velocity loop to regulate the position of each mover100. Each mover100includes at least one position magnet140and, according to the illustrated embodiment, each mover100includes an array of position magnets140mounted on the mover100. In another aspect, one or more magnets can instead be used as both the drive magnet and the position magnet. The position magnets140pass by an array of position sensors145as the mover100travels along the track segment, generating position feedback signals225. A position loop may utilize the position feedback signals225directly to regulate the position of the mover100to achieve a desired position or desired position profile along the track segment12. The processor52in the segment controller50may also convert the position feedback signals225to a velocity feedback signal according to known methods and provide the velocity feedback signal to a velocity loop to achieve a desired speed or desired speed profile along the track segment12.

The segment controller50also includes a communication interface56that receives communications from the central controller170and/or from adjacent segment controllers50in a path. The communication interface56extracts data from the message packets on the communication network and passes the data to a processor52executing in the segment controller50. The processor may be a microprocessor. Optionally, the processor52and/or a memory device54within the segment controller50may be integrated on a field programmable array (FPGA) or an application specific integrated circuit (ASIC). It is contemplated that the processor52and memory device54may each be a single electronic device or formed from multiple devices. The memory device54may include volatile memory, non-volatile memory, or a combination thereof. The segment controller50receives the motion profile or desired motion of the movers100and utilizes the motion commands to control movers100along the track segment12controlled by that segment controller50.

Each segment controller50generates switching signals to generate a desired current and/or voltage at each coil150in the track segment12to achieve the desired motion of the movers100. The switching signals72control operation of switching devices74for the segment controller50. According to the illustrated embodiment, the segment controller50includes a dedicated gate driver module70which receives command signals from the processor52, such as a desired voltage and/or current to be generated in each coil150, and generates switching signals72. Optionally, the processor52may incorporate the functions of the gate driver module70and directly generate the switching signals72. The switching signals72are provided to the power conversion segment, in each track segment12, where each power conversion segment includes multiple power switching devices74. The switching devices74may be a solid-state device that is activated by the switching signal, including, but not limited to, transistors, thyristors, or silicon-controlled rectifiers.

In one embodiment, the processor52can also receive feedback signals from sensors providing an indication of the current operating conditions within the power segment or of the current operating conditions of a coil150connected to the power segment. According to the illustrated embodiment, the power segment includes a voltage sensor62and a current sensor60at the input of the power segment. The voltage sensor62generates a voltage feedback signal and the current sensor60generates a current feedback signal, where each feedback signal corresponds to the operating conditions on the positive rail22. The segment controller50also receives feedback signals corresponding to the operation of coils150connected to the power segment. A voltage sensor153and a current sensor151are connected in series with the coils150at each output of the power section. The voltage sensor153generates a voltage feedback signal and the current sensor151generates a current feedback signal, where each feedback signal corresponds to the operating condition of the corresponding coil150. The processor52executes a program stored on the memory device54to regulate the current and/or voltage supplied to each coil and the processor52and/or gate driver70generate switching signals72which selectively enable/disable each of the switching devices74to achieve the desired current and/or voltage in each coil150. The energized coils150create an electromagnetic field that interacts with the drive magnets120on each mover100to control motion of the movers100along the track segment12.

In operation, the central controller170receives a command from an external controller, such as the industrial controller200shown inFIG. 1, corresponding to a desired location, trajectory or motion for each mover100. The command identifies one or more of the movers100and provides a desired operation of each identified mover100. According to one embodiment of the invention, the desired operation may include a start location and a destination location between which the mover100is to travel. Optionally, the desired operation may simply include a destination location where the start location is the current location of the mover100. The desired operation may further include, for example, a desired speed, or velocity, of travel as well as a desired rate of change of the speed, or acceleration, at which the mover100is to be driven to reach the destination.

According to one embodiment of the invention, the desired motion command, also referred to herein as “an order,” includes a destination for a mover100and a maximum velocity of travel during the move. In some embodiments, the desired motion command also includes a maximum acceleration and deceleration of the mover100during the move and a desired operation at the end of the move, where the desired operation at the end of the move may include, for example, continue travel based on a subsequent move command, decelerate to a stop at the desired location, transition to a new speed based on a subsequent move command, and the like. As will be discussed in more detail below, these desired motion commands simplify programming of the movers for a technician by requiring only a destination and maximum speed for a move that may span multiple segments and automatically adapts operation of each mover100as it travels along the track10.

With reference next toFIG. 7a, an exemplary section of track10is illustrated. The track10includes multiple track segments12and is also divided into multiple zones300, where a zone300may span a single track segment12or multiple track segments. In certain applications, a zone300may span less than an entire track segment12. The illustrated section of track10includes three parallel straight paths310, where the first straight path310aand the second straight path310bare parallel to each other and are joined at a first end by a curved path315and a first branch segment317a. Each straight path310a,310bextends beyond the illustrated section at the opposite end. A third straight path310cis shown parallel to and extends for only a portion of the length of the second straight path310b. The first branch segment317adefines two directions of travel for a mover100. A first direction of travel extends orthogonal to each of the first and second straight paths toward a second curved path319, which, in turn, connects to the third straight path310c. A second direction of travel along the first branch segment317acontinues the curve defined by the first curved path315and completes the connection between the first straight path310aand the second straight path310b. A first end of the third straight path310cis joined to the second curved path319and a second end of the third straight path310is joined to a third curved path321. A second branch segment317bis inserted into the second straight path310band similarly includes two directions of travel for a mover100. The first direction of travel on the second branch segment317bis a straight path aligned with and defining a portion of the second straight path310b. The second direction of travel on the second branch segment317bis a curved portion that is directed toward the end of the third curved path321and defines a route for a mover100to return to the second straight path310bafter traversing the third straight path310c.

With reference also toFIG. 7b, an exemplary track configuration table301is provided that defines the location of each zone300along the track10by a start position330and a stop position332along with a maximum velocity334and a maximum acceleration336by which a mover100may travel while present in each zone300, in one embodiment of the invention, each track segment12includes a track configuration table301corresponding to the length of the track segment12. Optionally, a single track configuration table301is defined for the entire track10and a copy of the table is stored in each segment controller50. In still other embodiments, the track configuration table301may be stored in the central controller170or the industrial controller200.

The start position330and stop position332defines the location along the track10at which the zone exists. As seen in the track configuration table301, the position may be defined in a linear manner along the length of the track10. If a branch exists, where the mover100may travel along alternate paths, the position may be defined in a non-continuous manner. According to one option two paths may start initially with an identical range of positions, for example 0-1000. At a branch in the two paths, different positions such as 1000-2000 may be used for a first branch and 2000-3000 may be used for a second branch. Both paths may then resume counting at 3000 and continue in an increasing manner after the paths rejoin. According to a second embodiment, two paths may have the same numerical position yet utilize symbols, such as letters (e.g., “a” and “b”) or identifying an alternate path as a “prime” path using an apostrophe. Still other methods of defining the linear positions in each zone and, particularly in zones defined along alternate paths may be utilized without deviating from the scope of the invention.

Within each defined zone, the illustrated embodiment includes a defined maximum velocity334and a defined maximum acceleration336. These values limit the velocity and acceleration, respectively, of a mover100as it travels through a zone. These limits are applied automatically to a mover100and eliminate the need for an operator to program separate motion commands for each segment. Rather, the operator programs a single move command to a desired destination and a maximum or desired rate of operation for the mover100as it travels to the desired destination. The segment controller50may compare the maximum or desired velocity from the motion command to the maximum velocity334included within the track configuration table for each segment12of the track and limit the actual velocity of the mover to the lesser of the two values.

It is further contemplated that the track configuration table301may include other columns or settings for a mover100and/or for a track segment12. According to one aspect of the invention, the track configuration table301may include a first maximum velocity and a second maximum velocity or a first maximum acceleration and a second maximum acceleration for each zone300. The first maximum velocity and/or acceleration defines a maximum value of operation in a first direction of travel across the zone300, and the second maximum velocity and/or acceleration defines a maximum value of operation in a second, or opposite, direction of travel across the zone300.

According to another aspect of the invention, the track configuration table301may include an additional column, or columns, defining how each mover100is to operate as it approaches either end of the zone300. The mover100may, for example, be configured to continue operation according to the set velocity and/or acceleration throughout the range of a zone300. Optionally, a mover100may be configured to accelerate or decelerate to a new velocity based on an adjacent zone prior to entering the next zone.

According to yet another aspect of the invention, the track configuration table301may be dynamically configured. For example, a track10may be configured to transport multiple loads on the same movers100. The central controller170or the industrial controller200may be configured to identify a particular load present on the movers100based, for example, on a control program executing on the industrial controller; an input device, such as a selector switch, identifying a particular load; a sensor generating different feedback signals to the controller as a function of the load detected; or by a load observer executing in the segment controller to determine a force required to move the load present on the mover100. The configuration table301may receive a first set of values based on a first load and a second set of values based on a second load. When the controller detects the type of load present on the movers100or receives an input signal indicating the expected load on each mover100, the controller may populate the track configuration table according to the expected load. It is contemplated that various other application requirements besides the type of load may be commanded or detected and form a basis for dynamically populating the configuration table301without deviating from the scope of the invention.

According to still another aspect of the invention, it is contemplated that a zone300may be defined over any length of travel. Although each zone300is illustrated as spanning one or more track segments12, a zone300may start or end within a portion of a track segment12. Further, each segment12may be divided into blocks32, where a block32spans, for example, the length of a single coil150and a zone300may be defined by the start of a block, the end of a block, or at some point within the block32. The configuration table301may also be configured to include a variable expression rather than a constant value, where the variable expression is used to change the value, for example, of the maximum velocity334along the length of a zone300.

With reference next toFIG. 8, exemplary operation of multiple movers100traveling along a portion of an independent cart system will be discussed. The system is a portion of the track discussed above with respect toFIG. 7Aand includes multiple movers100travelling along the track10. An industrial controller200generates desired motion commands for each mover100travelling along the track10. The desired motion command includes a maximum velocity at which the mover100is to travel and a location to which each mover is to travel. According to the illustrated embodiment, each mover100is commanded to move from zone A to a work station along zone E (seeFIG. 7). A maximum velocity of travel for each mover100in the motion command is set to 2.5 m/s based on the expected loading and construction of the mover100.

As each mover100travels along zone A, the mover100may be monitored for a predefined condition. For example, a load sensor may detect a combined weight of each mover100and the load present on the mover100as the mover100travels over a weighing segment12. Optionally, a proximity sensor may be used to detect the presence or absence of an object on the mover100. According to still another option, a control program executing in the industrial controller200may require that one mover100out of a predefined number of movers (e.g., 1 out of 100) be inspected. Regardless of the reason for selection, one mover100is identified as a selected mover350. The motion command for the selected mover350requires that the selected mover350travel along the third straight path310cfor inspection, modification, removal, or any other operation as a result of the identified condition. Thus, when the selected mover350reaches the first branch segment317a, it continues traveling straight while the other movers100continue traveling around the curve to the second straight path310b. Further, it is contemplated that the maximum velocity334for each segment of the track other than the segments for the third straight path may be overwritten to slow travel of the movers100as the selected mover350travels along the third straight path, allowing the desired operation to be performed on the selected mover350and then command the selected mover350to be reinserted within its original location between the other movers100. Optionally, if a load is to be inspected, the selected mover350may be commanded to stop at zone H along the third straight path. Once inspection is complete, an operator may provide an input signal, for example, via a push-button, indicating the selected mover350is ready to return to the second straight path310b. The industrial controller200may be configured to receive the input signal and to overwrite the track configuration table301such that movers approaching the insertion point from the second branch segment317acreate a space for the selected mover350to rejoin the other movers100. Once the selected mover350rejoins the other movers, the industrial controller200may again overwrite the track configuration table301to restore the original limits and original operation along the track10. In any event, the operation of the track10is transparent to the operator requiring only that the mover100be initially programmed to move from zone A to zone E.

As the movers100travel between zones300, the segment controller50limits operation of the mover100according to the values set in the track configuration table301. As previously indicated, the motion command defines a desired velocity of 2.5 m/s. For discussion purposes, the configuration table301is set according to the values illustrated inFIG. 7B. Therefore, when a segment controller50for one of the track segments12within zone A receives the motion command, it compares the desired velocity of 2.5 m/s to the maximum velocity of 2.0 m/s assigned to zone A and limits the actual velocity of the mover100as it travels within zone A to 2.0 m/s.

As the mover100continues traveling to the desired destination, it transitions from zone A to zone B. At zone B, the segment controller50reads the maximum velocity334for zone B as 0.5 m/s. The maximum velocity334for zone B may be set lower than the maximum velocity for zone A to reduce centrifugal forces applied to a load and/or the mover100as the mover100goes around the curve in zone B. As a result of the reduced maximum velocity334in zone B, the segment controller50reduces the actual speed at which the mover travels within zone B to 0.5 m/s.

As another aspect of the invention, an additional column may be defined in the configuration table301. The additional column may define whether a mover100is to decelerate to the new maximum velocity prior to entering the next zone300or after entering the next zone. As a mover100is travelling within a zone, the segment controller50further reads the additional column, if the mover100is to decelerate prior to entering the next zone300, the segment controller50determines a difference between the actual speed at which the mover100is traveling within the current zone300(i.e., zone A) and the maximum speed at which the mover100is to travel in the next zone the mover is approaching (i.e., zone B). The segment controller50also determines an acceleration rate or a deceleration rate at which the mover100is to change speed depending on whether the maximum speed in the next zone is greater than or less than the actual speed in the current zone. The acceleration and/or deceleration rate may be included within a move command and there may be a maximum acceleration and/or deceleration rate stored within the configuration table301to limit the acceleration and/or deceleration in a manner similar to limiting the velocity. Once the segment controller50knows the difference in velocities between the two zones300and an acceleration or deceleration rate, the segment controller50determines a time or a distance of travel required for the mover100to transition between the two velocities and initiates the required change in speed at the appropriate time or distance before entering the next zone such that the mover100is at the desired velocity as it enters the next zone300if the mover100is to decelerate after entering the next zone, the segment controller50may simply determine the maximum velocity for the new zone and an acceleration or deceleration rate for the mover100once it enters the new zone and effect a change of speed of the mover100as a function of the maximum velocity and acceleration or deceleration rate in the new zone.

As the mover100continues traveling to the desired destination, it transitions again from zone B to zone C and from zone C to zone D. At zone C, the maximum velocity334is further reduced to 0.2 m/s. Operation to further reduce the actual velocity of the mover100occurs in a manner to that discussed above with respect to the transition from zone A to zone B. At zone D, the maximum velocity334, however, returns to 2.0 m/s. Because the original motion command only instructed a mover100to travel from zone A to zone E, the original maximum velocity of travel for the move of 2.5 m/s is still present for the motion command. The transition between zones C and D, therefore, occur in a similar manner to the prior transitions except that the mover100will accelerate to a new maximum velocity334of 2.0 m/s rather than decelerating to either 0.5 m/s or 0.2 m/s.

According to another aspect of the invention, it is contemplated that portions of the track10may have no limits defined within the track configuration table301. If a mover100is traveling within a portion of the track that is not defined in the configuration table301, the segment controller50may use the values of desired operation directly as programmed in the motion command.