Operator entered SP errors

There are occasions where an Operator inadvertently enters the wrong setpoint (usually decimal placement error) and caused process upsets.  In these cases, SP ramps and/or limits don’t always necessarily prevent the occurrence.  I don't see an option for SP tolerance out of the box (an Operator would have to confirm SP), and am wondering how others are addressing these type of issues.

5 Replies

  • Can you elaborate why SP Limits don't work in this situation, and specifically what you mean by SP tolerance? You could create dynamic SP limits based on process conditions and wire these into PID1/SP_HI_LIM and SP_LO_LIM.

    It's possible to add a "SP Confirm?" prompt on the faceplate or dynamo using VB scripting.
  • In reply to Algis Marcinkevicius:

    SP Tolerance.pdf

    We were used to SP tolerances from the other system we migrated from.

    We are using PCSD classes, and didn't want to overhaul the classes and faceplates, so use this simple workaround on an as-needed basis.

    In the Misc_Logic expression, these lines of code were added:

    (* Setpoint tolerance logic protects again gross SP changes               *)

    (* TP01 is SP tolerance  *)

    (* TP02 is Upper SP limit  *)

    (* TP03 is Lower SP limit *)

    '/PID1/SP_LO_LIM.CV' := max(('/PID1/SP.CV' - '/TP01.CV'),max('/PID1/PV_SCALE.EU0','/TP03.CV'));

    '/PID1/SP_HI_LIM.CV' := min(('/PID1/SP.CV' + '/TP01.CV'),min('/PID1/PV_SCALE.EU100','/TP02.CV'));

  • In reply to Algis Marcinkevicius:

    Algis,

    Thanks for your response,

    In this case SP Limits are referring to SP Ramp up/down limits and may not necessarily alert the Operator of the wrong setpoint. SP tolerance is the max absolute between the current SP and the requested SP. Requested SP changes outside the tolerance would require Operator confirmation.

    I have dynamic SP limits as you mentioned, but just curious as to what other methods are in use, and why this is not an out of the box option similar to other DCS systems.
  • You could use a hard coded percentage, use a global graphic variable for the percentage or have a parameter in each module to define the percentage to use and then do all the calculations using this percentage that are needed for when the SP is entered via the digital entry in a custom Faceplate. Then you would prompt before writing the value if outside of this percentage.

    The problem is the slider which you would have to break all those linkages to work with an internal variable if you want this same behavior of prompting if outside this range (You may not need because they see the change they are about to make).
  • In reply to MPHymel:

    Basically we dynamically calculate SP limits to "bracket" the SP by +/- the tolerance stored in TP01, absolute SP limits exist in TP02 and TP03. Not the most elegant solution but given the difficulty in manipulating the PCSD faceplates, it will work until we can come devote time to a better solution.