Architectural Differences Between SFC (Sequential Function Chart) and SFC Types in SIMATIC PCS 7

Architectural Differences Between SFC (Sequential Function Chart) and SFC Types in SIMATIC PCS 7

In SIMATIC PCS 7, a standard Sequential Function Chart (SFC) is an individual, continuous or sequential chart created directly within the plant hierarchy that acts as a single instance linked to specific CFC block parameters. In contrast, an SFC Type is an object-oriented, reusable function block definition created in the Master Data Library that defines control strategies, phases, setpoints, and step algorithms. SFC Types can be instantiated multiple times across CFC charts as SFC instances, require significantly less memory per instance, support central library updates, and serve as the mandatory ISA-88 equipment phase interface for SIMATIC BATCH integration.

Table of Contents

Architectural Foundations of SFC vs SFC Types

In SIMATIC PCS 7, sequential control can be engineered using either individual SFC charts or reusable SFC Types. Understanding the structural differences between these two methodologies is essential for building scalable, maintainable plant architectures.

Standalone SFC Chart (SFC)

An SFC chart is an autonomous engineering object inserted directly into a hierarchy folder within the SIMATIC Manager plant view. It contains a complete sequential state machine consisting of steps, transitions, step actions, and transition conditions:
* Direct Point-to-Point Interconnections: In an SFC chart, step actions and transition conditions directly reference specific block inputs and outputs across CFC charts (for example, Vlv01.Open or TI101.PV_Out).
* Single Instance Identity: Every SFC chart is unique. If an identical sequence must be executed across ten identical reactors, ten distinct SFC charts must be created, interconnected, and maintained individually.
* Compilation Model: Each SFC chart compiles into individual execution code blocks within the target AS, generating separate runtime groups in the execution task list (OB32 to OB38).

Reusable SFC Type

An SFC Type is an object-oriented template defined within the Master Data Library (under the S7 Program -> SFC Types directory). It represents a standardized control module or equipment phase compliant with ANSI/ISA-88 and NAMUR NE33 standards:
* Encapsulated Interface: The SFC Type defines a formal interface consisting of inputs, outputs, setpoints, process values, control strategies, timers, and bit parameters. Internal steps and transitions reference only these formal parameters, never external hardware addresses or absolute CFC blocks.
* Type-Instance Paradigm: Once compiled, the SFC Type generates a function block (FB) in the block pool. In CFC charts, engineers place an SFC instance block (an instance call of this FB), which is assigned its own instance data block (DB). External CFC blocks interconnect exclusively to the formal interface pins of this SFC instance.
* SIMATIC BATCH Compatibility: SFC Types are the standard building blocks for SIMATIC BATCH recipes. Recipe unit operations and phases in SIMATIC BATCH link directly to the control strategies and setpoints declared within the SFC Type interface.

Key Technical and Functional Differences

Selecting between SFC charts and SFC Types affects memory consumption, engineering efficiency, commissioning workflows, and software lifecycle maintenance.

1. Reusability and Central Maintenance

With an SFC Type, any modification made to the logic, step actions, transition criteria, or setpoint declarations in the Master Data Library is automatically propagated across all plant instances using the Options -> Update Block Types command. In contrast, modifications to standalone SFC charts must be manually repeated across every chart in the project, introducing significant risk of human error.

2. Controller Memory Footprint

  • Standalone SFC: Each chart contains its own generated program code and sequence engine data. Having hundreds of individual SFC charts consumes significant AS work memory and load memory.
  • SFC Type: The program code exists once in the CPU as a single FB. Each instance requires only an instance Data Block (DB). In large plants with repetitive equipment (such as filters, valves, CIP skids, or bioreactors), SFC Types achieve substantial AS memory savings.

3. Change in RUN (CiR) Characteristics

Adding or modifying a step inside a standalone SFC chart often requires stopping the SFC or downloading the changed chart during execution. SFC Types allow internal logic adjustments within the library; compiling and updating block types can be downloaded in RUN mode, provided interface structural modifications do not exceed DB boundary rules.

4. SIMATIC BATCH Integration

SIMATIC BATCH cannot directly execute recipe phases on standalone SFC charts without complex custom interface logic. SFC Types natively feature the ISA-88 phase state model (Idle, Starting, Running, Completing, Completed, Holding, Pausing, Aborting, Stopped) and automatic recipe parameter handshaking.

Comparison Table - SFC Chart vs SFC Type

The following table summarizes the core architectural, functional, and licensing attributes of SFC charts and SFC Types in SIMATIC PCS 7.

Parameter / FeatureStandalone SFC Chart (SFC)Reusable SFC TypeDefinition LocationPlant View Hierarchy folder in target projectMaster Data Library (Block / SFC directory)InstantiabilitySingle instance only (1:1 relationship)Multi-instance (1 Type to N CFC instances)Interface BindingDirect absolute/symbolic interconnections to CFC pinsFormal parameter interface on CFC instance blockAS Memory FootprintSeparate FB/DB code per chart; high consumptionSingle shared FB code; compact instance DB per unitPropagation of ChangesManual edit on each chart; high engineering effortCentral update via Update Block Types; instantaneousSIMATIC BATCH CompatibilityNot natively compatible (requires complex wrapper)Fully integrated ISA-88 Phase / Unit Recipe interfaceControl StrategiesManaged via complex custom branching logicNatively supported via built-in Control Strategy selectorOperating State LogicStandard SFC state logic (Manual / Auto)Advanced ISA-88 state engine (Hold, Pause, Abort, Stop)Typical ApplicationPlant-wide startup sequences, global interlocksUnit operations, reactors, CIP skids, batch phases

Engineering Workflow for SFC Types and Instances

To implement standardized sequential control using SFC Types, execute the following engineering procedure:

  1. Create SFC Type in Master Data Library:
    * In SIMATIC Manager, navigate to the Master Data Library project folder.
    * Right-click the S7 Program -> SFC Types folder and select Insert New Object -> SFC Type.
    * Assign a meaningful name (e.g., SFC_DosingPhase).

  2. Define the Characteristics and Formal Interface:
    * Open the SFC Type editor.
    * Under the Characteristics tab, define:

    • Control Strategies: Declare distinct modes (e.g., Rapid_Fill, Slow_Dosing).
    • Setpoints: Define target variables with data types, units, and high/low limits.
    • Process Values: Assign inputs for tracking process feedback.
    • Timers and Bit Controls: Configure internal phase execution parameters.
  3. Program Sequential Logic:
    * Build the sequencer state machine in the SFC Type topology view.
    * In step actions and transition conditions, reference only the declared formal parameters.

  4. Compile and Generate Block Pool FB:
    * Execute SFC -> Compile. Ensure an unused FB number (e.g., FB 1050) is assigned.
    * Check the compile log for zero errors.

  5. Instantiate the SFC Type in CFC:
    * Open the target CFC chart within the plant hierarchy.
    * From the CFC catalog under Libraries -> Master Data Library -> SFC Types, drag the newly created type onto the chart.
    * Connect process signals (transmitters, valve controls, interlocks) to the exposed pins of the SFC instance block.

  6. Compile and Download to Automation Station:
    * Run CFC/SFC compile with Scope: Changes only.
    * Download changes to the target S7-400 or CPU 410-5H controller in RUN mode.

Verification

Confirm the proper configuration and operational health of SFC Types and instances using the following test procedure:

  1. Verify Instance Generation in CFC:
    * Open the CFC chart containing the SFC instance. Verify that the instance block displays its designated Block Name and assigned Instance DB number without red conflict banners.
  2. Online Execution Monitoring:
    * Open the SFC instance editor directly from the CFC chart by double-clicking the instance block.
    * Click the Test Mode (glasses) icon to observe live step progression, active transitions, and current setpoint values.
  3. Verify OS Faceplate Integration:
    * Compile the OS project with Tags and Screen generation enabled.
    * Launch WinCC Runtime on an OS Client. Open the process picture containing the SFC block icon.
    * Click the block icon to verify that the standard @PG_SFC_Type.pdl faceplate opens, displaying the correct active step, control strategy selector, and operating state buttons.

Limitations and Operational Precautions

  • Interface Structural Changes in RUN: Modifying the formal interface of an SFC Type (such as adding or deleting setpoints or control strategies) alters the instance DB structure. While PCS 7 V8.1 and higher support interface extensions under Change in RUN (CiR), deleting or reordering existing parameters may force an AS STOP if memory allocation thresholds are exceeded.
  • Control Strategy Runtime Restrictions: Switching a control strategy while an SFC instance is running is prohibited unless explicitly configured in the state change logic. Always transition the instance to Idle or Completed before commanding a strategy change.
  • FB Number Collisions: Ensure the FB number assigned during SFC Type compilation does not conflict with existing APL blocks or user libraries in the master data library.

Engineer FAQ

Can an SFC Type be converted back into a standalone SFC chart?

No. SFC Types and standalone SFC charts use completely different internal architectures. A standalone SFC chart can be imported into an SFC Type using the 'Save as SFC Type' function, but once converted, external connections must be manually rebound to formal interface parameters.

How many instances of an SFC Type can be placed in a single AS?

There is no fixed software limit on instance count; the restriction is governed solely by available CPU Work Memory and available DB numbers. Since all instances share the same FB code, hundreds of instances can reside in an S7-400 or CPU 410-5H.

Why are changes made to an SFC Type in the library not visible on the OS client?

When an SFC Type is modified, you must perform two synchronization steps: first, run 'Options -> Update Block Types' in SIMATIC Manager to update all CFC instances; second, run an OS Compile to update the WinCC tag management and SFC faceplate descriptors.

What happens to an active SFC instance if an AS download in RUN occurs?

If the download contains only changes to internal step actions or transitions without interface modifications, the SFC instance continues executing in its current step seamlessly. If the interface was modified, the instance may reset to its initial state depending on the compilation settings.

Technical References

Related Articles

Related Tags

  • SFC
  • SFC-Types
  • CFC
  • SIMATIC-BATCH
  • APL
  • ISA-88
6 respuestas