32.16.5.6 Explanation of PID Variable Members

PID Instruction Processing Completion Flag (VariableName.Q)

After processing and the value is output to operand D1, .Q turns on. The completion flag of the PID instruction turns on while 1 scan is being executed.

Processing Invalidity Range Flag (VariableName.PF)

The flag turns on when the current value is within range of the target value, as specified by the PID variable (Processing invalidity range VariableName.PF), and turns off when the current value is out of range.

Output value exceeds the upper or lower ;imit (VariableName.TO, VariableName.UO)

Double-click the PID instruction to display a dialog box for specifying the PID variable output range. If the calculated result exceeds the specified output value, the VariableName.TO turns ON. When the result is below the specified lower limit, the VariableName.UO turns ON. The PID continues even when the status bits turn ON and the calculated value is output as either the specified upper or lower limit.

Integral Setting (VariableName.IF)

Double-click the PID instruction to display a dialog box for setting a range to execute the PID instruction. If the result is out of the integral setting specified, the .IF turns on. The integral setting of each status executes integral calculation only within the range.

Proportional Constant (VariableName.KP)

Specify a proportional constant (VariableName.KP) to output a value that corresponds to the deviation between the target and current values.

A smaller proportional constant produces a smaller output value to reach the set point, and eliminates overshoot but may increase the residual deviation. A larger proportional constant produces a larger output value to reach the set point and reduces the time to reach the target, but may result in hunting.

Setting Range: 0.01...100.00

Internal data are integer variables. You cannot use decimal point values.

For setting 0.01, use 0.01 x 1000 =10.

Specify variable.KP as the value multiplied by 1000. When a proportional constant is set to 0.00, the output is 0.

Integral Calculus Time (VariableName.TR)

By setting the integral calculus time (.TR), you can eliminate a deviation to the set point.

As the operation volume approaches the target value using proportional control, the deviation becomes so small that the operation volume cannot obtain enough values to offset the deviation. The slight deviation is called a residual deviation. The deviation can be eliminated by the integral control. The integral control adjusts the deviation by increasing the operation volume when the deviation accumulated timewise reaches a certain size. As the integral calculus time becomes short, the operation volume to reach the set point becomes larger, causing overshoot and hunting and reaching the target in a shorter time. Likewise, as the integral calculus time becomes longer, the operation volume to reach the set point becomes smaller, reducing overshoot and hunting, but it takes longer to reach the target.

The integral calculus time specifies an interval time (in seconds) for executing integral processing.

Setting Range: 0.01...3000.00 (S)

Internal data are integer variables. You cannot use decimal point values.

For setting 0.1, use 0.1 x 1000 =100.

Specify variable.TR as the value multiplied by 1000. When an integral calculus time is set to 0, the process is not executed.

Differential Calculus Time (VariableName.TD)

By setting the differential calculus time (.TD), you can respond to any change quickly.

The proportional control and integral control require a fixed amount of time (time constant) and cannot respond immediately to external disturbances. It takes time to return to the original set point. The differential control responds promptly and assigns a large operation volume when the gap between the current and previous deviations is large compared to the external disturbance. A longer differential calculus time requires shorter time to recover from the effects of external disturbances, but results in overshoot and frequent hunting. A shorter differential calculus time reduces overshoot and hunting but takes more time to recover from the effects of external disturbances.

Setting Range: 0.01...3000.00 (S)

Internal data are integer variables. You cannot use decimal point values.

For setting 0.1, use 0.1 x 1000 =100.

Specify the value multiplied by 1000 for the variable name .TD. When a differential calculus time is set to 0.00, the process is not executed.

Processing Invalidity Range (VariableName.PA)

In the "processing deadband range," PID control does not occur and the minimum value is output for smooth control without hunting.

Bias (VariableName.BA)

Sets the bias value (offset). This reduces any residual deviation incurred in the proportional control.

Sampling Frequency (VariableName.ST)

This eliminates noise in the S2 value obtained in the control setting frequency. The moving average is calculated based on the previous filtering result and the newly obtained data. Specifying the sampling frequency minimizes the effect on the output value when the current data contain unexpected values. This is because the average of the previously measured data and the current data is used for the calculation. Specify a larger value than the control setting frequency for the sampling frequency. Specify 0 for the sampling frequency to disable the filter.