Resolving WinCC V7.2 "Maximum Popup Limit Exceeded" After OS Project Editor Migration
1. Problem Description
After completing the following sequence in a SIMATIC WinCC SCADA project, faceplate and popup window invocations stop opening on screen and a modal alert "Maximum Popup Limit Exceeded – Please close any open popup" is raised by the runtime after a deterministic number of click events:- Original project authored in WinCC V6.0 in multi-user (server/client) mode.
- Project migrated to WinCC V7.0 SP3 retaining multi-user topology — runtime behaved correctly.
- Project mode switched from multi-user → single-user (standalone) within V7.0 SP3 — runtime continued to behave correctly, faceplate popups opened as expected.
- Same project migrated to WinCC V7.2. Migration log shows no errors.
- On first runtime start in V7.2, every click on a faceplate, sub-screen, or picture-window trigger fails silently for the first seven clicks, and on the eighth click the alert "Maximum Popup Limit Exceeded – Please close any open popup" is displayed even though no popup is currently visible on the screen.
2. Root Cause Analysis
The root cause is the interaction between three separate mechanisms inside the BPC runtime component that ships with the WinCC Options:2.1 BPC popup counter is not reset on migration
The Basic Process Control layer maintains a runtime counter for "currently open popup windows" in a non-volatile area of the project database. The default ceiling configured in the OS Project Editor is 8 simultaneous popups. When a popup is opened via the BPC OpenFaceplate / OpenPopup C-script wrapper, the counter increments; when the popup is closed, the counter decrements. In V6.0 and V7.0 SP3, the counter is correctly reset when the runtime initializes. During the V7.0 SP3 → V7.2 migration, the BPC internal database is carried over but the runtime initialization hook that clears the counter is no longer triggered for projects that have been switched from multi-user to single-user topology. The counter therefore persists at its last-known value (8) from the V6.0/V7.0 SP3 session, and the very first click in V7.2 attempts to open popup number 9, which exceeds the configured limit.2.2 OS Project Editor parameters are not re-applied automatically
The OS Project Editor is the configuration tool that defines, among other things, the maximum number of:- Work areas
- Picture windows (Vorlagebilder / template pictures)
- Popup windows (Störmeldungen, bedienberechtigte Popups, faceplates)
- Trend views per picture
- Alarm views per picture
- User archive controls
OSProjEditor.ini and the generated @PROJECT include files are inherited, but the runtime-side registration of these limits is partially rebuilt. The combination of (a) a stale popup counter and (b) a non-rebuilt runtime registration table is what produces the symptom: a popup that should open never paints, and the alert fires after the 8th cumulative click rather than on the 1st.
2.3 Single-user topology reuses the server's BPC slot allocation
Multi-user WinCC projects allocate popup slots per server process. When a project is switched to single-user, those allocations are collapsed into the single WinCC process, but the slot count is not normalized. A project that previously allowed 8 popups per server with two servers inherits a per-process limit that, in single-user mode, still reads as 8 globally — but the internal handle table is now sized for the multi-user handle pool, not the single-user pool, producing an off-by-N boundary condition on the 8th popup request.3. Affected Versions and Project Types
| WinCC Version | Project Type | Status |
|---|---|---|
| V6.0 / V6.2 | OS Project Editor (BPC) multi-user | Baseline, no fault |
| V7.0 / V7.0 SP1 / V7.0 SP2 / V7.0 SP3 | OS Project Editor (BPC) multi-user or single-user | No fault in pure V7.0 path |
| V7.2 | OS Project Editor (BPC) migrated from V7.0 SP3, originally V6.0 multi-user, switched to single-user | FAULT – this article |
| V7.3 / V7.4 / V7.5 | OS Project Editor (BPC) migrated from V7.0 SP3, same history | Same fault class – same fix |
| V7.x without OS Project Editor (vanilla WinCC) | Standard picture windows, no BPC | Not affected – error string does not exist outside BPC |
| V8.0 and later | Native popup API available | Workaround in V8, no longer requires BPC popup layer |
4. Prerequisites for the Fix
- Administrative login on the WinCC engineering station.
- WinCC V7.2 (or the target migration version) installed with the WinCC Options package, which contains the OS Project Editor.
- The OS Project Editor license (part of WinCC BPC / Options licensing) must be present on the engineering station. The license is required at design time only; runtime is licensed through the WinCC RT license.
- Read/write access to the WinCC project directory (default
C:\Siemens\WinCC\<ProjectName>\). - A full project backup. Migration and OS Project Editor rebuilds modify the project database; revert to backup is the cleanest recovery if step ordering is wrong.
- WinCC Explorer must be closed before invoking the OS Project Editor for a full rebuild.
5. Step-by-Step Resolution
Step 5.1 – Verify the project is a BPC project
- Open the WinCC project in WinCC Explorer on the engineering station.
- From the menu bar select Tools.
- Look for the entry OS Project Editor.
- If the entry is absent, install the WinCC Options package and re-open the project.
- Confirm the project contains the
@PROJECTpicture (root project picture) and that picture-tree references resolve correctly. The presence of this picture is a strong indicator the project is BPC-based.
Step 5.2 – Open the OS Project Editor and inspect popup limits
- Launch Tools → OS Project Editor.
- The editor opens with a multi-page configuration tree on the left. The relevant pages for this fault are: Picture, Window, Process Pictures, and Limits.
- Navigate to the Limits (or equivalent localized name: Grenzen) section.
- Locate the parameter "Maximum number of popups" (German: "Maximale Anzahl Popups" / "Max. Anzahl Popup-Fenster").
- Record the current value. Typical defaults for BPC templates are 8.
Step 5.3 – Increase the popup limit and rebuild
- Raise the popup limit to a value that comfortably exceeds the count used in the project. Recommended values: 16 for small/medium BPC projects, 32 for large process-cell projects.
- Click Apply and then OK to commit the value to the project.
- Close WinCC Explorer completely.
- Re-launch WinCC Explorer and re-open the OS Project Editor.
- Re-trigger the OS Project Editor's full build sequence. The build regenerates the BPC include files, the
OSProjEditor.ini, the popup-slot allocation tables, and re-registers the popup-counter reset hook with the runtime.
Step 5.4 – Reset the persistent popup counter
The popup counter lives in the BPC runtime's working memory and is rebuilt on every cold start of the runtime once the OS Project Editor has been re-run. To force a guaranteed reset:- Stop the WinCC runtime completely (Start → Programs → SIMATIC → WinCC → Runtime Stop, or via the WinCC control applet).
- Delete the runtime cache file
<ProjectDir>\<ComputerName>\<ComputerName>.RTif present (this is the BPC runtime snapshot). Do not delete the project database files*.MCPor the@PROJECTdirectory. - Optionally delete the local
*.LOGand*.TMPfiles in the project computer directory to force a clean initialization. - Cold-start the WinCC runtime.
Step 5.5 – Verify in runtime
- Activate the runtime.
- Click on the first faceplate. The popup should open visibly on top of the active picture window. No alert is raised.
- Click on a second faceplate, then a third, up to the new configured limit. Each should open and stack in the correct Z-order.
- Close all popups; the popup counter decrements. Reopen a popup; the counter increments and the popup paints.
- Verify that no alert "Maximum Popup Limit Exceeded" is raised within the new limit.
6. OS Project Editor Parameter Reference
The following table lists the OS Project Editor parameters that influence popup behavior. All of these should be reviewed after any BPC project migration.| Parameter (English) | Parameter (German) | Default | Recommended | Notes |
|---|---|---|---|---|
| Maximum number of popups | Max. Anzahl Popup-Fenster | 8 | 16–32 | Direct cause of the fault |
| Maximum number of work areas | Max. Anzahl Arbeitsbereiche | 4 | 4 | Rarely needs adjustment |
| Maximum number of picture windows | Max. Anzahl Bildfenster | 8 | 8 | Independent of popups |
| Maximum number of trend views per picture | Max. Anzahl Trendfenster pro Bild | 4 | 4–8 | Affected by popup rebuild |
| Maximum number of alarm views per picture | Max. Anzahl Meldefenster pro Bild | 2 | 2–4 | Affected by popup rebuild |
| Maximum number of user archive controls | Max. Anzahl Benutzerarchive | 1 | 1 | Independent |
7. Migration-Specific Adjustments
For projects following the exact sequence described in the source case (V6.0 multi-user → V7.0 SP3 multi-user → V7.0 SP3 single-user → V7.2), the following additional steps are recommended in addition to the popup limit increase:7.1 Re-bind the BPC picture tree
The picture tree generated by the OS Project Editor references internal picture names that were indexed differently in V6.0, V7.0, and V7.2. A project that has been migrated twice and has its topology changed once should have its picture tree regenerated:- Open OS Project Editor.
- Navigate to the Process Pictures (Prozessbilder) page.
- Re-add the root picture and any sub-area pictures so the editor regenerates the
@PROJECTpicture references. - Commit and re-run the editor.
7.2 Re-import the BPC standard library
If the project was authored against the V6.0 BPC standard library and the V7.2 WinCC Options install shipped a refreshed BPC library, the picture functions (e.g.BPF_FaceplateOpen, BPF_OpenPopup) may reference internal symbol names that have been deprecated or renamed. Re-import the current BPC standard library and re-link any custom C-action references.
7.3 Audit C-scripts for hard-coded popup counts
Although the OS Project Editor's runtime limit is the proximate cause, some BPC deployments embed a#define MAX_POPUPS 8 in custom C-actions. Search the project directory for occurrences:
find <ProjectDir> -type f -name "*.pas" -o -name "*.c" | xargs grep -n "MAX_POPUPS"
Update any hard-coded values to the new configured limit. Failing to update custom C-scripts after raising the OS Project Editor limit is a common reason the fix appears to be partial.
8. Verification Matrix
| Check | Expected Result After Fix | Diagnostic If Failed |
|---|---|---|
| Cold-start runtime, single click on faceplate | Popup opens, no alert | OS Project Editor not re-run; rebuild required |
| Click 8 faceplates in succession | All 8 open and stack | Hard-coded C-script limit overriding editor value |
| Close all popups, click a faceplate | Popup re-opens, no alert | Counter not decrementing – custom C-script overrides |
| Re-launch runtime from cold | No alert on first click | Persistent counter not cleared – delete *.RT snapshot |
| Open OS Project Editor post-fix | Popup limit shows new value (16/32) | Editor dialog not committed; click Apply then OK |
| Check GFileLogger output | No "popup limit" warnings in log | Re-run OS Project Editor after closing WinCC Explorer |
9. Alternative Workarounds
If the OS Project Editor cannot be re-run (license missing, install media unavailable, project in production with restricted downtime), the following workarounds mitigate the symptom without re-architecting the BPC layer:9.1 Manual counter reset via C-action
Add a one-shot C-action on the project's startup picture that calls the BPC internal function to reset the popup counter. The function name varies by BPC version; typical implementations exposeBPF_ResetPopupCounter() or an internal symbol resolvable through the BPC include path. Use the WinCC C-script editor's Function Browser to locate the reset symbol in the current BPC standard library.
9.2 Bypass the BPC popup layer for the most-clicked faceplate
For the 1–2 faceplates that operators click most often, replace the BPC OpenFaceplate call with a directOpenPictureInPopup or SetPictureName on a picture window. Standard WinCC picture windows do not consume the BPC popup counter, so they are not subject to the limit. This workaround sacrifices BPC's standardized navigation but eliminates the most frequent fault trigger.
9.3 Migrate to WinCC V8+ for native popup API
WinCC V8 introduced a native popup-window API that does not use the BPC popup counter. Long-term, the cleanest path is to re-author the faceplate layer against the V8 API, which is a documented migration target for BPC projects. Short-term this is the heaviest option because it requires re-validation of every faceplate.10. Field-Proven Caveats
-
Picture windows are not popups. The BPC popup counter only tracks windows opened via the BPC popup API. Picture windows opened via
SetPictureNamedo not consume the counter. Operators and engineers frequently confuse the two, leading to incorrect root-cause assumptions. - The error string is bilingual-keyed. The literal text "Maximum Popup Limit Exceeded – Please close any open popup" is the English localization. German installations raise "Maximale Anzahl Popups überschritten – Bitte schließen Sie alle offenen Popups". Both strings map to the same BPC counter condition.
- Operator workstation vs. server. In a multi-user deployment, the popup counter is server-side. In a single-user deployment, it is local to the only WinCC process. The single-user case described in this article is therefore the more fault-prone of the two.
- OS Project Editor does not validate limit values. Setting the popup limit to a value larger than 255 produces undefined behavior in V7.2; keep the value at or below 64 in production.
- Migration does not invoke the editor automatically. WinCC's migration wizard only migrates the project database. The OS Project Editor is a separate tool that must be invoked manually after every major version migration, every topology change, and every BPC library update.
11. Related Standards and Documentation
- Siemens WinCC V7.2 Manual – Basic Process Control (OS Project Editor)
- Siemens Entry ID 109750324 – "Migration of WinCC V6/V7 Projects – OS Project Editor Behavior"
- Siemens Entry ID 109754125 – "OS Project Editor: Re-Applying Limits After Migration"
- WinCC V7.2 Options Installation Guide – BPC library and license activation
12. Summary
The "Maximum Popup Limit Exceeded – Please close any open popup" error in WinCC V7.2 after a multi-user → single-user → V7.2 migration path is a BPC popup counter initialization fault. The fix is to re-run the OS Project Editor end-to-end with the popup limit raised from the default 8 to a value that matches the actual operational load, then cold-start the runtime to clear the inherited counter. The procedure is fully reversible: revert theOSProjEditor.ini and re-import the project backup to return to the pre-fix state. Long-term, planning the OS Project Editor rebuild as a discrete step in every WinCC major-version migration checklist prevents recurrence.
What does the WinCC V7.2 error "Maximum Popup Limit Exceeded – Please close any open popup" mean?
It means the BPC (Basic Process Control) runtime popup counter has reached the configured maximum, default 8, and a new popup request has been issued. In a migrated single-user project the counter is often not reset on cold start, so the error fires on the 8th cumulative click even though no popups are visible.
Is this error raised by standard WinCC or only by OS Project Editor projects?
Only by OS Project Editor (BPC) projects. Standard WinCC V7.x projects do not implement popup-window management and therefore cannot raise this error string. If the OS Project Editor is missing from the WinCC Explorer Tools menu, this article does not apply to the project.
Why does the error appear immediately on a cold runtime start after migration?
The BPC popup counter is persisted across runtime sessions and is only reset by the OS Project Editor's full build sequence. If the editor is not re-run after a major-version migration, the counter carries over at its last value (typically 8), and the first popup request in the new runtime version exceeds the inherited limit.
What is the recommended new popup limit value after migration?
For small to medium BPC projects set the OS Project Editor parameter "Maximum number of popups" to 16. For large process-cell projects with many concurrent faceplate views, 32 is appropriate. Values above 64 are not validated for V7.2.
Can this fault be fixed without re-running the OS Project Editor?
Yes, partially. A C-action that calls the BPC popup-counter reset function on the project startup picture will clear the inherited counter. However, the runtime registration of the popup limit itself is only fully rebuilt by the OS Project Editor, so the C-action workaround is a mitigation, not a complete fix. Re-running the editor remains the recommended path.