WinCC V7 Graphics Designer: Fixing Corrupted Object Properties

David Krause14 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

Engineers reopening an existing Siemens WinCC V7 project occasionally report that every screen (PDL file) suddenly renders incorrectly: configured button colors disappear, transparent objects become opaque, and graphic icons either fail to load or lose their transparent backgrounds. The defects appear identically inside Graphics Designer (edit mode) and at runtime. An archived, untouched copy of the same project still renders correctly, and copying a known-good PDL from that archive into the broken project causes the imported PDL to also render incorrectly. That last behavior is the diagnostic giveaway: the corruption lives at the project-property layer rather than in any individual screen file.

This pattern is the canonical symptom of an unintended change to the project's User Interface & Design setting in WinCC Explorer. The setting silently toggles between 3D WinCC design, Classic, Simple, Flat, and any custom style sheets you have registered. Each design swaps the active style table, color palette, transparency handling, and window-decoration scheme. Once the design flag flips, every PDL in the project is reinterpreted against the new style table without touching the on-disk PDL file at all. WinCC V7 graphic objects inherit design-driven properties at draw time, so a single property flip invalidates the appearance of every screen simultaneously.

Affected Versions and Symptoms

The defect has been confirmed on the following WinCC V7 releases in single-station, client/server, and redundant configurations:

  • WinCC V7.0 SP3 Update 7
  • WinCC V7.2 Update 10
  • WinCC V7.3 Update 6
  • WinCC V7.4 SP1 Update 9
  • WinCC V7.5 base release
  • WinCC V7.5 SP1 Update 3
  • WinCC V7.5 SP2 Update 1

The defect presents identically across all of these versions because the design-flag and style-table lookup logic have not changed substantively since V7.0. The defect is independent of Windows version; it appears on Windows 7 SP1, Windows Server 2008 R2, Windows Server 2012 R2, and Windows Server 2019 stations alike, provided the runtime / designer is V7.x. WinCC Unified (TIA Portal V16 through V21) carries a separate design / style system accessed through TIA Portal, but the underlying defect class (style-table override invalidating object appearance) is documented in the official Siemens dynamization reference at Dynamizing object properties in WinCC Unified.

Observed Symptom Trigger in WinCC V7 Where It Manifests
Buttons render with default Windows colors instead of project colors Design switched to Classic; "Windows Style" property set on buttons Graphics Designer + Runtime
Transparent buttons no longer transparent Design switched to Classic or Simple; transparency slider hidden in Inspector Graphics Designer + Runtime
Icons in GraCS folder not loadable from library Design switched to Simple; library filter excludes certain extensions Graphics Designer only
Color palette shows limited swatches Design switched to Flat; reduced palette table Graphics Designer
Importing a known-good PDL still renders incorrectly Design flag is project-level, not PDL-level; imported PDL inherits project design Runtime
Inspector window omits transparency control for buttons Active design does not expose the transparency property Graphics Designer

Root Cause: User Interface and Design Setting

The User Interface and Design setting controls how WinCC interprets the style attributes of every graphic object. In WinCC V7, the setting is stored in the project registry hive under HKLM\SOFTWARE\Siemens\Automation\WinCC\Project\<ProjectName>\Design and in the project file <Project>.pck. The setting accepts one of the following values, each backed by an XSL style table shipped with the WinCC V7 install:

Design Value Style Table File Default Window Decoration Transparency Behavior
3D WinCC WinCCDesign.xsl 3D borders, raised buttons Full transparency per object
Classic Classic.xsl Flat 2D borders, recessed buttons Button transparency suppressed; image alpha preserved
Simple Simple.xsl Borderless, monochrome Transparency disabled project-wide
Flat (V7.4+) Flat.xsl Flat borders, flat buttons Full transparency per object
Custom <user>.xsl User-defined User-defined

The XSL tables referenced above live in C:\Program Files (x86)\Siemens\Automation\WinCC\Bin\Styles\ on a standard install. The active design is read when the project is opened and is not re-evaluated mid-edit. This means a project edited under 3D WinCC retains its design flag indefinitely until an operator opens Project > Properties > User Interface and Design and changes the radio button. The defect described in the field report is exactly this case: the radio button has flipped from 3D WinCC to Classic, and every PDL is now being reinterpreted against the Classic.xsl table.

Engineering caution: WinCC V7 does not log a security or audit event when the design flag is changed. A user with read/write access to project properties can change it silently. In regulated environments, lock the project's User Administration permissions on the project root to prevent accidental design changes, and audit the registry value after every project backup.

Primary Fix: Restoring the Design Setting

The recovery procedure restores the design flag, validates the change, and confirms the fix at runtime. Run these steps on a workstation that has WinCC V7 installed with at least the same service pack level as the project was created in.

Prerequisites

  • Project backup (a copy of the original project, or the original .mcp file) accessible on the engineering station.
  • User account with WinCC administrator rights (sufficient to change project properties).
  • WinCC Explorer closed on all clients and the server.
  • A representative PDL with at least one button and one transparent graphic object for verification.

Step-by-Step Procedure

  1. Archive the broken project. In WinCC Explorer, right-click the project name and select Create Project Backup. Save to a dated folder. This is your rollback safety net.
  2. Open project properties. In WinCC Explorer, right-click the project name and select Properties.
  3. Select the design. Click the User Interface and Design tab. Set the radio button to 3D WinCC design (or the design that was active when the project was last known to render correctly).
  4. Confirm the dialog. Click OK. WinCC Explorer prompts for confirmation; click Yes.
  5. Open Graphics Designer. Double-click Graphics Designer in the project tree. Open any PDL in the project.
  6. Verify Inspector transparency control. Select any button or graphic object. In the Inspector window, expand Properties > Appearance. Confirm that the transparency slider is visible and accepts a value between 0 and 100.
  7. Trigger a regeneration. Press F5 or click the Refresh button on the toolbar. WinCC reloads the design table and redraws the open PDL.
  8. Start runtime. Close Graphics Designer. Activate the project by clicking the Activate button on the WinCC Explorer toolbar or pressing Ctrl+Alt+R. Verify on the runtime screen that all buttons render with their configured colors and that transparent backgrounds are restored.

Verification Checklist

Check Expected Result Pass Criteria
Button color renders Buttons display configured fill color Color matches project specification
Button transparency Transparent buttons show background through Background visible behind button
Image alpha channel Icons with transparent backgrounds render correctly Background color visible around icon
Inspector transparency control Slider visible on button object properties Slider accepts values 0-100
GraCS access Icons visible in Graphics Designer library All icons loadable from library panel
Runtime color fidelity Runtime matches designer No visible delta after F5

Diagnostic Flowchart

Start: Wrong graphics rendering Open Project > Properties > User Interface and Design Design flag changed? Yes Set to original design (3D) Test runtime No Search Global Script for SetProp* property calls Script overrides design props? Yes Scope SetProp call or remove script No Inspect palette.bmp of active design Color quantizing?

Secondary Cause 1: Global Script Property Override

If the design fix does not restore the appearance, the next most likely cause is a C or VB script attached to the project that writes design-driven properties at runtime. Inspect the project for global actions:

  1. In WinCC Explorer, open Global Script > C-Editor (or VB-Editor).
  2. Search for any function that references BackColor, FillColor, Transparency, Visible, or Layer.
  3. Look for code of the form SetPropWord(lpszPictureName, lpszObjectName, "BackColor", 0xFF0000); or its VB equivalent. Such calls override design-driven rendering at runtime and survive a project-properties change.

Sample offending C-script pattern (WinCC V7):


// Global script that overwrites button color regardless of design setting
#include "apdefap.h"
void OnTime(void)
{
    SetPropWord(lpszPictureName, "Button1", "BackColor", 0xC0C0C0);
    SetPropWord(lpszPictureName, "Button1", "Transparency", 0);
}

The fix is either to disable the offending action, add a design-aware branch such as if (GetProjectDesign() == "3DWinCC") { ... }, or move the property assignment into the PDL's local event so that it only runs once on object load rather than every cycle.

Secondary Cause 2: Color Palette / ColorScheme Misalignment

The active design loads a .bmp palette file from C:\Program Files (x86)\Siemens\Automation\WinCC\Bin\Styles\<Design>\palette.bmp. If a project's PDL references a custom color not present in the active palette, WinCC substitutes the closest matching swatch, producing a color shift. Diagnose with the following procedure:

  1. Open Graphics Designer and open a representative PDL.
  2. Right-click a button that shows the wrong color. Select Properties > Colors.
  3. Record the configured RGB value (e.g. R=120 G=170 B=210).
  4. Compare to the palette file loaded by the active design. If the color is missing, it will quantize.
  5. Either redefine the design palette to include the color, or switch the design back to the original where the color was mapped correctly.

Secondary Cause 3: Icon Path Resolution and GraCS Folder

PDL files reference graphics via relative paths from the project root, e.g. GraCS\Icon_Start.emf. Note the on-disk spelling: WinCC stores graphics under GraCS on disk but exposes the folder as Graf_CS (or sometimes Graphics) in the project tree, with capital letters preserved on a case-sensitive NTFS volume. When the design flag changes, WinCC re-evaluates the icon list filter, which can hide icons in the library panel even if the files are physically present. Use the following checks:

  1. In WinCC Explorer, expand the project tree and confirm Graphics > GraCS exists.
  2. Right-click the folder and select Properties. Note the path: <ProjectPath>\GraCS\.
  3. Open Graphics Designer, click the Library panel, and refresh.
  4. If icons are missing, check the file extensions. WinCC V7 supports .bmp, .emf, .wmf, .dib, .png (V7.3+) and .svg (V7.5+). Custom formats are not loaded.

If icons appear in Explorer but not in Graphics Designer, the icon cache is stale. Rebuild it by closing Graphics Designer, deleting the user cache file %APPDATA%\Siemens\Automation\WinCC\GraphicsCache.bin, and reopening Graphics Designer.

Secondary Cause 4: Project Version Mismatch

Opening a WinCC V7.5 project on a V7.4 workstation (or vice versa) may rewrite the design flag if the conversion process is interrupted. Symptoms include:

  • Project opens, but a warning dialog appears stating that the project was last saved in a different version.
  • After clicking through the warning, all screens render with the wrong design.
  • The <Project>.mcp file's version stamp does not match the installed runtime.

The fix is to ensure that all engineering stations run the same service pack level as the runtime server. If a downgrade is unavoidable, perform a full project backup first, then downgrade a copy and test in isolation. For mixed-version support matrices, refer to the Siemens WinCC V7 compatibility matrix in your local Readme file at C:\Program Files (x86)\Siemens\Automation\WinCC\Readme\.

Secondary Cause 5: PDL File Corruption

A corrupted PDL will exhibit some symptoms in common with the design-flag defect, but typically only on a single screen rather than across the entire project. Diagnose with the following procedure:

  1. Open the suspect PDL in Graphics Designer.
  2. If Graphics Designer throws a parse error or refuses to open the file, the PDL is corrupted.
  3. Check the file size in Explorer. PDL files for screens of equivalent complexity should be within 30% of each other in size. A truncated PDL is typically 50% or smaller than a known-good reference.
  4. Open the PDL in a text editor such as Notepad++. WinCC V7 PDL files are XML; they should begin with <?xml version="1.0" encoding="UTF-8"?>. Missing XML tags at the end indicate truncation.
  5. Restore from the latest project backup.

Diagnostic Reference Matrix

When the primary fix does not resolve the issue, use the following matrix to triage alternate causes:

Symptom Scope Likely Cause Diagnostic Command / Action Fix
All PDLs in project Design flag changed Project > Properties > User Interface and Design Set to original design (typically 3D WinCC)
Single PDL only PDL file corrupted Open in text editor; check for valid XML Restore from backup
Buttons only, project-wide "Windows Style" set on every button Right-click button > Properties > Style Set style to "User-defined" and re-apply colors
Buttons only after a copy Global C/VB script overrides property Global Script > C-Editor > search for SetPropWord Remove or scope the script
Specific colors only Palette table mismatch Compare RGB value to active palette .bmp Add color to palette or switch design
Icons missing in library GraCS folder misnamed or path broken WinCC Explorer > Graphics > GraCS > Properties Restore folder or rebuild cache
Inspector transparency missing Active design does not expose transparency Project > Properties > User Interface and Design Switch to 3D WinCC or Flat
Defect after Windows update Theme service changed <themeui.dll> rendering Disable Windows themes on runtime station Lock theme via GPO and reboot

Preventive Hardening

To prevent recurrence in regulated or production environments, apply the following safeguards:

  1. Lock project properties. In WinCC Explorer, open User Administration and remove write permission on Project > Properties for all operators and most engineers. Limit write access to a small set of administrator accounts.
  2. Standardize design across all projects. Mandate a single design (typically 3D WinCC) in your internal WinCC V7 engineering standard. Document the design in the project's design specification.
  3. Baseline project backups. After every commissioning milestone, archive a full project backup. Tag the backup with the design flag value recorded in Project > Properties > User Interface and Design.
  4. Disable "Windows Style" by default. In your screen templates, set the button style property to User-defined rather than Windows Style. This isolates buttons from Windows theme changes.
  5. Audit global scripts. Periodically review all C and VB scripts in the project for SetProp* calls that override design-driven properties. Document each call in the project's script register.
  6. Version-stamp engineering stations. Document the WinCC V7 service pack level on every engineering station and runtime server. Mismatched levels are a leading cause of project corruption.

WinCC V7 Design Architecture Reference

For deeper diagnostic work, the following architectural notes apply. The default WinCC V7 install ships with the following design artifacts under C:\Program Files (x86)\Siemens\Automation\WinCC\Bin\Styles\:

File Purpose Editable
WinCCDesign.xsl Style table for 3D WinCC design Read-only; clone for custom design
Classic.xsl Style table for Classic design Read-only; clone for custom design
Simple.xsl Style table for Simple design Read-only; clone for custom design
Flat.xsl Style table for Flat design (V7.4+) Read-only; clone for custom design
<Design>\palette.bmp Color palette bitmap (256 entries) Replace with custom palette
<Design>\resources.dll Localized strings for design labels Requires Visual Studio resource editor

For advanced users who need to define a fully custom design, clone an existing XSL file, modify the property mappings, register the new design in the registry under HKLM\SOFTWARE\Siemens\Automation\WinCC\Designs\<DesignName>, and add a radio button to the User Interface and Design tab by editing designselect.xml in the same directory. Each object property exposed in the Inspector window is mapped through the XSL table; if a property is omitted from the XSL, the Inspector hides the corresponding control. This is the mechanism that causes the "transparency slider has disappeared" symptom described in the field report when the design is switched to Simple.

The official Siemens documentation for object properties is available at WinCC V7.5: Properties of an Object. This reference enumerates every configurable property of a WinCC V7 graphic object and identifies which properties are design-driven versus PDL-local. Use this reference to determine whether a given property is likely affected by a design switch before opening the registry or XML files directly.

FAQ

Why does every PDL in my WinCC V7 project suddenly render with wrong colors and missing transparency after no one touched the configuration?

The User Interface and Design setting in WinCC Explorer (Project > Properties > User Interface and Design) was likely toggled to a different design, for example from "3D WinCC design" to "Classic." This swap changes the active style table and color palette without modifying any PDL file, so every screen is reinterpreted against the new style. Open the dialog, select the original design, click OK, and reopen Graphics Designer to redraw.

How do I restore the 3D WinCC design in a corrupted WinCC V7 project?

In WinCC Explorer, right-click the project root, select Properties, switch to the User Interface and Design tab, choose the 3D WinCC design radio button, and confirm. Then open Graphics Designer and press F5 to force a redraw. Verify the Inspector window now shows the transparency slider on selected objects and that buttons render with their configured fill colors.

Why does copying a known-good PDL file into the broken project still produce incorrect rendering?

The design flag is set at the project level, not per PDL. Any imported PDL inherits the destination project's active design and is rendered against that design's style table. Restoring the design flag to the original value will cause both the original and the imported PDLs to render correctly without re-importing anything.

Why are icons from the GraCS folder missing in Graphics Designer after a design change?

WinCC filters the icon library against the active design. Some custom icons may not appear if the active design restricts the supported file types or naming convention. Verify the folder is named exactly "GraCS" on disk (the project tree may display it as "Graf_CS"). Also delete %APPDATA%\Siemens\Automation\WinCC\GraphicsCache.bin to force a rebuild of the icon cache.

Can a global C or VB script override transparency settings in WinCC V7?

Yes. Global actions calling SetPropWord, SetPropFloat, or the VB equivalent can set Transparency, BackColor, or FillColor at runtime, overriding the design-driven values. Search Global Script for any SetProp* call referencing transparency or color properties. Move such assignments to per-object events, or add a design-aware branch so they only run when the active design matches the original specification.

Back to blog