• Not Answered

Understanding My Feed foward Loop

Hello,

I have a feedward control loop in DeltaV that is used to maintain 125# steam header pressure control from a 300# being brought in from somehwere else. We have a turbine that uses the same 300# to convert to 125# steam as well. So the pressure control is used to maintain 125# incase start-up or shutdown of turbine. When turbine trips to shutdown, it causes back pressure or pressure spikes and this is where the pressure control is used to control these spikes (or disturbances)

My module is built like this:

- FF_Val: This is a pre-calulated number from a CALC block (the calculation involves different  turbine speeds and whole bunch of other stuff) I believe this is the disturbance we are trying to catch before it effects the process variable pressure we trying to control 125#

-IN: This is the pressure measurement from the pressure transmitter we use to measure pressure on the 125#

-OUT: goes to valve

Below is of what happen when the turbine tripped a few times (yellow setpoint at 125 psi, blue is valve percent opening, and green is the pressure PV)

The pressure control works fine when process is normal and maintains setpoint of 125 psig. When turbine trips to shutdown, I notice on Process History, the pressure goes up to about 130psig and comes back down to about to 125#. During start-up of turbine, the pressure drops to about 104 psig, then back to setpoint. The turbine shutdown and start-up is the disturbance we are trying to control. 

Questions:

1. Since I have feedforward control, shouldn't f feed-forward control measure disturbances and compensate for them before the controlled variable deviates from the setpoint? It appears the PV goes above/below during disturbance. 

2. does my loop need tuning? Of course operations belives the pressure should stay at 125. how should the feedforward work.

3. Is this the way feedfoward suppose to work.

Thank you

12 Replies

  • Hi Darrell,

    1. yes, the ideal feedforward compensates your disturbance before it has an effect on the controlled variable. Of course the real plants are not ideal.

    2. if in normal operation mode (without disturbances) it responds good to a setpoint change, you don`t need to re-tune it. When was this loop last time tuned? By time the PID parameters may need adjustments because of the equipment wear, etc.

    3. usually you have a measurement of the disturbance, a deadtime block and a lead/lag block. In the lead/lag you set the value of the dynamic compensation (lead time, lag time, gain - these values you have to calculate), in the deadtime block you set the time between the disturbance appears and the effect of it on the controlled variable which you want to maintain constant (because you don`t want to pre-compensate).

    The out of the LL block should go then to the FF_VAL of the PID block.

    As I don`t know what is in your Calc block and I don`t know your process, I cannot tell you if that part can be used as the measurement of disturbance or not, but if yes, maybe you should have a try with a LL block as well. The problem is that you have to calculate the parameters of the LL.

    Currently your PID is overcompensating the disturbance, maybe you can try first to adjust that. You have the advantage that you need this pressure control to perform at 125 psig, and not on a wide range.

  • In reply to Adam Bagosi:

    Thank you Adam Bagosi for responding,

    Can you explain what you mean by "Currently your PID is overcompensating the disturbance"? Also what do you mean by "You have the advantage that you need this pressure control to perform at 125 psig, and not on a wide range."

    My problem is I don't know if this loop can be tuned to maintain setpoint exactly during real disturbance. I don't have enough experience to know how well a feedforward control loop should perform. Maybe this is a question for us to determine, can we live with this oscillation during disturbance.

    Thanks,

  • In reply to DCS Newbie:

    One more question.

    From the chart, during these disurbance the pressure ranges from 135 to 104 psig. The 135psig is ok for me. How can I prevent the pressure from dropping down to 104 psig during these disturbances?

    Thank you.

  • In reply to DCS Newbie:

    Hi Darrell,

    this is exactly why I said that maybe your feedforward solution is overcompensating the disturbance, because your pressure drops down to 104 psig (there is a positive disturbance in the system, but your PV moves toward the opposite direction). Of course this is ok if you say that for your system a lower pressure is a safer state. I would check what is in your Calc block, but your feedforward is not working so bad if the main idea is to protect the system from a high pressure jump. I don`t know how the graphic would look like without your feedforward solution...

    "You have the advantage that you need this pressure control to perform at 125 psig, and not on a wide range." - On a wide range you will not be able to find only 1 good set of parameters which would work properly for you. Most probably you would need different parameter values if you would like to have the same efficiency at 50 psig, 400 psig, etc. So you don`t have to think too much about the nonlinearities because you have a difined working point, this is what I meant by this sentence.

  • In reply to Adam Bagosi:

    Thank you Adam for responding.

    Can you please explain this part "(there is a positive disturbance in the system, but your PV moves toward the opposite direction"

    The control loop is working fine for now except for when these high pressure surges (disturbance) enter the system.

    I think I need to reduce the  Gain of the PID or reduce the FF-Gain to reduce the overshoot during these disturbances.

  • In reply to DCS Newbie:

    Hola Darrel, I know I am jumping in kind of late into the discussion but I would like understanding a little better your application. Could you draw a block diagram showing your loop, input, output and and where in the loop is the disturbance entering? What is what the control valve is regulating?

    If I understand correctly, whenever I see a decrease or spike in the PV below SP, will correspond to the turbine being started back up again. If so, it seems that the system itself is able of regulating back to 125# without turbine's help.

    Key in your feedforward control arrengement is time and where the disturbance enters the system. Is there any time delay from the time the turbine stops and the time the disturbance is observed? seems like not. When your turbine stops will it go from whaterver the speed is at the moment ot zero or will actually ramp? Is there any indication you could use in your CALC block to let it know the turbine is about to go down?

    Best Regards,

    Héctor

  • In reply to HECTOR H. TORRES:

    Darrell,

    "Can you please explain this part "(there is a positive disturbance in the system, but your PV moves toward the opposite direction""

    If I understood your process correctly: the turbine increases the pressure, the PID opens the valve too much (or leaves it open too much time) and your PV is decreasing. So you have a disturbance which would drive your PV in a direction, but the PID reacts a little bit too much and your PV is driven to the opposite direction.

    You can try to do some slight changes in your FF_Gain to see if you can achieve a better performance, just do not change too much in 1 step.

  • In reply to HECTOR H. TORRES:

    Thank you Hector,

    No you are jumping in right on time. Thanks for commenting.  The control valve is regulating pressure.

    Yes, I can draw a control loop block diagram and post for you.

    Let me explain a bit first: We have 300# steam entering the plant which is converts to 125# by three turbines that we use to for our plant use. The pressure controller does the same thing. It uses a control valve to maintain 125# from the 300# steam supply. The pressure controller is used as a back-up for the 125# header incase turbines are lost, the plant still maintains 125#. So think of the 3 turbines and 1 pressure controller all in parallel with each other. The input is 300# and output is 125#.

    The disturbance occurs when one of the turbines off, a back pressure (spike in pressure) and the pressure controller is used to control the disturbance. The disturbances that enter the feedforward pressure controller loop. These are pre caluclated to formula. So the pressure controller trys to control the spikes whiich occur very fast cause when the turbine shuts off, its an instance cut off of 300# steam, they not ramp down speed to turn off turbines, a steam valve is instantly closed. like a on/off valve.

    Currently, operations have no issues with the pressure control. But the question was asked how to prevent such wide swings during this pressure spikes. My answer was tuning.

    Yes you are correct is saying "whenever I see a decrease or spike in the PV below SP" is correct. yes the system regulates back to setpoint fine.

    When the turbine stops it is quick like an on/off valve. There is no ramp down.

    Yes, we have indication when the turbine trips off from measuring the RPM of the turbine and also from a DI from the turbine.

    Thanks for your all help.

  • In reply to Adam Bagosi:

    Thank you Adam,

    Yes this is what happens.

    I believe there is slightly too much gain.

    Thanks,

  • In reply to DCS Newbie:

    Feedforward is supposed to change the controller output in response to a known disturbance, and do it in a manner so that feedback control has less of a job to correct any resulting PV error, i.e minimize the upset. In your case, the disturbance is a change in speed of the turbine. This change in speed affects the 125# pressure because the speed change affects the flow of steam from the high pressure system to the lower pressure system. The pressure control valve also affects the 125# steam because a valve position change also affects the flow of steam to the same system. The goal of the feedforward should be to change the flow in steam through the valve in the same amount of steam flow that the turbine speed change causes.

    A feedforward has two elements which need to be adjusted or tuned. These are the gain, and the dynamics. The gain adjusts the amount of change in response to the change in disturbance, and the dynamics adjusts the timing of the response. In your case, the dynamics should not be a factor because of the quick nature of the changes that occur in both the PV response to a disturbance and the PV response to an output change. It appears to me you should be concerned with gain only.  

    Essentially what you want is for the feedfoward to change the valve output the same amount that the PID controller output changes when the turbine trips. The output response above shows an overshoot and a settling back. The feedfoward should adjust the valve an amount equal to the valve position change after the valve has reached a steady state position (with the same and steady turbine speed). Perhaps the calculation block in the feedforward loop is calculating the amount steam flow changed by the speed change and then calculating the amount of valve posiition change to counter this. There could be some non-linearlities that the calculation is taking care of since it is quite likely the required valve position change will not be linear over the range of operations.

  • In reply to Sandy:

    Hola Darrel, it has been a while since the last time you posted. Did you finally get to a solution? I am interested, maybe so others, on knowing your conclusions. Best Regards, Héctor.

  • In reply to HECTOR H. TORRES:

    Hi Darrel,

    Its a long shot, and not looking into a P&ID diagram of your system I am guessing...

    Iis it possible that you are overcompensating for the disturbance? By this, I mean is it possible that the when the disturbance occurs your control system is too strong at responding and is causing its own disturbance in the opposite direction? I saw a system recently where there was a feed forward system on a variable speed motor and a feed forward system on a back pressure valve on the same pipeline. When a pressure disturbance occured in this case, both of the feed forward schemes responded, effectively doubling the response to the problem. This presented itself as a disturbance in the opposite direction after the initial disturbance. You mentioned that you have three turbines (I imagine connected to the same header). If one of the turbines is down and the back pressure drops, depending on how it is physically connected, the pressure drop may also impact the other two turbines. If this happens then the combined response of the remaining turbines plus the back pressure control valve may be causing the disturbance you are seeing in the opposite direction (the drop to 104 psig.

    Let us know if you find a solution we would be interested to here

    All the best

    Scott