How to Prevent PID Integrator Windup and Freeze Manipulated Variables on Inactive Drives in PCS 7

How to Prevent PID Integrator Windup and Freeze Manipulated Variables on Inactive Drives in PCS 7

In SIMATIC PCS 7, when a process pump or drive is stopped while its supervisory PID controller remains active, the controller's integral action continues accumulating error, driving the manipulated variable (MV) to 100% or 0% saturation. When restarted, the pump surges to full speed, causing hydraulic disturbances. To prevent this, configure manipulated variable tracking: in modern APL (PIDConL), set MV_TrkOn to 1 and connect MV_Trk to 0.0 (or to the drive's actual speed feedback for bumpless transfer); in legacy Standard Library (CTRL_PID / CTRL_PP), enable tracking using LMN_SEL and assign the holding setpoint to LMN_TRK.

Table of Contents

Mechanism of Integrator Windup on Disconnected Actuators

In industrial closed-loop architectures—such as tank level control (LIC) driving an influent variable frequency drive (VFD) pump—the controller continuously compares the process variable (PV) against the setpoint (SP).

When an operator stops the pump or when safety interlocks de-energize the drive:
* Tank level may continue dropping or rising while the pump is halted.
* The PID algorithm calculates a sustained control error (e = SP - PV).
* The integral action (reset time TI) integrates this error continuously over time.
* Within minutes, the controller's internal manipulated variable (MV or LMN) ramps to its upper limit (100.0%) or lower limit (0.0%).
* When the operator restarts the pump, the drive immediately receives a 100% speed reference from the saturated integrator, causing pipe hammer, tank overflow, and hydraulic shock across downstream processes.

Configuring Manipulated Variable Tracking in APL PIDConL

In the SIMATIC PCS 7 Advanced Process Library (APL), the standard continuous controller PIDConL (FB1874) provides native manipulated variable tracking pins:

  1. Interconnect Actuator Running Feedback:
    * Connect the running feedback of the pump motor (e.g., MotL.FbkRunOut) or an inverted stopped signal to the controller.
  2. Enable Tracking Mode:
    * Connect the inverted running signal (NOT MotL.FbkRunOut) to the parameter MV_TrkOn (Manipulated Variable Tracking On).
    * When the pump stops, MV_TrkOn becomes TRUE. The controller immediately suspends PID calculation, freezes the integral accumulator, and clamps the manipulated variable output MV directly to the tracking input.
  3. Configure Tracking Value (MV_Trk):
    * Set MV_Trk to 0.0 (or the minimum safe idling speed).
    * While the pump is off, PIDConL.MV outputs 0.0%.
    * When the pump starts, MV_TrkOn returns to FALSE. The controller resumes active PID calculation smoothly from 0.0% without integrator surge.

Handling Tracking in Legacy Standard Library (CTRL_PID / CTRL_PP)

In older PCS 7 installations (V6.x, V7.x) utilizing the classic Standard Library or domain-specific packages where controllers are named CTRL_PID (FB61) or CTRL_PP:

  • Parameter names follow classic STEP 7 nomenclature:
  • LMN: Manipulated variable output (equivalent to MV).
  • LMN_SEL: Boolean tracking selector. When LMN_SEL = TRUE, the controller halts closed-loop control and outputs the value present on LMN_TRK.
  • LMN_TRK: Real input specifying the tracking setpoint.
  • In the CFC chart, connect the pump running contact (Pump_Run) inverted into LMN_SEL, and assign LMN_TRK := 0.0.
  • Additionally, configure LMN_HLM (High Limit) and LMN_LLM (Low Limit) to clamp maximum and minimum allowable actuator boundaries.

Implementing Bumpless Transfer with Inverter Speed Feedback

While forcing MV to 0.0% protects against startup surges, critical chemical dosing or thermal loops often require bumpless restart:

+-------------------+
|      MotSpdL      |
| FbkRunOut --------+----(Invert)---->+-------------------+
| Rbk (Actual Speed)+---------------->|      PIDConL      |
+-------------------+                 | MV_TrkOn          |
                                      | MV_Trk            |----(MV)----> [Drive Speed Setpoint]
                                      +-------------------+
  • Interconnect the actual frequency inverter speed feedback (Rbk.Value) to PIDConL.MV_Trk.
  • When the pump is halted or operating under local manual control, the PID controller continuously tracks the physical shaft speed.
  • Upon switching back to Automatic mode, the transition is mathematically bumpless (MV matches current speed), preventing transient process upsets.

Comparison of PID Controller Tracking Mechanisms

The table below compares manipulated variable tracking and anti-windup features across PCS 7 PID controller blocks.

Controller BlockLibrary GenerationTracking Enable PinTracking Value PinAnti-Windup ProtectionPIDConLAdvanced Process Library (APL)MV_TrkOnMV_TrkNative integration clampingPIDConRAPL (Restart/Split)MV_TrkOnMV_TrkNative integration clampingCTRL_PID (FB61)Standard LibraryLMN_SELLMN_TRKClamped by LMN_HLM / LMN_LLMCTRL_PPIndustry / Domain LibraryLMN_SEL / TRK_ONLMN_TRKClamped by limit parameters

Verification

To confirm that integrator windup is prevented on stopped drives:
1. In WinCC Runtime, place the PID controller in Automatic mode with a non-zero setpoint.
2. Stop the controlled pump: observe that MV_TrkOn (or LMN_SEL) transitions to TRUE in the CFC chart.
3. Verify that the controller output MV immediately drops to 0.0% (or tracks actual speed) and remains completely static.
4. Allow 10 minutes to elapse with active level error: confirm that MV does not drift toward 100%.
5. Restart the pump: confirm that MV_TrkOn releases and the controller ramps output smoothly from 0.0% without sudden speed spikes.

Limitations and Operational Precautions

  • Never disconnect actuator feedback from tracking inputs without verifying anti-windup limits (MV_HiLim, MV_LoLim); unbounded integration can damage mechanical equipment upon re-engagement.
  • If using derivative action (TD > 0), ensure the derivative component is filtered (D_Filt parameter) to prevent sudden derivative kicks during tracking release.
  • In cascade control architectures (master level driving slave flow), track the master controller to the slave setpoint when the slave loop is placed in manual.
  • Do not confuse MV_TrkOn with ManModLi; ManModLi forces the block into Manual mode, whereas tracking overrides the output while keeping the internal mode machine ready for automatic release.

Engineer FAQ

Why did connecting pump off signal to Interlock 1 not freeze the controller?

Interlock inputs on PID blocks typically force the controller into its configured safe position or force Manual mode, but do not necessarily freeze the internal integrator accumulator. Using dedicated tracking pins (MV_TrkOn / LMN_SEL) is required to clamp the mathematical integrator directly to a defined holding value.

What is the difference between MV_Trk and Man on PIDConL?

Man is the operator setpoint used when the block is placed into Manual mode. MV_Trk is a hard tracking channel that overrides the manipulated variable regardless of mode whenever MV_TrkOn = 1.

Can tracking be enabled during emergency shutdown (ESD)?

Yes. Gating the plant ESD signal into MV_TrkOn with MV_Trk := 0.0 ensures all control valves immediately drive to zero output without waiting for slow integral discharge times.

Technical References

Related Articles

Related Tags

  • PIDConL
  • Anti-Windup
  • MV_TrkOn
  • CTRL_PID
  • APL
6 respuestas