How to Implement Multi-Valve Timing Sequences Using PCS 7 SFC Instead of Cascaded CFC Timers

How to Implement Multi-Valve Timing Sequences Using PCS 7 SFC Instead of Cascaded CFC Timers

Cascading individual CFC timer blocks (such as TimerP in mode 0 and mode 4) to control multi-stage valve sequences creates brittle logic prone to race conditions, initialization failures, and unmanageable troubleshooting. The industry-standard approach in SIMATIC PCS 7 is using Sequential Function Charts (SFC). SFC natively organizes multi-valve sequences into distinct sequential or parallel steps, executes configurable minimum step delays (T_MIN) for timed operations such as two-hour soaks, validates valve open/close feedback in transitions, provides built-in operator visualization in WinCC Runtime, and cleanly handles emergency holds and restarts following power interruptions.

Table of Contents

Drawbacks of Cascaded CFC Timer Networks for Sequential Valve Control

When automating process skids with complex valve sequences—such as a bank of nine valves where upper valves open for two hours, lower valves cycle for ten seconds sequentially, and vent valves pulse for one second—engineers without SFC experience frequently attempt to construct timing networks entirely out of interconnected CFC blocks.

Constructing sequential operations using raw CFC blocks (TimerP, AND, OR, NOT, FlipFlop) introduces severe operational liabilities:
1. Race Conditions and Execution Order Dependencies: CFC chart execution relies on task runtime groups and block execution sequences. Inverting feedback from the final valve to trigger the first timer creates circular signal dependencies, leading to one-cycle jitter or intermittent initialization lockups.
2. Brittle Power-Loss Recovery: If CPU power cycles or an emergency trip occurs mid-sequence, individual hardware timers reset to zero independently. Without an overarching state machine, valves can re-energize simultaneously in an uncoordinated, hazardous configuration.
3. Absence of Operator Visibility: In WinCC Runtime, operators cannot easily discern which step of a multi-hour cycle is currently executing, why a transition is stalled, or how much remaining soak time exists.
4. Maintenance Complexity: Modifying step times, adding an intermediate rinse cycle, or skipping a step requires rewiring complex boolean and timer networks across multiple CFC charts.

Architecture of PCS 7 Sequential Function Charts (SFC)

The SIMATIC PCS 7 SFC (Sequential Function Chart) package provides a standardized state-machine engineering environment adhering strictly to IEC 61131-3.

An SFC coordinates Continuous Function Charts (CFC) by reading process values and driving control pins:
* Steps: Contain initialization, runtime, and termination actions. In each step, the SFC writes control commands to CFC valve blocks (e.g., setting VlvL.AutModLi and VlvL.OpenAut).
* Transitions: Logical gating conditions that evaluate whether the process has achieved the criteria required to proceed to the next step (e.g., confirming valve limit switches VlvL.FbkOpenOut = 1).
* Parallel Branches: Enable simultaneous execution of multiple branches (e.g., opening three upper valves in parallel), joining at a synchronization bar before proceeding.
* Alternative Branches: Provide conditional branching based on recipe selection or operational fault paths.

Configuring Timed Steps and Parallel Valve Operations in SFC

To implement a 2-hour soak followed by sequential flushing in SFC:

  1. Step 1: Initialization and Start Interlock:
    * Action: Verify that all bottom discharge and vent valves are closed.
    * Transition: Operator presses Start button (Start_Op = 1) AND safety interlocks are clear.
  2. Step 2: Parallel Upper Valve Opening:
    * Insert a Parallel Branch with three sub-steps for the three upper valves.
    * Action in each sub-step: Set Valve_Top_1.OpenAut := 1, Valve_Top_2.OpenAut := 1, Valve_Top_3.OpenAut := 1.
    * Transition below parallel branch: Check all three valves report open (FbkOpenOut = 1).
  3. Step 3: Two-Hour Soak Timing (T_MIN):
    * Instead of placing an external TimerP block in CFC, select the step properties in SFC Editor.
    * Set the step parameter T_MIN (Minimum Step Time) to T#2h.
    * Configure the following transition condition: Step3.T >= Step3.T_MIN (the SFC automatically evaluates internal high-precision step timers).
  4. Step 4: Upper Valve Closure:
    * Action: Set Valve_Top_*.OpenAut := 0.
    * Transition: Confirm all upper valves are fully closed (FbkCloseOut = 1).
  5. Step 5: Sequential Discharge Cycling:
    * Sequentially open bottom valves one by one with T_MIN := T#10s per step.
    * Interlocks ensure bottom valves cannot be energized unless upper valve feedback is verified closed.

Controlling Bi-Directional Actuators (DO Open / DO Close) Safely

When controlling motorized valves requiring two digital outputs (DO1 = Open command, DO2 = Close command), logic must guarantee that both outputs can never be energized simultaneously:

  • Use Standard APL VlvL / VlvMotL:
  • In the Advanced Process Library (APL), use VlvMotL (Motor Valve) designed specifically for two-command actuators. It features native open/close output pins (CtrlOpen, CtrlClose) with an integrated interlocking dead-time parameter (MonTiDynamic) to prevent contactor short-circuits.
  • Driver Output Inversion Pattern:
  • If using a standard single-output valve block (VlvL), connect the valve control output Ctrl directly to the DO_Open driver block (Pcs7DiOu).
  • Invert the Ctrl signal and connect it to the DO_Close driver block (Pcs7DiOu).
  • Because DO_Open = Ctrl and DO_Close = NOT Ctrl, the outputs are mutually exclusive: Ctrl = 1 commands open, and Ctrl = 0 commands close, preventing dual-energization.

Comparison of CFC Timer Chains vs SFC Sequential Control

The table below compares the implementation characteristics of discrete CFC timer chains versus Sequential Function Charts in SIMATIC PCS 7.

Operational FeatureCascaded CFC TimersPCS 7 SFC Sequential ControlArchitectureInterconnected boolean and timer blocksStructured graphical state machine (IEC 61131-3)Step TimingRequires external TimerP blocks per stepNative step timer properties (T_MIN, T_MAX)WinCC VisualizationManual graphic animation per timer tagBuilt-in SFC Visualization faceplate controlPower-Loss RecoveryUncoordinated restart; race conditionsConfigurable resume, abort, or re-init modesParallel ExecutionComplex interlock matrix requiredNative parallel branch synchronization barsEngineering MaintenanceHigh error potential during logic editsSimple graphical insertion of steps/transitions

Verification

To confirm proper operation of the multi-valve sequence:
1. Open the SFC chart online in SIMATIC Manager. Press Start and verify that the SFC transitions smoothly through Step 1 to Step 2.
2. In Step 2, confirm that all three upper valves receive open commands simultaneously and their physical open feedback switches illuminate in the transition.
3. Observe Step 3: verify that the SFC step timer T increments toward T#2h. Confirm that the transition condition blocks advancement until T >= 2h.
4. In WinCC Runtime, open the standard @[email protected] faceplate. Verify that operators can view current step status, elapsed time, and transition gating signals.
5. Simulate an emergency stop or CPU restart. Confirm that the SFC responds according to its configured startup behavior without triggering unauthorized valve openings.

Limitations and Operational Precautions

  • Never command bi-directional motorized valves with unverified dry contacts without electrical or software interlocks; concurrent open/close commands cause actuator motor burnout.
  • When configuring long soak times (e.g., T#2h), ensure the CPU clock synchronization is stable; rapid time jumps can prematurely trigger time-based transitions.
  • If operators require runtime modification of step durations, do not hardcode T_MIN inside the SFC step; instead, interconnect T_MIN to a parameter tag modifiable via WinCC faceplates.
  • In safety-instrumented systems (SIS), sequence logic must never bypass safety trips; emergency dump valves must be hard-interlocked via F-CFC safety charts.

Engineer FAQ

Can I modify an SFC chart while the PCS 7 CPU is in RUN mode?

Yes. PCS 7 supports downloading SFC changes in RUN mode, provided the active SFC sequence is either completed, held, or de-energized. If an SFC is currently active, PCS 7 allows downloading changes if the structural topology of the currently executing step is preserved.

What is the difference between SFC Chart and SFC Type?

An SFC Chart is an individual, single-instance sequential control chart tied directly to specific plant tags. An SFC Type is an instantiable, object-oriented template that can be called repeatedly across multiple identical process units (such as CIP skids or batch reactors).

How do I make the 2-hour soak time adjustable from WinCC?

In the SFC step, rather than typing a fixed constant T#2h into T_MIN, declare an external input parameter on the SFC (e.g., SoakTime_Sec of type TIME). In the step action, assign T_MIN := SoakTime_Sec. This parameter can then be edited directly from the WinCC operator station.

Technical References

Related Articles

Related Tags

  • SFC
  • Sequence Control
  • Valve Automation
  • TimerP
  • VlvMotL
6 respuestas