Hello DeltaV community,
I have a temperature control valve controlled by a PID loop in a Control Module and it doesn't appear to be responding to tuning changes. I will change the GAIN, RESET, and RATE orders of magnitude (0.1 to 500) without any performance change to the control loop. (ie, the valve closes right as it crosses the SP). If anyone has any suggestions on how to see if the PID is responding changes in GAIN, RESET and RATE I would appreciate it.
The details:
FF is Foundation Fieldbus
I am not able to get all the code from the Control Module into this forum but will try my best to describe the situation. Inside the Control Module in the PID1 loop is a FFAI with the OUT wired to the IN of the PID1 block. The OUT of the PID1 block is wired to a FFAO CAS_IN. The BKCAL_OUT of the FFAO is wired with a dashed wire to the BKACAL_IN of the PID1 block.
Also on the PID1 block:
TRK_IN_D is connected to CND blocks for high temperature or high pressure conditions
TRK_VAL is wired to a variable with a value of zero.
The more complicated details:
There is a CND block with the following code:
IF "^PID1/MODE.ACTUAL' = AUTO
THEN
IF '//TIMERS/HEAT_TIME.CV' = 1 OR '//TIMERS/REACT_TIME.CV' = 1
'^PID1/GAIN.CV' := '/RX_GAIN.CV';
'^PID1/RESET.CV' := '/RX_RESET.CV';
''^PID1/RATE.CV := /RX_RATE.CV;
ELSE
'^PID1/GAIN.CV' := '/DG_GAIN.CV';
'^PID1/RESET.CV' := '/DG_RESET.CV';
''^PID1/RATE.CV := /DG_RATE.CV;
ENDIF
rem 'about 50 lines of legacy code removed from previous programmers that was left in place when I found it'
When the Control Module is running in on-line mode I will see the values in the PID1 block change from the RX_ to DG_ tuning values, I will also see the gain, reset, and rate change in the controller Faceplate. Yet, regardless of what I change the values to with module download or change during on-line mode, the PID response doesn't seem to change.
One last note is that this is a very slow system in a batch processing. The vessel gets a new batch of cold raw material and cools the vessel down, it then heats and reacts for 6 hours and then starts a new cycle.
Your help is appreciated.
Andre Dicaire
In reply to Andre Dicaire:
Ed Smigo
In reply to eddysales001:
In reply to Michael Krispin:
In reply to James Beall:
Ed, thanks for confirming I wasn't completely wrong. When you pointed out Provox, I went "oh yeah, that's the one that locks up... " I actually remember now when I learned that DeltaV allows the tuning to change without locking up and thought how great that was. The other thing is that the PID will not bump the output when the GAIN is changed. The Integral term will be adjusted to keep the Output from changing due the change in GAIN* error. If you expect the OUT to change when you alter the GAIN, as a measure of the PID accepting new changes, that would not work.
In reply to daimyo505:
In reply to Mark Coughran: