Tune PID Loops Accurately with High Fidelity Simulation

PID Tuning in Chemical Plants

PID Tuning Optimization helps chemical plants to run better, more smoothly, increases production rate and plant profits.  This can result in 2-4%  profits, sometimes as high as 10%.  Unfortunately only fewer than 10% of all plants worldwide are precisely tuned using PID tuning optimization software. Most control engineers and operators still use the old trial-and-error technique for PID tuning.  This method is slow, imprecise and never allows the plant to run with maximum possible efficiency.  Few people use PID tuning software because the software is expensive, complex and not practical for control-room use.  PiControl, a worldwide leader in PID tuning software and Advanced Process Control (APC) technology has provided industry PITOPS software for improving PID tuning.  PITOPS is amazingly simple, practical, powerful and affordable software for PID tuning and APC. 

PITOPS PID Tuning, APC and System Identification Software

The uniqueness about PITOPS is that it runs entirely in the time domain and does not take you into the abstract and complex domains of Laplace, Discrete or Frequency.  PITOPS works with seconds, milliseconds and minutes which are easy to understand.  PITOPS does not require the user to have a Ph.D or advanced degrees in engineering.  PITOPS works with both closed-loop and open-loop data and can work with data with the PID control loops in not only auto modes but even in cascade modes without the need for any intrusive step-tests that can potentially cause process upsets.  PITOPS is new, novel and next generation technology.  It does not use the old ARMAX algorithm but uses NC-GRG (non-linear generalized gradient gradient) optimization method.  It can work with several multivariable inputs, all without step tests and can process any number of cascade and slave loops in a chain simultaneously.  It can work with fast processes settling in milliseconds or even microseconds to slow loops settling in minutes or even hours. 

PITOPS Illustration

This paper describes how PITOPS processes real process data from a PID in a DCS and then matches the DCS behavior precisely, followed by generating optimal PID tuning parameters.

The procedure involves reading data from the DCS in Excel files, identifying the open-loop transfer function with closed-loop data and then building a PID tuning simulation with optimization capability for identifying tuning parameters.

A PID control loop tag was built in the Bailey DCS using function code FC156.  To simulate the process with known model (known process dynamics), a dead time block and a pure filter (time constant) block were created.

PID tag was configured with Bailey function code FC156 that uses the following PID equation:  OP = OP + Kp [∆E]  + Ki [E] ∆T + Kd [∆(∆E)]/∆T.

The purpose of this exercise was to make sure PITOPS identified the transfer function model purely based on closed-loop data with setpoint changes on the PID in auto mode.  The transfer function was programmed in the Bailey DCS using standard function blocks dead time and time constant blocks.  The dead time was set to 16 sec and the time constant was set to 61 sec in the DCS blocks.  PITOPS was able to identify these parameters purely based on the PV and OP data from the PID.  See Figure 1 showing the DCS PID control tags. 

DCS PID Simulation Tags
Figure 1.  DCS PID Simulation Tags

Three setpoint changes were made with the PID in auto mode as shown in Figure 2, from 25 to 40, 40 to 20 and finally 20 to 35.  For each of the Setpoint changes, three different sets of Kp (proportional gain) and Ki (integral gain) were set on the FC156 Bailey PID algorithm. 

Figure 2 shows that PITOPS was accurately able to identify the transfer function process model by just analyzing the PV data (red trend in top window and the red trend in the middle window (PID Output).  No other information was needed to identify the transfer function model with calculated parameters of process gain = 1, dead time = 16 and time constant = 61 matching exactly with the configured blocks in the Bailey DCS.  This confirms and proves the ability of PITOPS to precisely identify transfer functions using closed-loop data and that the transfer function model identification algorithm is working correctly.

Accurate transfer function dynamic model identified by PITOPS
Figure 2. Accurate transfer function dynamic model identified by PITOPS

PITOPS software has two parts – first is the transfer function identifier and the second part is the PID tuning simulator, optimizer and for the design of Advanced Process Control (APC) strategies.  Now that we have identified the transfer function correctly, we proceed to the second objective in this exercise and that is to prove that the PID simulation and optimization in PITOPS matches with the Bailey DCS PID function code FC156.  Examine the first Setpoint change made in the DCS as shown in Figure 2 from 25 to 40.  Note the shape of the trend and the values as shown in Figure 2 that shows the DCS action and the values generated in the Bailey DCS.  Now compare these trends and values with the PITOPS simulation in Figure 3 depicting an identical Setpoint change simulation from 25 to 40 using the Bailey FC156 Non-interacting PID equation.  Notice that the PITOPS PID simulation trends in Figure 3 match exactly with the first setpoint change in the DCS shown in Figure 2, using the identical tuning parameters of Kp=0.5 and Ki=0.5.

Figure 3. PITOPS simulation for a Setpoint Change with Kp=0.5 and Ki=0.5

Now examine the second Setpoint change made in the DCS as shown in Figure 4 from 40 to 20 with Kp=0.2 and Ki=1.0.  Note the shape of the trend and the values as shown in Figure 2 that shows the DCS action and the values generated in the Bailey DCS for the second Setpoint change.  Now compare these trends and values with the PITOPS simulation in Figure 4 depicting an identical Setpoint change simulation from 40 to 20 using the Bailey FC156 Non-interacting PID equation.  Notice that the PITOPS PID simulation trends in Figure 4 match exactly with the second setpoint change in the DCS shown in Figure 2, using the identical tuning parameters of Kp=0.2 and Ki=1.0.  Notice that in this case, the integral action is a little too strong and causes some oscillatory response. 

PITOPS simulation for a Setpoint Change with Kp=0.2 and Ki=1.0
Figure 4. PITOPS simulation for a Setpoint Change with Kp=0.2 and Ki=1.0

Now examine the third and final Setpoint change made in the DCS as shown in Figure 5 from 20 to 35 with Kp=0.15 and Ki=0.2.  Note the shape of the trend and the values as shown in Figure 2 that shows the DCS action and the values generated in the Bailey DCS for the third Setpoint change.  Now compare these trends and values with the PITOPS simulation in Figure 5 depicting an identical Setpoint change simulation from 20 to 35 using the Bailey FC156 Non-interacting PID equation.  Notice that the PITOPS PID simulation trends in Figure 5 match exactly with the third setpoint change in the DCS shown in Figure 2, using the identical tuning parameters of Kp=0.15 and Ki=0.2.

Figure 5. PITOPS simulation for a Setpoint Change with Kp=0.15 and Ki=0.2

PID Tuning Parameters Optimized for Setpoint Change

Knowing the transfer function model identified by PITOPS using PV and PID Output data, PITOPS can optimize PID tuning parameters based on several popular PID tuning criteria.  The criteria included in PITOPS are IAE (integrated absolute error), ISE (integrated square error), ITAE (integrated time absolute error), RO (reduced overshoot), ZNOL (Ziegler Nichols Open Loop), CC (Cohen Coon), IMC (Internal Model Control) and Lambda Tuning. 

Figure 6 shows the control loop tuning parameters optimized using IAE (minimum integrated absolute error) criteria. 

The calculated Kp (proportional gain) = 0.99 and Ki (integral) = 0.93, compatible with Bailey DCS function code FC156. 

Figure 6. PITOPS simulation PID tuning optimized for a Setpoint Change

PID Optimization for Setpoint Change, Disturbances and Noise

Sometimes, rejecting disturbances aggressively may be the more important control objective than just optimizing for Setpoint changes.  PITOPS can optimize PID tuning for a custom simulation comprising of a typical setpoint change done by operators, typical process disturbances and also PV noise often seen in many sensors.  Instead of applying heuristics like with Ziegler Nichols, Lambda etc. methods, PITOPS has a built-in powerful optimizer that minimizes the error for this custom simulation comprising of Setpoint change, disturbances and noise.  The optimized tuning from such optimization has proven to be superior to other known methods and will produce superior, optimized and customized control action.  See Figure 7 showing optimized tuning for setpoint change, disturbances and noise.  Kp and Ki are both larger (more proportional action and more integral action) to better reject disturbances.

PITOPS PID optimization for Setpoint Change, Disturbances and Noise
Figure 7. PITOPS PID optimization for Setpoint Change, Disturbances and Noise
Summary

PITOPS software was used to analyze Excel data containing the PV signal and the PID Output signal for various Setpoint changes made on a PID control loop using function code FC156 in Bailey DCS.  PITOPS was able to successfully process completely closed-loop data without any step changes on the OP in manual mode.  The three changes in Setpoint were simulated in PITOPS PID simulator.  The PID Output response comprising of the proportional kick, integral contribution matches exactly with the response generated by the Bailey FC156 PID algorithm.  Finally, the tuning was optimized for the transfer function used in the simulation.  Such system identification and PID tuning calculations can greatly save time in the control room, and help to calculate PID tuning and APC parameters very accurately.

Share this post with your friends

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp
Share on pinterest
Pinterest

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *