Troubleshooting Pulse Generation Failures in SIMATIC PCS 7 APL Step Controller PIDStepL
In SIMATIC PCS 7 systems utilizing the Advanced Process Library step controller block PIDStepL, failures to generate open or close pulses for motorized actuators typically stem from operating mode lockouts, control deviations falling within deadband thresholds, or mismatches between actuator timing parameters and the cyclic task sample time. When operating with position feedback (WithFbk = 1), discrepancies between readback position and setpoint or improper feedback normalization will freeze pulse outputs; without feedback (WithFbk = 0), missing motor transit times or pulse duration limits suppress output commands.
Table of Contents
- PIDStepL Operational Principles and Pulse Modulation
- Diagnosing Pulse Output Inactivity and Mode Lockouts
- Configuring Feedback and Actuator Motor Parameters
- Key Parameter Matrix for PIDStepL Configuration
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
PIDStepL Operational Principles and Pulse Modulation
The PIDStepL function block (FB 1878) from the SIMATIC PCS 7 Advanced Process Library is designed to control motorized integrating actuators, such as electric gate valves, dampers, and motor-driven positioners. Unlike continuous controllers (PIDConL) that output a 4–20 mA manipulated variable (MV), PIDStepL modulates binary output pulses (OutOpen and OutClose) to step the actuator toward the desired setpoint.
The internal pulse-width modulation algorithm converts the calculated control deviation (ER = SP - PV) into discrete pulses. The duration and frequency of pulses are governed by the actuator's motor travel time (MotDrvTi), the minimum pulse duration (PulseTime), and minimum pause duration (BreakTi). If the internal step-action calculation produces a required pulse shorter than PulseTime, the algorithm withholds pulse execution to protect the physical motor contactors and mechanical gear train from excessive wear.
Diagnosing Pulse Output Inactivity and Mode Lockouts
When PIDStepL fails to generate output pulses despite an active control error, engineers should check the following operational states:
- Operating Mode Interlocks:
- Verify that the block is in Automatic mode (AutAct = 1). In Manual mode (ManAct = 1), pulses will not fire automatically unless manually commanded viaOpenManorCloseMan.
- Ensure the block is not in 'Out of Service' mode (OosAct = 1).
- Check interlocking inputs:Intlock(interlock without reset),Permit(activation permit), andProtect(protective interlock). An active interlock forces the controller into a predefined safe position and suppresses normal regulation. - Manipulated Variable Tracking (
LmnTrkOn): If tracking is enabled (LmnTrkOn = 1), the internal position calculation is overridden by the tracking input (LmnTrk), halting autonomous pulse generation. - Deadband Suppression (
Deadband/ThresStep): If the control errorERis smaller than the deadband parameter (Deadband), the controller treats the process variable as on-target and suppresses pulses to eliminate limit cycling around the setpoint.
Configuring Feedback and Actuator Motor Parameters
The step controller can operate in two distinct modes configured via the WithFbk parameter:
- Operation With Position Feedback (
WithFbk = 1): - The analog valve position feedback is wired to the
Rbk(Readback) input. - The controller compares the internal manipulated variable (
PosLmn) withRbk. - Common Failure Point: If
Rbkis not properly scaled (usingRbkLichannel driver) or ifRbk.SThas bad signal status (e.g.,16#00), the block generates a channel error (Bad = 1) and disables pulse outputs. -
The parameter
PosDeadBdefines the tolerance betweenPosLmnandRbk. If the deviation is withinPosDeadB, pulses cease. -
Operation Without Position Feedback (
WithFbk = 0): - The controller simulates actuator position internally based on the total motor travel time from 0% to 100% configured at parameter
MotDrvTi. - Common Failure Point: If
MotDrvTiis set to zero or a value significantly lower than the actual actuator stroke time, the internal model rapidly reaches simulated end-stops (PosLmn >= 100.0or<= 0.0), permanently inhibiting pulses in that direction.
Key Parameter Matrix for PIDStepL Configuration
The following table details the essential parameters governing pulse generation in PIDStepL:
WithFbkRbk or MotDrvTi governs positionMotDrvTiPulseTimeBreakTiPosDeadB|PosLmn - Rbk| <= PosDeadBDeadbandER)|ER| <= DeadbandSampleTimePulseTime (minimum 1:5 ratio)Note: Ensure the cyclic interrupt organization block (e.g., OB35 at 100 ms) executes at a frequency fast enough to resolve PulseTime accurately.
Verification
Verify pulse generation functionality in PIDStepL through these steps:
1. In CFC test mode, confirm PIDStepL indicates AutAct = 1 and all interlocks (Intlock, Permit, Protect) show healthy state (value 1 with status 16#80).
2. Force a step change in setpoint SP such that ER = SP - PV exceeds Deadband.
3. Observe outputs OutOpen or OutClose. Verify that binary pulses switch from 0 to 1 with pulse durations equal to or greater than PulseTime.
4. In WinCC Runtime, open the standard PIDStepL faceplate and confirm that the green actuator movement indicators animate during active pulsing.
Limitations and Operational Precautions
Key operational precautions for step controllers:
- Setting PulseTime smaller than the actuator contactor closing time or solid-state relay response threshold can cause mechanical chatter, contact welding, or motor overheating.
- Actuators with mechanical backlash or non-linear stroke dynamics may require external deadband filtering to prevent hunting.
- When WithFbk = 1, ensure the physical position potentiometer or 4–20 mA transmitter is calibrated to match the mechanical end limits before enabling automatic control.
Engineer FAQ
Why does PIDStepL generate a continuous high signal instead of pulses?
If PulseTime is set larger than the remaining travel time or if the PID gain is extremely high causing saturation, the controller may request continuous movement. Verify MotDrvTi, Gain, and ensure PulseTime is parameterized within normal limits.
Can PIDStepL be executed in OB1?
No. Like all PCS 7 APL control blocks, PIDStepL requires deterministic execution in a cyclic interrupt organization block (such as OB32, OB35) to calculate precise pulse widths and integral times.
What happens if the position feedback signal (Rbk) fails?
If WithFbk = 1 and Rbk.ST degrades to bad quality, the block generates an alarm and switches to a parameterized fallback behavior or locks pulse generation to prevent actuator runaway.
Technical References
- SIMATIC Process Control System PCS 7 Advanced Process Library (A5E39177307)
- SIMATIC PCS 7 Function Manual - Process Control System (A5E39222384)
- Control Valve Actuator Integration Guide (109748600)
Related Articles
- Tuning Integrating Actuator Parameters in APL PIDStepL
- Configuring Motorized Valve Position Feedback with RbkLi in PCS 7
- Diagnosing APL Interlock Hierarchy (Intlock, Permit, Protect)
Related Tags
- PIDStepL
- APL
- Step Controller
- Actuator Pulses
- WithFbk