Using PID Instructions
After entering the PID instruction and specifying the PID structure, use the configuration tabs to specify how the PID instruction should function.
Specify Tuning
Select the
Tuning
tab. Changes take effect as soon as you select another field, select OK
, select Apply
, or press Enter
.In this field: | Do the following: |
---|---|
Setpoint (SP) | Enter a setpoint value (.SP). |
Set output % | Enter a set output percentage (.SO). In software manual mode, this value is used for the output. In auto mode, this value displays the output %. |
Output bias | Enter an output bias percentage (.BIAS). |
Proportional gain (Kp) | Enter the proportional gain (.KP). For independent gains, it’s the proportional gain (unitless). For dependent gains, it’s the controller gain (unitless). |
Integral gain (Ki) | Enter the integral gain (.KI). For independent gains, it’s the integral gain (1/sec). For dependent gains, it’s the reset time (minutes per repeat). |
Derivative time (Kd) | Enter the derivative gain (.KD). For independent gains, it’s the derivative gain (seconds). For dependent gains, it’s the rate time minutes). |
Manual mode | Select either manual (.MO) or software manual (.SWM). Manual mode overrides software manual mode if both are selected. |
Specify Configuration
Select the Configuration tab. You must select
OK
or Apply
for any changes to take effect.In this field: | Do the following: |
---|---|
PID equation | Select independent gains or dependent gains (.PE). Use independent when you want the three gains (P, I, and D) to operate independently. Use dependent when you want an overall controller gain that affects all three terms (P, I, and D). |
Control action | Select either E=PV-SP or E=SP-PV for the control action (.CA). |
Derivative of | Select PV or error (.DOE). Use the derivative of PV to reduce the risk of output spikes resulting from setpoint changes. Use the derivative of error for fast responses to setpoint changes when the algorithm can tolerate overshoots. |
Loop update time | Enter the update time (.UPD) for the instruction. |
CV high limit | Enter a high limit for the control variable (.MAXO).(1) |
CV low limit | Enter a low limit for the control variable (.MINO).(1) |
Deadband value | Enter a deadband value (.DB). |
No derivative smoothing | Enable or disable this selection (.NDF). |
No bias calculation | Enable or disable this selection (.NOBC). |
No zero crossing in deadband | Enable or disable this selection (.NOZC). |
PV tracking | Enable or disable this selection (.PVT). |
Cascade loop | Enable or disable this selection (.CL). |
Cascade type | If cascade loop is enabled, select either slave or master (.CT). |
(1) When using the ladder-based PID instruction, if you set MAXO = MINO, the PID instruction resets these values to default. MAXO = 100.0 and MINO = 0.0
Specify Alarms
Select the
Alarms
tab. Select OK
or Apply
for any changes to take effect.In this field: | Do the following: |
---|---|
PV high | Enter a PV high alarm value (.PVH). |
PV low | Enter a PV low alarm value (.PVL). |
PV deadband | Enter a PV alarm deadband value (.PVDB). |
Positive deviation | Enter a positive deviation value (.DVP). |
Negative deviation | Enter a negative deviation value (.DVN). |
Deviation deadband | Enter a deviation alarm deadband value (.DVDB). |
Specify Scaling
Select the Scaling tab. You must select
OK
or Apply
for any changes to take effect.In this field: | Do the following: |
---|---|
PV unscaled maximum | Enter a maximum PV value (.MAXI) that equals the maximum unscaled value received from the analog input channel for the PV value. |
PV unscaled minimum | Enter a minimum PV value (.MINI) that equals the minimum unscaled value received from the analog input channel for the PV value. |
PV engineering units maximum | Enter the maximum engineering units corresponding to .MAXI (.MAXS) |
PV engineering units minimum | Enter the minimum engineering units corresponding to .MINI (.MINS) |
CV maximum | Enter a maximum CV value corresponding to 100% (.MAXCV). |
CV minimum | Enter a minimum CV value corresponding to 0% (.MINCV). |
Tieback maximum | Enter a maximum tieback value (.MAXTIE) that equals the maximum unscaled value received from the analog input channel for the tieback value. |
Tieback minimum | Enter a minimum tieback value (.MINTIE) that equals the minimum unscaled value received from the analog input channel for the tieback value. |
PID Initialized | If you change scaling constants during Run mode, turn this off to reinitialize internal descaling values (.INI). |
Tip: When using the ladder-based PID instruction, if you set MAXO = MINO, the PID instruction resets these values to default. MAXO = 100.0 and MINO = 0.0. |
Use PID Instructions
PID closed-loop control holds a process variable at a desired set point. The illustration shows an example of a flow-rate/fluid level.
In the above example, the level in the tank is compared against the setpoint. If the level is higher than the setpoint, the PID equation increases the control variable and causes the outlet valve from the tank to open; thereby decreasing the level in the tank.
The PID equation used in the PID instruction is a positional form equation with the option of using either independent gains or dependent gains. When using independent gains, the proportional, integral, and derivative gains affect only their specific proportional, integral, or derivative terms respectively. When using dependent gains, the proportional gain is replaced with a controller gain that affects all three terms. You can use either form of equation to perform the same type of control. The two equation types are merely provided to let you use the equation type with which you are most familiar.
Gains Option | Derivative Of |
---|---|
Dependent gains (ISA standard) | Error (E) |
Process variable (PV) | |
Independent gains | Error (E) |
Process variable (PV) |
Where:
Variable | Description |
---|---|
KP | Proportional gain (unitless) Kp = Kc unitless |
Ki | Integral gain (seconds -1) To convert between Ki (integral gain) and Ti (reset time), use: |
Kd | Derivative gain (seconds) To convert between Kd (derivative gain) and Td (rate time), use: Kd = Kc (Td) 60 |
KC | Controller gain (unitless) |
Ti | Reset time (minutes/repeat) |
Td | Rate time (minutes) |
SP | Setpoint |
PV | Process variable |
E | Error [(SP-PV) or (PV-SP)] |
BIAS | Feedforward or bias |
CV | Control variable |
dt | Loop update time |
If you do not want to use a particular term of the PID equation, just set its gain to zero. For example if you want no derivative action, set Kd or Td equal to zero.
Provide Feedback