Resolving CFC Compilation Failure (Could Not Import Block OB_END) and S7-400 CPU Compatibility in PCS 7 V8.1

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

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) and OB_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_END in PCS 7 Basis Library V8.1 interact 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 import OB_END into 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:

  1. Check Hardware Release in HW Config:
    * In HW Config, navigate to Options -> Select Catalog Profile.
    * Select PCS7_V81.
    * Expand SIMATIC 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.
  2. Audit Installed Firmware:
    * Connect online to the CPU via SIMATIC Manager and press Ctrl + 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).
  3. Update Block Types in CFC:
    * Open any CFC chart and select Options -> Block Types.
    * Select all blocks in the right-hand Chart Folder pane and click New Version.
    * Click Clean Up to remove unreferenced blocks.
  4. Purge Orphaned @ System Charts:
    * In the CFC Chart container, delete all charts starting with @.
  5. Recompile Charts:
    * Compile CFC with Generate module drivers selected.

S7-400 CPU Compatibility and Firmware Prerequisite Matrix

The following table summarizes S7-400 CPU compatibility across PCS 7 releases:

CPU FamilySiemens MLFBMin. Firmware for V7.1Min. Firmware for V8.1OB88 Supported?PCS 7 V8.1 StatusCPU 414-3 (Legacy)6ES7414-3XJ00-0AB0V3.1Not SupportedNo (< V3.1) / Yes (V3.1)Unsupported (Triggers OB_END import error)CPU 414-3 (Modern)6ES7414-3EM06-0AB0V6.0V6.0YesFully Certified and ReleasedCPU 416-3 (Modern)6ES7416-3ES06-0AB0V6.0V6.0YesFully Certified and ReleasedCPU 417-4H (Legacy)6ES7417-4HT14-0AB0V4.5V4.5YesReleased (Maintenance mode)CPU 410-5H Process Controller6ES7410-5HX08-0AB0Not ApplicableV8.1YesStandard Preferred Controller

Verification

Confirm successful resolution through compiler and online validation:

  1. CFC Compilation Log Review: Verify that Chart -> Compile -> Charts as Program completes with 0 errors and zero block import warnings.
  2. Offline Block Folder Inspection: Open the offline Blocks folder in SIMATIC Manager. Confirm that OB_END (FB102) and OB88 are cleanly compiled and present in the block list.
  3. Online Download Test: Transition the CPU to STOP mode and download the Entire Program. Confirm that all system blocks including OB88 download without rejection.
  4. 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.

Technical References

Related Articles

Related Tags

8 respuestas