"Disable" constraint variable in MPC-Pro

My site has an MPC-Pro application for supplemental fuel minimization, for a fired heater that also has constraints on stack emissions.

Periodically, the stack emissions sampling system initiates a calibration or a blow-back, lasting about five minutes. A sample-and-hold is invoked for the variables, but this can cause issues if the "hold" is invoked during a higher excursion.

"MP Operate Pro" interface displays a "Disable" button for each variable - I would like to disable the stack variable constraints during these episodes. Anyone have an idea what variable / parameter in the MPC-Pro block I would toggle to accomplish this?

Thanks,

John

  • AH well Books Online reveals there are assorted parameters that can't be browsed to, specifically "OUTPUT_DISABLED[1..40]" which tracks the disabled state of all outputs (controlled and constraint variables) and apparently can be written to . . .
  • Hi John!
    I don't recall the exact parameter name off the top of my head but I can tell you how to find out! Change the parameter you are interested in and then perform and upload. You will see the parameter name in the upload list! I'll check this in the morning but this should work for you!
    James
  • In reply to James Beall:

    Oh, I see you found it. Anyway, the above method is VERY helpful on the MPC series of blocks!
  • If a variable is disabled, it is simply removed from the problem. It's status is changed, but I'm not sure of the exact status (less than 128). It will cause a shed according to the shed logic configured for the variable.

    Often with constraints where the models for that Proc_Out are reasonable and the incident is likely to last less than the time-to-steady-state (TSS), If you want the controller to continue to run, then I would pick Simulate fail Shed Local as the shed option. This will keep the variable in the problem for one TSS or until the status is restored (in this case by re-enabling the constraint). During this time, the PredictPro will use the models to simulate/estimate the actual value. If the duration is likely to exceed the TSS or your model is poor, then you should select No Action as the shed option. Then that constraint will simply be removed from the problem and the controller will do its best in degraded mode with the remaining variables.

    There is actually another option, but it involves the input. There is a composite in the library to handle analyzer inputs. It will hold last value and set status to good cascade - constant until a fresh value is obtained. It can recognize and react to a calibration event. You can "wire" the analyzer value and status along with other prameters. It is intended for sampling analyzers like GCs.
  • In reply to Lou Heavner:

    You can disable the constraint programmatically. You would want to know the PROC_OUTy name for the variable.
  • In reply to Lou Heavner:

    Great info from Lou Heavner!  Note that you can actually specify the Shed time in multiples of the Tss with the parameter "SIM_TIME_FACTOR".  Be aware that there was a time period (Version 13.3 I think) where the the SIM_TIME_FACTOR parameter did not act as stated in BOL shown below.  Check with DeltaV tech support on this issue.  You could still use the parameter, you just had to adjust the value that you used to get the Shed time you desired.

  • In reply to James Beall:

    Gents, I think I like the "No Action" option since our models for CO are a little dicey . . . thanks for pointing out this option. I wonder if it's possible to change these "online" without doing a download . . . ?
  • In reply to John Rezabek:

    John,
    This is called the "Fail Action" and I don't believe you can change it on-line.
    James
  • In reply to John Rezabek:

    As James noted, this cannot be changed online. You must go to Control Studio, configure the change, save and download. As long as you are doing that, you might want to take some time and review the shed action for all of your variables.