Kinetix 6000 Servo Application

plcengineer

Member
Join Date
Jan 2004
Location
USA
Posts
176
Gents: I have an application that I am trying to control. I have a K6K Servo Drive and Motor with a CLogix Processor. I have an input signal for voltage coming from the Air Gap on the Welder. Basically, we have a Welder connected to the driven portion of gearing system.. The Rod is inserted into the driven portion of the unit and it is moved to the cathode side of the Welder. We want to keep the Air Gap at say 40V. The Air Gap is the distance from the end of the Rod to the Cathode. I am trying to use a PID to control the position but I am not having much luck.. For example, the PID has a SP of 40 V PV is Voltage Input from the Air Gap, CV is supposed to control position.. I tried putting the CV into the MAM go to position but I don't think it will work.. I want the CV to increase the position as the air gap changes.. So, if the Air Gap gets bigger, I need the servo to move in to get closer to the SP of Air Gap.. Then, if the Air Gap is too small, I need to back the Servo Out to get closer to the SP..

Does anyone have any suggestions? How could I go about doing this? Should I use a MAM?

thanks,
 
plcengineer said:
Should I use a MAM?

How is your PID calculating how far the axis needs to move?
How often is it doing the calculation?
What values will you use for velocity and accel/decel?

It seems to me that your CV should be velocity rather than position.
 
Actually, this is where I was having trouble with the loop.. I setup a PID with a SP for Airgap. The Airgap SP would be 40 V and the PV would be the voltage coming back from the gap. So as the Airgap changed, the PV Voltage would change. So, I have the loop setup to give me an output of 0-100% for the CV.. then, I tried to put the CV into the MAM Command Position.. I never tried it but I knew that this would not work. I guess that I don't understand how to set something up like this. It seems pretty simple but doing it is another thing.

I was thinking that I could set the drive up in absolute mode, then use the CV to commamnd the position. I really couldn't use incremental because if the PID adjusts the CV and we stroke the MAM instruction, it would keep moving the distance in the incremental command position.

I just want to enter in a SP of 40 V(for example) have a PID PV Voltage coming back to measure the Air Gap, then have the CV output adjust the position or velocity of the drive.. By the way, how do I adjust the velocity of the drive? I have never controlled a velocity loop..Should I be adjusting velocity instead of Position, if so please elaborate.. I did see in the Axis Properties where I could change the type from Position Servo to Velocity Servo..If the SP>PV, then the drive should move in to close the airgap.. If the SP<PV, then the drive should back out to open the airgap..

PID Settings: 1 Sec Loop Update Time, Accel/Decel 1%

Please elaborate on velocity vs position.. Just let me know the best way to set this up..
 
Last edited:
plcengineer said:
..If the SP>PV, then the drive should move in to close the airgap.. If the SP<PV, then the drive should back out to open the airgap..
This is the action you would expect if your PID output was controlling axis velocity.

Positive o/p - close the gap (velocity dependent on magnitude of o/p)
Negative o/p - open the gap
Zero o/p - zero velocity (no movement)

I've never worked with the Kinetix system, but I believe they only come with a sercos interface. I don't know whether you can control velocity directly with that interface. If you had a drive with the common +/- 10V analogue input, then I could imagine a possible solution.

To turn this into a position loop, you need some kind of 'black box' that can turn the voltage feedback representing air gap into a pseudo encoder signal.
 
I found in the Axis Properties where I can change the Mode of the Drive to Velocity.. it appears that the feedback is still position. What is the benefit of doing velocity vs a position loop.. I guess i could take the output of the PID and have that drive the velocity loop? I guess I really don't understand the velocity loop feature.


Would I have to scale the output of the PID to Position or would I make it 0-100%?

tks,
 
This feels like putting a square peg into a round hole. I believe that there are dedicated products available to do what you want. The K6K is meant more for point to point positioning, cam following, stuff like that.

That behind us, it would seem to me that you could sample the control variable of the PID instruction every Xmsecs and then make a incremental move with the servo proportional scaled to that control variable. I don't think you'll be able to setup a constantly updating loop but I'm sure someone will correct me. I'don't see a motion instruction that can do that.
 
Last edited:
Actually this is the right product for the job. We do the same thing on flash welders. Use the MAM to start your weld and put you position at whatever your final position is.

Then use a MCD to adjust your velocity during the move based off you your voltage feedback. The PID loop is not even really necessary but I guess it would work if your are more familiar with it.

What is your voltage feedback hooked to and how often does the velocity actually need to be adjusted for the voltage
 
TWC, isn't he trying to control gap of the tip to the weld? Your description sounds correct for the axis that is tracing the path of the weld. Or maybe I've got a bad visual on the application :unsure:
 
Yes, I am trying to control the AirGap at the tip.. Let me know how to do this???

Do I setup the drive as a velocity servo instead of a position servo? We are wanting to move the servo by jogging it into position, then put it in auto to keep the airgap. Can you give specifics of how to set this up.. Do I use the MAM to make the moves, then use the MCD to adjust based on the voltage.. Not sure how to do that??
 
Peter,


Is the error that you are talking about the CV or the SP-PV/PID.ERR? How would I setup the drive? Absolute Mode or Incremental Mode? I am thinking Absolute Mode and then scale the CV Output to Inches? Please give me some specifics on this..
 
Peter has pretty much got it right. Use the MAM as your basic move. Then look at your voltage (error). If it is high, your gap is too wide. Use the MCD to increase the velocity. If the voltage is low, the gap is too close. Use the MCD to decrease you velocity. This will make it very smooth.

We don't use a PID to do this so I don't know exactly what that will do to it but it may make it smoother. You may find it will hurt you in a welding application though because you may need more sensitivity. Example - The weld blows a chunk out, so the gap is way big. I PID will try to smoothly adjust and the weld may stall.

Personally I would use a Absolute Mode. I don't know your exact application but if you need to make other changes or do other things at certain stages of the weld it will be easier in Absolute mode.

What exactly are you doing with the rod. Is it being welder to another rod? If it is are you flash welding or are you butt welding?
 
Basically, this rod is being burnt and gases are being injected into a reactor chamber. This process is in the nanotechnology field so we are not exactly welding. We are capturing atoms that are created as certain rods burn. The rod is is the link between the anode and cathode of the welder to burn the rod. We want to keep the air gap constant but you did mention something that I have seen before. The chunk of rod may blow off and cause a big air gap.


Let me see if I get this correct... Set the drive up as a velocity and not position, use the MAM instruction for initial move. Now, do I have to keep initializing the MAM for the servo to move. Or, does the MCD take care of that? I am a little confused about that.. Also, I will set the drive up in absolute mode.
 
One way to control velocity would be to scale the output of your PID to suit and use that for the velocity parameter of a MAJ (jog) instruction. Strobe the instruction after each update of your PID. Enable 'merge' and select accel/decel and s-curve/trapezoidal for best operation.

I would be inclined to use function blocks rather than the ladder version of PID.

I would use position feedback to accurately control the position. This will make the position control stable. I would then use the error between the air gap voltage to slowly modify the command position. This is a cascaded loop.

Are you suggesting sensing the air gap with something other than the voltage?
I don't believe CLX will respond to a direct write to axis command position (if that is what you're suggesting).
 

Similar Topics

Hello All I have a machine built in 2013 but never commissioned. I have it almost complete. It has 2 Kinetix 6000's with a CompactLogix L43 with...
Replies
6
Views
1,198
The homing watchdog timer preset was changed to 60 sec from 30 sec due to servo homing taking too long. The home offset is around 180 degrees...
Replies
0
Views
1,928
Gents, I'm asked to check if an SEW servo motor with Hiperface encoder can be used with an Kinetix 6000 sercos servo drive. When I check the...
Replies
6
Views
3,500
Gents, I've an Allen Bradley Kinetix 6000 Sercos servo system with 2 motors on a rigid construction. Both motors have the same gear ratio to the...
Replies
2
Views
2,671
Hey everyone, Recently our maintenance department has been having all kinds of trouble with servo motors and i would like to build a servo test...
Replies
4
Views
2,181
Back
Top Bottom