Resolving SFC Chart Does Not Exist Errors During Download and Online Monitoring in SIMATIC PCS 7
In SIMATIC PCS 7, the error 'Error: SFC chart does not exist' during online chart monitoring or delta download occurs when the offline chart directory and the AS CPU runtime block container lose structural synchronization. This typically happens after importing hardware configurations, copying charts between projects, or reorganizing chart numbers without a complete block consistency check. To resolve this, run 'Check Block Consistency' in SIMATIC Manager, verify that the required SFC runtime system blocks (@SFC_RTV, FB300) exist in the offline Blocks folder, use Chart Reference Data to locate orphaned SFC cross-references, and perform a full CFC and SFC compilation with module driver generation before downloading.
Table of Contents
- Root Causes of SFC Missing Reference Errors
- SFC Runtime Architecture and DB Allocation
- Diagnostic and Recovery Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Root Causes of SFC Missing Reference Errors
When engineers import hardware configurations from external sources or copy CFC/SFC charts across different SIMATIC PCS 7 multiprojects, the automated numbering tables for Sequential Function Charts (SFC) frequently fall out of synchronization with the target CPU block folder.
In SIMATIC PCS 7 (v7.1, v8.0, v8.1, v8.2, and v9.0), the Continuous Function Chart (CFC) and SFC editors rely on an internal cross-reference directory that maps graphical chart objects to compiled S7 program structures. When an engineer attempts to enter Test Mode (monitoring) or initiate a delta download, the engineering system verifies that the chart header loaded in the AS controller matches the offline chart GUID and block container mapping. If this mapping is broken, the engineering system aborts with Error: SFC chart does not exist or SFC not found in target system.
The root causes break down into four primary engineering failure modes:
- Missing SFC System Runtime Blocks: If charts were copied into an AS station whose
Blockscontainer lacks the@SFC_Libraryruntime blocks (such as@SFC_RTV/FB300,FB245, orFB246), the CPU cannot resolve the SFC runtime execution engine. - Orphaned Chart Cross-References: Importing hardware configurations or renaming charts can leave stale references in the Chart Reference Data database. A CFC chart may contain a block call or interconnection to an SFC chart instance number that was deleted or renumbered during import.
- Instance DB Collision After Hardware Re-import: Importing an XML or station configuration overwrites the symbol table and system data blocks (SDBs), shifting the reserved block range and leaving the compiled SFC instance Data Blocks pointing to non-existent chart structures.
- Desynchronized Delta Compilation: If an SFC chart is compiled offline while the online CPU is executing code generated from a previous compilation run, the delta download loader detects a signature mismatch on the chart header and flags the SFC as non-existent.
SFC Runtime Architecture and DB Allocation
Understanding how SIMATIC PCS 7 compiles SFC charts into the S7 program is essential for troubleshooting broken references. An SFC chart is not an interpreted script; it is translated directly into native STEP 7 executable blocks and instance data blocks.
@SFC_RTV / FB300SFC does not existFB245 / FB246DB599 - DB800Error: SFC chart does not exist@SFC_... LibraryWhen an SFC chart is inserted into the Plant Hierarchy, the engineering system reserves an internal SFC chart number (e.g., SFC 1, SFC 2). If an import process overwrites these numbers or skips compiling the chart into its corresponding instance DB, the graphical interface attempts to query an online DB number that does not exist on the S7-400 CPU.
Diagnostic and Recovery Procedure
To identify which specific SFC chart is missing and restore the project to full operational consistency, execute the following technical workflow:
Step 1: Pinpoint the Missing SFC Using Chart Reference Data
- In SIMATIC Manager, select the AS station's
Chartsfolder. - Select menu Options > Reference Data > Display.
- In the Reference Data window, select the SFC Charts view or Chart Reference Data > Block Calls.
- Review the list of all SFC charts. Any chart highlighted with a warning triangle or displaying an invalid chart number indicates an unresolved cross-reference.
- Check the Cross-References to SFC Elements tab to determine which CFC chart or block is attempting to access the missing SFC.
Step 2: Check Block Consistency
- In SIMATIC Manager, navigate to the
Blocksfolder under the AS S7 Program. - Right-click the
Blocksfolder and select Check Block Consistency.... - In the Block Consistency window, select Program > Compile All.
- The compiler scans all SFC charts, CFC charts, and system blocks. If an SFC block call references a non-existent chart or missing instance DB, the output pane identifies the exact block number and chart name with a compile error.
Step 3: Verify and Re-import SFC System Blocks
- Open the SIMATIC Manager master library or open the standard library via File > Open > Libraries > SFC Library.
- Locate the blocks folder inside the SFC Library.
- Select the runtime blocks:
@SFC_RTV(FB300),@SFC_RTI(FB301), and all@SFC_*blocks. - Copy these blocks and paste them directly into the target AS S7 Program's
Blocksfolder. Select Yes to All when prompted to overwrite existing library templates.
Step 4: Perform Full CFC and SFC Compilation
- In SIMATIC Manager, select the
Chartsfolder. - Select Chart > Compile > Charts as Program....
- In the compilation dialog, select Entire program instead of Changes only.
- Check both options: Generate S7 blocks and Generate Module Drivers.
- Click OK to execute a clean full compilation. The compiler regenerates all SFC instance DBs and synchronizes the chart reference tables.
Step 5: Execute Download
- If the CPU is in RUN mode and the changes permit delta download, attempt a Changes-only download.
- If the block consistency check revealed fundamental structure changes (e.g., DB renumbering), schedule a plant shutdown and perform a Full Download in CPU STOP mode to eliminate online/offline discrepancies.
Verification
To confirm that the SFC chart references are fully restored:
1. Open the SFC chart in the SFC Editor.
2. Click the Test Mode (Online) button (glasses icon) or select Debug > Test Mode. The chart must successfully enter online monitoring without displaying 'Error: SFC chart does not exist'.
3. Verify that the step status colors update in real time (e.g., inactive steps gray, active steps green, held steps yellow).
4. In SIMATIC Manager, right-click the Charts folder and select PLC > Download. Select Changes only; the download must complete without errors or warnings.
5. Open the CPU Diagnostic Buffer via PLC > Module Information > Diagnostic Buffer to ensure no block call errors (Event ID 16#4521 or 16#2522) occur.
Limitations and Operational Precautions
Be aware of the following operational constraints when resolving SFC reference errors:
- Full Download Requires CPU STOP: If the block consistency check requires regenerating block addresses or if system DB numbering has shifted, downloading the entire program requires transitioning the S7-400 CPU to STOP mode. Never perform an uncontrolled full download on an active production process.
- SFC Runtime Version Mismatches: Ensure the SFC Library version matches the installed PCS 7 engineering version. Mixing SFC V8.0 runtime blocks with a PCS 7 V8.2 installation will corrupt the chart header interface.
- SFC Type Instances vs. SFC Charts: SFC Types compiled into instance DBs have different numbering rules than standalone SFC charts. Do not copy standalone SFC charts into a project that utilizes SFC Types for batch control without ensuring instance name uniqueness.
Engineer FAQ
Why did the SFC error appear immediately after importing hardware configuration?
Importing hardware (HW Config) can regenerate System Data Blocks (SDBs) and modify communication parameters. If the hardware import included S7 program symbols or modified the symbol table addresses, the mapping between SFC chart numbers and their allocated instance DBs became corrupted.
Can I delete an orphaned SFC reference directly from the CFC chart?
Yes. Open the CFC chart that references the missing SFC. Delete the interconnection to the missing SFC chart's control input (e.g., EN, RUN, or HOLD). Then execute 'Options > Optimize Run Sequence' in CFC and recompile.
What is the difference between @SFC_RTV and individual SFC instance DBs?
@SFC_RTV (FB300) is the shared runtime coordinator block that executes all SFC charts in the AS. Individual instance DBs (e.g., DB601, DB602) hold the actual state, step timers, and transition results of a specific SFC chart.
Technical References
- SIMATIC Process Control System PCS 7 SFC for S7 Function Manual (A5E36988878-AA)
- SIMATIC Process Control System PCS 7 Compendium Part A - Configuration Guidelines (A5E43573954-AB)
- SIMATIC STEP 7 V5.5 S7-SCL and CFC Block Consistency Manual (A5E02789666-01)
Related Articles
- Identifying Data Blocks and Instance DBs Generated by SFC Charts in SIMATIC PCS 7
- Resetting Sequential Function Chart (SFC) Step Visual Status to Idle in SIMATIC PCS 7
- Resolving CFC Compilation Error Parameter Assignment of Sampling Times Not Possible
- Resolving WinCC OS Compilation Error 1739 Invalid Object Type During Changes Compile
Related Tags
- SFC
- CFC
- SIMATIC PCS 7
- Block Consistency
- S7-400
- SFC Runtime
- Engineering System