Overview
Siemens SIMATIC PCS 7 V7.1 uses WinCC as the OS layer, where operator faceplates are stored as .pdl (Picture Declaration Language) files inside the project GraCS folder. Engineers frequently need to update these faceplates - add a status indicator, change a color, expose an additional tag - while the plant continues running. The challenge is propagating those modifications to OS Server A (master), OS Server B (standby), and all OS clients without stopping the OS Runtime and without producing a mismatch between what PCS 7 thinks is deployed and what is actually on disk.
This procedure covers two distinct change categories:
-
Picture-only changes - cosmetic edits to an existing
.pdlwith no new tag wiring. Can be hot-patched by file copy. - CFC-driven changes - adding blocks, new I/O tags, or new alarm classes in CFC/SFC that the OS must regenerate. Requires a controlled compile + delta download.
The technique below is documented for PCS 7 V7.1 SPx but applies conceptually to V7.0 through V8.2 with minor differences in the OS Project Editor path and the Download dialog.
PCS 7 V7.1 OS Architecture Recap
Before editing, confirm which OS role each node plays. The default PCS 7 V7.1 template installs a redundant OS Server pair plus one or more OS clients:
| Node | Role | WinCC Project Type | Runtime Behavior |
|---|---|---|---|
| ES (Engineering Station) | Engineering / source of truth | Multi-project, master database | Editor only - no Runtime |
| OS Server A | Preferred / master | Server project (redundant) | Active Runtime, archives, alarms |
| OS Server B | Standby / redundant | Server project (redundant) | Hot standby, takes over if A fails |
| OS Client 1..n | Operator stations | Client project | Connects to Server A (falls back to B) |
The redundant OS Server pair uses WinCC Redundancy: Server A and Server B maintain synchronized archives, messages, and user archives. Any .pdl modification must reach both servers identically; otherwise clients see inconsistent faceplates after a failover.
.pdl files directly on a live OS Server while WinCC Runtime is running unless you understand that the file is read once at picture-open time. Plan your maintenance window or use the GraCS copy method described below.
Prerequisites
-
PCS 7 V7.1 ES with the matching Service Pack installed on both the ES and the OS Servers (mixed SP levels cause
FWLversion errors on download). - Administrator account on OS Server A, OS Server B, and ES. Domain user with the
SIMATIC HMIgroup membership is mandatory for Runtime access. - WinCC Explorer installed on ES (component of PCS 7 ES).
- Plant in stable operation - no active download, no SFC step transitions in critical loops.
- Backup of the existing
GraCSfolder from both OS Server A and B before any file copy. - Document the current
@-prefixed tag list (used for online tag renaming) and the current picture tree path of the faceplate being modified.
Locating the Faceplate .pdl File
All WinCC graphics live under <ProjectPath>\GraCS\. The default PCS 7 path on a WinCC Server project is:
C:\Program Files\Siemens\Automation\WinCC\WinCCProjects\<OSProjectName>\GraCS\
Within GraCS, files are organized by purpose:
| File Type | Example | Purpose |
|---|---|---|
| Process pictures |
Overview.pdl, Unit_1.pdl
|
Operator area / unit overview |
| Faceplates |
MotSped.pdl, ValveAna.pdl
|
Pop-up detail views for block icons |
| Library pictures | @<vendor>.pdl |
Reusable picture modules |
| Block icons | Icons\@MOT_SPED.PDL |
Symbols shown on overview pictures |
| Status displays | Status\*.pdl |
Aggregate status views |
The faceplate file you modify is typically found in the GraCS root or under Pictures. Open WinCC Explorer on the ES, expand Graphics in the left tree, and locate the picture by name. Right-click -> Open launches the Graphics Designer with the matching file loaded from GraCS.
Scenario A: Picture-Only Modification (No CFC Changes)
Use this procedure when the edit is purely cosmetic - changing a label, color, geometry, or moving a field - and does not add new tags, blocks, or alarm classes.
Step-by-Step Procedure
-
Edit on the ES: In WinCC Explorer (ES), open the target
.pdlvia Graphics Designer. Make the modification. Do not save through WinCC Explorer Download - that would require a full OS download. - Close the file in Graphics Designer so the file handle is released.
-
Locate the modified file in the ES project
GraCSfolder, e.g.ES_Project\GraCS\MotSped.pdl. -
Copy the file from the ES
GraCSto a temporary staging folder shared between ES and OS Servers (for example\\PLANT\Patches\Faceplate_Update_2024\). -
Deploy to OS Server A: Log in to OS Server A. Stop the WinCC Runtime only if you cannot rely on WinCC's hot-reload behavior. In V7.1 SP3+, WinCC re-reads
.pdlfiles from disk when a picture is re-opened. Stop theCCEServerprocess briefly if needed:net stop "S7DOS"is not required for picture swaps, only for tag database changes. -
Copy the
.pdlfile toC:\Program Files\Siemens\Automation\WinCC\WinCCProjects\<OSServer_A>\GraCS\MotSped.pdl, overwriting the existing file. - Repeat for OS Server B using the same source file. Both servers must have byte-identical copies; otherwise failover will show the old faceplate.
- Refresh clients: On each OS client, the picture updates the next time an operator opens it. To force an immediate refresh without closing the picture tree, open the modified picture twice - WinCC detects the file timestamp change and reloads.
Why This Works Without OS Shutdown
WinCC loads a .pdl into memory when an operator first opens the picture. The file on disk is not held under an exclusive lock. When WinCC detects that the file's modification timestamp has changed since the last load, it discards the cached picture and re-reads from disk on the next open. This is the mechanism that makes the GraCS copy path viable for cosmetic changes.
Robocopy, not with the PCS 7 OS Download dialog. The OS Download dialog tracks the deployed picture set in its project database; bypassing it is the reason the next delta download will fail (see Troubleshooting below).
Scenario B: CFC Changes That Require an OS Recompile
If you add a new block (e.g. a CTRL_PID, MOT_SPED, VALVE_ANA, or any APL block) in the CFC chart, or add a new tag to an existing block that must be visible on the faceplate, the OS must regenerate the tag list and the picture's block-icon mappings. This requires the full PCS 7 compile-then-download cycle.
Step-by-Step Procedure
- Modify the CFC chart in the ES (CFC Editor). Add the new block instance, wire the I/O, and download the chart changes to the AS first: chart -> right-click -> Download -> Changes only to the target AS.
-
Compile the OS: In the plant view or component view, right-click the OS server -> Compile OS. Select Scope = Entire OS if multiple charts changed, or Scope = Changes only for surgical updates. This regenerates
Project.xml, the tag database, message configuration, and picture scripts. -
Verify the compile log in
C:\Program Files\Siemens\Automation\WinCC\WinCCProjects\<OSProject>\OS_Compile_Log.txt. Search forWARNandERRORentries. Common entries: "Tag X is not connected" or "Block icon cannot be assigned". - Stop WinCC Runtime on OS Server A only. Right-click the WinCC Explorer -> Stop Runtime. Wait for the Runtime stopped tray notification.
- Trigger the OS download from the ES. In the OS project editor, select the OS Server target -> Download -> Changes only for delta propagation, or Full download if the manual GraCS copy was previously performed (see Troubleshooting).
- Start Runtime on OS Server A and verify picture refresh.
- Repeat steps 4-6 on OS Server B. In V7.1, the redundant pair does not auto-sync a delta download - both servers must be updated manually or via the Download to all OS servers group action.
-
Push clients: Clients pick up changes automatically on next picture open. For force-refresh, restart
CCClienton each client workstation.
Compile Scope Decision Table
| Change Type | Compile Scope | Download Type |
|---|---|---|
| Color / label / geometry on faceplate only | None (manual .pdl copy) | None |
| New block added in CFC | Entire OS | Changes only |
| New tag wired to existing block icon | Changes only | Changes only |
| New alarm class added | Entire OS | Changes only |
| User archive schema changed | Entire OS | Full download |
| SFC chart added/changed | Entire OS | Changes only |
Maintaining Server A/B Consistency
OS Server redundancy in PCS 7 V7.1 is not automatic for picture files. The redundancy monitor (RM) syncs runtime data (tag values, messages, archives) but it does not sync .pdl files unless they arrive through a proper OS download. Therefore:
- After any GraCS copy, manually replicate the file to Server B via the same
Robocopyor shared folder method. - Verify file hashes match:
CertUtil -hashfile MotSped.pdl SHA256on both servers. - Schedule the modification during a low-load shift when both servers are healthy and no failover is imminent.
Verification Procedure
After deploying, confirm the modification is live without disrupting operators:
- Open WinCC Explorer on the ES in Reference mode (read-only) and compare the picture hash to the deployed file.
- Open an OS client that is logged in but idle. Navigate to the modified picture. Visually confirm the change.
- Check the WinCC diagnostics window: Start -> SIMATIC -> WinCC -> Tools -> WinCC Diagnosis. Look for Picture cache entries confirming the picture was reloaded from disk.
- On OS Server A and B, check the Windows Event Viewer -> Siemens Automation log for picture-load errors with event IDs in the range 1000-1099.
- Failover test (optional, during maintenance): force Server A into stop and verify Server B's faceplate matches.
Troubleshooting Matrix
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Picture does not refresh on client after copy | Picture still cached from previous load | Close and re-open the picture; or restart CCClient |
| OS Download fails with "Server has unexpected changes" | Manual GraCS copy bypassed PCS 7 tracking | Perform a full OS download to reconcile the database |
| Block icon does not show new tag value | OS not recompiled after CFC change | Compile OS (Scope: Entire OS), then Changes only download |
| Compile error: "Tag X not found in AS" | CFC downloaded to AS but OS compile sees old version | Re-download CFC to AS, wait for AS to be online, recompile OS |
| Server A and Server B show different faceplates | File copied to only one server | Copy file to both servers; verify SHA256 hash match |
| Facesplate buttons inactive after edit | Script object (VB or C) reference broken | Open in Graphics Designer, re-link script action, save |
| Runtime stops on Server B during failover | Picture file mismatch triggers WinCC internal error | Restore matched file from backup, restart Runtime |
Safety and Operational Considerations
- Never modify a faceplate whose underlying block controls a critical interlock (e.g. ESD, fire & gas) while the plant is in production. Even a cosmetic change can introduce a typo that misleads operators.
- Before any Runtime change, confirm with operations that no SFC is mid-transition. A restart of WinCC Runtime on a server will not interrupt AS execution but will momentarily freeze the operator display.
- Keep a versioned archive of
GraCSfolder diffs usingRobocopy /MIRor a Git repository. PCS 7's own versioning is limited to project-level snapshots. - If the project uses APL (Advanced Process Library) blocks, do not edit
@APL_*.pdlfiles. They are regenerated by the OS compile from the master APL picture library.
FAQ
Can I edit a PCS 7 V7.1 faceplate .pdl file directly on the OS Server while Runtime is running?
Yes for cosmetic changes only. WinCC re-reads the file when the picture is re-opened. Do not change the underlying tag wiring without first recompiling the OS; otherwise Runtime will display stale data or fault the picture.
Why does the next OS Download fail after a manual GraCS copy?
PCS 7 maintains its own database of which picture versions are deployed. When you bypass the download dialog and copy the file manually, PCS 7 still believes the old file is in place. The next delta download detects the timestamp mismatch and errors out. Perform a full OS Download to reconcile.
Do I have to compile and download the OS if I only changed CFC tags?
Yes. Any CFC change that adds a new tag, block, or alarm requires OS compile (Scope: Changes only or Entire OS) followed by a Changes only Download to the OS Server A and B. The AS download alone updates the PLC but leaves the HMI blind to the new tag.
How do I keep OS Server A and OS Server B faceplate files synchronized?
Manually replicate the .pdl file to both servers using the same shared staging folder. Verify with CertUtil SHA256 hash comparison. The PCS 7 redundancy monitor syncs runtime data but not picture files.
Can OS clients pick up faceplate changes automatically?
Yes on the next picture open. WinCC detects the file timestamp change on the connected server and reloads. For an immediate forced refresh across all clients, restart the CCClient service or use the WinCC project editor's "Transfer changes to clients" action.