RSLogix 5000 Ramp function block example

SAC

Member
Join Date
Oct 2005
Location
Mississippi
Posts
1
I have an application using AC drives driven from an analog speed reference. Each has a position command to run to with encoder position and velocity feedback. I need to have a smooth deceleration to the commanded position. Can a motion command like "move to position" be used with RSLogix 5000 if a servo module does not exist? Or is there a better way to do this?
 
I've done this with a PLC5 using a ramped analog output. It won't be nearly as responsive as a motion controller, but can be nearly as accurate. My machines each had 5 motors with resolver feedback from the driven devices. I let the operators set the decel distance in inches. The PLC would then calculate the speed reference so that it's output would ramp down to zero as the position is approached. I was able to position the devices within 1 or 2 resolver counts which equated to 0.05" in my application. The formula I used included a maximum speed, a minimum speed (to prevent stalling) and the decel distance. I used a CPT block to obtain the speed reference. I think my formula looked something like this:

spd_ref = dist_to_go / decel_dist * (max_spd - min_spd) + min_spd
if spd_ref > max_spd then spd_ref = max_spd.

Dist_to_go is the distance to go, or position error (target position minus actual position).
It worked great and saved us thou$and$ when compared to motion control. If you do something like this, set the decel rate in the drive to its minimum so that the drive can follow the speed reference as closely as possible. I used AB 160 series V/Hz drives. There are a lot of better drives on the market now that should perform even better.
 
SAC said:
I have an application using AC drives driven from an analog speed reference. Each has a position command to run to with encoder position and velocity feedback. I need to have a smooth deceleration to the commanded position. Can a motion command like "move to position" be used with RSLogix 5000 if a servo module does not exist? Or is there a better way to do this?

Curious...how does the cost of analogue output module plus encoder input module (HSCE?) plus additional programming effort compare with the 1756-MO2AE?
 
I believe that you can execute motion commands on the CLX without a motion controller by designating an axis as a virtual axis. This axis will then run at the course update rate. However, it will only produce command information. There is no loop closure. So you would need to be pretty sure about your axis exactly following your commanded speed.

For applications that aren't very demanding OkiePC's method works pretty well. I have used it also. It will produce a speed command that looks similar to a first order response to a step command to zero. This is like a capacitor discharge to zero voltage.

But Gerry makes a good point. How are you getting the position information into the plc and the analog velocity command out? These cards aren't free, as he points out. If you already have an HSE and an analog out you may feel stuck with them as you don't want to spend money on parts twice. But remember that time costs money, too. It doesn't take too many hours to pay for a 1756-MO2AE.

Keith
 

Similar Topics

Good afternoon, This is my first post with this website and I am also relatively new to ladder based programming (used mostly SAMA with DCS...
Replies
3
Views
5,044
Hi folks, in the alarm manager of Rslogix 5000, the tag-based alarm has been created. But when I tried to change the condition, it was found the...
Replies
2
Views
140
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
568
First off, I'm a hobbyist-level programmer, and this program isn't controlling anything anything that could even remotely be considered "life...
Replies
18
Views
511
Back
Top Bottom