ControlLogix PID Setup

JamesWSY

Member
Join Date
Jul 2005
Location
Jakarta
Posts
81
I have difficulties to setup clx PID for dancer control, the SP is tension ref and PV is dancer feedback position. How to have correct PID setup to maintain dancer in require position? Any tips or suggestion?
Thank you.
James
 
For a typical unwind app:

Setpoint = dancer mid-position
Process Variable = dancer actual position
Control Variable = unwind speed trim (+/- on line speed ref)

Tension is determined by downward pressure on the dancer.
 
Thank you for reply. Attached is the layout of dancer feedback position. The left is 0v, mid-position is 4v and right position is 8v. The next process is winder roll. I want to maintained the dancer mid position, in this position winder speed will equal to line speed and in left position (0V) winder speed = line speed + dancer trim speed. I use controllogix PID, SP=dancer mid position (in this case 4V, PV=dancer position and CV is trim speed to winder drive. This CV will scale to 20% of line speed. How setup pid to reached stability? I have difficulties to maintain dancer in mid position. Any idea or suggestion?
James
 
More information is required.
In your post just above, you also seem to be implying some confusion about speeds...
Is this a Center-driven winder? or a Surface driven winder? If center driven, you need to compensate for buildup, and the winder speed (RPM) will not be constant to line speed. If it's a surface winder, things are easier.

What is your build-up ratio? With 20% dancer trim, you can only build up by 20% before losing control in PID.CV + LineSpeed configuration.

Are you sensing or calculating diameter? Knowledge of the actual roll diameter changes the way winders are configured.

With diameter information, I generally do something on the order of:

Winder_Spd_Ref = ((Pct_Line_Spd + (PID.CV * Pct_Max_Trim)) / Roll_Circum)

Pct_Max_Trim is normally 5 to 10%

The goal, is to try to keep the dancer PID.CV as close to zero as possible.

Without diameter information, you are limited pretty much to 100% dancer control, either as a pure reference:

Winder_Spd_Ref = PID.CV

or Subtractive (to force a starting bias from line speed):

Winder_Spd_Ref = Pct_Line_Spd - PID.CV

In the last two cases, the PID.CV will have to have a much greater trim range, often approaching 80 to 100%, and (first case) will start high, and work down as the roll builds, or (second case) will start low, and work up as the roll builds.
 
Last edited:
Thank you for reply.
Yes that winder rpm will decrease if diameter increase. The winder type is surface/center dual direction turret. The diameter calculation is base on formula Intg(Line_Spd_Fdbk)/Intg(Winder_Spd_Fdbk). The buildup ratio is 5.1, line speed is 200 MPM. How to calculate dancer speed trim base on buildup ratio?
 
The winder type is combination between surface winder and center winder. I use one drive on winder surface and other drive in spindle section. The constant tension will apply to spindle section using dancer roll.
 
What are you winding?
Is line speed determined by something up-stream of the dancer?

I use the PI function block for dancer control with line speeds up to 3000 FPM (~800 MPM).

Your descriptions and diagram are a bit vague but seem similar to the tissue rewinders that I am familiar with.
 
We have embossed film (plastic) line with 25-100 microns thickness,30-300 MPM speed, buildup ratio is 5.1. The line speed we get from previous section (pull roll section), we mount the encoder in motor shaft to measure rpm, the encoder is connected to 1756-HSC module. I have the problem to maintain dancer in mid position, Itry to use clx PID but difficult to calculate the dancer trim speed is roll diameter increase > 20%. May I need to multiply the dancer trim speed with buildup ratio, this is correct?
 
Hi..
From PID.CV, I got the positive trim and the CV=0 if dancer in mid-position. If dancer move forward the I need negative trim to reduce winder speed. In the mid-position, error=0 and cv=0 if dancer move forward (PV>SP, error=negative), cv=0. How to get the negative trim?
Thank you for any idea or comment.
James
 
JamesWSY said:
Hi..
From PID.CV, I got the positive trim and the CV=0 if dancer in mid-position. If dancer move forward the I need negative trim to reduce winder speed. In the mid-position, error=0 and cv=0 if dancer move forward (PV>SP, error=negative), cv=0. How to get the negative trim?
Thank you for any idea or comment.
James
Have you got a low limit on the output?
Perhaps if you can post the code for your dancer loop I or others may spot something.
 
Offhand, I don't remember the limit's for the CLX PID instruction, but I vaguely remember them as being 0-100% output. If that is the case, then 50% is the mid point. If you need the output scaled to +/-100%, just take:

(PID.OUT - 50) * 100%

You can change the scaling factor if you need a smaller trim band:

(PID.OUT - 50) * 5% for example

When the loop is disabled (SWM = True), manually put the .SO to 50. The polarity of the final output term will be dictated by your configuration, in general, a winder will run with a PV-SP equation, and a positive error will cause it to speed up, while a negative error will cause it to slow down.

Also, the action of the loop you describe, does not look like a PID, but rather a P-only. An active PID on a system will almost always have some I (Integral) output to maintain the feedback element at the setpoint value. At the case where FBK=SP, then it is running purely on the integral (time-accumulated) error value.

The 'special case', where a winder PID output would be zero, is if you are using feed-forward of a speed reference signal, with very accurate compensation for build-up.

How are you calculating diameter again? On high-speed machines, using purely the line-speed/winder-speed ratio will in almost all cases cause a destructive diameter calculation during a ramp. In that case, the PID trim must be opened up, or the diamter calculation must be frozen if there is a dVelocity/dTime of the line speed.
 
Thank you for replies.
I do diameter calculation base on formula OD=SQRT( ID^2 + L * t / (pi/4) ) and maybe works with known thickness and core diameter. Today I try the machine, Dancer PID not works, the respons is to slow to maintain dancer mid position. I try to adjust the Kp and Ki and the response not change, stil slow. I try other way (just to count error between dancer mid-position, in backward I set the 15% dancer trim speed and -50% for forward position. It works with 100 MPM line speed. I try to calculate diameter using abouve formula and it works but dancer osilation is to high, dancer mid-position. How to setup PI function block for dancer loop? Any idea or suggestion?
James
 
There is no need to look at the file. I have no idea of your system, your material, the tensions, the resposes. Any numbers that I could toss out are pure nonsense.

Read through some of Peter's posts here on how to tune a control loop (search for PID).
 

Similar Topics

Morning all, Could anyone shed some light on whats happening with my PID Loop? On our plant we have a 'fast ramp' on the PID Instruction done...
Replies
14
Views
7,580
Hello, I have a PID that I am using for an oxygen valve that regulates the pressure. Often when the header pressure is too low, the output will...
Replies
4
Views
1,273
Hello all, I have a pump that has operational limits 15-100% Speed (9-60Hz). 1. On the PID instruction would you limit (.MINO=15% and...
Replies
21
Views
5,140
Why is my PID .PV (Process Variable) getting continually overwritten with some strange value every time the rung my PID Instruction is on goes...
Replies
4
Views
2,130
Hi there, I have a PID which I limit at MINO = 25% and MAXO = 100%. When the PID runs for the first time it takes time to start reacting at 25+%...
Replies
3
Views
3,058
Back
Top Bottom