Cascading PID Loop ???

ScottC0

Member
Join Date
Oct 2011
Location
South
Posts
6
I need a little help tuning this system.
I am using a SLC 5/05 processor.
What I have is a paint booth that requires me to be able to control the incoming and outgoing air flow to maintain a -.3 differential from inside the booth to outside the booth. Now for the fun part. I have an inlet fan and an exhaust fan. Both being controlled by PID loops.
My problem is at Lower CFM settings the exhaust fan is controlling to 98% output and the inlet fan is bouncing between 0 and 2% output causing my drive to fault out. How do I tune the two PID Loops so both fans are sharing the load?
 
At this point, I would say it is not a PID Control issue, it is a Fan sizing issue. If you are already at 98% on your Exhaust Fan, it is too small. To properly control this with a PID Loop, both fans need to be running around 50% at steady state to give you some control room.

Stu....
 
Thanks for responding Stu.

When I run both fans manually I can get to 5000 cfm and still have a negitive in the room. The problem is when I set it 2800cfm . That's when the exhaust fan takes over. It can pull the 2800 cfm's without the inlet fan running.

Again thanks for the help.
 
98 to 100%

The two setpoint I have are CFM and Dp the Dp stays set at -.3 and we set the CFM from 2400 to 4500 CFM.

The Dp set point controls the Exhaust Fan via PID Loop and the CFM set point controls the Inlet Fan via PID.
 
Can you put a device in the exhaust stack to measure CFM? If there are filters in the spray booth that get clogged during the process, then this CFM measurement can be the PID input variable for your exhaust fan to compensate for the DeltaP across the filters.

Then use the booth DP to control the inlet fan.
 
I agree the outlet fan motor seems to be too small.

Obviously the two PIDs will 'fight' each other.
It isn't a cascaded loop problem. The is no mention of speed control just the DP sensors.
This is an interesting problem.
I think this is a good application for more advanced techniques than simple PID. A few years ago there was a water mixing problem that is similar in many ways.

I would not have two independent PIDs because they will 'fight' each other.

I would have one PID control flow. The output from this PID is used by both the inlet and outlet fan motors. I would have one PID to control the differential pressure. The control output from this PID would also be used by both fan motors. The trick is the algorithm that combines the flow and DP control signals for each fan motor. It is obvious that both fans must have their control outputs increase when a high flow is required but the difference between the control signals to the outlet and inlet fan must be made bigger when a higher DP is required. When a higher DP is required the inlet fan may even need to be slowed down. Without more info it is hard to tell what is the best way to combine the signals. Linear quadratic control does about the same thing.
I will wait until more info is supplied.
 
The Inlet fan and the exhaust fan has it's own AC inverter and presently have a seperate PID Loop for each.

The Inlet Fan's CV is a CFM Setpoint entered by the operator. Min 2400CFM to a Max 4500CFM. PV is coming a Airflow Meter. 4 - 20ma. We have an analog output card (4 - 20ma) driving our Inlet AC Inverter for the Inlet Fan.

The Outlet Fan's CV is a Setpoint entered by the operator Min -.1 to a Max -.5. The PV is coming from a Dp sensor and Transmitter 4 -20ma. We have an Analog Output driving our AC inverter for the Exhaust Fan.

All Motors were sized and designed per the static pressure, so I don't think Motor size is a problem.

What other info do you need?
 
Do you have air leaks in the room. One way to get your inlet fan speed up is to seal the room and let the only air supply come from the inlet fan. The other option is to shut the inlet fan down under a predetermined CFM setting.

What I don't get is that in low CFM conditions the exhaust will be running at 98% with a differential of -.3 and at higher CFM conditions the exhaust fan is still running at 98%. It seems like the only thing that changes is the inlet fan speed and if this is the case you should see a DP change and nothing left in the capicity of the exhaust fan. I think you have another issue. Where is the DP sensor mounted?
 
Low side of Sensor is in the room and the high side is just outside the room.

At the top end of the range the Exhaust has to run wide open to maintain the -.3. We can run at 3400 and both PID's are working and outputs are 38% on inlet and 53% on outlet.
 
I am told that this system has worked well in the past, but someone messed with the program and started this problem.
 
I agree with Peter that it is not cascade control, but rather 2 separate controllers trying to control separate variables that are closely correlated. If the 2 loops have similar response speeds, they can interact with each other and oscillate. Interesting that yours don't oscillate. It is more like they fall off a cliff and peg, as if one loop has positive feedback, at least in certain operational ranges.

If not that, one solution might be to make one control loop more sluggish. I would think the inlet CFM controller can be slower. The exhaust controller is basically a "back-pressure regulator". It should probably be faster, since it sounds like maintaining room back-pressure is most critical.

To slow down the CFM controller, try lower gain (~1/2 of present), then maybe add more integral action so no long-term error. Similarly, you might increase the gain of the exhaust regulator loop and lower its integral action (to keep stable). More derivative action would also aid in stability.

Re more advanced control, your case was termed "multi-variable control" in process control texts when I was in school. It is really the same problem as any external disturbance to a loop, and merely interesting that the disturbance comes from a neighboring loop. The normal correction is "feed-forward action".

In feed-forward, the controller monitors variables that can mess up the controlled variable (say CFM for the exhaust loop) and starts correcting ahead of time so that the controlled variable is hardly affected. The correction can be a simple scaling, such as for every 1% increase in CFM, I need to reduce the exhaust fan 2% to hold Proom constant. Often, the "sensitivity" changes with level (base CFM), since flows are usually squared relations. Instead of linear, you could have any algebraic equation. Ideally, you apply corrections with the ideal dynamics by adding lead/lag blocks. Some PID boxes allow simple sensitivity type feed-forward action (often just on setpoint changes), but for anything more you need a PLC to implement the relations. Developing the relations usually involves making plots and curve fits (Excel).
 
Last edited:
I am told that this system has worked well in the past, but someone messed with the program and started this problem.

That is why I always save Backup upon Backup of PLC Programs. So, I can go back and see what it was like before someone improved it.

At this point, if you could post your RSLogix500 RSS File (Zip it first - Forum Rule), and we can look at it to see if there is anything obvious.

Stu.....
 

Similar Topics

Just curious to see what are some of the more favorable methods? I have never used one before and will be commissioning one in the near future...
Replies
4
Views
3,069
I am wondering if its a good idea to cascade pid loops. For example If I want to control two variables Current and Voltage. If i can feed output...
Replies
4
Views
2,772
Can someone help me understand cascading PID loops? We are controling a steam valve through a heat exchanger this way, and I am having trouble...
Replies
2
Views
2,997
Ok! I could really use some help getting off the ground with this one. I have in the past programmed cascading PID's but for some reason I...
Replies
0
Views
4,334
Good Evening , I have a Conveyor system that requires Speed Cascading from one conveyor to another. Meaning that if one conveyor speed is...
Replies
10
Views
2,599
Back
Top Bottom