Resolving 'FB537 Cannot Be Imported - FC Out of Valid Range' in PCS 7 CFC / CEMAT
The error 'FB537 cannot be imported - FC is not in the valid range' during library import or block instantiation in SIMATIC PCS 7 occurs when an imported Function Block (such as CEMAT block FB537) internally calls standard Functions (FCs) whose numeric identifiers fall outside the valid user block ranges permitted by the Continuous Function Chart (CFC) compiler. To resolve this, open the CFC Editor, select Options -> Customize -> Compile/Download, locate the section 'Areas reserved for other applications', and expand the allowable FC number range (or increase the upper limit) so the required FC numbers are included within the permitted project boundaries.
Table of Contents
- CFC Block Number Ranges and Compiler Range Validation
- Root Causes of FC Number Range Violations During Library Import
- Comparison of CFC Block Range Configuration Parameters
- Step-by-Step Procedure to Adjust FC Range Limits in CFC
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
CFC Block Number Ranges and Compiler Range Validation
In SIMATIC PCS 7, the Continuous Function Chart (CFC) editor manages controller memory allocation by enforcing strict partitioning of Function (FC), Function Block (FB), and Data Block (DB) number ranges. This partitioning prevents user charts from colliding with internal system functions, module drivers, or communication blocks.
When an engineer imports an industry library—such as SIMATIC PCS 7 Minerals CEMAT (6ES7658-2BC58-0YA5) or a custom technological package—the imported blocks (e.g. FB537) often contain internal calls to pre-compiled helper functions (FCs). If the target project's CFC compiler settings restrict FC numbers to a narrow default range (e.g. FC1 to FC60), any block calling an FC numbered outside that range (such as FC300 or FC500) will be rejected immediately by the CFC block type import engine.
Root Causes of FC Number Range Violations During Library Import
When attempting to import block types into the CFC chart catalog (Options -> Block Types), the compiler evaluates every cross-referenced block against the project's compilation parameters:
- Restricted Reserved Range: The target project was configured with a restricted FC range reserved for user blocks, causing CEMAT helper functions to fall into the forbidden zone.
- Overlapping Subsystem Allocations: The required FC number conflicts with ranges claimed by other installed packages (such as SFC runtime system or Driver Generator).
- Missing System Packages: CEMAT requires specific foundational libraries (such as the standard STEP 7 communication FCs and CEMAT system functions) to be installed in the S7 Program 'Blocks' folder prior to importing technological FBs.
Comparison of CFC Block Range Configuration Parameters
The following table details the customizable block ranges in CFC under Options -> Customize -> Compile/Download:
Step-by-Step Procedure to Adjust FC Range Limits in CFC
Follow this procedure to expand the allowable FC range and successfully import FB537:
-
Open CFC Compile/Download Settings:
- Launch SIMATIC Manager and open any CFC chart.
- In the CFC menu bar, selectOptions -> Customize -> Compile/Download.... -
Identify and Expand the FC Range:
- In the 'Customize Compile/Download' dialog, locate the section Installed block numbers.
- Inspect the FC fields (Lower limit and Upper limit).
- Increase the Upper limit (e.g. increase from250to1000or1500).
- Under Areas reserved for other applications, ensure the reserved range does not block the specific FC called by FB537.
- Click OK to save settings. -
Import the Block Type into CFC:
- In the CFC Editor, select menuOptions -> Block Types....
- In the left pane ('Block types in chart folder'), click the arrow to pullFB537from the S7 Program block folder into the chart catalog.
- The compiler validates the cross-referenced FCs against the newly expanded range and successfully registers the block type. -
Recompile Charts:
- PlaceFB537in your technological chart.
- SelectChart -> Compile -> Changes onlyto verify clean compilation.
Verification
Verify block import and compilation:
1. Open the CFC block catalog (left task card) and verify that FB537 appears under its technological family.
2. Drag FB537 into an active CFC chart; confirm that the block drops cleanly without error prompts.
3. Select Chart -> Compile -> Changes only. Confirm that the compile log reports 0 Errors.
4. Open SIMATIC Manager cross-references (Tools -> Reference Data -> Display). Confirm that the helper FC called by FB537 is correctly linked in the call tree.
Limitations and Operational Precautions
- Never Overlap SFC System Ranges: When expanding the FC upper limit, do not overlap with reserved system ranges (e.g. FB1000-1199 for SFC). Keep user FC ranges below FC1000 unless verified in Siemens manuals.
- CPU Architecture Limits: S7-400 CPUs have physical block number limits. Verify that the configured FC numbers do not exceed the maximum block number supported by your CPU model (e.g. maximum FC number of 2048 or 4096 on CPU 410-5H).
- Do Not Renumber System Helper FCs: Never attempt to manually renumber proprietary CEMAT helper FCs in the S7 Program 'Blocks' folder. The calling FB contains hardcoded call instructions that will crash if the FC is renumbered.
Engineer FAQ
Why does CFC care about FC numbers when importing an FB?
CFC manages controller memory monolithically. If an FB calls helper FCs whose numbers fall outside the permitted ranges configured in CFC, the compiler rejects the FB to protect against overlapping memory corruption.
Where do I find out which FC number is causing the error?
In SIMATIC Manager, open the S7 Program 'Blocks' folder, right-click FB537, select Object Properties, and check the 'Calls' tab to see which FCs are referenced by the block.
Can I change CFC block ranges in an active project without a CPU STOP?
Yes. Changing block range boundaries under Options -> Customize -> Compile/Download only alters the offline compiler's allocation rules. It does not affect running blocks in the controller until blocks are compiled and downloaded.
Technical References
- SIMATIC PCS 7 CFC for S7 / S7-HiGraph / PCS 7 Manual (A5E41356136-AB)
- SIMATIC PCS 7 Industry Library CEMAT V9.0 Function Manual (A5E41356136-AB)
- Siemens Industry Online Support FAQ: Reserved block numbers and compile limits in CFC (Entry ID 2771491)
- SIMATIC S7-400 Automation System CPU Specifications Reference Manual (A5E00850741-08)
Related Articles
- Reserved S7 Block Number Ranges (FB, FC, DB) in SIMATIC PCS 7 System Libraries
- Resolving CFC Download Error Block DB Already Exists in CPU - Block Was Not Downloaded
- Troubleshooting CEMAT C_GROUP Faceplate Opening Failures and Missing Diagnostic Windows in WinCC
- Compatibility Rules and Pitfalls When Migrating CEMAT Blocks Between Versions
Related Tags
- CFC Block Types
- FB537 Import Error
- FC Range Limits
- CEMAT Library
- Compile Download Options
- S7-400 Memory