• Not Answered

2 Valves Control - One Opens then Other and Closes Similar. Simulation Issues.

Hello All,

Currently, I have a valve that adds water to the process it is a slave to DIC. We are adding an additional valve.

We are running DeltaV 13.3.1

- When FCV01 is at 90% OUT FCV02 starts to open.

I am trying to simulate this and am getting mixed results.

I have taken a random AI (for testing I used an ambient TIT) I have it set up like this.

- AI_OUT > PID IN > PID OUT > SPLTR CAS_IN > SPLTR OUT_1 > AO1; SPLTR OUT_2 > AO2 > AO1 and AO2 go to separate Output Parameter blocks.

- AO1 BKCAL_OUT > SPLTR BKCAL_IN_1; AO2 BKCAL_OUT > SPLTR  BKCAL_IN_2; SPLTR BKCAL_OUT > PID BKCAL_IN.

- PID config: Gain 3, Reset and Rate 0; OUT_HI_LIM 200; OUT_SCALE 0-200. 

SPLTR config: IN_ARRAY > 1=0, 2=100, 3=90, 4=200. OUT_ARRAY > 1=0, 2=100, 3=0, 4=100.

- AO is default config.

Now when right after I do the download the values seem to go up nicely as expected, SP>PV drives PID OUT up. it eventually gets to 90 and FCV2 begins to open, it gets to 200 and both FCV's are at 100. Now I change SP so SP<PV and things go wrong. In some cases, it immediately PID OUT to ~75 closing FCV2, Other times it may drop it to ~150, which is still a 50% close on FCV2, and still other times it drops PID OUT to 0. Now this becomes the case if I set the SP>PV again it will immediately jump up to 80% from 0 and I have seen it go to 200%.

I think the longer I leave it alone after reaching 0 or 200 the more stability from a change (though it still jumps by 50%).

The AI (TIT) is sitting at 4.7C, no bad status, but it's definitely not that cold.

When SP < PV I usually set SP at 2, when SP > PV I set SP to 10.

Some reading I have done seems to suggest that it could be the BKCAL_OUT of AO1 does not move and because BKCAL_OUT2 of AO2 moves and AO1 doesn't the upstream blocks use the value of AO2 which creates the undesired result. However, I feel like this should work. I would love to test this with the actual valves, but it is a critical loop and will only have access to it during a shutdown next month.

If anyone can help me out or explain what's happening, I'd really appreciate it.

Thanks,

Michael

2 Replies

  • Hi Michael.
    Not sure if it help you, but I had a case recently.
    In my case the PID Out Range was 0 - 100, but the Error i.e. SP-PV was equally distributed around the value 0.
    The PID then clamped the OUT to zero for all negative errors i.e. when the process value was higher then the set point.

    I have splitter as well with input range that was configured from 0 - 100 corresponding to the PID out range.
    the out of the splitter was configured with x11 = 100, x12 = 0 for input from 0 - 49. Furthermore x21=0 and x22=100 for input from 51 to 100.

    When the PID Out was clamped to 0 (negative errors) the input to the splitter was equal 0 with limited status.
    In my case when the 0 was limited the splitter took the value x11 = 100 limited.

    In my case I solved the problem by setting the PID Bias to equal 50, which defines the output having zero error.

    I have two control valves with positioners and BKCAL_OUT and BKCAL_IN are configured in classical way similar to what you described.
    The Bias of 50 ensured that the PID out was mapped from 0 to 100 without clamping for negativ errors.

    Alternativ in my case could have been defining PID Out Range that allowed OUT for both negative and positive errors.

    I not sure what Bias is in your case, but thought this could perhaps help you.
  • Hey Michael,

    If you plan for this to be a P only controller, set the PID1 STRUCTURE to "P action on error, D action on PV". If you plan on using reset later but don't know what to set it to, set it to 9999 for now so the integral reacts super slow because a reset of 0 is not ignored thus it is integrating extremely fast right now. Also, set the ARW_HI_LIM to match the output range.