Troubleshooting Pulse Generation Failures in SIMATIC PCS 7 APL Step Controller PIDStepL

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

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:

  1. 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 via OpenMan or CloseMan.
    - Ensure the block is not in 'Out of Service' mode (OosAct = 1).
    - Check interlocking inputs: Intlock (interlock without reset), Permit (activation permit), and Protect (protective interlock). An active interlock forces the controller into a predefined safe position and suppresses normal regulation.
  2. 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.
  3. Deadband Suppression (Deadband / ThresStep): If the control error ER is 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) with Rbk.
  • Common Failure Point: If Rbk is not properly scaled (using RbkLi channel driver) or if Rbk.ST has bad signal status (e.g., 16#00), the block generates a channel error (Bad = 1) and disables pulse outputs.
  • The parameter PosDeadB defines the tolerance between PosLmn and Rbk. If the deviation is within PosDeadB, 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 MotDrvTi is set to zero or a value significantly lower than the actual actuator stroke time, the internal model rapidly reaches simulated end-stops (PosLmn >= 100.0 or <= 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:

ParameterTypeDefault ValueDescriptionImpact on Pulse GenerationWithFbkBOOL0 (False)Selects feedback mode (1 = With Rbk, 0 = Internal model)Determines whether physical Rbk or MotDrvTi governs positionMotDrvTiREAL60.0 sMotor stroke time from fully closed to fully openSets internal integration time constant for pulse duration scalingPulseTimeREAL1.0 sMinimum actuator pulse durationPulses calculated below this duration are suppressedBreakTiREAL1.0 sMinimum pause time between consecutive pulsesEnforces minimum rest interval between motor reversals or stepsPosDeadBREAL1.0 %Deadband for actuator position deviationSuppresses pulses when |PosLmn - Rbk| <= PosDeadBDeadbandREAL0.0 %Deadband for control deviation (ER)Suppresses pulses when |ER| <= DeadbandSampleTimeREAL0.1 sCyclic task execution intervalMust be significantly smaller than PulseTime (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

Related Articles

Related Tags

  • PIDStepL
  • APL
  • Step Controller
  • Actuator Pulses
  • WithFbk
6 respuestas