Hello,
I have a PID flow loop that is configured to go from AUTO to CAS mode (when a certain condition occurs) to control the flow with a different setpoint.
After returning to AUTO, is there away to save the Setpoint before the loop went to CAS?
I can not think of away such that the loop return back to the setpoint before going to CAS mode.
Thanks for any help or comments.
In reply to AdrianOffield:
In reply to DCS Newbie:
Thank you,
I am not sure I understand.
Here is the logic fo the calc block for example:
If valve = open,
ELSE
PID/MODE = CAS
new_setpoint = Gas_flow*1.5 + 20.5 (as long as the valve is open, this new sepoint will control the PID block)
OUT.CV = new_setpoint
**Here is where I am confused** If the valve is closed, I would like the PID to go back to setpoint before going to CAS and put the PID mode in MAN. However, if I program this here, the Operator will not be able to put the PID in AUTO because its hardcoded when the valve is close PID will be placed in MAN. Futhermore, if I program to put PID in AUTO when condition is false, the Operator will not be able to put the loop in MAN, which mean they have no control of the loop.
I am tempted to do nothing in this ELSE place, and instruct the Operator to place the loop in AUTO at a the desired setpoint. This way the Operator have full control of the loop while the loop is not in CAS.
ENDIF
Thanks for your input.
In reply to gamella:
Thank you gamella for responding.
I will need some time to re-read your suggestions so I can understand.
Currently the loop is programmed to the following below which will puts the loop in CAS at all times.
Below is programmed in a CALC block with output going to CAS_IN
IF valve is open:
PID/mode= CAS
new_setpoint = Gas_flow*1.5 + 20.5
CAL/out=new_setpoint
ELSE:
CAL/out=400
The above code still have the problem you mentioned above with the Loop making a big change when setpoint changes from new_setpoint to 400.
So you need to set PID to a fixed SP (400) when condition is met (valve is open). Otherwise PID SP must be Gas_flow*1.5 + 20.5.
In this case is quite easy using BiasGain because PID SP in "normal" condition is Gas_flow*1.5 + 20.5, that is BiasGain output. U
sing TRK_IN_D of BiasGain to wire in the condition (valve is not opened inside a Condition block maybe...) and setting 400 as value for BiasGain TRK_VAL.
When going from tracking to CAS there is no BUMP because of BiasGain BAL_TIME takes care but, going from CAS to TRACKING generates a bump (400 value will be set as PID SP in one scan cycle). This is often needed and may be is not a problem, if it is then RAMPING TRK_VAL is required.
Below is a solution:
PARAM2 is the condition, may be replaced by a condition block evaluating if valve is open
PARAM1 is the fixed SP value (400 in your case)
Gas_Flow must be connected, or set, to BG1/IN_1
BG1/GAIN must be set to1.5
BG1/SP must be set to 20.5/1.5
BG1 must operate in AUTO