allen bradley kinetics 300 user units

3 posts in this topic

Have a machine with a allen bradley kinetics 300 servo and a compact logix plc.  Machine is working but trying to understand the user units and scaling a little better.

Motor has a pulley mounted that is 1.875 inches diameter. For one rev of the motor it moves a linear slide 5.890 inches ( approx 1.875 8 Pi). In the program there is a explanation that the inverse of this was taken 1/5.8904862 = 0.1697653.  The value of 0.1697653 is what is entered in the Servo controller through motion view as the USER UNITS.   In the program the operator will enter a value that the linear slide to move to. For example, move 10 inches then they enter a 10 in the HMI.  In the plc code there is a MOV command that Moves the value entered by the operator into a Tag for the servo that is defined as Servo_Drive:o.command position.  When the servo runs it moves the exact distance that is entered.  All of this works.  

In the servo under Index0 there is the following.  Index type = Incremental,  Move =Trapezoidal, Distance = 1.0000 user units, Register distance = NA, Dwell = 0, Velocity = 1.000 - user units/sec, Accel = 10.00 - user units/sec2,  Decel = 10.00 - user units/sec2,  Next Index = 0, Action = Stop.

The part i dont fully understand, with the above settings and the user unit set to value of 9.1697653 how does the drive know to move 10 inches when a value of 10 is placed in the Servo_Drive:o.command postion.

Could someone help explain in a way i could follow? I called AB tech support but no real explanation. They just referred back to the servo manual and can not find anything in the manual to explain in a better understandable way.  


Share this post

Link to post
Share on other sites

There are three related parameters in the drive:   Encoder Counts, User Units, and Measure Units.    

Encoder Counts of course is the number of counts per revolution of the encoder.   I think the Kinetix knows this value (often 128 or 1024 PPR) based on the motor part number.

User Units (parameter 181) is the number of motor Revolutions per "User Unit".   This is typically a floating point number that expresses the ratios in the physical drivetrain.

Since your slide moves 5.890 inches per 1 motor revolution, then the User Unit is 1/5.890 = 0.16977 revolutions per inch.

Measure Units are the number of User Units in a Measure Unit (parameter 676, an integer multiplier and parameter 678, a selector for micro-meters, meters, or inches).

When you command the drive to move 10.0 inches, it calculates 10.0  inches x 0.16977 revolutions /inch = 1.6977 revolutions.   It calculates the number of encoder pulses it needs to travel based on the Encoder Counts per Revolution.


Share this post

Link to post
Share on other sites

Thanks Ken, finally sunk in my old brain after i looked at it again.  

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now