Help with a control system

keristos

Member
Join Date
Aug 2011
Location
Malta
Posts
65
Hi all,

I am programming a control system which is controlling a blower using to increase dissolved oxygen in sewage. Using Compact Logix L33ER.

The loops are as follows:

Valve PID with a PV input being the DO from a sensor, CV is the valve open position. Setpoint is required amount of DO in sewage (user input)

Blower PID with PV being pressure, setpoint being pressure setting and CV being speed of blower. The setpoint can change (10 different steps) through a control loop with the valves, to keep the valves as open as possible, whilst keeping the blower on the lowest frequency.

Client also requested that a maximum and minimum airflow is kept and if the max or min is reached, the blowers must maintain this and ignore the pressure setpoint, since going below will result in there not being enough DO for the bacteria and going over can damage the system.

Do you have any ideas on how I could implement this request for min and max airflow?

Thank you in advance.
 
Last edited:
Hi all,

I am programming a control system which is controlling a blower using to increase dissolved oxygen in sewage. Using Compact Logix L33ER.

The loops are as follows:

Valve PID with a PV input being the DO from a sensor, CV is the valve open position. Setpoint is required amount of DO in sewage (user input)

Blower PID with PV being pressure, setpoint being pressure setting and CV being speed of blower. The setpoint can change (10 different steps) through a control loop with the valves, to keep the valves as open as possible, whilst keeping the blower on the lowest frequency.

Client also requested that a maximum and minimum airflow is kept and if the max or min is reached, the blowers must maintain this and ignore the pressure setpoint, since going below will result in there not being enough DO for the bacteria and going over can damage the system.

Do you have any ideas on how I could implement this request for min and max airflow?

Thank you in advance.

Hi, I worked on a lot of fan PID's for air handling units with Rockwell. What my customer wanted was exactly what you stated in your min/max requirements. What I did in my program was to put compare logic in so that if either logic or the HMI (or building automation in this case) were to enter a setpoint either above or below the min or max required, then the min or max required would be entered anyway. Example is if max supply fan speed was 17,000 cfm, and a setpoint of 18,000 cfm was entered, only 17,000 cfm would be written to the PID. Same for minimums. If it needed to stay above 9,000 cfm for instance, then if one entered or logic commanded say 8,000 cfm, then 9,000 cfm would be entered into the PID. Hope this helps. I can send you a snip of the logic if you'd like.
 
I made a business out of Dissolved Oxygen (DO) control and still do consulting on the topic. ( www.jentechinc.com ). The site includes a link to a book I wrote on aeration control.

The loops you describe are fairly common. Most blower manufacturers can provide the logic as part of their package. That may be more economical than developing your own. At the very least you should consider letting the blower manufacturer include the discharge pressure control in their equipment protection system.

There are lots of issues to consider. Control method, blower type, probe location, process type, valve sizing ... all have an impact. Like saultgeorge I avoided PID because these are very non-linear systems. I also suggest you avoid direct DO to basin control valve logic - it usually isn't stable and I've replaced a number of those systems over the years. It is better to have the DO loop cascade to a basin flow control loop, and have the basin valve modulate based on feedback from a flow meter.
 
Assuming you must use PIDs (see Caveat 1), you probably want cascaded PIDs, with DO PID 1 cascading a flow setpoint to a split-range PID 2, which output controls the valve position and the fan speed.

PID 1: the CV DO is controlled to a setpoint DO by an airflow output; the required min and max airflow limits should be the output limits; so if the output hits either limit the DO will effectively be ignored (any offset will not move the flow any further i.e. beyond the limits).

PID 2: the CV flow is controlled to a setpoint that comes from the output of PID 1; PID 2 has a split range output: 0-N% output runs the fan at it lowest speed (0) and the valve from 0% (closed) to 100% (wide open); N-100% output has the valve wide open and the fan running from speed 0 to 9 (or 1 to 10 if 0 is off).

Obviously there will be tuning issues to give decent control in either section of the split range output, which is where choosing the N% comes in.

I don't think pressure comes into it; that would over-constrain the problem. You could of course have the PID 1 DO control cascade its flow output to PID 1.5 setpoint, which has pressure as its output, and have PID 1.5 pressure output as the setpoint to the split-range PID 2, but that adds even more unnecessary complexity.


Caveats



  1. Either approach above, even "only" two PIDs, seems too complex for what you are trying to accomplish (see Caveat 2), although PID 1 does automate what keristos suggests. PIDs may be overkill here.
  2. Since "the best way to get the right answer on the 'net is to post a wrong answer," you should have the correct answer soon after someone reads this schlock (update: or before that even;)).
 
Last edited:
Hi, I worked on a lot of fan PID's for air handling units with Rockwell. What my customer wanted was exactly what you stated in your min/max requirements. What I did in my program was to put compare logic in so that if either logic or the HMI (or building automation in this case) were to enter a setpoint either above or below the min or max required, then the min or max required would be entered anyway. Example is if max supply fan speed was 17,000 cfm, and a setpoint of 18,000 cfm was entered, only 17,000 cfm would be written to the PID. Same for minimums. If it needed to stay above 9,000 cfm for instance, then if one entered or logic commanded say 8,000 cfm, then 9,000 cfm would be entered into the PID. Hope this helps. I can send you a snip of the logic if you'd like.

The issue is not with the user inputting the wrong terms, the issue is that my PID loop is controlling the pressure, but the client wants to limit max and min airflow - which isn't a variable I was controlling so far
 
I made a business out of Dissolved Oxygen (DO) control and still do consulting on the topic. ( www.jentechinc.com ). The site includes a link to a book I wrote on aeration control.

The loops you describe are fairly common. Most blower manufacturers can provide the logic as part of their package. That may be more economical than developing your own. At the very least you should consider letting the blower manufacturer include the discharge pressure control in their equipment protection system.

There are lots of issues to consider. Control method, blower type, probe location, process type, valve sizing ... all have an impact. Like saultgeorge I avoided PID because these are very non-linear systems. I also suggest you avoid direct DO to basin control valve logic - it usually isn't stable and I've replaced a number of those systems over the years. It is better to have the DO loop cascade to a basin flow control loop, and have the basin valve modulate based on feedback from a flow meter.

The brand of blowers being used are Sulzer HST Turbocompressor

Unfortunately the design and installation has already been done so I need to work with what I have. I also have 'requirements' for control loops which I need to follow.

I couldn't find any logic easily available online - I'm not sure if you meant they would provide it at a cost?
 
Assuming you must use PIDs (see Caveat 1), you probably want cascaded PIDs, with DO PID 1 cascading a flow setpoint to a split-range PID 2, which output controls the valve position and the fan speed.

PID 1: the CV DO is controlled to a setpoint DO by an airflow output; the required min and max airflow limits should be the output limits; so if the output hits either limit the DO will effectively be ignored (any offset will not move the flow any further i.e. beyond the limits).

PID 2: the CV flow is controlled to a setpoint that comes from the output of PID 1; PID 2 has a split range output: 0-N% output runs the fan at it lowest speed (0) and the valve from 0% (closed) to 100% (wide open); N-100% output has the valve wide open and the fan running from speed 0 to 9 (or 1 to 10 if 0 is off).

Obviously there will be tuning issues to give decent control in either section of the split range output, which is where choosing the N% comes in.

I don't think pressure comes into it; that would over-constrain the problem. You could of course have the PID 1 DO control cascade its flow output to PID 1.5 setpoint, which has pressure as its output, and have PID 1.5 pressure output as the setpoint to the split-range PID 2, but that adds even more unnecessary complexity.


Caveats



  1. Either approach above, even "only" two PIDs, seems too complex for what you are trying to accomplish (see Caveat 2), although PID 1 does automate what keristos suggests. PIDs may be overkill here.
  2. Since "the best way to get the right answer on the 'net is to post a wrong answer," you should have the correct answer soon after someone reads this schlock (update: or before that even;)).


That's how I would have done it, but the client requirements are that the system has 10 fixed pressure set points and the system hops between one set point to the next based on %open of the valves - aiming to keep the valves as open as possible whilst running the blowers at the lowest speed possible (effectively reducing power consumption).

Not sure what I can do since everything is installed and I've been subcontracted to do this.
 
... Not sure what I can do since everything is installed and I've been subcontracted to do this.

ugh, sorry I was so thick-headed. The PIDs are in place; they want you to add the flow limits.


Assuming some causal relationship on flow from pressure and valve position, can you override the both pressure and DO setpoints with some logic upstream of their PIDs when the flow goes beyond either limit? Because modifying any output downstream of either PID is going to generate reset windup, and modifying either PID's setpoint alone might cause the other to compensate and the flow to stay outside the limit. A process diagram might be helpful.
 
The issue is not with the user inputting the wrong terms, the issue is that my PID loop is controlling the pressure, but the client wants to limit max and min airflow - which isn't a variable I was controlling so far


You currently have a PID controlling pressure, but it doesnt need to be does it?

You really want flow rate of air. Your blower must create a pressure to drive that air flow, but I don't see a real reason to need to control it deliberately especially since you want to run the blower at as low of speed as possible to save energy.

Some thoughts:
1. I would have a PID control loop
PID loop for DO this is an cascade outer loop
SP = DO level required
PV = DO reading from instrument (filtered, and possibly averaged over a time period)
CV = Flow rate setpoint that is sent to flow control loop
CVmin= Min flow rate specified
CVmax=Max flow rate specified.
2. Inner casacade PID loop for air flow to VFD
SP= DO PID CV
PV= Flowrate reading from instrument
CV= VFD and valve.

You want to run with the valve fully opened and the VFD controlling the blower to lowest speed needed to satisfy flow. I'm guessing that there will be a minimum speed setup in the VFD so you are not trying to run the blower at too low of speed (15hz perhaps). If your flow setpoint is lower than the minimum speed on the blower, you will need to start pinching down the valve to decrease airflow to the process. You would scale the output of the PID loop to both the valve and vfd.
 
Yes - I meant that the blower people will sell full control systems as part of their product offering. The HST has a built-in controller, which will probably accept a 4-20 mA flow command from your control system as well as have the capability to adjust itself to maintain constant pressure. The HST controller will also have min and max flow adjustments, but this is probably based on blower characteristics and not aeration system limits. I suggest you contact Sulzer to see what capabilities they provided in this specific application.

The Sulzer HST is a variable speed centrifugal blower. With a centrifugal, as the basin airflow control valves close or open the system flow restriction changes, causing the blower airflow to change. Each basin valve adjustment also affects the flow to the other basins. The intent of pressure control is to indirectly manipulate the blowers into providing the airflow change desired. The theory is that if a basin valve closes more the pressure rises and the blower airflow reduces so the airflow ends up correct. Tuning these systems is problematic.

Here is a colleague in Italy that may be able to help you:
[email protected]
INVENT Aeration Services, S.r.l.
Via Castellazzo 4
20040 Cambiago (MI)
Italien
Tel: +39 039 02 310 52 184

These may also help:
https://www.blowervacuumbestpractices.com/search/node?keys=MOV
https://www.blowervacuumbestpractices.com/search/node?keys=DO+Control
 
Last edited:
ugh, sorry I was so thick-headed. The PIDs are in place; they want you to add the flow limits.


Assuming some causal relationship on flow from pressure and valve position, can you override the both pressure and DO setpoints with some logic upstream of their PIDs when the flow goes beyond either limit? Because modifying any output downstream of either PID is going to generate reset windup, and modifying either PID's setpoint alone might cause the other to compensate and the flow to stay outside the limit. A process diagram might be helpful.

No need for apologies, you're only trying to help!

That was my thought, of blocking the PID in the case of max air flow reached, but I am not sure how I would create the logic to get out of it.

What I plan on doing is switching the PV, PV min and max, and setpoint to be of the airflow, effectively changing the PID from pressure to airflow.

But then how do I check if I need to switch back to the pressure PID?

Should I instead copy the output setting at time of reaching max speed and apply that directly whilst keeping an eye on the PID until I notice enough deviation and switch back to PID? But if the valves keep moving in this period then the airflow is going to change again...ugh...maybe i should set those too...
 
Yes - I meant that the blower people will sell full control systems as part of their product offering. The HST has a built-in controller, which will probably accept a 4-20 mA flow command from your control system as well as have the capability to adjust itself to maintain constant pressure. The HST controller will also have min and max flow adjustments, but this is probably based on blower characteristics and not aeration system limits. I suggest you contact Sulzer to see what capabilities they provided in this specific application.

The Sulzer HST is a variable speed centrifugal blower. With a centrifugal, as the basin airflow control valves close or open the system flow restriction changes, causing the blower airflow to change. Each basin valve adjustment also affects the flow to the other basins. The intent of pressure control is to indirectly manipulate the blowers into providing the airflow change desired. The theory is that if a basin valve closes more the pressure rises and the blower airflow reduces so the airflow ends up correct. Tuning these systems is problematic.

Here is a colleague in Italy that may be able to help you:
[email protected]
INVENT Aeration Services, S.r.l.
Via Castellazzo 4
20040 Cambiago (MI)
Italien
Tel: +39 039 02 310 52 184

These may also help:
https://www.blowervacuumbestpractices.com/search/node?keys=MOV
https://www.blowervacuumbestpractices.com/search/node?keys=DO+Control

Thank you for the help and information, much appreciated :)
 
You currently have a PID controlling pressure, but it doesnt need to be does it?

You really want flow rate of air. Your blower must create a pressure to drive that air flow, but I don't see a real reason to need to control it deliberately especially since you want to run the blower at as low of speed as possible to save energy.

Some thoughts:
1. I would have a PID control loop
PID loop for DO this is an cascade outer loop
SP = DO level required
PV = DO reading from instrument (filtered, and possibly averaged over a time period)
CV = Flow rate setpoint that is sent to flow control loop
CVmin= Min flow rate specified
CVmax=Max flow rate specified.
2. Inner casacade PID loop for air flow to VFD
SP= DO PID CV
PV= Flowrate reading from instrument
CV= VFD and valve.

You want to run with the valve fully opened and the VFD controlling the blower to lowest speed needed to satisfy flow. I'm guessing that there will be a minimum speed setup in the VFD so you are not trying to run the blower at too low of speed (15hz perhaps). If your flow setpoint is lower than the minimum speed on the blower, you will need to start pinching down the valve to decrease airflow to the process. You would scale the output of the PID loop to both the valve and vfd.

Unfortunately the issue is that the client wants a pressure control loop. The way you suggested is how I would have done it as well.
 
Where is the pressure measured e.g. which side of the valve?


I assume the valve is between the fan and the process (waste water); is it close to the fan or to the tanks?


How (and where) are they measuring flow?


I just realized you said the pressure targets could be abandoned if flow is too low; I thought it was DO that could be abandoned.


A P&ID would be helpful.




Also, the OP mentioned

  • Valve position controlling DO CV to a DO setpoint
  • A pressure "control loop with the valves"
Is there more than one set of valves being controlled? Or is it multiple control valves all using the same output signal.
 
Last edited:
Unfortunately the issue is that the client wants a pressure control loop. The way you suggested is how I would have done it as well.

So have the DO cascade loop send a setpoint for flow control to the valve.

Like others have said it would be helpful with a P&ID sketch. If you need to control valve inlet pressure, then the pressure PID loop would use valve inlet pressure as PV and the CV would modulate the VFD speed. You cannot control valve outlet pressure, and valve flow independently. The valve outlet pressure will be a function of the flow rate, nozzles, air density, water density, water head, etc.
 

Similar Topics

Dear All, Basically there are 8 conveyors as shown. Each conveyor will be controlled by a Siemens Micromaster 420 Drive. And each conveyors...
Replies
6
Views
7,899
Hello, I am trying to get a 32MV4341 Lenze AC Tech VFD running a conveyor to be controlled by a 24VDC photo eye on the nose end of the conveyor...
Replies
3
Views
1,917
"Hello, I am a beginner learning about PLC. Could you please give me some advice? I want to write PLC instructions as follows: When the sensor...
Replies
18
Views
3,369
Hello automation experts, I'm trying to learn about servo axis control in AB ControlLogix PLCs (L33ERMS). Attached is an example of a servo...
Replies
4
Views
1,064
Getting a trend of the control output, target position and actual position is a must. For a velocity control application substitute velocity for...
Replies
8
Views
2,325
Back
Top Bottom