Compressor Antisurge Control Algorithm

A

Thread Starter

Ahmed

Hi every body,

I'm working on an anti surge control for the centrifugal compressor and I need to configure an equation on the PLC to control the minimum flow to the inlet of the compressor. I think the PID function that is available on on the PLC DOES NOT REALLY FIT TO THIS operation, because the PID will try to move the anti surge valve to fix the measurement near the setpoint. however the surge control is based to bring the operating point far than the setpoint. please help me to figure out how to configure a mathematical equation with three action P, I, and D to achieve at a good control.

Thanks for your help.
 
Hi

Implementing anti-surge protection via PID in PLC is a hefty task in my opinion. I would ask you to go with dedicated Antisurge controllers for this purpose. In our plant we are using 4 antisurge controllers (one for each stage). These are made by Siemens. You can use them with ease.

Regards
SB
 
Dear Ahmed,

what is exactly your problem?

All the anti-surge-control I have seen so far were all based (in the end) on simple PI-controllers, whether they were programmed with a PLC or not. Anti-surge control normally is based on a compressor's map including data for the real, physical surge line of the compressor and several protection and control-lines with fixed margins related to the surge line. These lines need to be implemented within the control software by using function-generators (or "Tables") giving the surge-control a minimum-flow setpoint (with a safe margin to the real surge line) to keep the operating point far away from critical area by PI or PID-control.

Believe me: using a well tuned PI-controller basically is a good approach. But I think you will not need a "D"-component. I never needed it and I've done a lot of anti-surge commissioning and I've seen a lot of different concepts from different OEMs or third party suppliers.

Let me know how we can help you in detail!

Bye,
Marco
 
Hi Marco,

Thanks for this answer, all what you are saying is correct, the PI controller can complete the job as a surge controller, however there is one point to be clarified, let's say the OP (operating point) is on the surge control line, the deviation is now 0%, the anti surge controller keep the valve at its position? or it will try to open it? or will try to closed it?

on the other hand if the the OP is slightly in the right of the surge control line as example the deviation equals to +2%, the controller now has to bring back the deviation to 0% by opening the anti surge valve or to close the anti surge valve because the OP is far than the surge control line (the OP is in the right of SCL)?
I think the anti surge controller should not bring the error at 0% but it should act in order to try to close the valve if the deviation is positive and to open the valve it the deviation is negative. somewhere there is a special function that acts as a PI controller.
Please check the software which are you working on, you may find something for me.

thanks so much.
Ahmed.
mail: farouk.aziz [at] yahoo.fr
 
Dear Ahmed,

I think now I can see the problem you're having. It's all about understanding of the basics. Assuming we are talking about natural-gas-compressors (NGC), the anti-surge-valve is a controllable valve between the discharge side and the suction side of the NGC. The purpose of this valve is to recycle already compressed gas back to the suction inlet in order to increase inlet flow. And this is one of the most important points: it only can INCREASE the flow, by OPENING it. Of course once you opened the anti-surge-valve, closing it again will decrease the flow, but only in the meaning of taking back the additional flow caused by an open recycle path.

While there exists hundreds of different philosophies of anti-surge-control, it is a problem to define general terms and rules, but basically it is most common to say:

Anti-Surge-Valve full closed position is 0%
Anti-Surge-Valve full opened position is 100%

Calculating the deviation is done by subtracting the Process-value (PV) from setpoint (SP) and not the other way round.

Regarding this, calculating the deviation of anti-surge control leads to negative deviations in the right area of anti-surge-control-line (SCL)-->SP(Lower value)-PV(Higher value)=(negative)DEV. Therefore the deviation is always positive in the left area of SCL.

Assuming that the control-gain-value is not negative and that the deviation becomes positive (left or critical area of the SCL), due to decreasing inlet flow conditions of the plant, the PI-Controller will increase its output (control-value=CV) until 0% of deviation is reached. Increasing CV means opening the anti-surge-valve. And as long the outer flow- and pressure conditions do not change, the PI-Controller indeed tries to "hold" the deviation at 0%. But in the case the outer conditions are changing and the inlet flow of NGC increases, due to more incoming gas from the plant, the deviation will slightly become negative causing the PI-Controller to close the anti-surge-valve again until it's fully closed. Now the question is: What happens if the inlet flow of NGC still increases? Answer: nothing! In fact the PI-Controller "sees" more and more negative deviations, but as CV normally is limited to it's natural limits (0% to 100%), CV will not become negative or less than 0%. And this brings us back to the point I mentioned above: the anti-surge-valve can not decrease the inlet flow! It can only increase the flow, or take back the increased flow. Or to put in other words: the anti-surge-valve can only decrease the flow until it is not fully closed!

The end of this story is, by using simple PI-Control the NGC will always operate from SCL as far away as possible and the PI-Controller will never decrease flow, when it is not needed. It only takes back the re-cycle-flow as soon as possible.

You got my point?
If you have any more questions, I will be glad to answer them here on control.com!

Best wishes
Marco
 
Dear marco,

Thanks for these details, they give a good understanding.
Just I want to inform you that this configuration will be done on a PLC Allen Bradley Control-logix.

The problem now how to find out a simple configuration of an additional equation to predict that the surge will happen, that mean to say how to anticipate the opening of the antisurge valve when the OP is moving quickly to the SCL from the operating region to the surge region.

I appreciate your help.
Thanks
Ahmed.
 
Dear Ahmed,

ok this is one of advanced features of a good anti-surge-control system. My standard recipe for creating a kind of "predictive surge protection"is this:

Calculate the differential of the flow with exact the same dimensions as used in the compressors flow map (x-Axis), but first "de-noise" it (just a little bit) by using a first-order lag function.

Then subtract this value, which gives you the rate of change of flow per second, from the current flow. The result is the estimated new flow to be reached if the rate of flow change will be constant for at least one second.

Compare this estimated new flow operating point with the minimum flow set-point the table of "SCL" gives you. If the estimated flow goes beyond minimum flow defined by SCL there are three possible, common standard actions you can choose:

1. Fast-Open the hot-recycle/surge-protection valve AND the anti-surge-control-valve. If the protection valve and anti-surge-control valve both are full open, close the protection valve first and then the anti-surge-control valve (very slowly).

2. Add an offset on "CV" of surge-PI-controller and then back-it-out very slowly after a certain period of time or as soon as crossing a certain safe margin right-side of SCL

3. Increase the GAIN-parameter of the PI-Controller and take it back after crossing a certain safe margin right-side from SCL.

Actually the "back-out" or "taking-back" of the actions mentioned above is the real challenge and needs a lot of attention. If not adjusted and tested properly and carefully this whole thing could swing-up, especially if closing of the valves or if taking-back of CV-offset causes this protection function to re-trigger itself.

Please always consider the "natural" or "normal" changes of flow in left direction while loading the compressor after start-up of the unit (for example).

With an Allen&Bradley-ControlLogix-Controller and RSLogix5000 the function you should use for creating the minimum flow-setpoint-curve is called "FGEN". Just feed this function with arrays of values for flow and differential pressure, representing the desired Surge-control-line (SCL) and relate every thing to this line by using offsets of map-margins.

Hope this helps!

Bye,
Marco
 
Hi Marco,

What do you mean by denoise the measured flow.
does RS5000 has the 1st order Lag function, I know that the Mark6 has this function,but I don't see that anywhere in Allen Bradley software.

Thanks for your help.
Ahmed.
 
Dear Ahmed,

sorry for this late reply. I've been very busy and then on holiday. All this time I didn't had access to my computer with RSLogix-Software. Today I checked that in RSLogix5000 v16.00 you can find the 1st order Lag-function in the "process"-function-block-library. Actually it is a combined lead-lag-filter called "LDLG". By setting the lead parameter to zero you get a pure 1st order lag function.

Basically the inlet flow of a centrifugal natural gas compressor is measured as differential pressure across the so called "impeller eye", which in fact is nothing more than a slight restriction of the area (=orifice) on the suction side of the compressor's case. Depending on the range, scaling, time-resolution and scan-rate of this differential pressure, the resulting signal can be very "nervous" having a lot of "noise" or disturbances superposing the wanted signal. This noise especially can become an issue when using the calculated differential or increment for a predictive anti-surge control. A 1st-order lag filter should help you to overcome this problem. This is what I meant with "denoising" the measured flow.

Hope this helps!
Ciao,
Marco
 
Hi,

I'd like to know some basic details.

1. My PI controller will control operation of my recycle valve, But please tell me about PV and SP to this controller

Does Pressure+Temp act like PV, if yes please tell me any calculation is required?

2. Does Flow act as SP?

3. From which plot i can select my SP value?will my SP (flow) vary with Pressure? or i can give a constant SP?

Please explain with simple blocks
 
Hi Marco,

I need a usual way to implement the "back-out" or "taking-back" actions mentioned in your explanation.

Could you show me an example?

Thanks!
Edson
 
sir,
i want the surge values numerical formula in terms of pressure dp and flow dp for a centrifugal compressor
 
AOA Mr. Ahmed,

I was wondering, were you able to program the algorithm for surge detection and what about the choke detection. What do you suggest should we go for a dedicated Anti Surge Control or you suggest that it is not as difficult as it seems and is doable via self algorithm.

Please SMS me I will call you.
Atif (00971552002714)
 
Dear Marco,
I dont have practical experience of how to commission antisurge controller during commissioning. Appreciate if you can explain or please send me very basic document for better understanding.
[email protected]
 
Hi,

For a typical surge controller you may use a PI controller (where 'D' is not applicable due to it is a fast response process). The PI detail as follow:

PV = Compressor DP (Discharge - Suction)
Setpoint = Q2 [ P2 T1 / P1 T2 ]
where
Q2 = Discharge Flow;
P1 = Suction Pressure;
P2 = Discharge Pressure;
T1 = Suction Temperature;
T2 = Discharge Temperature;

However, this PI formula is NOT the best solution for axial / centrifugal compressor's anti surge control. This PI is a fast response and may hurt your valve.

You may get a dedicated anti-surge controller from CCC, woodward, tri-sen, Triconex for appropriate solution.

For anti-surge controller, you need to map your compressor's surge curve / surge limit line inside PLC. Then create an immaginary line with a margin from SLL and called Surge Control Line (SCL)

Your need to convert the condition of suction & discharge of process: Pressure, Temperature, flow, MW to a point in a x-y axis map and this point is called Operating Point (OP)

The anti-surge system have to control the OP point on the right of SCL. If OP is moving leftward toward SCL, your algorithm shall open Anti-Surge Valve (ASV).

Since Compressor surge may be repeatable once it happen, your PLC program may need to have extra features to handle repeatable surge such as Surge Minimum Position or shift the SCL right ward for earlier response and etc.

Compressor Anti-surge controller is not a simple topic that can be explain in block. It better you use dedicated controller.
 
I need your guidance now w r t Antisurge algorithm configuration in UCP.

I have antisurge writeup from manufacturer. wherein it calculates margin to surge by function suction pressure, inlet flow element delta P, discharge pressure. They have surge values at difff flow conditions. How to implement it in software now?

Also want to understand how standard manufacturer given pressure ratio vs flow curves can be fitted into this?

Regards,
Chetan Chavan
 
Top