Baldor Electric Co. Home Login Contact Us Site Map Mint - the automation language
blank.gif
Products Solutions Literature News and Events Support About Us
 
 
Quick Links


Application Stories
<< return to list

Labelling machine:
Machine Overview
Using the above drawing, we will show how a SmartMove/1 can effectively accomplish the task of applying a pressure sensitive label on a product passing by the peel bar. The software as shown in the text has allowed speeds of the products to be up to 2500 inches per minute with as little as +/- .062" placement error of the label. In order to get speeds higher than this with more accuracy, one only needs to add some velocity correction code which will be discussed in a future application note.

The following inputs and outputs to the SmartMove/1 are used:

  • Command (+/- 10VDC) is supplied to the servo amplifier or drive.
    Counts per revolution of the motors' encoder are returned (in quadrature) to serve as closing the position loop.
  • The master encoder (or conveyor) signal is fed into the second encoder input. The counts per revolution will be selected for the accuracy needed in the system. The higher the number in counts per rev (and relationship of the distance of the conveyor traveled for that number of encoder counts) will determine the final accuracy attainable by the system.
  • Label edge detect sensor (PNP output type) is fed to the Fast Position Latch input of the controller and latches the position the motor's encoder within 30 seconds of its occurrence.
  • The product detect sensor (also PNP output type) is fed into the first of the user inputs and used to generate an interrupt to the program.
  • A web break sensor (not shown) can be placed somewhere in the path of the label stock to give an immediate signal to the SmartMove to allow it to react accordingly. This could be the STOP input.

This is a description of the apply cycle, and can be used regardless of the actual label size. I approached this problem using one of Mint's "following" modes. This apply cycle is very similar to a flying shear cycle. First the label must ramp up to speed that matches the product passing by, then lock to the same speed as the product while the label is being applied, then ramp down to a stop and position the next label on the peel bar for the next apply cycle. The cycle starts as soon as the product present sensor reports activity. At this time, the program will command that the required distance (in master encoder counts) pass until the product to be labeled appears at the peel bar. I gave this a variable name of applyDelay. This is done because the sensor cannot always be mounted at the peel bar proper. It is possible for this value to be finely adjusted by the operator as the system is applying labels using the optional operator's panel through software control. Using the example code provided, (see figure 3) when the predetermined distance has passed, the servo will position lock to the master encoder and perform the required flying shear cycle. Assuming the following values, let's see how this problem is handled using Mint.

Assume the following:

  • The master encoder is mounted on the product conveyor with 1000 pulses per rev (4000 quadrature) and there is a 12" circumference pulley on the encoder which would yield .003" per encoder count.
  • The slave servo motor is likewise mounted with a 1000 line encoder driving a set of pinch rollers (nips) with a 2" circumference which yields .0005" per encoder count.
  • 3" label
  • Product detect sensor is located approximately 1" away from the edge of the peel bar.

We will ramp up to speed in 1/8 inch of the master encoder which is calculated as (.125/. 003) or 41.6 (rounded to 42) encoder counts. This equates to a relationship with the slave motor of (.125/. 0005) or 250 encoder counts for the same distance. In a flying shear application, the relationship between the master increment value (MASTERINC) and the fly value (FLY) are as shown in the waveform of Figure 2.

Flying shear diagram

In the following example code, the BOLD type is the actual Mint command:
#IN0
This is the header that defines the beginning of the interrupt routine. I used input 0 as the product detect.
MASTERINC = applyDelay
Defines the 1" distance over which the master will be in control of the next FLY statement. In this case, 333 encoder counts of the master or how long to wait for the product to appear at the peel bar or label dispense position after being detected by the sensor.
FLY = 0 : GO
Tells the slave motor to do nothing for the duration of the preceding MASTERINC value.
MASTERINC = 42
Defines the distance over which the master will be in control of the next FLY statement expressed in master encoder counts in 1/8" (125/.003 = 41.6)
FLY = 125 : GO
The acceleration phase of the flying shear, which in this case is defined as 1/16" which, is half of the master value. In calculating this number it is such that for the slave axis to ramp up to a 1:1 relationship with the master, it must cover half the distance as shown in figure 2. (.0625/.0005 = 125)
MASTERINC = 917
Defines the distance over which the master will be in control of the next FLY statement expressed in encoder counts as 2 æ" (2.75/.003 = 916.6). (this could also be expressed as a variable ie. labelLength)
FLY = 5500 : GO
The position locked phase of the flying shear, which in this case is defined also as 2 æ" (slave encoder counts) at a 1:1 ratio with the master (2.75/.0005 = 5500)
MASTERINC = 42
Defines the distance over which the master will be in control of the next FLY statement expressed in encoder counts as 1/8"
FLY = 125 : GO
The deceleration phase of the flying shear, which in this case is defined as 1/16" which, is half of the master value. In calculating this number it is such that for the slave axis to come to a stop, it must cover half the distance as shown in figure 2.
PAUSE IDLE
Wait for the slave axis to halt motion
MOVEA = FASTPOS + peelPos : GO
While the flying shear was being executed, a label edge passed beneath the label edge detect sensor that is connected to the FASTPOS input. When this happened, the position of where the slave axis encoder was at that time (within 25-30seconds) was strobed into the FASTPOS register. When the apply cycle is completed, the axis is demanded to move to the position which is equal to where it found the edge plus the value the operator wanted the label to be hanging off the peel bar. In actuality, peelPos is defined as the distance from where the sensor detects the label edge, to where it hangs off the peel bar.
What this extra move accomplishes is to guarantee that the label starts out on the same place on the peel bar from dispense cycle to dispense cycle. It can correct for any change in label size or slips that may have occurred on the last dispense cycle automatically.
PAUSE IDLE
Wait for the motion to complete, which will put the label at the proper position to allow another dispense cycle to happen.
RETURN
Commands the interrupt cycle to return to the mainline program which would be doing things like looking for a change in delay apply etc.

The above example would not be all the code necessary to accomplish the application. What is shown is just the apply section of code. There could also be a routine that automatically measured the length of the label or would allow the operator to input the distance between the actual position of the product detect sensor and the peel bar, etc.

 
Email us for further information