Evaluating Continuous Function Chart (CFC) Architecture - DCS Engineering Advantages vs Classic PLC Programming

Evaluating Continuous Function Chart (CFC) Architecture - DCS Engineering Advantages vs Classic PLC Programming

Continuous Function Chart (CFC) is a graphical, technological programming environment that forms the foundational engineering paradigm of SIMATIC PCS 7 (while also available as an optional add-on for classic STEP 7). Unlike classic PLC programming languages—such as Ladder Logic (LAD), Function Block Diagram (FBD), or Statement List (STL)—CFC represents automation systems in terms of interconnected plant equipment rather than raw memory bits and registers. When migrating from distributed S7-300 PLCs programmed in FBD to a centralized S7-400 DCS architecture, rewriting the application in CFC is strongly advantageous: it integrates Advanced Process Library (APL) equipment blocks, provides automatic hardware diagnostic generation, automates WinCC HMI tag/alarm engineering via AS-OS compilation, and enforces deterministic cyclic OB execution.

Table of Contents

The Philosophical Shift: Technological DCS vs Factory Automation PLC

In traditional factory automation (such as standalone SIMATIC S7-300 or S7-1500 controllers), software engineering focuses on sequential rung logic, bit manipulation, and timer/counter handling written in Ladder Logic (LAD), Function Block Diagram (FBD), or Statement List (STL). Programmers manually map physical I/O addresses (I 0.0, Q 0.0) to global memory flags (M 10.0) and data blocks (DB1.DBX0.0).

In Distributed Control Systems (DCS) like SIMATIC PCS 7, software engineering is oriented technologically around plant assets—pumps, control valves, heat exchangers, and distillation columns. Continuous Function Chart (CFC) implements this philosophy by allowing engineers to place high-level function blocks onto a continuous visual canvas and interconnect them via graphical signal lines. CFC abstracts memory allocation entirely: instance data blocks, communication buffers, and execution sequences are managed automatically by the engineering system.

Key Architectural Capabilities of CFC in SIMATIC PCS 7

Deploying CFC within SIMATIC PCS 7 delivers extensive capabilities that do not exist in conventional PLC programming:

  1. Automated AS-OS Engineering: Every block placed in CFC with the S7_m_c (Message and Control) attribute automatically generates WinCC tag management structures, historical logging archives, and Alarm Logging messages (Alarm_8P) upon OS compilation.
  2. Advanced Process Library (APL) Integration: Blocks like MotL (Motor Large), VlvL (Valve Large), and PIDConL (PID Controller) provide pre-engineered interlocks (Permit, Protect, Interlock), operating modes (Manual, Auto, Local), and standardized WinCC faceplates out of the box.
  3. Automatic Driver Generation: Channel drivers (Pcs7AnIn, Pcs7DiIn) automatically link to ET 200 hardware diagnostics via the PCS 7 Driver Generator, evaluating signal quality codes (IEEE 754 float + Status Byte) without custom logic.
  4. Deterministic Run Sequence Management: CFC blocks are automatically organized into runtime groups executed within fixed cyclic interrupt Organization Blocks (e.g., OB35 at 100ms), guaranteeing exact sampling rates for PID control.

Comparative Evaluation: Rewriting in CFC vs Retaining LAD/FBD/STL

When modernizing multiple legacy S7-300 controllers into a single S7-400 DCS controller, engineering teams must evaluate whether to convert code to CFC or retain classic FBD/LAD:

Engineering DimensionRetaining Classic FBD / LAD in S7-400Modernizing and Rewriting in CFC / APLInitial Engineering EffortLower (Direct copy-paste of existing blocks)Moderate (Remapping logic to standard APL blocks)HMI Generation EffortVery High (All WinCC tags, alarms, faceplates created manually)Zero / Automated (Single-click AS-OS compile)Diagnostics and MaintenanceCustom ladder logic required to trap module faultsNative Driver Generator handles all wire-breaks and rack faultsOperating StandardDisjointed custom popups and inconsistent button logicStandardized, world-class APL faceplates and alarm controlsFuture MaintainabilityDifficult; depends on original programmer's memory mapHigh; self-documenting technological charts and CMT typiclas

While copying existing FBD blocks into an S7-400 appears faster initially, it treats a multi-million-dollar DCS controller as an oversized PLC, completely forfeiting the automated HMI integration, alarming standards, and maintenance efficiencies of PCS 7.

Verification

Validate CFC program architecture and compiler integrity using these standard procedures:

  1. Consistency Verification: In the CFC editor, select Chart -> Check Consistency -> Entire Program. Verify that all signal interconnections, type definitions, and data types pass without error.
  2. AS-OS Compile Test: In SIMATIC Manager, execute Compile OS -> Scope: Entire OS. Confirm that WinCC automatically populates tag management and creates corresponding block icons in the target graphics screen.
  3. S7-PLCSIM Simulation: Download the CFC charts into S7-PLCSIM. Test manual/auto mode switching and interlock trips directly from WinCC Runtime to confirm end-to-end functionality.

Limitations and Operational Precautions

When adopting CFC in SIMATIC PCS 7, engineers should keep these operational rules in mind:

  • Work Memory Consumption: CFC-compiled programs generate standardized overhead structures that consume more AS work memory than hand-crafted Statement List (STL) code. Ensure the target S7-400 CPU possesses sufficient RAM.
  • Cyclic Task Allocation: Never place continuous control blocks or PID loops into the free-wheeling OB1 task. All CFC logic must execute within deterministic cyclic interrupt tasks (OB30 to OB38).
  • Master Data Library Discipline: When developing reusable logic, maintain typical blocks inside the Multiproject Master Data Library (MDL) rather than creating fragmented local copies across charts.

Engineer FAQ

Is CFC exclusively used in SIMATIC PCS 7?

No. CFC is also sold as an optional engineering package for classic STEP 7 (standalone automation). However, its full power—including AS-OS compilation, APL faceplate integration, and Driver Generation—is realized exclusively in PCS 7.

Can I call classic LAD or SCL blocks inside a CFC chart?

Yes. Any standard Function Block (FB) or Function (FC) written in SCL, STL, or LAD can be imported into the CFC block catalog and placed onto a chart, provided its input/output parameters comply with standard S7 interface rules.

Why is OB1 discouraged in PCS 7 CFC programming?

OB1 is a background task with variable cycle time. If CPU communication load spikes, OB1 cycle time stretches, making timers, ramp rates, and PID calculations inaccurate. Cyclic interrupt tasks (like OB35) provide fixed execution intervals.

Technical References

Related Articles

Related Tags

  • CFC Editor
  • DCS Architecture
  • APL
  • AS-OS Engineering
  • S7-400
  • Getting Started
6 respuestas