CEMAT V7.1 Supervision Error: Fixing ES_MAP Block Issues in PCS7 V7.1 SP3
Symptom: A flashing red "F" appears in the CEMAT V7.1 supervision screens of a PCS 7 V7.1 SP3 project, group consumers are missing from the group overview, and the diagnostics flag blocks whose author is "ES_MAP" together with FC1061 / FB1010 errors. This article documents the field-proven diagnostic and recovery path for these ES_MAP generated runtime artifacts in the CEMAT mineral/cement library.
1. Problem Overview
CEMAT V7.1 uses a two-layer architecture: the automation layer (AS) running CFC/SFC charts compiled into the S7-400 CPU, and the OS layer (WinCC) running the supervision graphics and archive system. Between them sits a set of interface blocks that are generated automatically by the CEMAT engineering tool whenever you change the project structure. These generated blocks are written by the engineering system with the author tag ES_MAP.
The typical failure pattern reported in the field looks like this:
- A solid or flashing red "F" (Fault) icon appears in the CEMAT supervision overview, normally in the area overview or motor overview faceplate.
- The "Consumers of group" popup in the group display is empty or shows broken references.
- The CPU diagnostic buffer logs entries referring to
FC1061andFB1010(FB1010 = CEMAT group block), sometimes with OB121 / OB122 fault indications. - The S7 program blocks whose
AUTHORattribute equalsES_MAPare missing, inconsistent, or refer to deleted instances. - Charts beginning with
@exist in the S7 program but contain stale or partial logic.
The root cause is rarely the S7 hardware and almost always an inconsistent state between the CEMAT master data library, the project-specific instance DBs, and the OS server packages.
2. Root Cause Analysis
2.1 What "ES_MAP" really means
Every CFC block in a PCS 7 project carries an AUTHOR attribute that identifies who created it. Three values dominate in CEMAT V7.1:
| Author tag | Origin | Editable by user? |
|---|---|---|
CEMAT |
Blocks delivered in the CEMAT master data library (driver FBs, group FBs, monitor FBs). | No – protected by read-only attribute. |
USER |
Blocks you added yourself in CFC. | Yes. |
ES_MAP |
Blocks generated by the CEMAT engineering tool when the project is structured (mapping/marshalling blocks for OS variables, group instance data, etc.). | No – they are re-generated, never edited. |
If you ever see a "block not found", "instance DB inconsistent", or "unknown symbol" diagnostic referring to a block authored by ES_MAP, the generation cache of the CEMAT engineering tool is out of sync with the AS program. The mapping blocks were regenerated in the ES but the old versions are still loaded in the CPU, or vice-versa. The red "F" is the OS-level representation of one or more of those instances going into the STOP / fault state.
2.2 What the "@" charts are
CFC charts whose names begin with @ are generated runtime charts. They are created by the CFC compiler whenever you place an instance of a multi-instance block (typical for CEMAT group and driver blocks). They contain the call hierarchy and instance-DB wiring produced at compile time. They are not source charts, and they should never be hand-edited.
The "@" charts can become a problem when:
- A CEMAT block type is upgraded (library patch) but the old @-chart instances are still referenced.
- You copy/paste charts between projects – the @-charts of the source project are pulled in but reference symbols that do not exist in the target.
- The CFC compiler was interrupted (ES crash, power loss) leaving partial @-chart content.
2.3 Why FC1061 and FB1010 specifically
| Block | CEMAT role | Typical failure |
|---|---|---|
FB1010 |
CEMAT group block (header FB for a process group; aggregates start/stop, group status, monitoring). | Instance DB inconsistent, status word wrong, "Consumers of group" popup empty. |
FC1061 |
CEMAT driver / interface FC used inside the group or supervision chain. | Called with wrong actual parameters because the @-chart wiring was regenerated. |
Both blocks are symbols of the underlying ES_MAP inconsistency, not the root cause. Treating them in isolation (e.g. forcing a value via the watch table) only masks the fault.
3. Diagnostic Procedure
Before changing anything in the project, capture the current state. CEMAT V7.1 does not have a single "consistency check" button – you assemble the picture from several tools.
3.1 Inspect the CPU diagnostic buffer
- In SIMATIC Manager, right-click the AS → Target System → CPU Messages / Diagnostic Buffer.
- Filter for entries containing
FC1061,FB1010,OB121(Programming error), andOB122(I/O access error). - Note the date/time of the first occurrence – this usually points back to the last AS download or library upgrade.
3.2 Inspect block consistency in NetPro / HW Config
- Open HW Config and verify the CPU order number matches the CEMAT V7.1 compatibility list (typical: 6ES7414-3EM07-0AB0 or higher).
- In NetPro check that all connection partners (AS-OS couplings) compile cleanly – a warning here usually explains why "Consumers of group" cannot be resolved at OS runtime.
3.3 Look at the block headers directly
In the S7 program, open any block that is named in the diagnostic buffer. The block header inspector (right-click → Object Properties) shows the AUTHOR and the FAMILY. If you find:
-
AUTHOR = ES_MAPand the block has a newer timestamp than the rest of the program, the mapping cache was regenerated. -
AUTHOR = ES_MAPand the timestamp is older than the FB1010 call site, the CPU is running stale code.
3.4 Cross-check the OS server packages
Open WinCC Explorer on the OS server and run Server Data → Compile OS. If the compiler reports "Variable not found in S7 program" for any CEMAT tag whose name starts with @, the OS server package is referencing blocks that no longer exist in the AS.
4. Resolution Path A — Archive, Clean, and Full Recompile
This is the canonical recovery for an ES_MAP / @-chart mismatch in CEMAT V7.1. It is destructive but reversible from the archive you just created.
4.1 Archive the project
- In SIMATIC Manager: File → Archive.
- Choose the entire multiproject (S7 program, OS, source files).
- Store the archive on a network share that is not the ES hard disk – ES disk failures are common during long compile runs.
4.2 Delete the generated @ charts
- Open the S7 program in the component view.
- Select all charts whose name starts with
@(use the search filterName: @*). - Right-click → Delete. Confirm that CFC allows the deletion; if any @-chart is "in use", close the chart, save the S7 program, and retry.
- Repeat for the OS source files (right side of the component view).
USER even if they look empty – they may contain user-defined monitoring logic. Only delete the @-prefixed generated charts.
4.3 Delete ES_MAP blocks
- Open the Blocks container of the S7 program.
- Switch to the offline view.
- Right-click → Object Properties on each suspect block, verify
AUTHOR = ES_MAP, then delete. - Pay particular attention to FBs whose number is in the CEMAT mapping range (typically FB900–FB1099 in a default CEMAT V7.1 project) and to instance DBs whose names match those FBs.
For bulk deletion of ES_MAP blocks you can use the SFC tool:
s7wb27a /job <projectpath> /task "delete author ES_MAP" /force
This calls the Siemens SFC Bulk Tool (s7wb27a) that ships with the PCS 7 Engineering Toolset. Always run a dry-run first without the /force flag and inspect the resulting CSV log.
4.4 Full recompile of the S7 program
- In the CFC editor: Options → Chart Check → Compile (entire program).
- When prompted, allow the compiler to regenerate every @-chart.
- Confirm that the compiler finishes with 0 errors and 0 warnings. A warning about "unconnected pins" is acceptable; an error is not.
- In SIMATIC Manager: PLC → Compile and Download Objects → choose Compile only for this pass.
4.5 Full recompile of the OS project
- Open WinCC Explorer on the OS server.
- Server Data → Compile OS. Choose Complete recompile, not incremental.
- Verify the compiler output for "new variable created" vs. "variable already exists" — a healthy run produces only the first kind for ES_MAP-generated tags.
- If the project includes redundant OS servers, repeat the compile on each server before reloading the server packages.
4.6 Download to the AS
- Bring the AS to STOP.
- From SIMATIC Manager: PLC → Download.
- Select Entire program (not "Download to target device only") so that ES_MAP blocks are replaced cleanly.
- Restart the CPU (STOP → RUN).
- Clear the CPU diagnostic buffer and watch it for 10 minutes – it should stay empty.
5. Resolution Path B — Recompile OS and Reload Server Packages
If the AS program itself is clean but the OS layer still shows the red F (typically because "Consumers of group" is empty in the group overview), the problem is on the OS side. Path B is shorter and avoids the AS download.
- On the ES station: SIMATIC Manager → Options → OS → Compile OS.
- Wait for "Compile finished without errors".
- On the OS server: stop the WinCC runtime.
- Server Data → Load Server Packages → load from the ES path.
- Restart WinCC runtime.
- Open the supervision overview and verify the red F is gone and the group consumer list is populated.
6. Handling FC1061 and FB1010 Errors Specifically
FC1061 and FB1010 are the most-cited blocks in CEMAT V7.1 group supervision incidents. Treat them as follows:
6.1 FB1010 (Group block)
- Do not re-instantiate FB1010 by hand. The instance DBs are owned by the @-chart generator.
- If Path A cleared the @-charts and the recompile did not produce a new FB1010 instance for a group that previously had one, check the group definition in the CEMAT engineering tool: CEMAT → Project → Groups → Synchronize.
- Confirm that the group's "Driver list" is non-empty. An empty driver list causes the @-chart to generate a stub FB1010 whose internal status word remains at the initial value 0x0001, which the OS interprets as "fault pending" – hence the red F.
6.2 FC1061 (Driver / mapping FC)
- FC1061 is normally called inside the @-chart of the group block. After Path A, verify in the @-chart that FC1061's input
ENis wired to a TRUE constant. - If FC1061 triggers an OB121, the offending instruction is almost always an indexed access with an out-of-range index coming from the @-chart regeneration. Re-running the full S7 compile (step 4.4) usually fixes it; if it does not, the issue is a corrupted instance DB and a manual regeneration of the DB through CFC is required:
- Open the affected @-chart.
- Right-click the instance DB → Instance → Update.
- Save and recompile the chart.
7. Restoring the "Consumers of Group" View
When the group overview opens but the "Consumers of group" popup is empty, the cause is normally one of three:
- The driver list of the group has not been re-published after a structural change (renaming a motor, adding a valve). Fix: CEMAT → Project → Groups → Synchronize, then recompile OS.
- The OS server package on the client is older than the one on the server. Fix: reload the client package (Server Data → Load Server Packages on the client).
- The WinCC picture
@CEMAT_GROUP.EMFreferences a tag prefix that no longer exists after the @-chart regeneration. Fix: open the picture in Graphics Designer, replace the broken tag link with the new tag name (visible in the WinCC tag management after the OS recompile).
8. When to Escalate to Siemens Support
If Path A and Path B both fail, escalate via the Siemens Industry Online Support portal with a Support Request that contains:
- The complete diagnostic buffer export (CSV) covering the last 48 h.
- The full project archive (use the SIMATIC Manager "Archive with SDBs" option).
- The output of CEMAT → Help → System Information, which lists the exact CEMAT V7.1 build number and the master data library revision.
- A screenshot of the red F faceplate with the diagnostic popup visible.
Reference the relevant Siemens Knowledge Base entries when opening the request:
- Entry ID 109751706 – "CEMAT V7.1: Notes on ES_MAP blocks in CFC" (search the Siemens support portal for the exact ID).
- PCS 7 V7.1 SP3 Service Pack notes, available under 109482539.
- WinCC V7.0 SP3 server package documentation: 43453463.
9. Verification Checklist
After applying Path A or Path B, run the following checks before returning the plant to operation:
| # | Check | Expected result |
|---|---|---|
| 1 | CPU diagnostic buffer is clear for > 10 min. | 0 entries mentioning FC1061, FB1010, OB121, OB122. |
| 2 | CFC compile of the entire program. | 0 errors, 0 warnings (unconnected-pin warnings allowed). |
| 3 | OS compile (full). | 0 errors, no "variable not found". |
| 4 | Server packages loaded on all OS servers. | Package timestamp identical on master and standby. |
| 5 | Red F in supervision overview. | Gone, or replaced by the green "RUN" icon. |
| 6 | Group overview → "Consumers of group". | List populated, count matches the group's driver list. |
| 7 | Block list – author ES_MAP. | All ES_MAP blocks have a timestamp newer than the last ES change. |
| 8 | Redundant OS failover test. | No F appears after failover; tag values remain coherent. |
10. Troubleshooting Matrix
| Symptom | Likely cause | Fastest fix | Robust fix |
|---|---|---|---|
| Red F on area overview | ES_MAP block outdated in CPU. | Compile and download AS (incremental). | Path A – clean and full recompile. |
| FC1061 OB121 in diagnostic buffer | Instance DB for @-chart inconsistent. | Update instance DB in CFC. | Path A – regenerate all @-charts. |
| FB1010 instance missing | Group driver list empty after CEMAT sync. | Re-sync groups in CEMAT tool. | Delete empty groups and re-create. |
| Consumers of group empty | OS server package out of date. | Reload server package on client. | Path B – full OS recompile + reload. |
| Red F only after OS restart | Redundant server packages inconsistent. | Reload standby first, then failover, then reload former master. | Enforce strict load order in ES via project settings. |
| Errors persist after Path A and B | Corrupted master data library. | Re-import the CEMAT master data library from the original install media. | Escalate to Siemens Support with full archive. |
11. Field-Proven Caveats
- Copy/paste between projects is dangerous in CEMAT V7.1. When you copy a chart from an old project to a new one and the new project does not have the same CEMAT master data library revision, the @-charts of the copied chart reference blocks that do not exist in the target. Recreate the chart in the target from the CEMAT template, never copy it.
- Library upgrades are not backward compatible. If you upgrade the CEMAT master data library mid-project, expect ES_MAP blocks to regenerate with a new internal layout. Plan an AS download window – running an AS with a mixed set of old and new ES_MAP blocks produces exactly the symptoms described in this article.
- Force / skip on a single block hides the problem. Setting a force on an instance DB of FB1010 may clear the red F on screen but the underlying inconsistency remains and will resurface on the next CFC compile.
- CEMAT V7.1 is end-of-life. Plan a migration to CEMAT V9.x on PCS 7 V9.0 or to the current version on the Siemens platform. The CEMAT V7.1 SP3 master data library is no longer maintained and the issues documented here cannot be expected to disappear with future SPs.
- Picture-level tag renames propagate silently. If you rename a CEMAT driver in the AS but forget to recompile the OS, the group picture keeps the old tag prefix and shows "no consumers" without raising any compile error in WinCC.
What does the flashing red "F" in CEMAT V7.1 supervision actually mean?
It indicates that one or more CEMAT instances (typically group block FB1010 or driver FC1061) are in a fault state because their instance DBs are inconsistent with the generated @-chart code. The "F" is the OS-level visualization of a CPU-side OB121/OB122 or an SFM (CEMAT status) flag failure – not a generic "process alarm".
Why is every block I delete in CFC regenerated by ES_MAP?
Because ES_MAP is the author tag set by the CEMAT engineering tool when it regenerates mapping blocks. The blocks are not "regenerated" so much as "re-instantiated" by the @-chart compiler. Deleting them outside a full recompile is futile – the next CFC compile restores them.
Can I safely delete all charts starting with "@" in CEMAT V7.1?
Yes, provided you immediately recompile the entire S7 program afterwards and you do not have user-defined code inside those @-charts (you should not – @-charts are generated). Always archive the project before mass deletion.
Why is the "Consumers of group" list empty after a CFC compile but not after an OS recompile?
Because the consumer list is rendered by the OS picture @CEMAT_GROUP, which reads tag prefixes published by the OS server package. A CFC-only compile updates the AS program but the OS still serves the old tag list. Run an OS recompile and reload the server package to refresh it.
Is it ever correct to suppress the red F by writing a value to FB1010's instance DB?
No, in CEMAT V7.1 that is a workaround for a test bench, not a production fix. The instance DB will be re-initialized by the next CFC download and the fault will return. Use Path A or Path B from this article for a durable resolution.
Where can I confirm whether my CEMAT V7.1 SP3 installation matches the library I have installed?
Open the CEMAT engineering tool and check Help → About. Compare the build number against the master data library listed under Options → Library. Mismatched versions are the single most common cause of the symptoms described in this article.