Skip to content
Application Note, Custom Engineered Motion Systems, Motion Control Platforms, Motors, Precision Manufacturing, Stages & Actuators
Application Note

Line Following in the Packaging Industry

Sophisticated control capabilities and servomotors are the next logical advances to replace stepper motors in typical line following packaging applications.

Figure 1. Typical line following packaging application.

There are many variations of line following applications within the packaging industry including labeling, cut-to-length, fly cutting, lane diversion, rotary knife and more. All of these line following applications have the same machine functions at their core. Commonly, there is an independent moving line with feedback for measuring line speed. This feedback signal is input to the motion controller through an auxiliary encoder input. The motion controller then uses this auxiliary encoder input as the commanded speed, while it controls another axis called either a “slave” or “follower” axis to move at the same speed as the line. The relationship between line speed and follower speed could be a one-to-one ratio or some other function.

In addition to matching line speed, a specific point (or position) on the line must be synchronized with the follower axis. The position of an object on the line is measured with some type of sensor (photo-eye, weigh station, etc.) that triggers a high-speed input for registration. Upon this event, the position of the line is captured. Knowing the registered position and the distance between the event sensor and the axis being controlled, the controller computes a trajectory to match the position of the following axis with the position on the line. Simply put, the controller must coordinate velocity and position of the axis it is controlling with an independent line based on a velocity and an event sensor.

Industry Needs

Currently, most line following machines use stepper motors. However, the need for more resolution, more intelligence, the ability to download data, better HMIs and more fault information drives the need for more sophisticated control and servomotors. Furthermore, the distinct differences in software and controls needed to drive a stepper and a servomotor tend to force machine builders into using different components for various parts of the machine.

The speeds at which these packaging machines must operate are crucial to throughput and cost. For example, typical accuracies in label placement applications are on the order of 1/32 of an inch, and typical line speeds are 2000 to 3000 inches/minute. This means that high speed IO and full featured motion trajectories are needed to control the packaging process. Additionally, some older machines have both a PLC and a motion drive. This adds complexity and time when upgrading to new software and hardware.

Aerotech Features and Benefits

Figure 2: Aerotech’s Ensemble CP.

Aerotech offers powerful software and flexible drives and motors for the packaging industry. The ability to write sophisticated programs with these products makes them a good fit in today’s demanding applications.

Drive Multiple Motor Technologies

Aerotech drive products provide the ability to drive both stepper and servomotors without changing software or hardware. This means one piece of drive hardware will control both steppers and servomotors on the same platform after only changing parameters. Moreover, the advantage of using the same drives and software means that the cost to switch from steppers to servos decreases.

High Speed IO

Aerotech drives offer high speed IO. This includes both high-speed inputs and outputs. The drives are also able to compute a full featured coordinated motion trajectory based on many different inputs and can be used to drive fast and complicated processes. Drives have two high-speed inputs that have a typical delay of 50 nanoseconds. The high-speed output, the PSO signal, is a position dependent programmable output with single-axis tracking delays of 160 nanoseconds.

Auxiliary Encoder

Aerotech drives contain a secondary encoder input. This secondary encoder can be used for dual-loop control in high-precision applications to echo out the main encoder to an outside source, or in a line following application it can be used to bring an external encoder signal into the drive for tracking purposes. This input can accept an A Quad B signal at a rate of 10 MHz.

PLC to Motion

Aerotech products can be used as the PLC and motion drive components to eliminate complexity, minimize programming and integration costs, and increase the functionality between components.

Data Handling

Aerotech drives provide the ability to link with RFID readers, store data to a network, and react to real-time information, usually by implementing the EtherNet/IP™ bus.


Aerotech drives support the EtherNet/IP™ communication bus. This allows the motion controllers to talk directly over the Allen Bradley protocol and be controlled from an RSLogix program.

Full Integration

Aerotech .NET libraries can be integrated into vision systems to sync motion with vision through advanced kinematic functions.

Customizable Control

Aerotech is a company built on a vertically integrated supply chain, and Aerotech engineering covers a wide range of disciplines. This allows for every part of the software and hardware to be customized to fit an application’s exact needs. Examples include OEM drive packaging for specific form factors, custom software and libraries, and custom motor design.

Programming Concepts

Figure 3. Ensemble task calculator.

Aerotech controllers contain multiple tasks. These tasks can be utilized to ensure that multiple products can be registered on a line and motion occurs separately. In the following example we use two tasks on the Ensemble. Task 1 is used for the motion and task 3 is used for the Input Registration. We use the IGLOBAL registers to pass information between the tasks.

The Ensemble Task Calculator is used to allocate cycle time to the tasks. There are five task slices, four of which are used by Task 1 through 4. The fifth task contains various processes that run once a millisecond, including the Auxiliary Task.

To run multiple programs we need to set up the tasks. To use an equal time slice for each task use Task 1 and Task 3, which will allow for a 100 µs time slice for each task. To give a higher priority to one task over another, different tasks can be selected. In this demonstration, we give the tasks equal priority for code execution.

The following programming code will show an application that will perform the required steps to place a label on a bottle. The photo-eye is wired into a high-speed input on an Ensemble CP drive. This input is scanned at the hardware level by the POSCAP function. The POSCAP function is used to register the position of the belt. This position is captured with a latency of 400 ns from the trigger of the input.

The distance from the photo-eye to the label is a known, fixed distance. With the value recorded by the POSCAP function the program will know exactly when to rotate the motor to place the label onto the bottle.

Figure 4. Bottle labeling application with photo-eye.
Figure 5. Example programs for line following registration.


Figure 6. Five parts were triggered.

Five parts were triggered in the above view. The Position Capture bit goes to 0 when triggered. When armed it goes to a value of 1. As can be seen, the triggers have different distances between them. We could have multiple triggers BEFORE the first has reached the label mechanism. This is fine as the program would still be able to record all of the values and maintain the correct distance between parts, as long as the motion can complete execution before the next part arrives in the window. This application time would be a limiting factor of how fast the belt could move or how close together units on the belt could be.

We captured, in the order displayed top to bottom, Position Feedback, Velocity Command, the Position Capture bit of the status word in the Ensemble, the digital input that is triggering the Position Capture bit and the Encoder from the belt.

Due to the Aeronet motion bus having a very high level of determinism, we could “dial in” our move position. Our EyeToLabelDistanceInCounts variable in the Motion Code could have an offset to account for the delay in the motion of the axis. This delay will be a fixed value based on the program and is usually around 3-5 ms depending on the style of move command used. We could just as easily use this time delay to calculate itself based on line speed. This would fully automate the line so that an end-user could adjust speed without having to recalibrate the label placement.

Table 1. Conveyor belt travel distance from trigger to actuator motion, showing minimal trigger jitter at high speeds.

In this example there were 50800 counts per inch streaming in on the auxiliary encoder input. The belt was moving at a rate of 42 inches per second or 2520 IPM. The triggering mechanism was able to track and start motion within 751 encoder counts worst case. The difference between triggers was no worse than 4 counts from the target location.

Had we dialed this in by trial and error, we could have brought this triggering delay down to 0. Even without that method the results were very precise. This system test could accurately place a label within .015 inches (about 1/67th of an inch) of the desired location with repeatability of 0.0001 inches at a line speed of 2520 IPM.