Resolving CFC Compilation Failure (Could Not Import Block OB_END) and S7-400 CPU Compatibility in PCS 7 V8.1
The CFC compiler error 'Could not import block OB_END' occurs when an obsolete or unsupported S7-400 CPU model (such as legacy CPU 414-3 6ES7414-3XJ00-0AB0) is used in a newer SIMATIC PCS 7 version (such as PCS 7 V8.1). Modern PCS 7 versions require specific controller firmware and hardware features—such as support for OB88 (abort of program execution) and updated operating system structures—to import Basis Library diagnostic blocks (OB_END, OB_BEGIN, CPU_RT). To resolve this issue, verify hardware eligibility using the 'PCS7_V81' catalog profile, upgrade CPU firmware to the minimum certified level, update block types in the chart folder via 'New Version', or upgrade to a certified controller.
Table of Contents
- Executive Summary
- Root Cause Analysis: Why Compiler Block Import Fails for OB_END
- S7-400 Controller Hardware Release Constraints across PCS 7 Versions
- The Role of Operating System Block OB88 in Modern PCS 7 Systems
- Diagnostic and Recovery Workflow for Unsupported Controllers
- S7-400 CPU Compatibility and Firmware Prerequisite Matrix
- Verification
- Master Data Library Synchronization and Purging Stale @ Charts
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
When setting up test environments, training skids, or evaluating legacy migrations to SIMATIC PCS 7 V8.1, automation engineers frequently utilize surplus hardware from earlier generations—such as the legacy SIMATIC S7 CPU 414-3 (6ES7414-3XJ00-0AB0). However, upon assembling CFC charts and initiating compilation with module drivers, the process halts abruptly with the fatal diagnostic error:
Could not import block OB_END
Further troubleshooting often reveals that organization block OB88 fails to download due to CPU incompatibility. This technical article provides an architectural analysis of S7-400 firmware prerequisites, explains why modern PCS 7 Basis Library blocks require specific CPU microcode, and outlines verified recovery procedures.
Root Cause Analysis: Why Compiler Block Import Fails for OB_END
In SIMATIC PCS 7, the Module Driver Generator relies on a coordinated set of operating system interface blocks to govern cyclic execution and system diagnostics:
OB_BEGIN(FB100) andOB_END(FB102): Placed at the very start and finish of cyclic interrupt OBs (OB30 to OB38) to measure cycle execution times, detect cycle overruns, and coordinate delta downloads.- Hardware Feature Requirements: Modern versions of
OB_ENDinPCS 7 Basis Library V8.1interact with CPU firmware functions that manage execution abortion (OB88) and process-image synchronization. - Microcode Incompatibility: Older S7-400 hardware revisions (such as CPU 414-3 with firmware < V3.1) lack the internal system functions required to bind
OB_END. When the CFC compiler attempts to importOB_ENDinto the AS offline block container, the STEP 7 block generator rejects the block interface due to unsupported CPU microcode.
S7-400 Controller Hardware Release Constraints across PCS 7 Versions
Siemens enforces strict hardware compatibility across major PCS 7 releases:
- The 'Released Modules' Standard: Only hardware modules listed in the official Siemens SIMATIC PCS 7 Released Modules catalog are certified for use with a given software release.
- Forward Compatibility Fallacy: A common misconception is that because a CPU was released for PCS 7 V6.x, it will automatically function under PCS 7 V8.x. As operating system blocks and security layers advance, legacy CPUs whose firmware development ceased (such as V3.x controllers) are deprecated and retired from modern PCS 7 catalog profiles.
- HW Config Catalog Profiles: HW Config features dedicated catalog profiles (e.g.
PCS7_V81). Legacy CPUs omitted from this profile will consistently trigger compiler and driver generation failures.
The Role of Operating System Block OB88 in Modern PCS 7 Systems
Organization Block OB88 plays a crucial role in modern PCS 7 reliability:
- Function of OB88: OB88 is invoked by the CPU operating system when the processing of an application block is aborted (for example, due to nesting depth exceedance, programming errors, or SFC step execution aborts).
- Firmware Prerequisite: S7-400 CPUs must feature firmware supporting OB88. If an engineer attempts to download a PCS 7 V8.1 program containing OB88 into an older CPU, the CPU rejects the block download with diagnostic event
Module does not support OB88.
Diagnostic and Recovery Workflow for Unsupported Controllers
To evaluate and recover from Could not import block OB_END errors:
- Check Hardware Release in HW Config:
* In HW Config, navigate toOptions -> Select Catalog Profile.
* Select PCS7_V81.
* ExpandSIMATIC 400 -> CPU. Check whether the exact MLFB (6ES7414-3XJ00-0AB0) appears.
* If the MLFB is missing, the controller is not certified for PCS 7 V8.1. - Audit Installed Firmware:
* Connect online to the CPU via SIMATIC Manager and pressCtrl + D(Module Information).
* Check the exact firmware revision. If the CPU supports firmware updating, flash it to the latest certified version (e.g. V3.1.2). - Update Block Types in CFC:
* Open any CFC chart and selectOptions -> Block Types.
* Select all blocks in the right-handChart Folderpane and click New Version.
* Click Clean Up to remove unreferenced blocks. - Purge Orphaned
@System Charts:
* In the CFC Chart container, delete all charts starting with@. - Recompile Charts:
* Compile CFC withGenerate module driversselected.
S7-400 CPU Compatibility and Firmware Prerequisite Matrix
The following table summarizes S7-400 CPU compatibility across PCS 7 releases:
6ES7414-3XJ00-0AB06ES7414-3EM06-0AB06ES7416-3ES06-0AB06ES7417-4HT14-0AB06ES7410-5HX08-0AB0Verification
Confirm successful resolution through compiler and online validation:
- CFC Compilation Log Review: Verify that
Chart -> Compile -> Charts as Programcompletes with 0 errors and zero block import warnings. - Offline Block Folder Inspection: Open the offline
Blocksfolder in SIMATIC Manager. Confirm thatOB_END(FB102) andOB88are cleanly compiled and present in the block list. - Online Download Test: Transition the CPU to STOP mode and download the Entire Program. Confirm that all system blocks including
OB88download without rejection. - Transition to RUN: Warm restart the CPU and verify that it enters RUN mode without diagnostic buffer fault entries.
Master Data Library Synchronization and Purging Stale @ Charts
When moving projects between test racks and production systems:
- Maintain Central Master Data Library: Ensure all technological and Basis Library blocks originate strictly from the project's Master Data Library, avoiding ad-hoc block copying from unverified test libraries.
- Purge System Charts on Hardware Changes: Whenever changing CPU MLFBs or firmware versions in HW Config, delete all
@charts in CFC before compiling to ensure fresh driver generation.
Limitations and Operational Precautions
Never bypass compiler block import errors by removing OB_END or unchecking Generate module drivers. Omitting system driver blocks disables runtime cycle monitoring and diagnostic alarm forwarding, leaving the controller vulnerable to unmonitored task overruns.
When sizing controller replacements or upgrading plant automation hardware, all CPU models, firmware revisions, and memory card specifications must be validated against official Siemens catalogs and confirmed through an authorized Siemens distributor quotation.
Engineer FAQ
Does adding a 2 MB memory card resolve the OB_END import error?
No. A memory card expands Load Memory only. The error is caused by CPU firmware and microcode incompatibility, not memory card capacity.
What happens if OB88 is missing from the CPU?
If an execution abort occurs during runtime and OB88 is not loaded in the CPU, the controller immediately transitions to STOP mode.
Can I compile the program using an older library version in PCS 7 V8.1?
You can import older library blocks, but they must still belong to a library release certified for use with the installed CFC compiler version.
Where can I find the official list of released CPUs for PCS 7?
In the Siemens Industry Online Support portal document 'SIMATIC PCS 7 - Released Modules', published for each major version.