PID Function BlockPage 1 of 33 PID Function Block Inside this topic The PID function block combines all of the necessary logic to perform analog input channel processing, proportional-integralderivative (PID) control with the option for nonlinear control (including error-squared and notched gain), and analog output channel processing. The PID function block supports mode control, signal scaling and limiting, feedforward control, override tracking, alarm limit detection, and signal status propagation. To support testing, you can enable simulation. This allows the measurement value and status to be supplied manually or from another block through the SIMULATE_IN input. In Cascade (Cas) mode, the setpoint (SP) is adjusted by a master controller. In Automatic (Auto) mode, the SP can be adjusted by the operator. In both Cas and Auto modes, the output is calculated with a standard or series PID equation form. In Manual (Man) mode, the block's output is set by the operator. The PID function block also has two remote modes, RCas and ROut. These modes are similar to Cas and Man modes except that SP and OUT are supplied by a remote supervisory program. The PID function block can be connected directly to process I/O (in DeltaV, but not in Fieldbus devices). It can also be connected to other function blocks through its IN and OUT parameters for cascade and other more complex control strategies. You connect BKCAL_OUT to an upstream block's BKCAL_IN to prevent reset windup and provide bumpless transfer to closed loop control. You can connect the tracking input (TRK_VAL) for externally controlled output tracking. PID Function Block BKCAL_IN is the analog input value and status from a downstream block's BKCAL_OUT output that is used by a block for bumpless transfer. This connection is necessary if the PID is a master to another controller in a cascade. Without the connection the slave controller will not make the transition to CAS and the master PID will never be active. CAS_IN is the remote SP value from another block. FF_VAL is the feedforward control input value and status. IN is the connection for the process variable (PV) from another function block. SIMULATE_IN is the input value and status used by the block instead of the analog measurement when simulation is enabled. TRK_IN_D initiates the external tracking function. TRK_VAL is the value after scaling applied to OUT. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.chm::/html/FBlk_spec_PID.htm 1/19/2012 PID Function Block Page 2 of 33 BKCAL_OUT is the value and status sent to an upstream block to prevent reset windup and provide bumpless transfer to closed loop control. OUT is the block output value and status. Schematic Diagram - PID Function Block The following diagram shows the internal components of the PID function block. The parameters may vary slightly for extended blocks. PID Function Block Schematic Diagram Block Execution - PID Function Block mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.chm::/html/FBlk_spec_PID.htm 1/19/2012 PID Function Block Page 3 of 33 The PID function block provides proportional (P) + integral (I) + derivative (D) control. Two PID equation forms are supported in the block, both forms supporting external reset and feedforward: The standard form is a discrete implementation of: The series form is a discrete implementation of: For L = OUT (which is the same as OUT being unconstrained) and P = D = E the equations reduce to: A conventional Standard PID with feedforward, and Series PID with derivative filter applied only to derivative action, with feedforward Where: E(s) is error (SP-PV) ± is + for reverse acting and – for direct acting (Direct_Acting in CONTROL_OPTS) KNL is nonlinear gain applied to P + I terms but not to D term. Nonlinear action is activated in FRSIPID_OPTS by selecting Use_Nonlinear_Gain_Modification. P(s) is the variable to which proportional action is applied. P(s) is determined by parameters STRUCTURE and BETA (which sets the weighting factor for proportional action applied to SP change). D(s) is the variable to which derivative action is applied. D(s) is determined by parameters STRUCTURE and GAMMA (which sets the weighting factor derivative action on SP change). L(s) is the external reset input which is either from BKCAL_IN or OUT. is reset time (parameter RESET) in seconds. is derivative time (parameter RATE) in seconds GAINa is normalized gain after scaling the parameter GAIN from PV to OUT (DeltaV works in engineering units so it is necessary that the parameter GAIN be scaled to maintain the meaning of the normalized entry). F(s) is the feedforward contribution. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.chm::/html/FBlk_spec_PID.htm 1/19/2012 PID equation structures. the input source (usually another block's output value) is connected to the IN connector on the PID function block. You can configure anti-aliasing filtering. You can select the specifics of block execution by configuring I/O selection. To get deadband behavior. NL_GAP is the control gap. There is no IO_IN parameter in the fieldbus extension. With a fieldbus extension. NL_TBAND is the transition band over which KNL is linearly adjusted as a function of error. absolute value of error must return to a value less than NL_GAP before KNL returns to a value of NL_MINMOD. and overrange/underrange detection for the channel mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. feedforward calculations. the I/O input channel referenced by IO_IN takes precedence and IN is ignored. The mode of the block determines setpoint and output selection. then the value of NL_HYST has no meaning (effectively assumed to be 0). When the absolute value of error is less than NL_GAP. signal conversion and filtering. the connection to IN must be from another function block. I/O Selection When you configure the PID function block. Input from a Process Input Channel – When you want the source to be an input from a process input channel.htm 1/19/2012 . set NL_MINMOD to 0. KNL = NL_MINMOD. and block output action. If NL_GAP is 0. NL_HYST is a hysteresis value. you configure the Device Signal Tag (DST) of the desired channel in the IO_IN parameter. Input from Another Block – When you want the source to be an input from another function block. setpoint and output limiting.PID Function Block Page 4 of 33 The following diagram illustrates how the nonlinear tuning parameters are used in the calculation of KNL.chm::/html/FBlk_spec_PID. KNL = NL_MINMOD. you select whether the source of the input value is a wired function block connection or a process input channel. Once absolute value of error has exceeded NL_GAP + NL_HYST. Note When IO_IN is configured and IN is connected. KNL Calculation where: NL_MINMOD is the gain applied when the absolute value of error is less than NL_GAP. Until absolute value of error exceeds NL_GAP + NL_HYST. tracking variables. NAMUR limit detection. In online operation. the operator enables simulation by selecting the SIMULATE parameter and setting the Simulate Enabled box in the Simulate Enabled/Disabled field. During configuration. When the value is entered manually: The operator first enables simulation by selecting the SIMULATE parameter and setting the Simulate Enabled box in the Simulate Enabled/Disabled field. You can choose to reverse the range for conversion to account for fail-open actuators by selecting the following I/O option: Increase to Close – This option has an impact when a device signal tag is configured in IO_OUT. Do not enter a value in the Simulate Value field of the SIMULATE_IN input. For information on these capabilities. This option can be useful with zero-based measurement devices such a flowmeters. Indirect square root signal conditioning – converts the accessed channel input value (or the simulated value when simulation is enabled) by taking the square root of the value and scaling it to the range and units of the PV parameter (PV_SCALE). When the converted input value is below the limit specified by the LOW_CUT parameter and the Low Cutoff I/O option (IO_OPTS) is enabled (True). refer to the I/O Configuration topics. the value entered in the SIMULATE_IN Simulate Value field is used as the simulated value. the operator enters the value to be used in the SIMULATE parameter Simulate Value field. the operator can enter a simulated status value in the Simulate Status field.chm::/html/FBlk_spec_PID. decide whether you want the simulated value/status to be entered manually into the function block or whether it will be supplied by another block. There is no SIMULATE_IN in fieldbus. That is. You can view the accessed value (in percent) through the FIELD_VAL parameter. the value entered for SIMULATE_IN overrides any value you enter in SIMULATE. indirect. Increase to Close causes the milliamp signal on the analog output channel to be inverted in Man mode (and in Auto mode). When the value/status from another block is used: During configuration. a full scale value mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Note Do not enter a value for the SIMULATE_IN parameter. During operation. This allows the measurement value and status to be supplied manually or from another block.PID Function Block Page 5 of 33 parameters. connect SIMULATE_IN to the desired block output or parameter. Simulation To support testing. When SIMULATE_IN is connected. the block uses the connected value automatically. Indirect signal conditioning – converts the accessed channel input value (or the simulated value when simulation is enabled) to the range and units of the PV parameter (PV_SCALE).0 is used for the converted value (PV). a value of 0. When SIMULATE_IN is not connected (status = Bad: NotConnected).htm 1/19/2012 . If you enter a value and the status of SIMULATE_IN is not Bad: NotConnected. you can enable simulation. Signal Conversion Choose direct. Note Make sure SIMULATE_IN is not connected if you want to enter the value or status manually. or indirect square root signal conversion with the linearization type (L_TYPE) parameter: Direct signal conditioning – simply passes through the value accessed from the I/O channel (or the simulated value when simulation is enabled). OUT_LO_LIM is restricted to OUT_SCALE_LO-.1*(PV_SCALE_HI-PV_SCALE_LO). The track scale parameter (TRK_SCALE) specifies the range of TRK_VAL. the OUT value is the implied valve position and is not inverted when Increase to Close is True. tracking is disabled in Manual mode.1*(OUT_SCALE_HI-OUT_SCALE_LO). Setpoint Selection and Limiting Setpoint selection is determined by the mode. Note You can set I/O options in Out of Service mode only. if OUT violates the new limits OUT will be forced within the limits on the next pass. refer to the I/O Options topic.1*(OUT_SCALE_HI-OUT_SCALE_LO). the TRK_VAL input is converted to the appropriate value and output in units of OUT_SCALE.htm 1/19/2012 . When the track control parameter (TRK_IN_D) is True and the Track Enable control option is True.chm::/html/FBlk_spec_PID. Setpoint and Output Limit Constraints As part of download the output high and low limits are set to the configured values. The SP or OUT parameters are not changed as a result of changing the scale or limits. When IO_OUT is configured. Feedforward Calculation You can activate the feedforward function with the FF_ENABLE parameter. the feedforward value (FF_VAL) is scaled (FF_SCALE) to a common range for compatibility with the output scale (OUT_SCALE). Activating the track function causes the block's actual mode to go to Local Override (LO). When FF_ENABLE is True.1*(PV_SCALE_HI-PV_SCALE_LO). DeltaV software forces the limit within the rules. When Track in Manual is False. SP_LO_LIM is restricted to PV_SCALE_LO-. Tracking You can specify output tracking with control options and parameters. tracking can be activated and maintained when the block is in Man mode. The following constraints apply to download or direct entry: SP_HI_LIM is restricted to PV_SCALE_HI+. If these limits have not been configured OUT_HI_LIM will be set to OUT_SCALE_HI and OUT_LO_LIM will be set to OUT_SCALE_LO.PID Function Block Page 6 of 33 on OUT will result in 4 mA on the channel. The tracking value parameter (TRK_VAL) specifies the value to be converted and tracked into the output when the track function is operating. The Track Enable control option (CONTROL_OPTS) must be True for the track function to operate. For complete descriptions of the supported I/O options. A gain value (FF_GAIN) is applied to achieve the total feedforward contribution. OUT_HI_LIM is restricted to OUT_SCALE_HI+. When the Track in Manual control option is True. However. The following diagram shows the method for setpoint selection: mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. You can set control options in Out of Service mode only. If the new scale causes a limit to be outside of these rules. In Cas mode. You can limit the setpoint rate of change by configuring the SP_RATE_UP and SP_RATE_DN parameters. A master controller whose BKCAL_IN parameter receives the slave PID block's BKCAL_OUT in an open cascade strategy forces its OUT to match BKCAL_IN. the setpoint is adjusted by the operator. In Auto. thus tracking the PV from the slave PID block. Cas. the output is computed by the PID control equation. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. the working setpoint (SP_WRK) is used for BKCAL_OUT. the BKCAL_OUT value tracks the PV value. the SP value is set to the PV value while in the specified mode. Output Selection and Limiting Output selection is determined by mode. the setpoint comes from the CAS_IN input. the output can be entered manually.chm::/html/FBlk_spec_PID. then if the master PID has selected Dynamic Reset Limit in FRSIPID_OPTS the external reset portion of the master PID now uses the PV of the secondary as its input. Note If the IO_OUT parameter is defined for direct output. an input to a calculation block). Integral and Derivative) are active and how the actions are applied.PID Function Block Page 7 of 33 PID Function Block Setpoint Selection You can limit the setpoint by configuring the SP_HI_LIM and SP_LO_LIM parameters. If the master is another PID. In Auto mode. In Man and ROut modes. use any connection to OUT for calculation purposes only (for example. You can limit the output by configuring the OUT_HI_LIM and OUT_LO_LIM parameters. PID Equation Structures Parameter STRUCTURE in the PID is used to select which of the three PID actions (Proportional. This provides an automatic adjustment of reset action in the master based on the performance of the slave. and RCas modes. With the Use PV for BKCAL_OUT control option. You can set control options in Out of Service mode only. You can select the value that an upstream controller uses for bumpless transfer and reset limiting by configuring the following control option: Use PV for BKCAL_OUT When this option is not selected. Bumpless Transfer and Setpoint Tracking You can select setpoint tracking by configuring the following control options (CONTROL_OPTS): SP-PV Track in LO or IMan SP-PV Track in Man SP-PV Track in ROut When one of these options is set.htm 1/19/2012 . I Action on Error. The range for BETA and GAMMA is 0-1. integral and derivative action are applied to the error (SP .PID Function Block Page 8 of 33 You can select the PID equation structure to apply controller action by configuring the STRUCTURE parameter. PD Action on PV — Integral action is applied to error. This structure will result in a steady state offset of PV from SP. D action on PV 1 0 mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. the number represents the decimal fraction of the action applied to SP change. D action on PV 1 0 I action on error. A small SPFILTER value or SP RATE limiting can be used to reduce the worst case kick. I Action on Error. BETA=1 means full proportional action is applied to SP change. It is also used in cases where the process exhibits the tendency to first move in the opposite direction from its final steady state value. D Action on PV — Proportional and integral action are applied to error. PD Action Error — Proportional and derivative actions are applied to error. P Action on Error.htm 1/19/2012 . BETA=0 means no proportional action is applied to SP change. derivative action applied to PV. A setpoint change will exhibit a proportional and derivative (if RATE>0) kick. there is no integral action. GAMMA=1 means full derivative action is applied to SP change. A setpoint change will exhibit a proportional kick. This structure will result in a steady state offset of PV from SP. This structure then can be used to get any of the structures that include all three (actions) with adjustable action on SP changes for proportional and derivative action. Offset is typically adjusted with BIAS of the PID. D Action on PV — Proportional action is applied to error. If RATE is non-zero. the size of the offset will be determined by GAIN of the PID and the process gain. proportional and derivative action are applied to PV. There is no proportional or derivative kick on a setpoint change. This structure is typically selected for use in integral-only applications (RATE=0). there is no integral action. there is no proportional action. Value of STRUCTURE Value used by the block for BETA Value used by the block for GAMMA PID action on error 1 1 PI action on error. This structure is typically used to get fastest possible setpoint response when derivative action is used (RATE>0) and RATE is not so large as to make the resultant kick too great. There is a derivative kick on an SP change. derivative action is applied to PV. the block automatically uses values as follows for BETA and GAMMA. GAMMA=0 means no derivative action applied to SP change. derivative action is applied to PV. PD action on PV 0 0 PD action on error 1 1 P action on error. D Action on PV — Integral action applied to error. If a structure other than Two Degrees of Freedom Controller are used. For values greater than 0 and less than 1. A setpoint change will exhibit a proportional kick. ID Action on Error — Integral and derivative action are applied to error. It is also used in cases where the process exhibits the tendency to first move in the opposite direction from its final steady state value. There is no derivative kick on an SP change. Select one of the following choices: PID Action on Error — Proportional. Two Degrees of Freedom Controller — Two parameters (BETA and GAMMA) can be adjusted to determine the degree of proportional (BETA) action and derivative (GAMMA) that will be applied to SP changes. PI Action on Error.chm::/html/FBlk_spec_PID.PV). a setpoint change will exhibit both a proportional and derivative kick. Offset is typically adjusted with BIAS of the PID. This structure is typically selected for use in integral-only applications (RATE=0). the size of the offset will be determined by GAIN of the PID and the process gain. there is no proportional action. when tuning a control loop for disturbance rejection. D action on PV na 0 Two Degrees of freedom (uses configured value) (uses configured value) Often.PID Function Block Page 9 of 33 ID action on error na 1 I action on error. The following figure illustrates the setpoint response for a loop tuned for good disturbance rejection with little or no overshoot in the disturbance response.htm 1/19/2012 . Two Degrees of Freedom is selected with the STRUCTURE parameter. Tuning range is from no action to full action (0 to 1). The adjustment parameters are BETA (for proportional) and GAMMA (for derivative).chm::/html/FBlk_spec_PID. This is particularly true when there is derivative action required and the derivative action is taken only on PV (to avoid large bumps in output as the result of modest setpoint changes). Adjustment of BETA and GAMMA can significantly reshape the setpoint response and drastically reduce the overshoot from that of a PID that has full proportional and no derivative action on setpoint. the setpoint response exhibits considerable overshoot. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. The Two Degrees of Freedom structure provided by DeltaV software allows shaping of the setpoint response by adjusting the proportional and derivative action applied to setpoint. Thus.htm 1/19/2012 . mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Reset Implementation The reset component of the PID block is implemented with a positive feedback network as shown in the following figure.chm::/html/FBlk_spec_PID. If the option is not selected (the default) the reset contribution is clamped if a limit condition is indicated by the BKCAL_IN status and the calculated change in output will drive the output further into the limit. The behavior of the reset component depends on the FRSIPID_OPTS option Dynamic Reset Limit. If this option is selected. Block Errors The following conditions are reported in the BLOCK_ERR parameter: Out of Service – The block is in Out of Service (OOS) mode. if the downstream block(s) cannot act on the PID block output.PID Function Block Page 10 of 33 SP Response for Different Structures When Use Nonlinear Gain Modification is selected in FRSIPID_OPTS. Reverse and Direct Action You can select the block output action by configuring the Direct Acting control option. Reset Limiting The PID function block provides a selection between clamped integral action or dynamic reset limiting (external reset) that prevents windup when a change in output cannot be acted on because of a downstream limit. the reset contribution is automatically limited. If the slave block passes back PV then the reset action dynamically uses the PV of the slave. By selecting Dynamic Reset Limit in FRSIPID_OPTS a master PID in a cascade uses the BKCAL_OUT of the slave block. Note You can set control options in Out of Service mode only. eliminating windup. proportional action (if called for by STRUCTURE) is applied to error and standard form equation is applied. the BKCAL_OUT value of a downstream block is input to the reset calculation. Input failure/process variable has Bad status – The source of the block's process variable is bad. Output failure – Either the output hardware or the DST is bad. Modes . Cas. You can configure the following alarm limits to compare to the PV value for alarm detection: High (HI_LIM) High high (HI_HI_LIM) Low (LO_LIM) Low low (LO_LO_LIM) You can configure the following alarm limits to compare to the difference between the SP and PV values (process error) for deviation alarm detection: Deviation high (DV_HI_LIM) Deviation low (DV_LO_LIM) Note Deviation alarms are suppressed on SP changes. Indicates a bad status on a linked IN parameter. When the PV comes within the deviation limits or if the status of mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. and the block is using a simulated value in its execution. refer to the Function Block Modes topic. or a Bad status on the SIMULATE parameter.htm 1/19/2012 . Simulate active – Simulation is enabled. For complete descriptions of the supported modes.PID Function Block Block alarm detection is based on the PV and SP values. Alarm Detection .PID Function Block The PID function block supports eight modes: Out of Service (OOS) Initialization Manual (IMan) Local Override (LO) Manual (Man) Automatic (Auto) Cascade (Cas) Remote Cascade (RCas) Remote Out (ROut) You can configure the OOS. RCas and ROut modes as permitted modes for operator entry.PID Function Block Page 11 of 33 Readback failed – The I/O readback failed. Man. a hardware failure (if the block directly references DSTs) a non-existent Device Signal Tag (DST).chm::/html/FBlk_spec_PID. Auto. Local Override – The block is in Local Override (LO) mode. you can determine what conditions will cause the PV status to be BAD.chm::/html/FBlk_spec_PID. When the PID is configured to directly access an input channel for its input. the target mode (and actual mode) remain in Man.PID Function Block Page 12 of 33 OUT or BKCAL_IN becomes limited. if the status of the input is Uncertain.PID Function Block The actual block mode of the PID block goes to Man if the PV status is Bad.htm 1/19/2012 . Otherwise. the target mode and the actual mode are set to Man. the deviation alarm is enabled again. the PV status will be set to Uncertain (even when the input status is Bad). Through the use of STATUS_OPTS.PID Function Block The following table lists the system parameters for the PID function block: PID Function Block System Parameters Parameter Units Description ABNORM_ACTIVE None The indication that a block error condition not selected in mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Processing of the input status within the PID block to determine the PV status may be modified by your choice of the Status options (STATUS_OPTS). Status Handling . This block supports conditional alarming.Analog Input Function Block topic. If you select the Target to Manual if Bad IN status option and the PV status evaluates to Bad during operation. Similarly. Selecting this option and the Use Uncertain as Good disables the mode from changing to Man under these condition when the target mode is Auto. If the status of the PV changes back to Good. The options are: Bad if Limited Uncertain if Limited Target to Manual if Bad IN Use Uncertain as Good Note that the options available in a fieldbus block are different: Target to Manual if Bad IN Use Uncertain as Good IFS if Bad CAS_IN IFS if BAD IN Note You can set the status options in Out of Service mode only. For more information about conditional alarming and for a description of the additional parameters. then the PV status is set to Good or Bad based on your selection of enabled or disabled for the Use Uncertain as Good option. the status of the channel input is determined as described for the Analog Input block. For more information. the PV status is set to Bad or Uncertain when you select the Bad if Limited or Uncertain if Limited options respectively. Enabling conditional alarming makes additional parameters available for this block. refer to the topic Conditional Alarming. then as long as the input status is limited. If the input status is limited. refer to the Status Handling . the IN parameter status is used as the block input status. Note When the option Uncertain if Limited is selected. Parameters . The value of BETA can be changed over a range of 0-1 if STRUCTURE is set to Two Degrees of Freedom Control. Increasing ALPHA increases damping of derivative action. ALARM_HYS Percent The amount the alarm value must return within the alarm limit before the associated active alarm condition clears. ABNORM_ACTIVE becomes True. BLOCK_ERR None The summary of active error conditions associated with the block. When any of these conditions are True. D action on PV’. it is automatically set to a value of 1 or 0 based on the Structure selection. BKCAL_OUT EU of PV_SCALE The value and status required by the BKCAL_IN input of another block to prevent reset windup and provide bumpless transfer to closed loop control.PID Function Block Page 13 of 33 BAD_MASK (on the function block level) is True (Active). Enter a value between OUT_HI_LIM and OUT_LO_LIM. ARW_HI_LIM** OUT High limit of Anti-Reset Windup. BKCAL_IN EU of OUT_SCALE The analog input value and status from another block's BKCAL_OUT output that is used by an upstream block for bumpless transfer. For a value of 0. 60% of the proportional action applied to SP change. BAL_TIME** Seconds The time over which an internal balancing bias will be dissipated.chm::/html/FBlk_spec_PID. ALARM_HYS is limited to 50% of scale. When the output is beyond ARW_LO_LIM and the integral action is returning toward the limit. Because of this ALPHA should typically NOT be changed. Enter a value between OUT_HI_LIM and OUT_LO_LIM.05 to 1.0.htm 1/19/2012 . ALPHA** None The filter factor for derivative action. When the output is beyond ARW_HI_LIM and the integral action is returning toward the limit. BAD_MASK None The set of active error conditions that triggers a userdefined Bad condition. ARW_LO_LIM** OUT Low limit of Anti-Reset Windup. and so on. Otherwise. BAD_ACTIVE None The indication that a block error condition selected in BAD_MASK (at the function block level) is True (Active).6. The block errors that can appear for the PID function block are: Out of Service Readback Failed mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. BIAS** None The manual reset value applied when STRUCTURE is ‘PD action on error’ or ‘P action on error. The default value is 0. Only has practical meaning when the STRUCTURE parameter is a P + D selection. ALERT_KEY* None The identification number of the plant unit. Adjusting ALPHA can impact the noise protection provided when RATE is utilized. then the applied RESET time is reduced by a factor of 16.125. BETA** None Fraction of proportional action applied to SP change. the BAD_ACTIVE parameter becomes True. then the applied RESET time is reduced by a factor of 16. When any of the BLOCK_ERR conditions that are not included in BAD_MASK are True. This information can be used in the host for sorting alarms. The user selects a subset of block error (BLOCK_ERR) conditions in the BAD_MASK parameter. The valid range in run time is 0. the block operates normally. DV_HI_ACT is set to True. DV_HI_LIM has been exceeded. select the CONTROL_OPTS Bypass Enable option and set the block to MAN mode. CAS or RCAS mode. DV_HI_LIM EU of PV_SCALE The amount by which PV can deviate above SP before the deviation high alarm is triggered. When the block is assigned to a controller the valid control options are: No OUT limits in Manual Obey SP lim if Cas or RCas Act on IR Use PV for BKCAL_OUT Track in Manual Track Enable Direct Acting SP Track retained target SP-PV Track in LO or IMan SP-PV Track in ROut SP-PV Track in Man Bypass Enable When the block is assigned to a fieldbus device the valid options are: No OUT limits in Manual Obey SP lim if Cas or RCas Use PV for BKCAL_OUT Track in Manual Track Enable Direct Acting SP Track retained target SP-PV Track in LO or IMan SP-PV Track in ROut SP-PV Track in Man Bypass Enable DV_HI_ACT None The result of alarm detection associated with DV_HI_LIM. The magnitude of DV_HI_LIM cannot be greater than the range of PV_SCALE. the actual mode of the PID block sheds to the higher of MAN and the next permitted mode which is usually AUTO. If the status of CAS_IN is Bad and the target mode is CAS. When this limit is exceeded. DV_LO_LIM has been exceeded.PID Function Block Page 14 of 33 BYPASS None Output Failure Input Failure/Bad PV Local Override Simulate Active When enabled and the block is in AUTO. bypasses the normal control algorithm by transferring the SP value (in percent) to OUT. If DV_LO_ACT equals True.htm 1/19/2012 . To turn BYPASS on or off. DV_LO_ACT None The result of alarm detection associated with DV_LO_LIM. CONTROL_OPTS None Control options allow you to specify control strategy options. When disabled.chm::/html/FBlk_spec_PID. CAS_IN EU of PV_SCALE The remote analog setpoint value from another block. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. If DV_HI_ACT equals True. HI_HI_LIM EU of PV_SCALE The setting for the alarm limit used to detect the high high alarm condition. HI_LIM has been exceeded. FF_VAL EU of FF_SCALE The feedforward control input value and status. FIELD_VAL** Percent The value and status from the I/O card or from the simulated input if simulation is enabled. FF_SCALE None The high and low scale values. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. FRSIPID_OPTS** None FRSI add-on control options. FF_ENABLE** None Enables/disables feedforward control. the connection for the PV input from another block).6. If HI_ACT equals True. HI_ACT None The result of alarm detection associated with HI_LIM. HI_HI_LIM has been exceeded.chm::/html/FBlk_spec_PID. FF_VAL is multiplied by FF_GAIN before it is added to the calculated control output. GAIN None The normalized proportional (multiplier) gain value. engineering units code. For a value of 0. When this limit is exceeded. HI_LIM EU of PV_SCALE The setting for the alarm limit used to detect the high alarm condition. The proportional and derivative action continue. Note that DV_LO_LIM is a negative number and is compared against PV – SP. 60% of the derivative action is applied to SP. Otherwise. and number of digits to the right of the decimal point associated with the feedforward value (FF_VAL). DV_LO_ACT is set to True. The magnitude of DV_LO_LIM cannot be greater than the range of PV_SCALE. FF_GAIN None The feedforward gain value. If Use Nonlinear Gain Modification is selected in FRSIPID_OPTS. The value of GAMMA can be changed over a range of 0-1 if STRUCTURE is set to Two Degrees of Freedom Control.htm 1/19/2012 . Use Nonlinear Gain Modification. If HI_HI_ACT equals True.PID Function Block Page 15 of 33 DV_LO_LIM EU of PV_SCALE The amount by which PV can deviate below SP before the deviation low alarm is triggered. HI_HI_ACT None The result of alarm detection associated with HI_HI_LIM. FORM** None Selects equation form (series or standard). Supported options are Dynamic Reset Limiting. ERROR** EU of PV_SCALE The difference between SP (setpoint) and PV (process variable). it is automatically set to a value of 1 or 0 based on the Structure selection. the integral action stops. INSPECT_ACT None Indicates if Inspect is enabled and one or more of the limits for the block have been exceeded. When the error gets within IDEADBAND. This parameter is set by the Inspect application and is set to 1 only if the following conditions are true: The Write to Inspect Alarm context menu item has been selected from Inspect for this block. the form automatically becomes standard. GAMMA** None Fraction of derivative action taken on SP. IN EU of PV_SCALE The analog input value and status (for example. regardless of the configured selection of FORM. IDEADBAND** EU of PV_SCALE The dead band value. The normal value is 0. and normal modes. The range is 0>1. LO_LIM has been exceeded. Input.0. When the block is assigned to a controller the supported options are: Low cutoff Increase to close When the block is assigned to a fieldbus device. LOW_CUT** EU of PV_SCALE Activated when the Low Cutoff I/O option is enabled. or is converted with the square root (Indirect Square Root). When the converted measurement is below the LOW_CUT value. where the gain modifier is at a minimum value. permitted. LO_LO_LIM EU of PV_SCALE The setting for the alarm limit used to detect the low low alarm condition. NL_MINMOD** None The configured minimum gain modifier. LO_LIM EU of PV_SCALE The setting for the alarm limit used to detect the low alarm condition. is converted linearly (Indirect). L_TYPE** None Linearization type. IO_OPTS** None I/O options allow you to select how the I/O signals are processed. NL_HYST** EU of PV Scale Gap action hysteresis value. LO_ACT None The result of alarm detection associated with LO_LIM. NL_TBAND** EU of PV Scale The configured range of ERROR. positive or negative. the PV is set to 0. MODE contains the actual. where the gain modifier transitions between NL_MINMOD and 1. IO_READBACK** None Defines the Device Signal Tag (DST) for the input channel that provides readback for the value written to the channel defined by IO_OUT. positive or negative. MODE None Parameter used to show and set the block operating state. IO_OUT** None Defines the output DST for the block. Control. the IO_OPTS parameter is not available. or Variability. Inspect indicates that an abnormal condition exists for Mode.0. Determines whether the field value is used directly (Direct). If LO_LO_ACT equals True. LO_LO_LIM has been exceeded. NL_GAP** EU of PV Scale The configured range of ERROR. If LO_ACT equals True. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.) IO_IN** None Defines the input DST for the I/O channel used for the PV.chm::/html/FBlk_spec_PID. The range is 0-> (PV_SCALEHI-PV_SCALELO). LO_LO_ACT None The result of alarm detection associated with LO_LO_LIM.0. OUT EU of OUT_SCALE The analog output value and status. target.htm 1/19/2012 . The range is 0->(PV_SCALEHI-PV_SCALELO).PID Function Block Page 16 of 33 With the Current Hour filter selected. (Note that an abnormal condition exists for Variability only if both the Variability Index and the Standard Deviation have exceeded their defined limits. The range is 0->(PV_SCALEHI-PV_SCALELO). chm::/html/FBlk_spec_PID. SIMULATE_IN** Percent The input connector value and status used by the block instead of the analog measurement when simulation is enabled. RESET Seconds per repeat The integral action time constant. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Essentially the equivalent of BKCAL_OUT for RCAS_IN. If exceeded. If SIMULATE_IN is connected or has a manually entered value. PV EU of PV_SCALE The process variable used in block execution and alarm limit detection. Note A PID block will not integrate if the limit status of PV is CONSTANT. OUT_LO_LIM EU of OUT_SCALE The minimum output value allowed. it always overrides a manually entered value in SIMULATE. PV_FTIME Seconds The time constant of the first-order PV filter. ROUT_IN EU of OUT_SCALE Remote output value and status. Input provided by a device or the output of another block. SP EU of PV_SCALE The block's setpoint value. PV_SCALE None The high and low scale values. Essentially the equivalent of BKCAL_OUT for ROUT_IN. engineering units code. The SIMULATE value is used by the block only when SIMULATE_IN is not connected. OUT_SCALE None The high and low scale values.PID Function Block Page 17 of 33 OUT_HI_LIM EU of OUT_SCALE The maximum output value allowed. RATE Seconds The derivative action time constant. RCAS_IN EU of SP_SCALE The remote analog setpoint value and status. Note When SIMULATE_IN is wired from an input source on the function block diagram. SHED_TIME** Seconds The maximum allowable time between RCAS_IN or ROUT_IN updated. engineering units code. OUT_READBACK** EU of OUT_SCALE The value and status of the output channel referenced by IO_READBACK. mode shedding takes place. SIMULATE** Percent Enables simulation and allows you to enter an input value and status. SHED_OPT None Defines action to be taken on remote control device timeout. Input provided by a device to the control block for use as the output (ROut mode) ROUT_OUT EU of OUT_SCALE The output provided for bumpless mode transfer and reset limiting by the source of ROUT_IN. and number of digits to the right of the decimal point associated with PV. SIMULATE_IN always overrides SIMULATE. RCAS_OUT EU of PV_SCALE The output provided for bumpless mode transfer and reset limiting by the source of RCAS_IN. and number of digits to the right of the decimal point associated with OUT.htm 1/19/2012 . SP_WRK EU of PV_SCALE The working setpoint of the block subjected to SP_RATE_DN and SP_RATE_UP. STATUS_OPTS None Status options determine status handling and processing. An estimate of the least standard deviation the process could achieve ideally.0. For analog control blocks in AUTO. SP_LO_LIM EU of PV_SCALE The lowest SP value allowed. in PV units per second.chm::/html/FBlk_spec_PID. To support tracking changes in static parameter fields. the associated block's static revision parameter is incremented if a static parameter field is written but the value is not changed. rate limiting applies only in Auto. the associated block's static revision parameter is incremented each time a static parameter field value is changed. and RCas modes. (reports in mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.htm 1/19/2012 . Also. then the setpoint is used immediately. For control blocks.0. Refer to Loop Performance Calculations for more details on how this parameter is calculated. SP_RATE_UP EU of PV_SCALE per second Ramp rate at which upward setpoint changes are acted on in Auto mode. then the setpoint is used immediately. Cas. rate limiting applies only in Auto. For control blocks. and RCas modes. For output blocks. SP_HI_LIM EU of PV_SCALE The highest SP value allowed. If the block is assigned to a controller. SP_RATE_DN EU of PV_SCALE per second Ramp rate at which downward setpoint changes are acted on in Auto mode. (reports in percent to Inspect) STDEV_CAP EU of OUT_SCALE or EU of PV_SCALE The estimated capability standard deviation (measurement of short term variation).PID Function Block Page 18 of 33 SP_FTIME Seconds Time constant of the first order SP filter. in PV units per second. If the ramp rate is set to 0. ST_REV* None The revision level of the static data associated with the function block. Cas. mean is assumed to be the SP. Refer to Loop Performance Calculations for more details on how this parameter is calculated. rate limiting applies in Auto. If the ramp rate is set to 0. rate limiting applies in Auto. For output blocks. the available options are: STDEV EU of OUT_SCALE or EU of PV_SCALE Target to Manual if Bad IN Use Uncertain as Good IFS if Bad CAS_IN IFS if Bad IN The standard deviation of PV. the available options are: Bad if Limited Uncertain if Limited Target to Manual if Bad IN Use Uncertain as Good If the block is assigned to a fieldbus device. TRK_VAL EU of TRK_SCALE The analog input used in the external tracking function. This data is not checked or processed by the block. Track if Bad . Closed Loop Control Implement basic closed loop control by taking the error difference between the setpoint (SP) and the process variable (PV) and calculating a control output signal using a PID (Proportional Integral Derivative) function block. engineering units code. This ensures that the STDEV and STDEV_CAP calculations accurately consider the actual time constant of the process. and number of digits to the right of the decimal point associated with the external tracking value (TRK_VAL). cascade control with master and slave. TRK_IN_D None Discrete input that initiates external tracking. flexible control algorithm that is designed to work properly in a variety of control strategies. Proportional control responds immediately and directly to a change in the PV or SP. Allows you to select the tracking behavior when the status of the TRK_IN_D is Bad. Note Default values and data type information for the parameters are available by expanding the Parameter View window. * These parameters are only visible in one or more of the extended versions of this block. The following examples describe how to use the PID block for closed loop control: basic PID loop. even if the value is False.The block uses the value of TRK_IN_D the last time its status was not Bad. If the process is relatively much slower.chm::/html/FBlk_spec_PID. Application Information . TRACK_OPT** None Tracking Option. This is the default value for TRACK_OPT. and PID control with tracking. Use Last Good Value . The PID block is configured differently for different applications. The default value of zero is good for most processes where the scan rate is no more than approximately 10 times faster than the time to steady state. ** These parameters may not be visible in certain extended versions of the block. the block reacts as if the value if True.PID Function Block Page 19 of 33 percent to Inspect) STDEV_TIME Seconds The timeframe over which STDEV and STDEV_CAP are performed.The block reacts to the current value of TRK_IN_D regardless of the status. The proportional term (GAIN) applies a mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. STRUCTURE** None Defines PID equation structure to apply controller action.If the status of TRK_IN_D is Bad.PID Function Block The PID function block is a powerful. feedforward control. it is recommended that you enter the approximate time it takes for the process to return to steady state after a change. The three tracking options are Always Use Value . complex cascade control with override.htm 1/19/2012 . STRATEGY* None The strategy field can be used to help group blocks. TRK_SCALE None The high and low scale values. which is typically temperature control. the PID controller accepts the heated fluid temperatures as an input and provides a signal to the AO block. The integral term (RESET) applies a correction based on the magnitude and duration of the error. control problems can arise because of a time delay caused by thermal inertia between the two flow streams. If. refer to the Function Block Modes topic. It integrates the error until it is negligible. Application Example: Feedforward Control In the above example. which sends the control signal to the steam feed valve. it can take some time for this disturbance to cause a drop in the heated fluid's mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. steam flow declines. For more information on this BKCAL communication. the control loop will likely have a steady state error. Use derivative control where large measurement lags exist. The BKCAL communication between the PID and AO blocks is a necessary part of this example. Status information is communicated to the block when you define the card and channel parameters. Integral control eliminates steady state error. The MODE parameter is a switch that indicates the target and actual mode of operation.PID Function Block Page 20 of 33 change in the loop output based on the current magnitude of the error. Application Example: Basic PID Block for Steam Heater Control A process fluid is heated by steam in a heat exchanger.htm 1/19/2012 . The derivative term (RATE) applies a correction based on the rate of change of error. For complete descriptions of the supported modes. as in the following example: Basic Setup for PID Steam Heater Control In this example.chm::/html/FBlk_spec_PID. Note You can configure the PID function block by referencing the I/O directly and not using AI and AO function blocks. In this case. Mode selection has a large impact on the operation of the PID block. I/O channels are addressed with the parameters IO_IN and IO_OUT. for example. Lowering RESET increases integral action.BKCAL Communications topic. With only the proportional term (GAIN). refer to the Advanced Topics . ) In this steam heater system. the greater the valve opening. scale the feedforward value (FF_SCALE). In the following figure. Control can be improved by measuring this disturbance and reacting to it before it manifests itself at the temperature transmitter. steam flow is measured (FT). Another way to deal with the time delay problem is to use cascaded controllers.PID Function Block Page 21 of 33 temperature. In the cascade loop in the following figure. adding feedforward control improves the process outlet temperature response. A feedforward signal is sent to the controller to augment the signal to the valve if flow drops or to lower this signal if steam flow rises. The inlet steam flow is input to an AI function block and is connected to the FF_VAL connector on the PID block. The following diagram shows the process instrumentation for this example: mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.htm 1/19/2012 . Enable feedforward control (FF_ENABLE). the output from the master temperature loop is used as the setpoint for the slave steam flow loop. and apply a gain determined by tuning (FF_GAIN). The following figure shows the process and function block configuration for feedforward control: PID Function Block Feedforward Control Example Application Example: Cascade Control with Master and Slave Loops The feedforward scheme in the above example requires that some correlation be predetermined between steam flow changes and the steam valve opening adjustments they make.chm::/html/FBlk_spec_PID. This approach does not require finding a correlation between steam flow changes and their steam valve opening adjustments. (This applies to a configuration where the higher the signal. BYPASS can be activated so that the signal coming from the master controller passes through the slave to the field. during a process startup). the output flow from the pump is low for a short period while the pump is coming up to speed.htm 1/19/2012 .BKCAL Communications for more information. Note Cascaded blocks use BKCAL_IN and BKCAL_OUT to pass statuses during cascade initialization and in limited states. slave PID block. The flow control valve and controller do not operate effectively at this low flow. In the following figure. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. a flow control valve is used to regulate the flow rate supplied by a pump. Application Example: Cascade Control with Override You might need override with cascaded PIDs. In the PID function block. When the pump is started.chm::/html/FBlk_spec_PID. and AO block are in a second module. For more information on the use of override control. the loop still has some control. dynamic performance will suffer because a cascaded loop has effectively been replaced with a single PID. however. The flow. Choose this method when you want to reference faceplates and alarms separately. In this manner. Another method of configuring function blocks for this example is to put the temperature AI block and the master loop PID block in one module. BYPASS is used when the control function block is a slave block in a cascade. If a transmitter failure or some other problem occurs that causes the slave controller to see a Bad input signal. refer to Application Information .PID Function Block Page 22 of 33 PID Function Block Cascade Control Example The cascaded blocks shown can all be installed in a single module. Application Example: PID Control with Tracking An example where tracking is useful is a process operating outside of its normal operating range (for example. Refer to Advanced Topics .Control Selector Function Block. Gain=2. This set of tuning parameters provides an error-squared output with a maximum gain of 2. When the pump starts.chm::/html/FBlk_spec_PID. tracking is turned off. NL_HYST=0. Application Example: Error-Squared Proportional Only Control Applied to Integrating Process A PID block. and the PID can initiate its normal control. Reset=0.htm 1/19/2012 . tracking starts. Proportional Only Control Applied to a Liquid Level Use Nonlinear Gain Modification in FRSIPID_OPTS is selected.PID Function Block Page 23 of 33 PID Control Using Tracking Tracking can be used in this situation to set the valve at a predetermined opening for a given amount of time. regulating the valve to adjust the output flow. The tracking value is set at the needed valve opening. The signal to start the pump is also directed through a timed pulse block to turn tracking on for the time duration specified in the timed pulse block. a load disturbance equivalent to 25% of OUT_SCALE is introduced. Rate=0. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. configured for proportional only control. At the end of the pulse. NL_MINMOD=0. Starting balanced at 50% of scale (BIAS=50 %). NL_TBAND=50. NL_GAP=0. is applied to a liquid level (for example. The valve opens to the specified value for the duration of the timed pulse. a surge tank level control might be performed this way). Transition Band.chm::/html/FBlk_spec_PID. The block diagram mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.htm 1/19/2012 . and Hysteresis Control with Deadband. Transition Band.PID Function Block Page 24 of 33 Proportional Error Squared Applied to Integrating Process Application Example: PID with Deadband. and Hysteresis A self-regulating process is controlled with a PID configured for deadband. hysteresis and transition band. the output remains constant. The response for SP and load responses are compared: Note that in this example the MASTER is using identical RESET and RATE. at which point the output is held constant.PID Function Block Page 25 of 33 of the loop is identical to that for the previous example. The MASTER PID is tuned for load response to approximately the best IAE (Integrated Absolute Error). NL_GAP=2. RATE=0. NL_HYST=3. GAIN=2.chm::/html/FBlk_spec_PID.5. without FRSI_PID_OPTS option Dynamic Reset Limit (DRL) selected. RESET=7.htm 1/19/2012 .6 the value applied in the case when option is not selected. but in the case where the Dynamic Reset Limit option is selected the GAIN parameter is adjusted to about 1. The MASTER PID is then tuned to give the identical IAE with option Dynamic Reset Limit selected. A disturbance equivalent to 25% of OUTSCALE is introduced at the process input. NL_TBAND=3. Tuning parameters are: NL_MINMOD=0. Once the controller begins adjusting its output it continues to adjust until the error is brought to a value less than NL_GAP. Until the error exceeds 5 (NL_GAP + NL_HYST). Application Example: Dynamic Reset Limiting In Primary of A Cascade Two PID blocks are configured in a cascade control configuration. Dynamic Reset Limiting in Primary of a Cascade mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Both the MASTER and SLAVE processes are then modified by doubling the dead time in both. The tendency to overshoot is much reduced.htm 1/19/2012 . The response difference illustrated is typical.PID Function Block Page 26 of 33 From the above plots it is apparent that master response is altered significantly by the use of Dynamic Reset Limit.chm::/html/FBlk_spec_PID. PID Function Block Page 27 of 33 When the Dynamic Reset Limit option is selected the responses are maintained at an acceptable level of performance.chm::/html/FBlk_spec_PID. a step change in the feedforward input forces the calculated PID output to exceed the PID output limit. Reset Contribution Under Limited Conditions The following example illustrates the dynamic response of the PID block when it is limited by the output limits compared to the response when the output is limited by a downstream block. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. Depending on the length of time FF_VAL's step change is held (30% in the figure). even though the GAIN in that case is higher. while providing much higher stability margins in the MASTER. it also reduces the sensitivity of the control loop to changes in slave performance and stability. Not only does Dynamic Reset Limit (or dynamic external reset) provide reset limiting in cases of limit violations.htm 1/19/2012 . In the first case. when it is changed back to 0% the OUT value returns to a value less than 50%. When a 30% FF_VAL is applied and removed to this module.htm 1/19/2012 . the PID OUT_HI_LIM may be 100 and the AO block SP_HI_LIM is set to the 70% limit.chm::/html/FBlk_spec_PID. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. This behavior can be achieved by setting the PID output limits outside the value needed to trigger a limit condition in the downstream block.PID Function Block Page 28 of 33 Process Response Using PID Limiting In the second case. For example. However. If SP_HI_LIM is reached. the AO block BKCAL_OUT status becomes Limited which prevents changes to the PID reset from forcing OUT further past the limit. if only the portion of FF_VAL that forces the OUT value to saturation has an impact on the process. it behaves as shown in the following figure. In the second case. resulting in the BKCAL_IN having limit status. the PID output limits are increased so that the change in the feedforward input causes the setpoint of the downstream block to be limited. then the reset contribution should not change and the OUT value should return to its original value when FF_VAL changes back to its initial value. the change in feedforward input causes a change that exceeds the setpoint limit in a downstream block. PID Function Block Page 29 of 33 Process Response Using Downstream AO Block Limiting Advanced Topics . specifically to let upstream blocks know the status of downstream blocks. The downstream block passes a value (usually its setpoint) as well as a status to the upstream block.BKCAL Communications Interblock Communication The BKCAL parameters are used for interblock communication.htm 1/19/2012 . Blocks that utilize the BKCAL parameters are referred to as cascaded blocks. Anti-Reset Windup Protection with Control Cascade Cascade Initialization mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. When the upstream block executes its algorithm. the blocks act as a control unit that must coordinate its control activity. When cascaded. as shown in the following figure. it sends the limited status to the upstream control block. if a downstream block is in a limited state. The most common use of BKCAL is to prevent reset windup. which turns off its integral action in response. In other words. The BKCAL parameters include a BKCAL_OUT parameter in a downstream block connected to a BKCAL_IN parameter in an upstream block. it takes into account the status of the downstream block.chm::/html/FBlk_spec_PID. chm::/html/FBlk_spec_PID. 1. Both blocks have Manual as their target modes. Set the downstream block's target mode to Cas. Set the target mode of AO1 to Cascade. Also. Therefore. and AO1/BKCAL_OUT sends out an initialization request to the upstream block. If the status of CAS_IN were GoodNoncascade. The dialog that takes place between blocks during this process is illustrated in the following sequence of figures. The simplest case of a control cascade is a master PID block linked to a slave AO block. that is. and the master cannot operate as an automatic controller. Blocks with Man Modes as Targets In step 1. informing the upstream block that the downstream block is trying to go to Cascade mode. 2. This occurs because the status entering the CAS_IN parameter is GoodCascade rather than GoodNoncascade.htm 1/19/2012 . Note that PID1 has IMan as its actual mode because the PID block senses that there is a slave block downstream. Close the cascade by first putting the slave block into Cascade mode. the slave would conclude that the upstream block is not one that initializes as part of a control cascade.PID Function Block Page 30 of 33 Another use of the BKCAL parameters is to initialize cascaded blocks (refer to Cascade Basics for more information). the cascade cannot be closed. This occurs when the control cascade is automated (for example. Not Invited conveys to the master block that the slave is not in Cascade mode. and the slave block is sending a Not Invited status signal up to the master block through the BKCAL port. The upstream block initializes and notifies the downstream block that initialization has occurred. the slave block sends status information through its BKCAL_OUT parameter. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. This is shown in step 2. when the blocks go from Manual to Auto or Cas mode). This causes two things to happen: the actual mode of the AO block goes to Auto. the cascade is open. not automated. Downstream Block Target Mode Set to Cas 3. Start out both blocks with Man mode as the target modes. htm 1/19/2012 . The downstream block changes to Cas mode and notifies the upstream block of this change. sets up SP for bumpless transfer. Since PID1/BKCAL_IN mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks. the cascade is closed but not automated.chm::/html/FBlk_spec_PID. The master PID is still in Man mode. The target mode of the master controller is set to Auto. This step closes the cascade. it would not be able to initialize and the cascade could not be closed. that is. 4. Downstream Block Changes to Cas Mode and Notifies Upstream Block Once the slave block receives the Initialization Acknowledged signal from the master block. At this point. The upstream block sets and achieves Auto mode. Upstream Block Sets and Achieves Auto Mode Step 5 shows the fully automated cascade. AO1 would be stuck in Cas/Auto mode. the slave block's actual mode becomes Cas (step 4). the master block has received the initialization request and initializes. If something were wrong with the upstream block (for example.PID Function Block Page 31 of 33 Upstream Block Initialization and Notification of Downstream Block In step 3. The process by which this occurs is an Initialization Acknowledged status sent through the master block's OUT parameter. Then. it had tracking enabled or a bad input status). 5. performing its function using the internal setpoint of the block. the master block lets the slave block know that it has received the initialization request and successfully initialized. The slave block executes its algorithm using the SP supplied by the master block. Start all blocks in Man mode. When these steps are completed.PID Function Block Page 32 of 33 has a status other than Not Invited (because the slave block is in Cas mode). This figure illustrates a control cascade with a downstream AO block. which is in Auto mode when the cascade is fully automated. 1. PID2 initializes and acknowledges. Cascade automation starts from the most downstream block and proceeds step by step upstream. Multi-level Cascade Initialization The following figure shows the initialization process for a multi-level cascade (that is.chm::/html/FBlk_spec_PID. the block would have remained with mode Auto/IMan because of the Not Invited status received by the PID through BKCAL_IN. the PID block is authorized to go to Auto mode. a cascade with two levels of cascading). mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.htm 1/19/2012 . all blocks in the cascade are in Cas mode except the master block. AO1 sets the target mode to Cas. Blocks Start in Man Mode 2. Note that if the user had set the target mode of PID1 to Auto at step 1. PID2 sets the target mode to Cas. PID2 Achievement of Man Mode 4. mk:@MSITStore:C:\DeltaV\bol\FunctionBlocks.htm 1/19/2012 .PID Function Block Page 33 of 33 AO1 Setting of Target Mode to Cas. in RCas mode. The same communication takes place between the master and slave blocks. PID2 Initialization and Acknowledgement 3. PID2 Setting of Target Mode to Cas. AO1 achieves Cas mode. AO1 Achievement of Cas Mode. PID1 initializes and acknowledges. However. substitute RCAS_IN for CAS_IN and RCAS_OUT for BKCAL_OUT. PID2 achieves Man mode.chm::/html/FBlk_spec_PID. PID1 Initialization and Acknowledgement The preceding examples regarding Cas mode also apply to RCas mode.