smooooth operations - configuration tips for analog blocks

61
Smooooth Operations Configuration Tips for Analog Blocks

Upload: emerson-exchange

Post on 28-Jan-2015

128 views

Category:

Education


5 download

DESCRIPTION

Presented by Emerson's James Beall, Nikki Bishop, and Barabara Hamilton at the 2011 Emerson Exchange conference in Nashville, Tennessee.

TRANSCRIPT

Page 1: Smooooth Operations - Configuration Tips for Analog Blocks

Smooooth Operations

Configuration Tips for Analog Blocks

Page 2: Smooooth Operations - Configuration Tips for Analog Blocks

Presenters

James Beall

Principal Process Control Consultant

Barbara Kerr Hamilton

Senior Industrial Energy Consultant

Nikki Bishop

Senior Applications Consultant

Page 3: Smooooth Operations - Configuration Tips for Analog Blocks

Introduction

Discuss useful features and options of the PID Block Explain how to use BKCAL’s in Cascade Control and

explain the various options Identify additional uses of BG and RTO blocks and

how to use them Demonstrate examples of these features and options

Page 4: Smooooth Operations - Configuration Tips for Analog Blocks

TOPIC 1: The simple PID block

“I don’t understand all I know about this”

Page 5: Smooooth Operations - Configuration Tips for Analog Blocks

PID “Form”PID “Form”

Three Common PID Forms – Standard, aka ISA Form (DeltaV default)– Series, aka Classical Form– Parallel Form (not available in DeltaV)

Read the fine print…

FORM None Selects equation form (series or standard). If Use Nonlinear Gain Modification is selected in FRSIPID_OPTS, the form automatically becomes standard, regardless of the configured selection of FORM.

Page 6: Smooooth Operations - Configuration Tips for Analog Blocks

Series and Standard Forms

Series

Standard

PROCESSPV

+

-

SP

Output

+

Error

+

+

P

I

DSDT

sRT1

CK

+

-

SP+ PROCESS

PV

Error = SP - PV

P

I

DSDT

sRT1

CK

OUTPUT

Page 7: Smooooth Operations - Configuration Tips for Analog Blocks

PID “Form” ChoicePID “Form” Choice

Prior system experience and/or migration Personal Preference - Standard (RS3, etc) or

Series (Provox, etc.) Series is identical to Standard form if

Derivative action is NOT used Can impact conversion of tuning constants

from previous control system

Page 8: Smooooth Operations - Configuration Tips for Analog Blocks

Convert Series (Classical) to StandardConvert Series (Classical) to Standard Series is identical to Standard form if Derivative

action is NOT used TR should be time/rep; units = seconds TD should be in seconds Be sure to convert to your tuning constant units

after form conversion

TR Classical * TD Classical

( TR Classical + TD Classical )

KC Standard = KC Series *TR Classical + TD Classical

TR Classical

TR Series TR Standard =

0

TD Standard =

+ TD Classical

0

0

TR Series * TD Series

( TR Series + TD Series )

TR Series + TD Series

TR Series

+ TD Series

Page 9: Smooooth Operations - Configuration Tips for Analog Blocks

PID “Structure”PID “Structure”

Used most.

Default

Page 10: Smooooth Operations - Configuration Tips for Analog Blocks

Structure: PI on error, D on PVStructure: PI on error, D on PV

Controller Output – Flow to reactor

SP

Page 11: Smooooth Operations - Configuration Tips for Analog Blocks

Structure: I on error, PD on PVStructure: I on error, PD on PVController Output – Flow to reactor

SP

Page 12: Smooooth Operations - Configuration Tips for Analog Blocks

Structure: 2 Degrees of FreedomStructure: 2 Degrees of Freedom

BETA - determines the degree of proportional action that will be applied to SP changes. – Range = 0-1– BETA=0 means no proportional action is applied to SP change. – BETA=1 means full proportional action is applied to SP change.

GAMMA - determines the degree of derivative action that will be applied to SP changes. – Range = 0-1– GAMMA=0 means no derivative action applied to SP change. – GAMMA=1 means full derivative action is applied to SP change.

Page 13: Smooooth Operations - Configuration Tips for Analog Blocks

Structure: 2 Degrees of FreedomStructure: 2 Degrees of Freedom

Page 14: Smooooth Operations - Configuration Tips for Analog Blocks

PID “IDEADBAND” (Integral Deadband) PID “IDEADBAND” (Integral Deadband)

Limits the movement of the controller output when the error is less than the IDEADBAND– Integral action stops – Proportional and Derivative action continue– Same Engineering Units as PV Scale

Uses:– Mitigates effect of valve “stiction” (but leaves offset) – Allows P-only control if within deadband

Page 15: Smooooth Operations - Configuration Tips for Analog Blocks

PID: Setpoint ProcessingPID: Setpoint Processing

SP_FTIME: Time constant of 1st order SP filter– seconds – Applies in AUTO, CAS and *RCAS (*not specified in BOL)

SP_RATE_DN: Ramp rate for SP decreases SP_RATE_UP - Ramp rate for SP increases

– PV units per second – If set to 0.0 then SP is used immediately. – Applies only in AUTO (not CAS or RCAS)

Page 16: Smooooth Operations - Configuration Tips for Analog Blocks

Set Point LimitsSet Point Limits

SP_HI_LIM- The highest SP value (EU’s) allowed.

SP_LO_LIM - The lowest SP value (EU’s) allowed.

CONTROL_OPTS – allow you to specify if SP Limits to be obeyed in “CAS and RCAS”

Can use “Output Limits” of Master loop in cascade pair to limit SP to Slave loop ONLY in CAS and RCAS

Page 17: Smooooth Operations - Configuration Tips for Analog Blocks

Gain SchedulerGain Scheduler

Provides up to 3 regions of different PID tuning parameters based on a selected state variable (output, PV, error, or “other”)

Provides a smooth transition between regions Create PID module using Module Templates:

Analog Control/PID_GAINSCHED OR, add function to existing PID module

– Expose Gain, Reset and Rate parameters on PID function block

– Copy all function blocks from template except the PID FB and link as needed.

Page 18: Smooooth Operations - Configuration Tips for Analog Blocks

Gain SchedulerGain Scheduler

Page 19: Smooooth Operations - Configuration Tips for Analog Blocks

Gain SchedulerGain Scheduler

Page 20: Smooooth Operations - Configuration Tips for Analog Blocks

Gain Scheduler – Detail DisplayGain Scheduler – Detail Display

Page 21: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear GainFRSIPID_OPTS: Non-linear Gain

Modifies the proportional Gain as a function of the error (PV-SP)

Makes the tuning more aggressive as the PV is farther from the set point

Can create the “error squared” PID function

Page 22: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear GainFRSIPID_OPTS: Non-linear Gain

e

NL_GAP NL_HYST NL_TBAND

Knl=NL_MINMOD

Knl

Knl=1

The PID “Gain” is multiplied by “KNL” which has a value between 0 and 1 as a function of the error (SP-PV).

= PV-SP

Page 23: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear GainFRSIPID_OPTS: Non-linear Gain

TIP: I typically set NL_HYST = 0 unless it is a for a “valve position controller.TIP: I typically set NL_HYST = 0 unless it is a for a “valve position controller.

Page 24: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear GainFRSIPID_OPTS: Non-linear Gain

GAIN ≥ modified PID gain ≥ GAIN * NL_MINMOD But neither GAIN nor GAIN_WRK show the modified gain

value! Caution – Integrating Processes

– May cause oscillation at reduced gain– For these applications, the reset time should be based

on “Gain*MINMOD” which will result in a larger reset time to prevent oscillations.

– Consider using the Gain Scheduler instead (so you can change gain and reset)

Page 25: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear GainFRSIPID_OPTS: Non-linear Gain

Caution! PID Form is set to Standard regardless of the configured FORM parameter value – Also, if the Non-linear Gain option is enabled, the

STRUCTURE will be “PID on error” regardless of the PID Structure chosen (including 2 degrees of freedom).

– So if you move the SP such that the error is outside of NL_GAP+NL_HYST, there will be a “proportional kick” of the output

– Test this on your application!

Page 26: Smooooth Operations - Configuration Tips for Analog Blocks

FRSIPID_OPTS: Non-linear Gain “Error2”FRSIPID_OPTS: Non-linear Gain “Error2”

“Error squared” PID function – error*abs(error) Proportional = error*abs(error)*gain

= error* (abs(error)*gain) Proportional = error*(Modified Gain) Modified Gain = abs(error)*Gain

Error

Modified

Gain

Non-linear Gain Settings for E2

Activate NL Gain

NL_MINMOD = 0

NL_GAP = 0

NL_TBAND = 100% of PV

Span (EU’s)

NL_HYST = 0

Page 27: Smooooth Operations - Configuration Tips for Analog Blocks

Topic 2: Block Initialization and Options

BKCAL_IN and BKCAL_OUT

How to use it ….

When to fool it….

The single most

misused and

misunderstood

connection in

DeltaV!!

Page 28: Smooooth Operations - Configuration Tips for Analog Blocks

Don’t Be Frightened by BKCAL’s!

Don’t let BKCAL’s scare you away! They are quite useful little “critters” and can make your life a lot easier.

Page 29: Smooooth Operations - Configuration Tips for Analog Blocks

What is a BKCAL? Downstream loop “talks” to the upstream loop and tells it what’s

going on. Information such as:– Can the downstream loop receive a setpoint? – If not, why? And where should the upstream output

be to match the local downstream setpoint?

“No problem, Mr. Downstream.

Just tell me what your current SP is so that I can

make my output match.”

“Hey there, Mr. Upstream, I am not quite ready

for your SP. I’ll let you

know when I am ready.”

“Sound great, Mr. Upstream. That way, when I am ready for

your SP, we will be all matched

up.”

Page 30: Smooooth Operations - Configuration Tips for Analog Blocks

What’s in a BKCAL?

BKCAL_OUT Value– SP (default)– PV (selected in CONTROL_OPTS of downstream PID block)

BKCAL_OUT Status : – Bad– Uncertain– GoodNonCascade– GoodCascade

BKCAL_OUT SubStatus : – NotLimited– LowLimited– HighLimited– Constant

Page 31: Smooooth Operations - Configuration Tips for Analog Blocks

BKCAL’s and Block Initialization

“bump-less” – neither the setpoint nor the valve on the flow loop will jump to a new value when placed in CAScade

K f

T

LT

F(x)

TA

FT

TA

D

TA

A

output

setpnt

bkcal

F(x)

K f

D

T

“balance-less” – operator does not have to “line up” level output with flow setpoint to change modes

“I am not ready for your SP right now.

I’ll let you know when I am ready.”

“Ok. Where should my

output be to match your

local setpoint?”

Page 32: Smooooth Operations - Configuration Tips for Analog Blocks

Important Control OptionsImportant Control Options

CONTROL_OPTS Use PV for BKCAL_OUT SP-PV Track in LO or IMAN SP-PV Track in MAN

FRSIPID_OPTS Dynamic Reset Limit

Page 33: Smooooth Operations - Configuration Tips for Analog Blocks

But what do those things mean?

Use PV for BKCAL_OUT– Use this on slave loops to send the actual PV upstream to

the master instead of the SP when in CAScade mode.– In AUTO, MAN, IMAN, and LO the SP is still used for the

BKCAL_OUT– If used in conjunction with DRL on the master, will prevent

reset windup if/when the slave loop cannot make setpoint.

SP-PV Tracking– SP will be set equal to PV in the modes selected.– Separate checkboxes for MAN and LO / IMAN. Usually

check both.

Page 34: Smooooth Operations - Configuration Tips for Analog Blocks

Output limiting and reset windup Dynamic Reset Limiting on PID block:

– BKCAL_IN will be used for reset feedback instead of the internal “OUT” of the PID algorithm.

– If BKCAL_IN is not changing, reset cannot “wind”. – Default DeltaV PID blocks use internal “OUT” for reset

feedback and the internal reset calculation can continue past the OUT limit

Example - Flow loop with cascade setpoint– PID configured with low output limit of 20%– If loop cannot make setpoint, output will clamp at 20%– But internal reset action will continue – Internal PID output will “wind” all the way to 0%

Page 35: Smooooth Operations - Configuration Tips for Analog Blocks

How can you prevent windup? What to do

– Set the Anti-Reset Windup (ARW) limits equal to OUT limits• Reset action will return 16X faster than normal

– Use Dynamic Reset Limit on PID block• BKCAL_IN will be used for reset feedback instead of internal

“OUT”• If BKCAL_IN is not changing, reset cannot “wind”.

Page 36: Smooooth Operations - Configuration Tips for Analog Blocks

Enabling PID External Reset Enabling PID External Reset

Utilized most often in the primary loop of a cascade

Compensates for “unexpected” slow secondary loop response or secondary PV limited before its OUT limited

Page 37: Smooooth Operations - Configuration Tips for Analog Blocks

Anti Reset WindupAnti Reset Windup

Standard – Limited conditions in the Slave loop are taken care of

through the BKCAL feature– Integral action is turned off in the direction of the limited

status Dynamic Reset Limiting

– Prevent reset windup with external reset – Select “Dynamic Reset Limit” in FRSIPID_OPTS on the

Master loop– Select “Use PV for BKCAL_OUT” in CONTROL_OPTS

on the Slave loop

Page 38: Smooooth Operations - Configuration Tips for Analog Blocks

Anti-Reset Windup LimitsAnti-Reset Windup Limits

Improves process recovery from saturation ARW_LO_LIM must be >= OUT_LO_LIM

– When OUT is between above numbers, reset action to increase the output is decreased by 16X

– Process recovery from low limit is faster until output is > than anti-reset windup limit

ARW_HI_LIM must be <= OUT_HI_LIM– When out is between above numbers, reset action to

decrease the output is decreased by 16X– Process recovery from high limit is faster until output

is < than anti-reset windup limit

Page 39: Smooooth Operations - Configuration Tips for Analog Blocks

Setting ARW limitsSetting ARW limits

Default values are 0 and 100 – Units are the same as

OUT_SCALE– Set ARW limits are equal to

OUT limits or scale as a start Example:

– Master loop: OUT_SCALE is 0-25,000 lbs/hr.

– Set ARW_HI_LIM = 25,000 Set ARW_LO_LIM = 0

Page 40: Smooooth Operations - Configuration Tips for Analog Blocks

Setting ARW Limits – IMPORTANT! Setting ARW Limits – IMPORTANT!

Control Instability– If the ARW limits are “inside” the OUT limits, reset action

can be based upon RESET in one direction and RESET∕16 in the other

– poor control and loop instability can result.

WARNING – Version Upgrade!! – Early DeltaV (V6 and before) this feature did not work– If you violated above guidelines prior to V7, it didn’t

cause problems until you upgraded to a later version!

Page 41: Smooooth Operations - Configuration Tips for Analog Blocks

Setting ARW limitsSetting ARW limits

SP

PV

ARW_LO_LIM

OUT

OUT_LO_LIM

Example: ARW_LO_LIM > OUT_LO_LIM

Example: ARW_HI_LIM < OUT_HI_LIM – Dampers passes only slightly more flow at 100% than 75%– Set ARW_HI_LIM to 75%, but keep OUT_HI_LIM at 100%

Page 42: Smooooth Operations - Configuration Tips for Analog Blocks

Topic 3: Additional Control Strategies

LTTT

Cold Water

PTHot Water

FC

FT

FC

FT

PC<

F(x)

To Reactor

Valve Characterization

Override Control

Page 43: Smooooth Operations - Configuration Tips for Analog Blocks

Start Simple – a single PID loop

LTTT

Cold Water

PT

PC

Hot Water

To Reactor

Page 44: Smooooth Operations - Configuration Tips for Analog Blocks

Valve Characterization

LTTT

Cold Water

PT

PC

Hot Water

FC

FT

FC

FT

F(x)

To Reactor

Page 45: Smooooth Operations - Configuration Tips for Analog Blocks

Output Characterization to ValveOutput Characterization to Valve

Use a “Signal Characterizer” function block to change valve characteristics – Note the best solution is to change valve trim to

proper characteristic

SGCR

• Characterizes IN_1 to OUT_1

• Reverse Char. IN_2 to OUT_2

Page 46: Smooooth Operations - Configuration Tips for Analog Blocks

Output Characterization to ValveOutput Characterization to Valve See Books On Line for rules for

the X and Y curves Set “SWAP_2” = TRUE to

provide a “reverse” characterization for the BKCAL signal (The answer in V9.3 and later is “Change X by Y axis on IN-2”.)

BOL: The SWAP_2 parameter swaps the X and Y axes used for OUT_2. When the SWAP_2 parameter is True, IN_2 references the CURVE_Y values and OUT_2 references the CURVE_X values. In addition, the IN_2 units change to Y_UNITS and the OUT_2 units change to X_UNITS.

IF YOU DON’T SELECT THIS OPTION, IT WILL APPEAR TO WORK BUT THE AO OUTPUT WILL CHANGE DURING A DOWNLOAD!!!

Page 47: Smooooth Operations - Configuration Tips for Analog Blocks

Override Control

LTTT

Cold Water

PTHot Water

FC

FT

FC

FT

F(x)

PC<

To Reactor

Page 48: Smooooth Operations - Configuration Tips for Analog Blocks

Using CTLSL for Override Control

One valve – two controllers Example: low pressure override on a flow loop

– Master control loop determines flow setpoint– Flow loop determines valve position to control flow as long as

header pressure can be maintained.– If header pressure gets too low, pressure override loop “takes over”

and determines valve position. The Good News: No Windup

– DeltaV “turns off” the integral action if a controller is not the selected controller in a CNTLSL block. No windup!

The Bad News: What happens when switching to MAN? – The valve “belongs” to the flow controller– If override is active, you will get a bump when switching to MAN– The fix: pulse flow loop to LO with BKCAL_IN as TRK_VAL when

target mode transitions to MAN– Defeat override in MAN using output limits and DRL

Page 49: Smooooth Operations - Configuration Tips for Analog Blocks

Topics 4: BG and RTO blocks RULE #1

NEVER EVER use SUB, ADD, MUL, DIV, or CALC blocks to modify a setpoint

RULE #2When modifying a setpoint ALWAYS use BG or RTO

blocks RULE #3

If you break Rules #2 and #3, you MUST provide your own BKCAL values and they MUST include the right status.

Good luck with that.

Page 50: Smooooth Operations - Configuration Tips for Analog Blocks

Bias-Gain (BG) Function Block

OUT = (SP + IN_1) * Gain

Page 51: Smooooth Operations - Configuration Tips for Analog Blocks

Bias-Gain (BG) Function Block

Boiler 1

Typical Use of BG Block

Boiler 2

Boiler 3

PIC

B/G

B/G

B/G

Page 52: Smooooth Operations - Configuration Tips for Analog Blocks

Make your own PV on a BG block

Some bias strategies require a “PV” for BKCAL_OUT Example:

– To optimize the use of a lower cost energy source, configure the demand of the higher cost source using a BG block

– Higher Cost Demand = Total Energy Demand – Actual Lower Cost Flow

Use BG block for higher cost setpoint calculation– Connect OUT of master loop to CAS_IN– Connect (0 - actual MBTU / HR) of lower cost source to IN_1– This will subtract the actual low cost value from the demand.– Compute the “PV” of the BG block by summing the actual MBTU /

HR of each energy source.– Use a CALC block to transfer the correct BKCAL_OUT status and

use the “PV” for BKCAL_OUT value.

Page 53: Smooooth Operations - Configuration Tips for Analog Blocks

Bias-Gain Function Block CONTROL_OPTS

– “Act on IR” (act on initialization request)• If checked, when Bias/Gain Block transitions from non-automatic to

automatic, the current Bias will remain as the SP.• If not checked, when Bias/Gain transitions from non-automatic to

automatic, an internal register is used to move from the actual Bias from the current value to the retained Bias SP in the “Balance Time”

– “Use BKCAL_OUT With IN_1” – check if the OUTPUT of a Controller goes to IN_1 AND you want it to operate in Cascade with the Ratio Block

FRSIBG_OPTS– “Treat IN_1 as wild” –if True, IN_1 is treated as a non-cascade

input and if “Use_BKCAL_OUT With IN_1” is True, BKCAL_OUT sub-status will be set to keep cascade closed.

Be careful with this one!

Page 54: Smooooth Operations - Configuration Tips for Analog Blocks

Ratio (RTO) Function Block

OUT = SP * IN_1 * Gain

Page 55: Smooooth Operations - Configuration Tips for Analog Blocks

Ratio Control

Main Flow

Ratio SPFrom Operator X

SP to Manipulated FIC

OUT

IN1

RTO Block

Typical Use of RTO Block

Page 56: Smooooth Operations - Configuration Tips for Analog Blocks

Using the PV of a RTO block

RTO blocks are not just for ratio control– Use RTO blocks to compute setpoints that require a change

in engineering units Example:

– The OUT_SCALE of the master loop is in MBTU / HR– The PV_SCALE of the flow loop in is GPM

Use RTO block to convert from MBTU / HR to GPM– Connect OUT of master to CAS_IN– Connect the inverse of the heating value to IN_1 – Use GAIN for unit conversion (MLB to GAL and HR to MIN)– Connect actual flow to IN– The PV of the RTO will equal the actual MBTU / HR flow

Page 57: Smooooth Operations - Configuration Tips for Analog Blocks

Business Results Achieved PID block features can be used to significantly

improve the performance of your control schemes Providing advanced control strategies that do not

bump with mode changes:– Prevents the controls from introducing upsets– Gives the operators confidence in the controls– Allows the operators to react quickly to process issues

Preventing reset windup:– Allows the controls to be more responsive when “changing

directions”– Allows for more aggressive tuning without instability

Bottom line: Better control performance = $$$$

Page 58: Smooooth Operations - Configuration Tips for Analog Blocks

Summary

DeltaV has many useful control features of the PID block

Block Initialization is essential for good control If there is a connection to CAS_IN…

There needs to be a connection from BCKAL_OUT “Easy DeltaV” can get you in trouble with multi

cascaded loops unless you take care to connect up the BKCAL’s correctly and check the right CONTROL_OPTS and FRSIPID_OPTS.

BG and RTO block are useful for providing much needed BKCAL’s

Page 59: Smooooth Operations - Configuration Tips for Analog Blocks

Where To Get More Information EGUE Exhibit Area – Industry Solutions Group Emerson Process Management Education Services:

http://www2.emersonprocess.com/EN-US/brands/edservices/Pages/EducationalServices.aspx

Emerson Process Management, Industry Solutions Group DeltaV Books Online Emerson Process Improvement and Optimization Consulting:

http://www2.emersonprocess.com/en-US/brands/processautomation/consultingservices/ProcessImprovementOptimization/Pages/ProcessImprovementOptimization.aspx

Ask for a copy of this .FHX and play with the simulation. [email protected] [email protected] [email protected]

Page 60: Smooooth Operations - Configuration Tips for Analog Blocks

SAMA for Demonstration

Page 61: Smooooth Operations - Configuration Tips for Analog Blocks