OUTPUT offset between DCS and PLC

IGV of a compressor is controlled by local PLC(Allen Bradley CompactLogix) and the PLC has its own calculation which takes into account output from DCS (DeltaV).

As there is certain calculation in the PLC, there are offset between DCS and PLC outputs. This output offset sometimes causes overshooting as DCS thinks the output outside didn't reach 100% while output in PLC is sitting at 100%.

There is IGV position feedback available in DCS.

Is there any configuration of DCS which can remove the offset between the DCS and PLC?

12 Replies

  • What value are using for input on your PID loop in the DCS for feedback?
  • In reply to Jason.Brumfield:

    I tried to use Selector block but it didn't accept it.
    So at the moment I there is no feedback connected to the PID block.
  • In reply to Junggyu Yu:

    How do you handle the status for the PID/BKCAL_IN from your PLC? This can solve a lot of issues if the PLC is at 100%. That should give a sub status of Hi Limited back to the PID. You might check out how the BKCAL status do work in books online and try to build similar status logic for your PID/BKCAL_IN . Other options are the ARW Parameter, to reduce to a value at which the PLC reaches its 100% if the PID set a lower OUT value.
    Alternativ you can set also OUT_HI_LIM on your PID if the difference between PID/OUT and PLC/OUT is fix.
  • hi
    Something is not very clear of what you did, may be it will be easier if you make us a small drawing with functionnal blocks.
    Do you mean that IGV comes from PLC Analog output, and this output is calculated by PLC algorithm ( PID) but also from DCS and there is switch button from PLC to DCS or DCS to PLC ? When overshoot occurs , during PLC<-> DCS switchover in which direction PLC to DCS or DCS to PLC or Both ?

    As DeltaV master /slave control you have to align outputs before switching, From DeltaV it's done with bkcal_in and bkcal_out, From PLC generally it could be done by a short switch from auto to man, to reset integral action.
  • In reply to LaurentB:

    PLC receives output from DCS. And I wanted to use the output from PLC as BKCAL_IN of DCS.
    PLC does receive the OUTPUT from DCS's AO block and uses the AO values for its own calculation (surge control and etc).
    DCS has only look at FIC and don't know whether PLC exists or not.

    BTW, I can't attach the photo.
  • In reply to Michael Krispin:

    Hi Micheal

    Thanks for your input, I will check BKCAL status part in the online books.
    And I think it can be a good idea to set up OUT_HI_LIM when PLC output reaches 100% to avoid saturation of the PID block.
  • In reply to Junggyu Yu:

    You need to connect your AO/BKCAL_OUT to the PID/BKCAL_IN.
    A selector can be useful between that feedback to show to the PID if your PLC can switch off your motor or close your valve on other external input direct to the PLC.
    You have to let open the off input and send by an Init-Action a status GoodCascadeNotInvited and value 0 to this input. It will inactivate your PID and set to IMAN mode. In fact, the PID can't control anymore if the slave device is simply off.

    What does : There is IGV position feedback available in DCS means?
    If that is the valve position, you can link this to the AO/IO_IN.
    Set in the AO/IO_opts the 'Use PV for BKCAL_OUT'

    BTW, it is sadly normal that, independent from another PLC, an over-sized valve can allow the full flow at smaller outputs. (In principal you have exactly that case with your set. )This happen due to the scare of the process engineer about the noise from the valve and they try to reduce this with bigger valves.
    For that you can use the ARW settings too, to mitigate saturation. I had one time a case where the control valve gave 100% Flow at 20% opening. This was not a control valve anymore but a better solenoid valve.
  • In reply to Junggyu Yu:

    to attach printscreen ,in that forum, when you reply click on Use rich text formatting at Bottom right of the windows

  • In reply to LaurentB:

    I wanted to disconnect the dotted line from AO1 to BKCAL_IN1 of PID1 and reconnect FY-703B.OUT from PLC to the BKCAL_IN.

  • In reply to Junggyu Yu:

    If you cut the line and connect PID/BKCAL_IN to the Input of FY703B.OUT, you will not get the PID into control due to a specific communication between the PID and AO about Cascade mode, Cascade Invited and bumpless switch over. Read in BOL about the BKCAl calculation. It is good enough explained to to understand the function.
    You might use this signal better as PV of the AO. That is the purpose of that AO input.
  • In reply to Michael Krispin:

    yes that was the error I encountered in the previous trial. I will read BOL for BKCAL.
  • In reply to Junggyu Yu:

    Consider making your output to the PLC and the feedback from the PLC a slave PID CAS loop. That way it will self regulate the DCS output and PLC output/feedback independently. Take this existing calc PID loop and make it the CAS master. This will also allow you to tune them separately to help manage the lag from the DCS > PLC > Valve/Feedback.