Overview of SIMATIC STEP 7 CFC in TIA Portal
SIMATIC STEP 7 CFC (Continuous Function Chart) is Siemens' graphical function-block editor that originated in the PCS 7 / STEP 7 V5.x environment for S7-300/400 controllers. In TIA Portal, CFC is delivered as an optional package on top of STEP 7 Professional and was first released as a sales-and-delivery product with SIMATIC STEP 7 CFC V17, accompanied by the Library for basic functions for SIMATIC STEP 7 CFC (TIA Portal). The TIA Portal V17 CFC add-on enables engineers to build continuous, sheet-oriented control strategies directly on S7-1500 CPUs, similar to the legacy classic CFC used in PCS 7 plants.
Because the TIA Portal CFC implementation is a newer port, it carries a published list of restrictions relative to classic CFC. One of the most commonly reported compile-time symptoms from engineers migrating S7-300/400 charts to S7-1500 targets is the message "This function does not support" (German: "Diese Funktion wird nicht unterstützt") during chart compilation. The error is generic: it is emitted by the CFC compiler when an inserted block type, interconnection, attribute, or CPU feature required by the chart is not available in the current combination of TIA Portal version, CFC optional package version, CPU firmware, project language, and licensing. The remainder of this article decomposes that message into its five root-cause families, lists the diagnostic checks that isolate each one, and provides a clean recompilation workflow that resolves the issue in the field.
Software and Hardware Prerequisites
Before opening a support ticket, validate every item in the matrix below. Any single mismatch can produce the compile error.
| Layer | Component | Required minimum | Verification path |
|---|---|---|---|
| Engineering | TIA Portal STEP 7 Professional | V17 Update 1 or newer (V18/V19 recommended) | Help → About → Installed software |
| Optional package | SIMATIC STEP 7 CFC (TIA Portal) | V17 (sales release) or newer | Start → Siemens Automation → CFC or via TIA Portal Add-In list |
| Library | "Basic functions for SIMATIC STEP 7 CFC" | Matches CFC version | Libraries → Global libraries pane |
| Runtime | S7-1500 CPU firmware | Firmware that TIA Portal V17+ accepts for the catalogued CPU | Online → Accessible nodes → CPU diagnostics |
| Runtime (F) | S7-1500F / F-CPU firmware | Same TIA Portal version compatibility band | Device configuration → Safety tab |
| License | CFC runtime license key on the CPU (or TF/PLCSim) | Per licensed CFC charts and CPU type | Online → License information |
Reference the official SIMATIC STEP 7 CFC V17 manual and the TIA Portal V17 release notes for the authoritative version band. Do not mix a TIA Portal V18 project with a CFC V17 optional package, as the compiler will silently accept the chart but reject functions the add-on does not know.
Recognizing the "This function does not support" Compiler Error
The error is raised by the CFC compiler (CfcComp.exe) in the TIA Portal information window with severity Error, typically after Compile charts or Compile program completes. The message line reads verbatim:
Chart "<ChartName>" (instance DB n): This function does not support
Two diagnostic windows expose the failure:
- Compile / Information window → Errors and warnings tab. The exact row contains the chart name, sheet number, and block name where the compiler stopped.
- Chart inspector → Properties → Compile check. The block flagged red is the most likely culprit; the property browser shows which input/output pin or attribute is unsupported.
Root Cause Matrix
| # | Cause family | Typical signature in log | Fastest check |
|---|---|---|---|
| 1 | CPU firmware older than required for TIA Portal/CFC version | Error on first chart compile, all blocks affected | Online → CPU diagnostics → Firmware version |
| 2 | Safety program (F-CPU) enabled but block not F-capable | Error limited to chart inside F-runtime group | Device config → Safety → F-activation |
| 3 | Block type from a non-CFC library (e.g., legacy PCS 7 library) | Error names a specific FB/FC not in CFC type list | Chart → Block → Type → Version tab |
| 4 | Restricted attribute on a CFC block (e.g., S7_task, S7_pdiag, EN/ENO behavior) | Error pins down a single instance attribute | Right-click block → Object properties → Attributes |
| 5 | CFC optional package or basic-functions library not installed or wrong version | Error during Compile program on whole PLC, not chart-specific | Help → About → Installed software |
CPU Firmware Compatibility
The first question to answer is: Is the CPU firmware recent enough? TIA Portal V17 dropped support for several older S7-1500 firmware versions to consolidate the system diagnostics model. When the CPU is online, the compiler may pull device descriptors from the offline configuration that disagree with the firmware actually flashed on the module. The result is a chart full of block types whose know-how-protected or firmware-gated functions no longer resolve.
Procedure to verify and align:
- Open the project, right-click the S7-1500 CPU → Online → Accessible nodes.
- Confirm the firmware listed under Diagnostics → General matches the version defined in the device configuration (visible in the Inspector window under Properties → General → Firmware).
- If the firmware is older, perform a firmware update to the version listed in the TIA Portal catalog for that CPU. Use the SIMATIC S7-1500 system manual as the authoritative reference for which firmware pairs with which TIA Portal version.
- After the update, perform Compile → Hardware (rebuild completely) before recompiling charts. This forces the compiler to refresh the device descriptors.
Safety Program (F-CPU) Considerations
If the target is an S7-1500F CPU with the safety program enabled, the CFC chart may live either inside the standard runtime group or inside the F-runtime group. CFC supports both, but the set of permitted block types, attributes, and interconnections in the F-runtime group is much smaller. The compiler will reject any chart-resident block that lacks F-capability with the generic message. Common offenders include:
- Blocks from PCS 7 APL that do not have an F-derivative in the Basic functions for SIMATIC STEP 7 CFC library.
- User FBs written in F-FBD/F-CFC whose F-runtime group signature has been altered after compilation.
- Blocks that consume a standard tag (BOOL/INT/REAL) wired to an F-tag without an F-shield.
Diagnostic steps:
- Open the chart that the log names.
- From the menu, select Options → Chart → Show runtime group. Confirm whether the chart is bound to the F-runtime group or the standard OB.
- If the chart sits in the F-runtime group, switch any non-F-capable block to the F-equivalent delivered in the CFC V17 basic functions library, or move the chart to the standard runtime group.
- Recompile. If the error persists only on F-blocks, open the S7-150F system manual section F-CPU and F-runtime for the supported block catalog.
Block-Type and Attribute Restrictions in CFC V17
The STEP 7 CFC V17 manual dedicates an entire chapter to Restrictions. Use that chapter as the single source of truth; the items below are the most frequent triggers of the "function does not support" error in the field.
-
Unsupported block types: Driver blocks (e.g.,
CH_AI,CH_DI,PADP) from the legacy PCS 7 driver library are not part of the CFC V17 type catalog. Replace them with the channel-driver equivalents from the V17 basic-functions library or map signals through the new I/O configuration in TIA Portal. -
Unsupported interconnections: Cross-chart connections to non-CFC blocks (standard FBs from the S7-1500 program blocks tree) are rejected unless the target is itself a CFC instance. Use a connector block (
CFC_C) or wrap the standard block in a CFC chart of its own. - Attribute restrictions: The legacy attributes S7_pdiag, S7_m_c, and the old EN/ENO handling of STEP 7 V5.5 are not all portable. The compiler raises the error when an attribute is applied to a block that lacks the matching interface. Open Object properties → Attributes on the failing block and remove unsupported attribute assignments.
-
Data type restrictions: Some CFC V17 charts restrict
LREAL,WSTRING, andDTLon specific block pins. Verify against the basic-functions library release notes. - Sheet nesting and instance depth: Deeply nested chart-in-chart structures compiled against a single CPU task can exceed the supported nesting depth. Flatten the chart hierarchy as a workaround.
Licensing the CFC Optional Package
STEP 7 CFC for TIA Portal is licensed separately from STEP 7 Professional. A floating license is normally provided as a count license on the USB license key or in the Software Entitlement Platform (SEP) for online activation. Without a valid license:
- The CFC editor opens and lets you insert blocks and draw lines.
- The compile of the chart is permitted in trial mode but produces an unlicensed warning and may treat certain functions as unavailable.
- On the target CPU, the chart is downloaded but executes without the runtime permission to call the optional libraries.
License verification sequence:
- Connect the license key (or ensure the SEP portal account is reachable).
- In TIA Portal, open Online → License information. The CFC entry should report the licensed number of charts or blocks.
- If the entry is missing, install the CFC license using the Automation License Manager and restart TIA Portal.
- If the license is present but the error persists, the problem is not licensing — move to the next diagnostic family.
Step-by-Step: Clean Compilation Workflow
Use this sequence when the chart fails with the generic message and the cause is not yet identified.
- Snapshot the project. Use Project → Archive to create a .zap before any destructive operation.
- Confirm tooling. Help → About → Installed software: verify TIA Portal V17/V18/V19 + STEP 7 CFC matching version + Basic-functions library present.
- Re-import the basic-functions library. In the Libraries task card, open the global library and run Update library. Replace any block whose version flag is yellow/red.
- Refresh device descriptors. Right-click the CPU → Compile → Hardware (rebuild completely). This clears stale firmware/catalog mismatches.
- Compile charts individually. Right-click the chart → Compile → Charts only. Isolate which chart fails first; the first failure is often the root cause of cascading errors below it.
- Inspect the failing chart. Open the chart, select Options → Chart check. The check utility highlights unsupported interconnections and attribute violations before the compiler runs.
- Replace unsupported elements. For each flagged item, substitute the equivalent from the V17 basic-functions library, or remove the attribute/interconnection.
- Recompile. Run Compile → Charts only again. Repeat until clean.
- Compile the full PLC. Run Compile → Software (rebuild all). The complete compile exercises the program structure and the safety program together; it surfaces issues the chart-only compile can hide.
- Download and verify on the target. Online → Download to device. On the CPU, observe Diagnostics → Buffer for residual SF/OB start events.
Verification and Diagnostic Procedure
After a successful compile, perform these verification steps to confirm the chart will run on the physical or simulated CPU without residual issues.
| Check | Method | Expected result |
|---|---|---|
| Compile log is clean | Information window, Errors and warnings tab | Zero errors, only admissible warnings |
| Chart instance DB generated | Program blocks → System data → instance DB present | DB number matches the chart assignment |
| CPU download succeeds | Online → Download to device | No STOP → RUN transition required |
| Runtime group ticks | Online → Watch table on the runtime group tag | OB1 / OB35 task counter increments |
| F-runtime group integrity (F-CPU only) | Safety program → Print / Check | No F-signature mismatch warnings |
| Block I/O consistency | Online → Monitor → All (on the chart) | Inputs/outputs follow process values |
If the chart compiles but the CPU enters STOP with an OB start event referencing the CFC chart, revisit the Chart → Properties → Task assignment and confirm the OB exists in the CPU's program.
Diagnostic Flow (Decision Tree)
The SVG below summarizes the decision path for isolating the root cause. Each terminal node maps to one of the resolution sections above.
Common Field-Proven Caveats
- Multi-user projects. When the project is shared via TIA Portal Multiuser, the CFC optional package must be installed on every engineering station. A station without the package can edit the chart but will raise the compile error locally while peers see a clean compile.
- Project language mismatch. A chart imported from a project with a different UI language can carry block comments and attribute strings in the wrong encoding. The compiler may treat those as unknown identifiers. Re-import the chart in the active UI language.
- Know-how-protected blocks. If the chart uses a KHP-protected block whose S7-Block container is missing the F-conversion library, the compiler cannot introspect the interface and stops with the generic message. Open the block offline to confirm the version file is reachable.
- PLCSIM vs. real CPU. PLCSIM tolerates more compilation combinations than the real firmware. A chart that compiles under PLCSIM may still fail on hardware — always verify on the real CPU once the chart is final.
- Migration from S7-300/400. The classic CFC migration tool is not part of the TIA Portal V17 CFC add-on. Charts from STEP 7 V5.5 must be re-authored or imported via the documented migration path; do not expect a direct copy/paste to succeed.
Build, Download and Run Verification
Once the chart compiles cleanly and the download completes, perform a structured bring-up to catch issues that compile-time checks cannot see.
- Switch the CPU to STOP, then back to RUN. Confirm the OB-start events in the diagnostic buffer do not reference any of the CFC instance DBs.
- Open the chart in monitor mode (Online → Monitor). Verify each input pin reflects the expected process value and each output pin follows the chart's logic.
- Force one output for five seconds through the watch table. Confirm the physical output changes accordingly, then disable the force.
- Trigger the runtime group's assigned OB manually with
SET_RT/ a forced scan. Confirm the chart instance DB cycles correctly. - For F-charts, run the Print / Check of the safety program and confirm the F-signature is consistent.
FAQ
Does the S7-1500 require a specific firmware version for CFC in TIA Portal?
Yes. The CPU firmware must be a version that TIA Portal V17 (or your installed TIA Portal version) catalogs as supported. If the firmware is older, recompile the hardware completely after updating the firmware to clear the device descriptors that drive the CFC compile.
Does the safety program (F-CPU) need to be disabled to compile CFC charts?
No. CFC charts can live in both the standard runtime group and the F-runtime group, but the F-runtime group only accepts F-capable block types. Charts containing non-F blocks must be moved to the standard runtime group, or the non-F blocks replaced with their F-equivalents.
Is an additional license required for CFC on the S7-1500?
CFC for TIA Portal is a separately licensed optional package on top of STEP 7 Professional. The license is delivered via the Automation License Manager / Software Entitlement Platform and is required for both the engineering station and (per chart count) the runtime CPU.
Which TIA Portal version introduced CFC for S7-1500?
SIMATIC STEP 7 CFC was released for TIA Portal with version V17 as the first sales-and-delivery release, together with the "Library for basic functions for SIMATIC STEP 7 CFC (TIA Portal)".
Where can I find the authoritative list of CFC restrictions?
The "Restrictions" chapter of the STEP 7 CFC V17 manual lists every block type, attribute, and interconnection that is not supported. Always treat that chapter as the primary reference when the compiler rejects a chart element.