Implementing Conditional Branching with Operator Confirmation in PCS 7 SFC Types

Implementing Conditional Branching with Operator Confirmation in PCS 7 SFC Types

In SIMATIC PCS 7 SFC Types, configuring the step property 'Confirmation' on a step like S5 enforces operator confirmation for all outgoing transition paths simultaneously, preventing selective conditional branching. To implement branching where one path requires operator confirmation (S5 -> S7) while the alternative path proceeds automatically based on process interlocks (S5 -> S6), do not enable the step-level Confirmation property. Instead, set an operator prompt using the characteristic OPTIPNO in step S5, evaluate the transition condition OPTIPNO = 0 on the operator-confirmed branch, and evaluate process conditions on the automatic branch. Alternatively, interlock the step control inputs SCT and SCT_TAC on the SFC Type interface.

Table of Contents

The Step Confirmation Dilemma in SFC Type Sequencer Branching

In SIMATIC PCS 7 Sequential Function Chart (SFC) Types, sequencers implement sequential and parallel logic conforming to ISA-88 phase execution. When designing an alternative branch (where a single step S5 branches out into two mutually exclusive transitions leading to step S6 or step S7), engineers frequently face the requirement:

  • Path A (Operator Choice / Manual Branch): The sequence transitions to S7 only when an operator confirms the action on the OS faceplate.
  • Path B (Automatic / Process Abort Branch): The sequence transitions to S6 automatically if a physical process condition occurs (such as a high-level switch or process timeout), without waiting for an operator.

If the engineer simply checks the checkbox Confirmation in the properties of step S5, the SFC runtime engine requires operator confirmation before evaluating any outgoing transition. Consequently, Path B becomes blocked by the confirmation prompt, defeating the automated safety or bypass logic.

Alternative Branching Architecture in SFC Types

To achieve selective, independent confirmation on specific branch paths without blocking parallel transitions, three proven design methods exist:

  1. The OPTIPNO Operator Prompt Method (Recommended):
    - Inside the SFC Type Characteristics, define an Operator Prompt text (e.g., Text ID 1: 'Proceed to Stage 7?').
    - In the Initialization or Processing action of step S5, assign OPTIPNO = 1.
    - The WinCC SFC faceplate displays the operator prompt text along with an 'O' (Operator Prompt) button.
    - When the operator clicks 'O', the SFC controller sets internal variable OPTIPNO = 0.
    - In Transition T_S5_S7, the condition is set to OPTIPNO = 0.
    - In Transition T_S5_S6, the condition evaluates only the process signals. In step S6, clear OPTIPNO = 0.

  2. Step Control Inputs (SCT and SCT_TAC) Method:
    - Utilize the SFC Type inputs SCT (Step Control Time) and SCT_TAC (Step Control Transition Acknowledgment Condition).
    - Build external CFC interlock logic to pulse SCT_TAC exclusively when the operator branch criteria are satisfied.

  3. Technological Parameter Override (PP_Overruled):
    - Configure a technological boolean parameter PP_Overruled on the SFC Type. Path A evaluates operator confirmation, while Path B evaluates PP_Overruled = TRUE modified on the faceplate parameter tab.

Branching and Confirmation Implementation Comparison Matrix

The following table compares the architectural options for conditional branching in SFC Types:

Implementation MethodOperator Interaction UIAutomatic Path PrecedenceImplementation ComplexityBest ApplicationStep 'Confirmation' FlagStandard 'OK' bannerNone (Blocks all branches)Trivial (Checkbox)Linear sequences requiring strict sign-offOPTIPNO Operator Prompt'O' button on faceplateFull (Process path can fire)Low (Recommended)Selective operator decision vs process tripSCT / SCT_TAC InterlockCustom CFC logic / FaceplateConfigurable via CFCMediumComplex multi-branch sequencingParameter Override (PP)Parameter tab checkboxFullLowManual maintenance override of step branches

Step-by-Step Configuration Using OPTIPNO and Transition Conditions

To configure selective operator confirmation on branch S5 -> S7 while allowing automatic transition S5 -> S6:

  1. Define Operator Text in SFC Type Characteristics:
    - Open the SFC Type in SIMATIC Manager.
    - In the Characteristics view, select Operator Texts.
    - Add text string at index 1: e.g., 'Confirm transfer to Step 7?'.

  2. Configure Step S5 Actions (Do NOT Enable Step Confirmation):
    - In the sequencer, open the properties of step S5.
    - Ensure the Confirmation checkbox is UNCHECKED.
    - Under Initialization or Processing, add action: OPTIPNO = 1.

  3. Configure Operator Transition (T_S5_to_S7):
    - Open the properties of the transition leading to S7.
    - Set the transition condition to: OPTIPNO = 0 (or combine with permissive interlocks: Permissive_OK AND (OPTIPNO = 0)).

  4. Configure Automatic Process Transition (T_S5_to_S6):
    - Open the properties of the alternative transition leading to S6.
    - Set the condition to evaluate process sensors: e.g., Tank_Level_High = TRUE or Step_Timer > T#30m.

  5. Clean Up Operator Prompt in Step S6:
    - Open properties of step S6.
    - Under Initialization, add action: OPTIPNO = 0.
    - This ensures that if the automatic process condition triggered the transition, the lingering operator prompt text is cleared immediately from the WinCC faceplate.

Verification

Verify sequencer branch behavior:
1. Compile the SFC Type and execute a Changes-Only download to the S7-400 CPU in RUN.
2. Start the SFC in Automatic or Manual mode and advance execution to step S5.
3. Verify that the operator prompt text 'Confirm transfer to Step 7?' appears in the SFC faceplate with the 'O' button.
4. Case A (Operator Confirmation): Click the 'O' button. Confirm that the transition to S7 executes immediately.
5. Case B (Process Condition): Reset to S5. Simulate the process condition (Tank_Level_High = TRUE). Confirm that the sequencer branches immediately to S6 without requiring any operator button click, and that the 'O' prompt clears.

Limitations and Operational Precautions

  • Simultaneous Transition Race Conditions: If both OPTIPNO = 0 (operator clicked confirmation) and the process condition occur in the same CPU cycle, the leftmost transition in the SFC alternative branch has architectural priority.
  • Prompt Clearing Requirement: Always reset OPTIPNO = 0 in all destination steps; otherwise, stale operator prompt flags can cause accidental transitions in downstream sequencers.
  • Single Operator Text per Step: An SFC step can only display one active OPTIPNO prompt text at a time. Multiple conflicting operator choices must be resolved via parameter toggles.

Engineer FAQ

Why does checking 'Confirmation' on step S5 block both branch paths?

Because step confirmation is a step-level gatekeeper. The SFC OSL engine will not evaluate any outgoing transitions until the operator acknowledges the step completion.

What happens to OPTIPNO when the operator presses the 'O' button?

Pressing the 'O' button on the WinCC faceplate sends a command to the controller that clears OPTIPNO back to 0, which satisfies the transition condition OPTIPNO = 0.

Can I implement confirmation on both branches with different messages?

A single step cannot display two different OPTIPNO texts simultaneously. To offer two distinct operator decisions, use technological parameter checkboxes (e.g., PP_ChoiceA and PP_ChoiceB) or sequential confirmation steps.

Does using OPTIPNO require a full compile of the SFC Type?

Modifying Characteristics (adding operator texts) requires an SFC Type compilation and a changes-only download to the controller.

Technical References

Related Articles

Related Tags

  • SFC Type
  • Alternative Branching
  • OPTIPNO
  • Operator Confirmation
  • Sequencer Logic
6 respuestas