GE Fanuc 9030 PID - preventing loop windup

Tresco-oz

Member
Join Date
Oct 2005
Location
Melbourne
Posts
49
I have to program two PID loops where the two loop outputs feed into a low signal selector (LSS) before driving the final control valve.
I need a method of preventing loop windup on the loop that is not in control (the one with the higher output - and therefor not selected by the LSS).

I have done this on TI505 PLCs by writing to the BIAS variable, however I believe the BIAS does not work the same way in a GE9030. I do not have a PLC to test this on proir to the site work, and I am therefor looking for any advice on how to achieve this on the GE9030 units.

Anyone done this ?
thanks in advance for any suggestions..
 
Bias in the 90-30 PID is independent of error. It gets added algebraically to the result of the PID calculation. What does the TI's PID function do with it?

I have a 90-30 to test on and some experience with its PID function. If you have a description of your control strategy, perhaps I can run some tests for you. I'm working on a project that involves PID right now, so its fresh in my mind.
 
Hi Steve, the bias in the TI is the result of the Integral and Derivative calculation, so you can read and/or write to it before it gets added on the the proportional action. I understand that the 9030 bias is simply an offset to be added in conjuction to the PID calculation.

Any ideas on how to freeze the "I" & "D" action on the 90-30 ?

regards
Phil
 
You can try to modify CV Upper clamp of inactive PID control block (register +09 of PID parameters). This will stop PID in positive direction at required level.
 
Registers 20 and 21 (DINT) of the PID block is where the integral portion of the CV is stored. Register 19 (INT) is the differential portion.

When the PID function is operating in manual, it does internal calculations for the integral to achieve the same CV that is being manually commanded. I don't know whether or not that helps you.

I take it that simply disabling the function isn't a vialble option?
 
gregoryg said:
You can try to modify CV Upper clamp of inactive PID control block (register +09 of PID parameters). This will stop PID in positive direction at required level.
Thanks gregoryg, I'll keep this as a possibility to try when I'm onsite
 
Steve Bailey said:
Registers 20 and 21 (DINT) of the PID block is where the integral portion of the CV is stored. Register 19 (INT) is the differential portion.

When the PID function is operating in manual, it does internal calculations for the integral to achieve the same CV that is being manually commanded. I don't know whether or not that helps you.

I take it that simply disabling the function isn't a vialble option?
Steve - this is the type of thing I'm after, but I'm not sure if the PID block will just overwrite anything that I try to write into R20/R21, the manual says these are "set and maintained by the PLC" "Range of values: Non-configurable".
Running in manual won't do it, as I need the PID loop to be active so that it can take control when its output drops below the value of the other PID loop. - thanks for putting up some ideas, it all helps.
 
Every time the PID function does a recalculation (Regeister 2, sample period), it will add the newly calculated integral to the DINT value in register 20/21. If you need to freeze that value, you will need to somehow capture and save the value you want to freeze at and constantly write the "frozen" value back to register 20/21. If you are recalculating the PID every scan, insert the MOVE statement in the rung before the PID function.
 
Steve Bailey said:
Every time the PID function does a recalculation (Regeister 2, sample period), it will add the newly calculated integral to the DINT value in register 20/21. If you need to freeze that value, you will need to somehow capture and save the value you want to freeze at and constantly write the "frozen" value back to register 20/21. If you are recalculating the PID every scan, insert the MOVE statement in the rung before the PID function.
Thanks Steve - its worth a try
 
Maybe I don't understand what you are trying to do, but wouldn't it be easyer to just compare the PID outputs, and use the lower (or higher) one to drive your output?
 
What is all this manual mode talk about?

sapoleon said:
Maybe I don't understand what you are trying to do, but wouldn't it be easyer to just compare the PID outputs, and use the lower (or higher) one to drive your output?
It isn't that simple. What you suggest doesn't work. It never has. Tresco-oz understands the problem.
Tresco-oz said:
I need a method of preventing loop windup on the loop that is not in control (the one with the higher output - and therefor not selected by the LSS).
Gregoryg has a workable solution.

Tresco-oz said:
Steve - this is the type of thing I'm after, but I'm not sure if the PID block will just overwrite anything that I try to write into R20/R21, the manual says these are "set and maintained by the PLC" "Range of values: Non-configurable".
I haven't used a 90-30 but I bet you are right. The PLC WILL write over what you change in R20 and R21. PLC rule #3 states the write that writes last writes best. Therefore you should save away R20 and R21 for both PIDs before making the PID calls. Then restore only the R20 and R21 for the PID that wasn't used. This effectively keeps the PID from winding up R20 and R21 in the unused PID.

The solution is simple.
 
Write the CV of the active loop to the HLLM (top limit OP clamp) of the other loop and vise-versa, never messed with these processors and PID - can the loop not be disabled ? Why would putting the loop into manual for one cycle on change over not work ?

People complain at S7 but this is an easy one to achieve !
 
10BaseT. said:
Write the CV of the active loop to the HLLM (top limit OP clamp) of the other loop and vise-versa, never messed with these processors and PID - can the loop not be disabled ?
So does the HLLM limit, the CV or the integrator output? It makes a big difference.

Something to think about. Suppose the proportional output is 11 volts all by itself and the integrator is at 2 volts. What should happen to the integrator term?

Why would putting the loop into manual for one cycle on change over not work ?
Why when one can keep both PIDs working?
 

Similar Topics

Hello everyone, We are trying to upgrade a GE FANUC 9030 PLC, but we are having trouble extracting the program from it. LogicMaster90 is able...
Replies
6
Views
1,310
Hello, I Have a GE Fanuc RX3i that I migrated that Has a IC695CHS012 for the Main Rack and 4 IC693CHS392 Expansion Less than 50Ft. I ran across...
Replies
0
Views
1,803
I am converting our Boiler project to a RX3i. Looking at some of the registers for the HMI I see 100r. It is labeled B_1_GPM (Boiler 1 Gallons Per...
Replies
6
Views
2,658
So we currently have a CPU 374+ running a sort of feed bin process. We've had the PLC installed since 2008, with really no problems. I am...
Replies
5
Views
2,382
Good Afternoon I have a few questions regarding Ge Fanuc 9030 series and Modbus. I have a Ge Fanuc 9030 for test Purposes. The Rack Is...
Replies
9
Views
6,978
Back
Top Bottom