Interlocking Sequential SFC Charts and Mutually Exclusive Sequencers in PCS 7

Interlocking Sequential SFC Charts and Mutually Exclusive Sequencers in PCS 7

To interlock two Sequential Function Charts (SFCs) or ensure mutually exclusive execution in SIMATIC PCS 7, interconnect the active running status of the first chart to the start enable or interlock inputs of the second. In CFC, connect the 'QBUSY' or 'RUN' output of SFC A to an inverter (NOT block) feeding the 'ENSTART' (Enable Start) or 'LOCKACT' (Interlock Active) input of SFC B. For bi-directional mutual exclusion, cross-couple the running flags of both charts through cross-inversion logic, ensuring neither sequencer can initiate or resume while the competing sequence is active.

Table of Contents

Executive Summary

In continuous and batch process plants, parallel process equipment units frequently share common technological resources—such as a single dosing manifold, shared transfer pump, vacuum header, or common discharge line. Simultaneous execution of competing SFC sequences on shared resources can cause cross-contamination, hydraulic hammer, or equipment over-pressurization. In SIMATIC PCS 7, mutual exclusion and sequential interlocking are implemented through standardized SFC status outputs and operating enable inputs. This guide details the interconnection architecture, priority logic, and step-by-step CFC engineering procedures to interlock SFC charts.

Architecture and Fundamental Mechanics

SFC Interlock Architecture and Mutual Exclusion Mechanics:

  • SFC Execution Status Outputs:
  • RUN / QBUSY: Asserted (TRUE) whenever the SFC is actively processing steps in the Run, Starting, or transitional states.
  • QIDLE: Asserted when the SFC is in the Ready to start or quiescent state.
  • QHOLD / QABORT: Indicates held or aborted operational states.
  • SFC Interlock and Enable Inputs:
  • ENSTART: Enable Start. When ENSTART = FALSE, the SFC rejects start commands from both the WinCC faceplate and automatic CFC logic (START_LI).
  • LOCKACT: Interlock Active. When asserted, forces the SFC into a configured interlock response (typically transition to Holding or Aborting).
  • INTLOCK: General interlock condition evaluated during active step execution.
  • Cross-Coupled Mutual Exclusion Pattern:
  • To guarantee that Sequence A and Sequence B cannot execute simultaneously, SFC_A.RUN disables SFC_B.ENSTART, while SFC_B.RUN disables SFC_A.ENSTART.
  • Race condition resolution: If both start commands assert in the identical PLC cycle, priority logic (e.g., an RS latch or priority selector) arbitrates which sequence claims the resource.

Step-by-Step Implementation Procedure

Step-by-Step Procedure to Interlock Two SFC Charts in CFC:

  1. Open the CFC Chart Containing SFC Instances:
    - In SIMATIC Manager, locate the CFC chart where SFC_1 and SFC_2 are instantiated.
  2. Insert Logic Gates for Cross-Coupling:
    - From the standard PCS 7 library (PCS 7 Basic Library / Blocks / Math & Logic), insert two NOT blocks (FB1861 or elementary gates) or an And02 block.
  3. Interconnect Status to Start Enables (Mutual Exclusion):
    - Connect output SFC_1.RUN to the input of NOT_1.
    - Connect NOT_1.Out to input SFC_2.ENSTART.
    - Connect output SFC_2.RUN to the input of NOT_2.
    - Connect NOT_2.Out to input SFC_1.ENSTART.
  4. Configure Runtime Interlocks (Active Abort/Hold on Contention):
    - If an active running sequence must be forced to pause if a high-priority sequence takes over, connect the high-priority running flag to LOCKACT or INTHOLD of the low-priority SFC.
  5. Compile and Test:
    - Perform a CFC compilation ('Scope: Changes only') and download to the automation station.
    - Monitor the SFC chart in test mode.

Verification

To verify the interlock implementation:
1. In WinCC Runtime, open the faceplate for SFC 1 and click 'Start'; verify SFC 1 enters the 'Run' state.
2. Open the faceplate for SFC 2; confirm that the 'Start' button is disabled (grayed out) and ENSTART indicates inactive.
3. Attempt to force a start on SFC 2 via START_LI; confirm the command is rejected and SFC 2 remains in 'Ready to start'.
4. Allow SFC 1 to reach 'Completed' and reset; verify that SFC 2's 'Start' button immediately becomes active.

Limitations and Operational Precautions

Operational precautions:
- Cross-coupled interlocking using LOCKACT during active steps will abort or hold the sequence; use ENSTART if the requirement is simply to prevent starting, rather than tripping an in-progress operation.
- In plants managed by SIMATIC BATCH, shared equipment units should be managed via Batch Unit Allocation and Equipment Phase arbitration rather than hardcoded CFC logic.
- Avoid mutual deadlock: ensure both sequences do not permanently claim interlocking flags before initializing their step logic.

Engineer FAQ

What is the difference between ENSTART and LOCKACT on an SFC?

ENSTART prevents an idle sequence from starting; LOCKACT acts as an active process interlock, immediately forcing a running sequence into a Hold or Abort state.

Can two SFC charts start at the exact same millisecond?

Within the PLC scan cycle, execution is strictly sequential based on the Run Sequence. The block scheduled earlier in the OB executes first, claiming the interlock flag.

Why is the Start button grayed out on my SFC faceplate?

The Start button is disabled when the block is not in Manual mode, when ENSTART = FALSE, or when the SFC is already running or faulted.

Can I interlock an SFC with an APL motor or valve block directly?

Yes, by connecting the motor's running status (MotL.FbkRunOut) or valve closed status (VlvL.FbkCloseOut) directly to the SFC interlock inputs.

Does cross-coupling SFC blocks in CFC cause algebraic loop warnings?

No, because boolean interlocking states evaluate across OB scan boundaries and do not create numerical algebraic loops.

Technical References

Related Articles

Related Tags

  • SFC Interlock
  • ENSTART
  • LOCKACT
  • Mutual Exclusion
  • CFC Logic
20 respuestas