Publication 1757-RM810A-EN-P - May 2002
3-52 Functional Blocks
REGCALC (Regulatory Control Calculator)
Description • Lets you write up to eight expressions for creating custom algorithms for Calculated Variable (CV) calculations.
• Provides an interface to windup, initialization and override feedback processing, so you can add user-defined
control blocks to your control strategies.
Function • Each expression can contain any valid combination of inputs, operators and functions; and may perform arithmetic
or logic operations.
• You can write expressions for calculating CV under normal, initialization and override feedback conditions. Or, you
can write expressions which produce initialization and override feedback values for this block and its primaries.
• You can assign the result of an expression or an input to any assignable output that produces the same outputs as
every other regulatory control block. You can assign the same input to multiple outputs.
Timeout
Monitoring
In cascade mode, this block performs timeout monitoring on X [1]. If the X [1] input value is not updated within a
predefined time, this block invokes the following timeout processing.
• Sets the input timeout flag (TMOUTFL)
• Sets the input value to Bad (NaN).
• Requests the X1 primary to initialize.
This block does not support mode shedding on timeout.
Control
Initialization
Block brings initialization requests from its secondary through BACKCALC. In addition, the secondary may propagate
oneshot initialization requests to this block. However, you can disable the SECINITOPT so the block ignores
initialization requests from the secondary.
If the secondary is requesting initialization, block:
• Initializes its output:
– CV = CVINIT (assignable output)
• Builds an initialization request for the designated primaries, using INITREQ and INITVAL (both assignable outputs).
Override
Feedback
Processing
If this block is in a cascade strategy with a downstream Override Selector (OVRDSEL) block, it receives override
feedback data. The data consists of an override status, override feedback value and an override offset flag. The status
indicates if this block is in the selected or unselected strategy. The offset flag only applies to PID type function blocks.
However, you can disable the SECINITOPT so the block ignores override requests from the secondary.
When override status changes from selected to unselected, this block:
• Initializes its output:
– CV = CVORFB (assignable output)
• Computes a feedback value for X1 input:
– feedback value for X1 = ORFBVAL (assignable output)
– feedback status for X1 = ORFBSTS (assignable output)
If ORFBVAL and ORFBSTS are not assigned and this block has a secondary, the ORFBVAL and ORFBSTS received from
the secondary are used to compute ORFBVAL for the primary.
Inputs The REGCALC block can function without any inputs. The following inputs are optional and they only accept real data
types.
• X [1] - An initializable input that must come from another block, an operator can not set it.
• X [2] through X [6] general purpose inputs.
• XWHIFL – An external windup high flag.
• XWLOFL – An external windup low flag.
Input Ranges XEUHI and XEULO define the full range of X [1] input in engineering units. This block applies no range checking, since
it assumes that X1 is within XEUHI and XEULO. If this function is required, you must write an expression for it.
• XEUHI represents the 100% of full scale value.
• XEULO represents the 0% of full scale value.
Outputs Block has following initializable outputs:
• OP = Calculated output in percent.
• OPEU = Calculated output in engineering units
Note that the default OP connection pin is exposed on the blocks and the implicit/hidden connection function
automatically makes the appropriate value/status parameter (OPX/OPEUX) connection when required.
More on following page