Suppressing Spurious SP_int Operating Messages in PIDConL During Auto-to-Manual Transitions in SIMATIC PCS 7
In SIMATIC PCS 7 Advanced Process Library (APL), when utilizing the PIDConL (FB1874) controller with setpoint tracking enabled (SP_TrkPv = 1), switching the controller from Automatic to Manual mode on the WinCC faceplate causes the internal setpoint (SP_Int) to continuously track the fluctuating Process Value (PV). Because APL blocks are configured by default to log all setpoint alterations in the WinCC Operation List (Operation Messages), this tracking action generates spurious audit log messages (e.g., 'USER1: SP (SP_Int) new=11.1272 old=11.1322') even though the operator made no manual setpoint change. To suppress these false operator messages, engineers can disable operating message generation for setpoint changes by configuring parameter SP_OpEn = 0 or deactivating message logging on SP_Int via CFC block properties, or utilize Feature.Bit0 / tracking mode configurations.
Table of Contents
- Mechanics of Setpoint Tracking (
SP_TrkPv) in APL PIDConL - Root Cause Analysis: Why Auto-to-Manual Transitions Flood the Operation List
- Configuring Message Suppression Attributes on Block Parameters
- Engineering Alternatives: Bumpless Tracking Without Spurious Audit Trails
- Comparison of Setpoint Tracking and Audit Logging Configurations
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Mechanics of Setpoint Tracking (SP_TrkPv) in APL PIDConL
In continuous closed-loop control, when an operator switches a PID controller from Automatic to Manual mode to perform manual adjustments, the process value (PV) often drifts away from the setpoint. When the operator eventually switches back to Automatic, a large difference between PV and SP causes a severe process bump (valve surge or heater spike).
To eliminate this bump, APL provides the feature Setpoint Tracking (SP_TrkPv = 1). When SP_TrkPv = 1, whenever the controller is in Manual mode, the internal setpoint continuously overwrites itself with the current process value (SP_Int := PV). When switched back to Automatic, ER = SP - PV = 0, ensuring an impeccably bumpless transition.
Root Cause Analysis: Why Auto-to-Manual Transitions Flood the Operation List
While SP_TrkPv = 1 provides excellent control ergonomics, it introduces a significant issue into WinCC Alarm Logging:
- The Operation Message Mechanism: APL blocks log operator actions to comply with pharmaceutical (FDA 21 CFR Part 11) and chemical auditing standards. Whenever a parameter tagged with Operator Control and Monitoring (OCM) changes, an operational message is dispatched to the WinCC 'Operation List'.
- False Operator Attribution: Because
SP_Inthas the system attribute{ S7_m_c := 'true' }and operating message generation enabled, WinCC detects thatSP_Intchanged value. Finding that the current session belongs toUSER1, it logs thatUSER1changed the setpoint! - Audit Trail Clutter: If
PVfluctuates due to sensor noise (e.g., from 11.1322 to 11.1272 °C), WinCC logs dozens of false operator setpoint messages every minute, clogging the audit trail.
Configuring Message Suppression Attributes on Block Parameters
To eliminate these spurious audit records without sacrificing bumpless transfers:
- Suppress Setpoint Operation Messages (
SP_OpEn): Set block parameterSP_OpEn = 0onPIDConLin CFC. This disables operator input permissions and suppresses corresponding operational message logging for setpoint changes while retaining manual control of the manipulated variable (LMN). - Modify Message Configuration in CFC:
- In the CFC chart, select thePIDConLblock.
- Right-click and choose Special Properties > Messages....
- Locate the operational message assigned to Setpoint Modification (typically Message ID forSP_Int).
- Uncheck the message activation box or change its message class from 'Operation Message' to 'Status Message'. - Compile OS: Execute an incremental OS compilation to update WinCC Alarm Logging message descriptors.
Engineering Alternatives: Bumpless Tracking Without Spurious Audit Trails
If setpoint tracking is only needed at the exact moment of switching from Manual to Auto (rather than continuously throughout Manual mode):
- One-Shot Tracking via Logic: Set
SP_TrkPv = 0. Use an external CFC pulse generator (Pulse) triggered by the rising edge ofAutoActto pulseSP_TrkPvfor exactly one execution cycle. - This copies
PVintoSP_Intinstantaneously at the moment of switchover—generating at most one single message—instead of generating continuous messages while in Manual mode. - External Setpoint Approach: If the loop is part of a cascade or ratio scheme, manage the tracking in an upstream setpoint generator block where message generation is suppressed.
Comparison of Setpoint Tracking and Audit Logging Configurations
The following table compares different configuration strategies for setpoint tracking and operation message logging:
SP_TrkPv=1) DefaultSP_TrkPv=0)Verification
Verify setpoint message suppression in WinCC Runtime:
1. In WinCC Runtime, open the PIDConL faceplate while running in Automatic mode.
2. Note the current process value (e.g., 50.0 °C). Switch the controller to Manual mode.
3. Manually adjust the valve output (Man = 70%); allow the process temperature to rise to 65.0 °C.
4. Open the WinCC Alarm Logging 'Operation List'; confirm that the switch from Auto to Manual is logged, but NO continuous SP_Int modification records appear.
5. Switch the controller back to Automatic; verify that the loop returns to automatic control smoothly without output surging.
Limitations and Operational Precautions
In validated pharmaceutical plants (21 CFR Part 11), do not completely disable operation messages for true human setpoint entries without providing an alternative auditable record. If SP_OpEn = 0 is applied, operators will be prevented from typing setpoints directly into that specific faceplate field; if operators must retain the ability to enter manual setpoints while in Manual mode, utilize the One-Shot tracking methodology instead.
Engineer FAQ
Why does WinCC say the operator changed the setpoint when they didn't touch it?
Because with SP_TrkPv = 1, the block automatically updates SP_Int to match the drifting PV. WinCC's operational logging mechanism detects the parameter change and attributes it to the currently logged-in user.
What does SP_TrkPv stand for?
It stands for 'Setpoint Tracking Process Value'. When set to 1, the controller's setpoint tracks the process value while in Manual mode to ensure a bumpless transfer back to Automatic mode.
How do I update WinCC after disabling messages in CFC?
After modifying message properties in CFC, you must run 'Compile OS' with scope 'Changes Only' to compile the updated message definitions into the WinCC Alarm Logging database.
Technical References
- SIMATIC Process Control System PCS 7 Advanced Process Library (APL) Manual
- WinCC V7 Alarm Logging System Manual
- FDA 21 CFR Part 11 Electronic Records and Electronic Signatures Guidelines
Related Articles
- Fundamentals of Continuous PID Control in SIMATIC PCS 7: Understanding PV, SP, LMN, and Gain Scheduling in PIDConL
- Configuring Continuous PID Controller PIDConL and Resolving Readback and CPI Alarms in SIMATIC PCS 7 APL
- Configuring ALARM_8P Message Texts and EventState Group Displays for Custom SCL Blocks in SIMATIC PCS 7
Related Tags
- PIDConL
- APL
- SP_TrkPv
- Operation Messages
- Alarm Logging