PCS 7 v9.0 Picture Size Reverts After OS Compilation Root Cause

David Krause11 min read
HMI / SCADASiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Problem Overview: PCS 7 v9.0 Picture Size Reverts After OS Compile

Engineers running SIMATIC PCS 7 V9.0 SP2 with Update Collection 03 (UC03) — as well as V9.0 SP3 with UC01/UC02/UC03, V9.0 SP3 UC06, and V9.1 SP2 UC08 — frequently report that custom picture geometry set inside WinCC Graphic Designer is overwritten on the next OS compile. The two observable picture populations are:

  1. Group 1 pictures — geometry matches the dimensions defined in the OS Project Editor. These pictures always resize to the project editor's configured canvas.
  2. Group 2 pictures — geometry was modified manually via Graphic Designer → Object Properties → Geometry (width, height, X, Y) for a particular client display or a non-standard panel resolution. These pictures are forced back to the OS Project Editor size after every OS compile.

Because the OS compile cycle in PCS 7 regenerates the runtime database (*.pdl and the GraCS folder contents under the OS server's project path), any out-of-band geometry that the engineering tool did not write back to the master project database is lost. The issue is not a WinCC runtime bug; it is a project distribution and master-data handling constraint that the OS Compile OS executes by design.

Engineering impact: Forcing resizing after every compile violates GAMP 5 reviewable build practices because the as-built runtime visual layout diverges from the as-designed master on disk. Use the workflow below to reconcile the master project before performing any OS download.

Affected Versions and Update Collections

The behavior is documented in the official Siemens PCS 7 readme files for the following versions:

PCS 7 Version Update Collection OS Compile Behavior
V9.0 SP2 UC03 OS Server geometry overrides manual Object Properties changes
V9.0 SP3 UC01 / UC02 / UC03 / UC06 Same behavior; resolved by ES-side workflow only
V9.1 SP2 UC08 Same workflow applies; no new compile flag added

For the canonical version notes consult the PCS 7 V9.0 SP3 UC06 Readme (Online) and the PCS 7 V9.1 SP2 UC08 Readme (Online). The readme files list operating-system prerequisites, the WinCC/WebUX V7.4 process picture support, and the supported upgrade matrix that the compile sequence must respect.

Root Cause Analysis

PCS 7 separates the engineering environment (ES) from the runtime environment (OS Server / OS Client). During an OS compile, the WinCC Explorer on the OS Server rebuilds the runtime database from the master project data that is downloaded from the ES. The OS Compile OS has two relevant settings under OS Project Editor → Picture → Monitor resolution:

  • Default monitor resolution — controls the canvas of all process pictures generated automatically from the SFC, S7 Graph, and CFC chart topology.
  • Window size attributes — the runtime width/height of any picture opened in the OS Client.

When a distributed setup (ES and OS Server on different PCs) is used, the runtime copies of the picture files on the OS Server are tagged as "downloaded from ES." The OS Compile OS re-applies the OS Project Editor settings to those copies and discards geometry attributes that the OS Server received only via direct manipulation in Graphic Designer. This is the mechanism behind the lost Group 2 dimensions.

Why the ES Path Is the Source of Truth

The master PDL files live on the ES under <ProjectName>_<OSName>\GraCS\. Each picture is referenced by a database row in CCAlgRtData.fm9 / CCRTData.fm9 and by the file header inside the PDL. The OS compile:

  1. Reads the picture list from the ES master.
  2. Generates or regenerates PDLs using the OS Project Editor canvas.
  3. Deploys the PDLs to the OS Server's GraCS folder.
  4. Rebuilds the runtime database (RTData.dbf, PDT.dbf) on the OS Server.

Any geometry attribute not written into the ES master is lost in step 3. The fix is therefore to edit the picture on the ES, not on the OS Server runtime instance.

Prerequisites for the Resolution

  • Engineering Station with PCS 7 V9.0 SP2 UC03 (or matching version per the table above) installed.
  • OS Server with the same major version and at minimum the same Update Collection.
  • Administrator rights on both stations and a writable shared project path.
  • WinCC Explorer and the OS Project Editor available on the ES.
  • Read access to the Siemens readme PDFs to confirm the Update Collection level: PCS 7 V9.0 SP3 UC06, PCS 7 V9.1 SP2 UC08.

Resolution Workflow Step by Step

Step 1 — Edit the Picture on the Engineering Station

  1. Open the PCS 7 project on the Engineering Station (ES), not the OS Server.
  2. Start WinCC Explorer and select the OS whose pictures need the custom geometry.
  3. Open the affected picture in the Graphics Designer.
  4. Open Object Properties → Geometry and set the custom Width, Height, Position X, and Position Y values for Group 2 pictures.
  5. Save the picture. The change is now committed to the ES master PDL.

Step 2 — Trigger a Full OS Compile on the Engineering Station

  1. In WinCC Explorer, right-click the OS and select OS Compile OS.
  2. In the Compile dialog, choose Scope: Entire OS (not "Changes only"). This forces a regeneration of the runtime database and the picture database.
  3. Verify that the Use the OS Project Editor settings option is enabled for Group 1 pictures only, and that the picture selection retains the custom geometry defined in Step 1 for Group 2 pictures.
  4. Click Compile and wait for the OSL.dbf and GraCS folder to regenerate.
Important: "Changes only" recompile is not sufficient when the OS Project Editor canvas dimensions differ from the picture's stored dimensions. Use Entire OS the first time the geometry is corrected. Subsequent cycles can revert to incremental compile.

Step 3 — Download the OS to the OS Server

  1. From the ES, initiate OS Download → Complete download to the OS Server. A delta download will not regenerate the picture database.
  2. Confirm the download with the operator station's authorization dialog.
  3. Wait for the OS Server runtime to restart and the PDL<random>.dbf cache to be rebuilt.

Step 4 — Open the Project on the OS Server for Final Geometry Check

  1. On the OS Server, open the project in the Graphics Designer (read-only is acceptable for verification).
  2. Confirm that Group 2 pictures retain the custom geometry set in Step 1.
  3. If the geometry is still wrong, the OS Server project has not been replaced — repeat the Complete download from the ES.

Workaround: Multiple OS Clients With Per-Client Picture Geometry

When a project has multiple OS Clients with different physical monitor sizes (for example, a 1920×1080 control room display and a 1366×768 panel PC), the OS Client Reference mechanism forces all referenced clients to share the same picture. The workaround is to remove the OS Client Reference and create independent OS Clients, each with its own picture set.

Approach Configuration Compile Behavior
OS Client Reference (default) One master OS Client, other clients reference it All clients forced to master's geometry; Group 2 changes lost
Independent OS Client per display Each OS Client is a separate object in the project tree Each client keeps its own Group 1 / Group 2 geometry after compile
WinCC Script geometry swap C / VBS action in the picture's Open Picture event Runtime changes geometry based on HMIRuntime.Environment.ComputerName or screen size

Script-Based Geometry Lock (Optional)

When the hardware mix is fixed and only the picture canvas needs to be adjusted per client, attach a C script to the picture's Open Picture event. The script reads the runtime environment and sets the window geometry on first open:

#include "apdefap.h" void OnOpenPicture(char* lpszPictureName) { // Resolve target monitor and set canvas geometry long lScreenW = 0, lScreenH = 0; lScreenW = GetScreenWidth(); lScreenH = GetScreenHeight(); // 1920x1080 control room if (lScreenW >= 1920) { SetPictureWidth(lpszPictureName, 1920); SetPictureHeight(lpszPictureName, 1080); } // 1366x768 panel PC else if (lScreenW >= 1366) { SetPictureWidth(lpszPictureName, 1366); SetPictureHeight(lpszPictureName, 768); } // Fallback to OS Project Editor default return; }

This approach keeps the master picture size at the OS Project Editor default (Group 1 behavior) and applies per-client geometry at runtime, eliminating the manual resizing step in Graphic Designer and surviving any subsequent OS compile.

Caution: Runtime geometry scripts change the appearance but do not update the picture database. After a Complete download, verify the runtime values via WinCC Explorer → Graphics → Runtime → Properties on the target client, and re-validate GAMP 5 evidence records.

Configuration Reference: OS Project Editor and Graphics Designer Settings

Setting Path Parameter Effect on Compile
OS Project Editor → Picture → Monitor resolution Width, Height Defines Group 1 canvas; reset on every OS compile
OS Project Editor → Picture → Window attributes Start position, Maximize Applies to all pictures unless overridden in PDL
Graphics Designer → Object Properties → Geometry → Width / Height Per-picture runtime dimension Persists only if the ES master is the source of the change
Graphics Designer → Object Properties → Geometry → Position X / Y Per-picture runtime position Persists only if the ES master is the source of the change
OS Compile OS → Scope → Entire OS Compile flag Required when picture database must be regenerated
OS Download → Complete download Download flag Required to overwrite OS Server picture database

Verification Procedure

  1. From the ES, open the OS Project Editor and note the configured canvas size (for example, 1920×1080).
  2. Open the affected picture in Graphics Designer on the ES and confirm the Geometry → Width / Height values match the desired custom size.
  3. Initiate a Complete download to the OS Server.
  4. On the OS Server runtime, open the picture from the OS Client. Verify the geometry matches the custom size set in step 2.
  5. Perform a second OS Compile OS → Entire OS cycle. Re-verify that the picture geometry is unchanged after the second compile.
  6. Capture screenshots of the picture on the target OS Client and store them in the change-control record.

Troubleshooting Matrix

Symptom Likely Cause Corrective Action
Group 2 picture resets after compile Geometry was edited on the OS Server, not the ES Re-apply geometry on the ES, then Entire OS compile and Complete download
OS Server ignores ES geometry Delta download only, picture database not regenerated Use Complete download from the ES
Different clients show different sizes OS Client Reference pointing to a master client with different geometry Remove the reference and create independent OS Clients per display
Picture cache shows old geometry after compile OS Server runtime cache PDT.dbf not refreshed Restart WinCC runtime on the OS Server; check PDL<random>.dbf timestamps
WebUX client shows default geometry WebUX uses OS Project Editor canvas only Set the WebUX canvas to the largest target resolution in the OS Project Editor
Picture size differs between engineering and runtime Project version mismatch (e.g., ES on V9.0 SP3, OS Server on V9.0 SP2) Align major, service pack, and Update Collection levels on ES and OS Server

Best Practices to Prevent Recurrence

  • Always edit pictures on the Engineering Station, not the OS Server, to keep the master and the runtime synchronized.
  • Run OS Compile OS → Entire OS after any OS Project Editor canvas change; use incremental compile only when the canvas is unchanged.
  • Use a single physical resolution per OS Client class to avoid per-client geometry drift. If multiple resolutions are required, use independent OS Clients or a runtime geometry script.
  • Document the OS Project Editor resolution in the project's Functional Specification and update the change-control record whenever the resolution changes.
  • Before promoting a project to a new Update Collection, review the latest readme file: PCS 7 V9.0 SP3 UC06 or PCS 7 V9.1 SP2 UC08.
  • Maintain a backup of the ES master GraCS folder before and after every OS Compile OS cycle.

FAQ

Why does my PCS 7 v9.0 picture resize after every OS compile?

The OS compile regenerates the runtime picture database from the Engineering Station master. If the picture was resized on the OS Server runtime, the change is lost. Open the picture on the ES, set the geometry in Object Properties → Geometry, save, then run OS Compile OS → Entire OS and Complete download.

How do I keep two different picture sizes in the same PCS 7 project?

Do not use OS Client Reference for clients that need a different geometry. Create a separate OS Client for each target resolution, and either edit the picture geometry in the ES master for that client or attach a C / VBS script to the picture's Open Picture event to set width and height at runtime based on the screen size.

Does the "Changes only" OS compile preserve picture geometry?

No. When the OS Project Editor canvas differs from the picture's stored dimensions, the incremental compile does not regenerate the picture database. Use Scope: Entire OS the first time the geometry is corrected, then revert to incremental compile for subsequent cycles.

What Update Collection resolves the picture-reset issue?

No Update Collection adds a new compile flag for this case. The behavior is by design across V9.0 SP2 UC03, V9.0 SP3 UC06, and V9.1 SP2 UC08. The fix is the ES-side edit + Entire OS compile + Complete download workflow. Verify the installed Update Collection against the official PCS 7 V9.0 SP3 UC06 Readme and PCS 7 V9.1 SP2 UC08 Readme.

Can I use a WinCC script to lock picture size across recompiles?

Yes. Attach a C or VBS action to the picture's Open Picture event and call SetPictureWidth / SetPictureHeight (or the equivalent VBS properties) using values derived from GetScreenWidth / GetScreenHeight. The OS compile will not overwrite the master geometry, and the runtime adjustment is applied every time the picture opens.

Back to blog