Enabling PID Optimization and Resolving OPTI_EN Errors in the PCS 7 PID-Tuner (PidConL)

Enabling PID Optimization and Resolving OPTI_EN Errors in the PCS 7 PID-Tuner (PidConL)

In SIMATIC PCS 7, when running controller optimization using the PCS 7 PID-Tuner on a continuous controller block (PidConL) fails with the error 'optimization not enabled pcs7 (OPTI_EN)', the controller block has not been granted permission to enter optimization mode. As a safety interlock to prevent unauthorized loop excitation, PidConL requires the hidden input parameter OptimEn to be set to 1. To resolve this: 1. In CFC, make input parameter OptimEn visible on PidConL and set OptimEn = 1; or 2. On the WinCC APL faceplate of PidConL, open the Parameter View, locate the 'PID optimization' option, and select 'Enable'. Once enabled, re-launch the PID-Tuner to perform automated step response modeling.

Table of Contents

Executive Summary

Tuning complex closed-loop process controllers (temperature loops, pressure regulators, level controls) is greatly accelerated by the PCS 7 PID-Tuner, an automated engineering utility integrated into SIMATIC PCS 7. The PID-Tuner injects controlled step perturbations or evaluates natural process excitation to model process transfer functions and calculate optimal gain ($Gain$), integral time ($TI$), and derivative time ($TD$) parameters. However, when an engineer initiates optimization from CFC or the PID-Tuner menu, the utility frequently halts immediately with the blocking error optimization not enabled pcs 7 (OPTI_EN). This error is a deliberate APL safety interlock designed to prevent automated tuning from destabilizing live production units. This article explains the function of OptimEn, demonstrates how to enable tuning via CFC or the operator faceplate, and outlines the complete PID-Tuner workflow.

Architecture and Fundamental Mechanics

PCS 7 PID-Tuner Integration, APL Controller Interlocks, and Optimization State Mechanics:

  • Architecture of the PCS 7 PID-Tuner:
  • The PID-Tuner is an engineering add-on embedded into STEP 7 / PCS 7 that interfaces directly with controller blocks: PidConL (FB1874), PidConR, and legacy PID_CTRL (FB61).
  • During optimization, the tuner takes control of the block's manipulated variable (MV), applies a step change or relay oscillation, monitors the process variable (PV), calculates process dead time ($T_u$) and time constant ($T_g$), and derives optimal PI/PID parameters according to Chien, Hrones, and Reswick (CHR) or Ziegler-Nichols tuning rules.

  • The Safety Guardrail: Parameter OptimEn (Optimization Enable):

  • Because taking control of an industrial actuator (e.g. boiler gas valve, steam header) can cause severe thermal or mechanical shocks, the APL block PidConL enforces an explicit permissive pin: OptimEn (BOOL).
  • By default, OptimEn = 0 (Disabled), and the parameter attribute is set to Invisible (S7_visible := 'false') in the CFC chart.
  • When the PID-Tuner initiates communication with the controller over Industrial Ethernet, it interrogates OptimEn.
  • If OptimEn == 0, the tuner immediately terminates the session with the diagnostic alert: Optimization not enabled (OPTI_EN).

  • Two Methods to Activate OptimEn:

  • Method 1: CFC Engineering Parameterization:
    • The engineer makes OptimEn visible in the CFC chart and sets it to 1 (or connects it to an engineering test switch).
  • Method 2: WinCC Operator Faceplate Activation:

    • The APL faceplate for PidConL contains a dedicated optimization toggle.
    • In the Parameter View (@pg_pidconl_parameter.pdl), an authorized operator/engineer with Level 5/6 permissions can check the option PID Optimization: Enable.
    • This writes 1 to the internal controller structure, satisfying the PID-Tuner requirement.
  • Operational Prerequisite: Manual Mode:

  • In addition to OptimEn = 1, the controller must be switched to Manual mode (ManAct = 1) at a stable operating point before starting the tuner identification run.

Step-by-Step Implementation Procedure

  1. Enable Optimization via the WinCC Faceplate (Recommended Operating Approach):
    * In WinCC Runtime, open the faceplate for the PidConL loop.
    * Switch the controller from Auto to Manual mode.
    * Adjust the manipulated variable (MV) until the process variable (PV) stabilizes at the desired operating point.
    * Switch to the Parameter View of the faceplate.
    * Under the optimization section, locate PID Optimization.
    * Select Enable (or check the enable box).

  2. Alternative: Enable Optimization Directly in CFC:
    * In SIMATIC Manager, open the CFC chart containing PidConL.
    * Double-click the PidConL block to open its Object Properties.
    * Select the Inputs/Outputs tab.
    * Locate parameter OptimEn; check the box in the Visible column to expose the pin on the CFC sheet.
    * Click OK.
    * On the CFC sheet, set parameter OptimEn = 1 (TRUE).
    * Execute a delta compile and download of the CFC changes.

  3. Launch and Execute the PCS 7 PID-Tuner:
    * In the CFC editor, select the PidConL block.
    * Select Options -> PID Self-Tuner (or PLC -> PID Tuner).
    * The PID-Tuner window opens; select the tuning method (e.g. Step Response / Transient Response Identification).
    * Notice that the error OPTI_EN no longer appears.
    * Define the test step size (e.g. $+5\%$ step on MV) and allowable process limits.
    * Execute the identification run; observe the curve fitting.
    * Apply the calculated $Gain$, $TI$, and $TD$ parameters to the controller.

  4. Disable Optimization Post-Tuning:
    * Once tuning is complete and parameters are verified, return OptimEn to 0 (or disable it on the faceplate) to restore protective interlocking against accidental excitation.

Verification

  1. Launch the PID-Tuner utility from CFC; verify that it connects to the target controller block without error prompts.
  2. Execute a small test excitation; verify that the PID-Tuner records the response curve and presents valid PI/PID gain values.
  3. Switch PidConL back to Automatic mode; verify smooth setpoint tracking and disturbance rejection using the optimized parameters.

Limitations and Operational Precautions

PID optimization should never be executed while the process is undergoing severe external feed fluctuations, as unmodeled disturbances corrupt curve fitting. In highly non-linear or integrating processes (e.g. unconstrained tank levels), step testing must be monitored continuously by operating personnel to prevent vessel overflow or pump cavitation.

Engineer FAQ

What does the error 'optimization not enabled pcs7 (OPTI_EN)' mean?

It means that the PID controller block has its tuning permissive input OptimEn set to 0, preventing the PID-Tuner from executing.

Why is OptimEn hidden by default in CFC?

Siemens hides OptimEn to prevent unintended loop perturbation during standard engineering; it must be made visible or toggled via faceplate.

Where is the PID optimization toggle located in the APL faceplate?

In the Parameter View of the PidConL faceplate (@pg_pidconl_parameter.pdl), under 'PID Optimization'.

Does the controller have to be in Manual mode to run the PID-Tuner?

Yes, step response identification requires the controller to be in Manual mode at a steady-state operating point before initiating the step.

Should OptimEn remain enabled after tuning is finished?

No. Always set OptimEn = 0 after tuning is completed to ensure the loop cannot be inadvertently disturbed in the future.

Technical References

Related Articles

Related Tags

  • PID-Tuner
  • PidConL
  • OptimEn
  • OPTI_EN
  • APL
  • Loop Tuning
  • Controller Optimization
  • PCS 7 V9.0
20 respuestas