Overview
Siemens WinCC (and the OS stations layered on top of PCS 7) is engineered around a distributed, redundant client-server architecture. A typical multi-user SCADA project deploys one or two paired OS Servers, redundant OS Servers, and several OS Clients that read process data, alarms, and trends from the server's package. Each client carries its own project subdirectory, references the server's package, and runs a thin runtime view with no local data acquisition.
This article documents the engineering procedure for restoring or adding an OS Client into an existing multi-client WinCC project after hardware loss or replacement. The procedure is built around WinCC V7.x and the equivalent PCS 7 OS components. It assumes you already hold an exported copy of the original OS Client project (or a fully licensed spare station) and you need to re-integrate it into the live Engineering Station (ES) and Server pairing.
OS Client-Server Architecture
Before touching configuration, map the role of each station. WinCC's logical data flow is straightforward but strict:
Key roles:
- Engineering Station (ES) — holds the master project with all PDLs, scripts, archive configurations, and the OS server/client topology. Single source of truth.
- OS Server — receives the configured data from the AS via S7/S7Plus and publishes it as a server package.
- OS Client — reads the published package, displays the same graphics as the server, and supports operator input. The client project is small (no archives, no driver connections).
When replacing a failed OS Client, you must rebuild it inside the ES project first and then re-deploy. Standalone editing on the client station causes divergent copies and breaks the package integrity.
Prerequisites
- Licensing — Confirm the new OS Client station has a valid WinCC RT/RC license (e.g., 6AV6371-1DV07-0AX0 for V7.5) keyed to the station's Microsoft Windows SID. Without the correct license the runtime will not start.
- WinCC version parity — The OS Client, OS Server, and ES must run the same WinCC major.minor version (e.g., V7.5 SP2). A mismatch forces a downgrade or upgrade migration before the client can join the package.
-
Backup of the original client project — Export the OS Client subdirectory
\<Server>\WinCCProjects\<Project>\<ClientName>or use the WinCC Project Duplicator to capture the entire multi-user project including the five client trees. -
Network reachability — The OS Client must resolve the OS Server's hostname via DNS or local
hostsentries. Allow ports102,135,137-139,445,3389(RDP for commissioning), and the dynamic range used by WinCC RPC. Validate withnet view \\<OSServer>before commissioning. - Same Windows workgroup or domain — Mixed-domain clients cannot authenticate the WinCC service accounts.
-
Symmetric user accounts — Configure identical local accounts (e.g.,
WinCCUser) with matching passwords on the ES, OS Server, and OS Client, or use a domain account. WinCC's User Administrator enforces this.
Step-by-Step OS Client Configuration
The procedure below restores a single OS Client into an existing multi-client WinCC project. Times are approximate for a 50 MB project on a 1 GbE LAN.
Step 1 — Add the Client Station in the ES Project
- Open WinCC Explorer on the Engineering Station.
- Right-click the project root and choose New → OS Client. Name the client exactly as it will appear on the network (e.g.,
OS_CL_04). The name is case-sensitive in the package. - Set the Computer Properties: enter the host name, the Windows startup path (
C:\Program Files\Siemens\Automation\WinCC\bin\WinCCRT.exefor V7.5), and the project path (\<OSServer>\WinCCProjects\<Project>\OS_CL_04). - Confirm Start WinCC Runtime is enabled and Autostart behavior matches the other four clients.
Step 2 — Assign the Server Package
- From the new client entry in WinCC Explorer, open Server Data.
- Click Select Server and pick the preferred OS Server (typically the master of the redundant pair).
- Set Preferred Server for the redundant path; the runtime will fall back to the standby automatically on package timeout (~30 s default, configurable via
CCSetServer.rtparameter). - Click Assign. WinCC generates a local stub that references the server's package. The client now knows which server holds the live tags and pictures.
Step 3 — Copy Custom PDLs and Graphics
- If the backup contains PDLs modified locally on the client (custom overlays, vendor faceplates), navigate to the backup and copy
*.PDLand any referenced BMP/EMF/WMF assets into the new client directory underGraCS\. - Run the OS Project Editor on the ES (right-click project → OS Project Editor). This regenerates the compiled runtime PDLs (
*.PDL.rt) and the picture cache. - Enable the option "Disable overwrite of custom changes" if you want manual PDL edits to survive subsequent OS Project Editor runs. Leave it off if the ES is authoritative and the local edits are throwaway.
Step 4 — Copy Global Scripts and Regenerate Header
- Copy any custom C scripts and VB scripts from the backup into the project's
Library\andScriptLib\directories. - In WinCC Explorer, open Global Scripts → C-Editor, then choose Regenerate Header. This rebuilds
apdefap.hand forces a clean compile of every action and function. - Compile (F7). Verify zero errors and zero warnings in the output window — warnings in C actions frequently manifest as silent runtime failures on the client only.
Step 5 — OS Project Editor — Authoring Configuration
- Launch OS Project Editor from the ES context menu.
- Verify the following per-client settings:
| Tab | Setting | Recommended Value |
|---|---|---|
| General | Hotkeys | Same as the four surviving clients |
| Monitoring | Standard cycle, picture cycle | 2 s / 5 s (match running clients) |
| Message Configuration | Single message line | Enabled |
| Picture Selection | Start picture | Overview.PDL |
| User Administrator | See Step 6 | Match ES |
| Time Synchronization | See Step 7 | Slave to OS Server |
Click OK to commit. The editor writes OS->ProjectEd.op7 in the project root.
Step 6 — User Administrator
- Open User Administrator in WinCC Explorer.
- Confirm the same authorization groups exist on the client as on the ES (Operator, Supervisor, Engineer, etc.).
- For each operator, ensure the Logon setting uses the same WinCC user name. If you employ SIMATIC Logon, verify the certificates on the new client match.
- Configure the auto-logoff timeout identically across clients to avoid a station staying unlocked when an operator forgets to log out.
Step 7 — Time Synchronization
- Open the client's Computer Properties → Time Synchronization.
- Set the OS Server as the NTP master (or DCF77 if the master is equipped with a radio clock). Each client becomes a slave.
- Verify the time zone and DST handling match the other four clients. A client in a different time zone causes archive timestamps to drift, which corrupts trend queries.
Step 8 — Compile and Transfer
- In WinCC Explorer on the ES, select the new client and choose Compile → Full. This produces
<ClientName>.rtand an updated server package reference. - Use Server Data → Remote Transfer or manually copy the compiled client directory to the OS Server's shared
WinCCProjectsfolder. - On the OS Server, run WinCC Project Sync to push the package to the new client.
Verification
Verification has three checkpoints. Treat any failed checkpoint as a stop-the-line event.
Check 1 — Network Path and Authentication
- From the new client, open a command prompt and run
ping -n 4 <OSServer>. Expect zero loss and sub-1 ms on a GbE LAN. - Run
net view \\<OSServer>— the project share must list without prompting for credentials. - Run
wbemteston the client and connect to\\<OSServer>\root\cimv2using the WinCC service account. A successful WMI connection proves DCOM and the RPC ports are open.
Check 2 — Project Load Test
- On the client, start WinCC Runtime from
Start → Programs → Siemens Automation → WinCC → WinCC Runtime. - Observe Status of Server Connections in the diagnostics window: all tags should resolve within the configured timeout (default 5 s).
- Open the start picture and exercise one input field per operator area. Confirm that operator input reaches the AS through the server (verified via AS online monitor).
Check 3 — Redundant Failover
- On the master OS Server, disable the WinCC service to force failover.
- Verify the new client switches to the standby server within 30 s and the operator does not see a logged-out dialog.
- Re-enable the master service and confirm the client re-prefers it without operator action.
Configuration Parameters Reference
| Parameter | Default | Recommended (Multi-Client) | Notes |
|---|---|---|---|
| Runtime startup mode | Service | Service | Allows autostart at boot without an interactive session |
| Server failover timeout | 30 s | 30 s | Lower values cause spurious failovers on transient network glitches |
| Picture change monitoring | 2 s | 2 s | Must match the server cycle for consistent animation |
| Archive transfer cycle | 500 ms | 500 ms | Clients do not archive; this value affects only what the client requests |
| User auto-logoff | 30 min | 30 min | Lock the project consistently across all clients |
| Time sync interval | 10 min | 10 min | NTP slave mode on every client |
| Graphics cache size | 64 MB | 128 MB | Increase on clients running high-resolution process graphics |
| Server package path | Local | UNC to server | Never map a drive letter; UNC survives reboot |
Troubleshooting Matrix
| Symptom | Likely Root Cause | Corrective Action |
|---|---|---|
| Client runtime aborts immediately with "Project not found" | Server package path is a mapped drive or UNC mismatch | Replace with full UNC path \\<Server>\<Project>\<Client> and verify share permissions |
| Tags show "Initial value" indefinitely | Preferred server assignment missing or wrong | Re-open Computer Properties → Server Data and click Assign |
| Operator input returns "No authorization" | User Administrator groups not transferred | Re-run OS Project Editor with User Administrator tab enabled; copy User.xml from a known-good client |
| PDLs open but custom faceplates are blank | Custom PDL was overwritten by OS Project Editor | Enable "Disable overwrite of custom changes" and re-copy the PDL |
| C script action does nothing at runtime | Header not regenerated after library change | Open C-Editor → Regenerate Header → Recompile |
| Clock drift between clients and server | Time sync slave mode not set | Computer Properties → Time Synchronization → Slave, point to OS Server |
| Failover hangs at 90 % | DCOM permissions insufficient for the WinCC service account | Re-run DCOMCnfg.exe on the client and grant the WinCC account Remote Launch/Activation |
| License alarm "Invalid RT license" | License bound to old hardware SID | Return and re-issue the license through Siemens Automation License Manager with the new station SID |
Commissioning Checklist
- ES project contains the new client entry with matching computer name and UNC path
- Server assignment preferred server set; standby selected automatically
- Custom PDLs, scripts, and graphics copied from the backup
- Global scripts header regenerated; zero compile warnings
- OS Project Editor committed with custom overwrite policy defined
- User Administrator groups and operator accounts identical to surviving clients
- Time sync set to slave mode, pointing to OS Server
- Ping, net view, and WMI tests pass with the WinCC service account
- Runtime load test confirmed; one operator input per area exercised
- Redundant failover test passed without operator-visible interruption
- License active on the new station
Common Pitfalls and Field Notes
- Hostname capitalization. Windows tolerates case-insensitive hostnames, but WinCC's package hashing does not. Keep every client entry lowercase in the ES.
- Mixed client versions. Two clients on V7.4 and three on V7.5 will not share a single package. Either match all versions or use a WinCC version-specific project fork.
-
Antivirus interference. Real-time scanning of
*.PDL.rtfiles and the WinCC project path adds 200-400 ms latency per picture change. Exclude the project root from AV scans. - Service account password rotation. When the domain password expires, the client's connection to the server drops silently. Schedule a runtime test immediately after password changes.
- OS Project Editor overwrite. Operators frequently request small PDL tweaks locally. Without "Disable overwrite of custom changes," the next OS Project Editor run silently destroys them.
- Manual time on clients. If the client is set to "no time synchronization," it accepts Windows local time. After a daylight-saving change, the trend archives will show one-hour gaps.
Related Documentation
- Siemens WinCC Client-Server Configuration Manual — official PCS 7 / WinCC client-server commissioning PDF.
- Siemens Industry Online Support — entry portal for product manuals, firmware updates, and FAQ articles.
- WinCC V7.5 Installation and Configuration Manual — covers computer properties, server data, and OS Project Editor in detail.
How do I add a new OS Client to an existing WinCC multi-user project?
Open WinCC Explorer on the ES, right-click the project root, choose New → OS Client, name the station, fill in Computer Properties with the UNC project path, then click Server Data → Select Server → Assign. Compile the client and transfer the project to the OS Server's shared directory.
What ports must be open between OS Server and OS Client?
At minimum: TCP 102 (S7 communication if the client passes through the server to the AS), 135 plus the dynamic RPC range, 137-139 and 445 (SMB for the project share), and 3389 for RDP during commissioning. Verify reachability with net view and wbemtest.
Why do my custom PDL edits disappear after running the OS Project Editor?
The editor regenerates the runtime graphics (*.PDL.rt) from the ES source PDL, overwriting local changes. Enable the option "Disable overwrite of custom changes" in the OS Project Editor to preserve manual edits across subsequent runs.
How long should server failover take on an OS Client?
Default timeout is 30 seconds. Below 20 seconds, transient network noise produces spurious failovers. Above 45 seconds, operators experience noticeable freeze. Tune the timeout in the client's server data configuration, not in the registry.
Can I copy a standalone OS Client project into a multi-user project on the ES?
Yes, but the merge is manual: create a new client station in the ES, then transfer the standalone PDLs, scripts, user database, and computer properties. There is no automatic importer. After the merge, regenerate the C header and recompile.