Hello all,
I am using a PowerFlex 700 (Rev 10.001) to maintain tension in a web. We're reading lbs from load cells under one of the rolls, feeding that to the ControlLogix, coming up with a torque setpoint for the drive, then sending that over EIP as [drive]:O.TorqueSetpoint1.
In the drive, par 88 is set to "Torque Reg."
The PF700 manual is extremely sparse on details regarding torque reg control, but I'm assuming par 527 "Kp Torque Reg" and 528 "Ki Torque Reg" are the applicable tuning parameters. The 2022 PF700 manual does not mention these parameters, but an old 2006 document does discuss torque control briefly and mentions 527 and 528.
My issue is this - at certain web speeds, the web tension varies wildly, swinging +/- ~1500lbs for a 1700lb setpoint. This happens in our middle speed range, and once we get above or below that speed, control settles out. If operation calls for running at that speed, tension swings continuously, threatening to break the web and possibly damaging our equipment.
Here's a trend of the phenomenon (this is not the most severe swinging we see, but it demonstrates the behavior well):
Red is the measured web tension.
Green is the desired tension setpoint.
Purple is overall web speed.
Blue is tension control motor RPM via encoder feedback.
Yellow is the O.TorqueSetpoint1 signal from PLC to drive.
Orange is the motor current feedback from the drive - each step is 0.1A.
As you can see, it starts out stable, enters a period of high instability, then at a certain speed levels out. As mentioned, if we stay in that mid speed range, the oscillations will continue indefinitely. The actual motor RPM is swinging per the blue line, but the motor output current (orange) appears to be perfectly stable in that oscillation zone.
Here's what I've tried:
- Adjusted Kp and Ki Torque Reg to absolutely no effect - not better, not worse, no effect. I can nearly zero them out and I can make them 10-100 times their original value and there is no change whatsoever in response. The parameters are currently set to the drive default parameters of Kp=32 and Ki=128.
- For fun, I adjusted the other Kp and Ki values in the drive, but they also had no effect, better or worse
- Stopped the incoming motor and ran purely off the compensator before the tension control motor - no change, the previous motor and compensator aren't inducing the swing.
- Monitored the motor after the tension zone - a small cycling effect is seen on that motor, but I assume it is in response to the swinging tension and not driving it
- Held the O.TorqueSetpoint1 value constant, oscillations continued
- Configured the program to detect an oscillation condition and hold the O.TorqueSetpoint1 value constant to ensure I'm not exacerbating the issue (you can see the yellow line go flat during oscillation).
I do not know when this phenomenon began, we keep 1 month of historical data and I can see it happening a month ago, but it has not always happened. I am not aware of any physical changes to the machine or the material. I can't detect any backlash in the tension control motor/gearbox. I do not know "what changed" that initiated this behavior. There have been no major intentional or unintentional modifications to the machine, instrumentation, or program.
Different materials do react differently. Some are unstable until we are over 30ypm, and some materials flatten out by 22ypm.
Maintenance wants to change out the motor encoder and has one on order, but I am not convinced that a bad encoder would act this way - I'd expect a complete failure and not a weird oscillation in one speed zone. It's also very strange to me that the tuning parameters in the drive have no effect. At the very least I would expect to be able to make it worse, but I can't even do that.
Any thoughts on next steps? I'd hate to hang my hat on the encoder being the issue and get caught with my pants down when replacing it doesn't cure the problem.
I am using a PowerFlex 700 (Rev 10.001) to maintain tension in a web. We're reading lbs from load cells under one of the rolls, feeding that to the ControlLogix, coming up with a torque setpoint for the drive, then sending that over EIP as [drive]:O.TorqueSetpoint1.
In the drive, par 88 is set to "Torque Reg."
The PF700 manual is extremely sparse on details regarding torque reg control, but I'm assuming par 527 "Kp Torque Reg" and 528 "Ki Torque Reg" are the applicable tuning parameters. The 2022 PF700 manual does not mention these parameters, but an old 2006 document does discuss torque control briefly and mentions 527 and 528.
My issue is this - at certain web speeds, the web tension varies wildly, swinging +/- ~1500lbs for a 1700lb setpoint. This happens in our middle speed range, and once we get above or below that speed, control settles out. If operation calls for running at that speed, tension swings continuously, threatening to break the web and possibly damaging our equipment.
Here's a trend of the phenomenon (this is not the most severe swinging we see, but it demonstrates the behavior well):
Red is the measured web tension.
Green is the desired tension setpoint.
Purple is overall web speed.
Blue is tension control motor RPM via encoder feedback.
Yellow is the O.TorqueSetpoint1 signal from PLC to drive.
Orange is the motor current feedback from the drive - each step is 0.1A.
As you can see, it starts out stable, enters a period of high instability, then at a certain speed levels out. As mentioned, if we stay in that mid speed range, the oscillations will continue indefinitely. The actual motor RPM is swinging per the blue line, but the motor output current (orange) appears to be perfectly stable in that oscillation zone.
Here's what I've tried:
- Adjusted Kp and Ki Torque Reg to absolutely no effect - not better, not worse, no effect. I can nearly zero them out and I can make them 10-100 times their original value and there is no change whatsoever in response. The parameters are currently set to the drive default parameters of Kp=32 and Ki=128.
- For fun, I adjusted the other Kp and Ki values in the drive, but they also had no effect, better or worse
- Stopped the incoming motor and ran purely off the compensator before the tension control motor - no change, the previous motor and compensator aren't inducing the swing.
- Monitored the motor after the tension zone - a small cycling effect is seen on that motor, but I assume it is in response to the swinging tension and not driving it
- Held the O.TorqueSetpoint1 value constant, oscillations continued
- Configured the program to detect an oscillation condition and hold the O.TorqueSetpoint1 value constant to ensure I'm not exacerbating the issue (you can see the yellow line go flat during oscillation).
I do not know when this phenomenon began, we keep 1 month of historical data and I can see it happening a month ago, but it has not always happened. I am not aware of any physical changes to the machine or the material. I can't detect any backlash in the tension control motor/gearbox. I do not know "what changed" that initiated this behavior. There have been no major intentional or unintentional modifications to the machine, instrumentation, or program.
Different materials do react differently. Some are unstable until we are over 30ypm, and some materials flatten out by 22ypm.
Maintenance wants to change out the motor encoder and has one on order, but I am not convinced that a bad encoder would act this way - I'd expect a complete failure and not a weird oscillation in one speed zone. It's also very strange to me that the tuning parameters in the drive have no effect. At the very least I would expect to be able to make it worse, but I can't even do that.
Any thoughts on next steps? I'd hate to hang my hat on the encoder being the issue and get caught with my pants down when replacing it doesn't cure the problem.