WinCC Redundancy: Project Duplicator vs Manual File Sync

David Krause12 min read
HMI / SCADASiemensTechnical Reference
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

Overview of WinCC Server Redundancy

Siemens WinCC Redundancy is an optional package that pairs two SCADA servers into a fault-tolerant monitoring station. Each partner runs an independent WinCC project, a copy of the same runtime database, and a parallel connection to the AS (automation system). The two servers monitor each other over a dedicated terminal bus (TCP/IP LAN) and automatically fail over if the active partner drops out of service. After the failed server returns, the redundancy option re-synchronizes the runtime databases so both partners return to an identical operating state.

The WinCC V6.2 redundancy option has been carried forward into the V7.x line and into WinCC Runtime Professional in the TIA Portal. The synchronization rules, however, remain unchanged: every change to the project database (tags, alarms, archives, user administration, scripts, connections) must be propagated through the Project Duplicator; only pure graphics assets such as .pdl pictures and .fct functions can be copied by hand between partner folders.

Siemens officially states that "it is important that you have always identically projects on both WinCC stations." Whichever method you choose, project identity between Server A and Server B is a hard requirement for failover and re-synchronization to succeed.

Redundancy Architecture and Data Flow

Two physically separate servers (often labeled Master and Standby, or Server 1 and Server 2) run identical WinCC projects. Each server maintains its own process image; both connect to the same PLCs through independent network paths.

Component Master Server Standby Server
Process image Authoritative for HMIs Mirror copy, updated continuously
Alarm Logging DB Authoritative messages Buffered mirror
Tag Logging DB Authoritative archives Buffered mirror
User Administration Authoritative login list Mirror copy
Terminal Bus TCP/IP link to partner TCP/IP link to partner
System Bus AS / PLC connection(s) Independent AS / PLC connection(s)

The redundancy process exchanges four types of payload over the terminal bus: process values, alarm messages, archive segments, and partner life-sign messages. The stand-by server buffers these in memory and writes them to disk only when the master acknowledges. When the master becomes unreachable, the stand-by promotes itself to active, becomes authoritative for the HMI clients, and accepts writes. When the failed master returns, the now-active stand-by replays the buffered events back to the recovered server so the on-disk databases converge.

The WinCC Runtime Professional documentation describes this data path in detail: see How Redundancy Works (RT Professional).

Why Project Identity Is Mandatory

Redundancy synchronization relies on matching internal identifiers for tags, messages, archives, and connection points. These identifiers are generated by the WinCC Configuration Studio and stored inside the project database (*.mdf / *.ldf) and the registry hive of each server. If Server A holds tag ID 0x012A and Server B holds tag ID 0x012B for the same logical point, the re-sync handshake treats them as different tags, and the recovered server's database will diverge from the active server's. The runtime will not detect or repair this condition automatically.

The Project Duplicator (German: Projektduplizierung) is the official Siemens tool that performs a guaranteed, transactional copy of all configuration and runtime assets. It updates both the file system and the registry keys that point to those files. Manual file copying touches only the file system; it does not update the registry, which is why a hand-copy is acceptable for graphics but not for database objects.

Decision Matrix: What Needs the Project Duplicator

Modification Manual File Copy Project Duplicator Required Reason
Edit .pdl picture Yes No (recommended) Pictures are stateless graphical assets; no DB record
Edit .fct global script Yes No (recommended) Compiled C/VBS action; no DB record
Add picture to Graphics Designer navigation Yes No Navigation entry lives in *.pdl
Add new tag in Tag Management No Yes Tag ID assignment + DB record
Delete tag in Tag Management No Yes DB record removal + ID reassignment
Add new alarm message No Yes Alarm Logging DB row + tag linking
Delete alarm message No Yes Alarm Logging DB row removal
Add / change Tag Logging archive No Yes Archive DB schema + storage location
Change connection to AS No Yes Channel units, CP card mapping
Edit user administrator list No Yes User DB + permission levels
Change report templates *.rdl No Yes Report Designer DB references
Modify Start.txt / startup parameters No Yes Runtime startup configuration
Modify Redundancy.xml No Yes Partner address, watchdog settings

The underlying rule is binary: if the change is reflected in the SQL Server / Sybase database files inside the WinCC project folder, manual copy is unsafe. If the change is reflected only in .pdl, .fct, or supporting graphical files, manual copy is acceptable.

Case-by-Case Clarification

Each scenario raised in the original engineering exchange is resolved by checking whether the change touches the project database.

Case 1 – Deleting an Unwanted Alarm Message

Removing a row from Alarm Logging on Server A leaves the corresponding row on Server B untouched. After deletion, Server A will not emit that alarm; Server B will, because the row still exists in its DB. Even if the operator manually edits Server B's Alarm Logging to delete the same row, the internal message number remains identical only if the deletion order is preserved. Recommended path: make the change on Server A, then run the Project Duplicator to ship the modified Alarm Logging DB to Server B. The hand-edit-only workflow is technically possible but error-prone and provides no transactional guarantee.

Case 2 – Adding an Alarm (with Existing Tag)

Adding an alarm that references an already-existing tag touches only the Alarm Logging DB, not Tag Management. The tag ID is stable, so the alarm message number will be the same on both servers only if the project's existing alarm numbering is identical. Use the Project Duplicator to keep that numbering deterministic; otherwise drift across long-running deployments will trigger duplicate or out-of-order alarm IDs in HMI clients.

Case 3 – Adding Tags to Tag Management

Tag Management is the most sensitive area. Each new tag is allocated a numeric ID, and the channel unit (e.g., S7-OPC-UA, PROFIBUS, TCP/IP) writes that ID into the registry hive HKLM\SOFTWARE\Siemens\WinCC\.... A hand copy of the project folder leaves the registry untouched on Server B, so Server B will either fail to start the channel or allocate a different ID the next time Tag Management is opened. The Project Duplicator writes both the file and the registry atomically.

Case 4 – Deleting Tags from Tag Management

The deletion path is even more dangerous. After Server A deletes a tag, any alarm, archive, or script that referenced it on Server B will hold a dangling pointer. The runtime on Server B will log "Tag not found" warnings and any redundant re-sync of process values will fail because the tag IDs no longer align. Project Duplicator is mandatory here.

Step-by-Step: Project Duplicator Procedure (WinCC V6.2 / V7.x)

  1. Stop WinCC Runtime on both servers. Confirm via the Windows service CCAgent and WinCC Explorer.
  2. On the source server, close the WinCC Explorer so the project DB is unlocked.
  3. Open Start → SIMATIC → WinCC → Tools → Project Duplicator (German: Projektduplizierung).
  4. Select the project path on the source server (default: C:\Program Files\Siemens\Automation\WinCC\WinCCProjects\<ProjectName>\).
  5. Enter the destination UNC path of the partner server (e.g., \\SERVER_B\WinCC_Transfer\<ProjectName>\). The destination computer must have WinCC installed and the destination folder must be writeable by the Windows user running the duplicator.
  6. Choose Duplicate. The tool performs the following sub-steps:
  • Compresses the project (*.zip) on the source machine.
  • Transfers the zip to the destination share.
  • Extracts the project to the partner's local WinCC project folder.
  • Updates the registry hive on the destination server with the matching computer name and local paths.
  • Registers the SQL Server / Sybase DB on the partner.
  1. Restart the WinCC Runtime on the partner first, then on the source. Verify the redundancy partner handshake succeeds in the WinCC Alarm Control: look for system message 1004033 "Redundancy partner online".
Always duplicate from the currently authoritative server. If the master has failed and the stand-by is active, treat the active server as the source of truth; do not duplicate from a stale or degraded partner.

Step-by-Step: Manual Picture / Script Sync

When the change is limited to graphical assets, manual file copy is faster and avoids the project restart that the Duplicator imposes.

  1. Stop the WinCC Runtime on the partner (stand-by) server only. The active server remains in operation.
  2. Locate the modified file on the source server:
    • Pictures: <ProjectName>\GraCS\<PictureName>.pdl
    • Global scripts: <ProjectName>\library\<ScriptName>.fct
  3. Copy the file to the partner's matching subfolder using robocopy, xcopy, or a controlled file-share transfer:
    robocopy "\\MASTER\WinCCProjects\MyPlant\GraCS\" "\\STANDBY\WinCCProjects\MyPlant\GraCS\" *.pdl /MIR /Z /R:3 /W:5
  4. Verify file timestamps with dir /T:W on both servers. The picture file size and last-write time must be identical.
  5. Restart the partner's WinCC Runtime. The redundancy handshake will reload the picture cache.
  6. From a client, force a screen refresh on the partner (touch the picture or use the Reload function in the Picture Window).

The same procedure applies to .fct global functions. Note that runtime-loaded C actions under library\ are compiled to DLLs; if you modify a C action you must also redistribute the rebuilt .dll alongside the .fct.

Hybrid Workflow for Mixed Changes

In real engineering work, picture edits and database edits almost never arrive separately. A practical workflow is:

  1. Stage all changes on Server A (pictures, tags, alarms).
  2. Run the Project Duplicator to ship the complete project to Server B. This guarantees database consistency.
  3. If you must push an urgent picture fix while the duplication is impossible, use the manual copy path for the .pdl only, then schedule a full Project Duplicator run at the next maintenance window.

This hybrid approach is endorsed by Siemens support engineers: hand-copy for pure graphics, Duplicator for everything else, and prefer the Duplicator whenever the change is "small but involves DB."

Verification After Synchronization

Check Method Expected Result
Project identity (file level) fc /b *.pdl *.GraCS\*.pdl across servers Identical hashes for every graphic
Database identity (tag count) WinCC Explorer → Tag Management, both servers Identical tag count and IDs
Database identity (alarm count) Alarm Logging → Statistics, both servers Identical message count
Registry identity regedit → HKLM\SOFTWARE\Siemens\WinCC Matching project paths and computer names
Runtime redundancy handshake Alarm Control / Gdiag System message "Redundancy partner online" (WinCC V7) or partner state "OK" (RT Professional)
Failover test Stop WinCC on master Clients reconnect to stand-by within configured timeout (default 25 s)
Re-sync test Restart master after failover Archives and alarm DBs converge; no duplicate message numbers in Alarm Control

Troubleshooting Matrix

Symptom Likely Cause Corrective Action
Stand-by server crashes at startup after Duplicator run Project Duplicator was launched while runtime was still active on partner Stop runtime on both servers, repeat Duplicator run
Tag IDs differ between partners after manual copy Tag Management change copied by hand; registry not updated Re-run Project Duplicator; do not edit Tag Management via file copy
Alarm messages appear twice after failover Alarm Logging DB rows out of sync Stop runtime, run Project Duplicator from authoritative server
Archive values missing on recovered partner Tag Logging DB schema drift Project Duplicator; verify archive configuration identically on both servers
Picture edits not visible on partner .pdl cache not refreshed Force picture reload from client; verify file timestamp
Redundancy partner stays "Offline" Terminal bus unreachable or Redundancy.xml mismatch Verify TCP/IP ping between servers; check partner computer name in Redundancy.xml
Project Duplicator error "Destination computer not reachable" Admin share permissions or firewall blocking SMB Verify \\<Partner>\C$ reachable; enable File and Printer Sharing

Version-Specific Notes

WinCC V6.2

V6.2 uses Sybase SQL Anywhere as the embedded database. The Project Duplicator is delivered under Start → SIMATIC → WinCC → Tools and operates on the *.db file structure. Computer name binding lives in Computer.rt. V6.2 has no online configuration change; every change requires a runtime restart on both partners.

WinCC V7.x

V7.x uses Microsoft SQL Server (initially SQL Server 2005, later 2008/2012/2014 depending on SP). The Project Duplicator logic is unchanged; the tool path is the same. V7 introduces the SIMATIC Shell which can also call the duplicator over a remote shell.

WinCC Runtime Professional (TIA Portal, V15–V20)

RT Professional supports redundancy through the TIA Portal project engineering. Configuration is done in the device configuration of the HMI station; no separate "Project Duplicator" exists because the project is compiled and downloaded to both runtime PCs. Manual file copy is not a supported workflow; re-deployment is performed by re-downloading the TIA project. Refer to How Redundancy Works (RT Professional) for the current architecture.

Capacity and Performance Considerations

Synchronization traffic scales with archive and alarm volume. For typical process plants:

  • Process value synchronization: 10–50 ms per batch on a 100 Mbit terminal bus.
  • Alarm message synchronization: 5–20 ms per message.
  • Archive re-sync after failover: bounded by archive segment size; a 1-hour segment at 1000 tags × 1 s sample requires roughly 90 seconds of catch-up on a healthy network.

For very large installations (50 000+ tags), Siemens recommends a dedicated gigabit terminal bus and the "Redundancy" option with the high-performance tuning profile documented in WinCC Options Redundancy.

Safety and Operational Notes

Never modify both partners in parallel. Even if you intend to apply the same change, simultaneous edits will diverge because internal ID counters are independent processes.
Always stop WinCC Runtime on the partner before copying project files manually. WinCC holds files in exclusive write mode while running; copying under load risks partial writes and corrupted .pdl files.
Backup both partners before a major re-configuration. The Project Duplicator is not reversible in the field; restoring from a WinCC project backup is the supported rollback path.

FAQ

Can I copy a modified .pdl file from the master server to the standby server without using the Project Duplicator?

Yes, if the change is limited to a .pdl picture or .fct script, manual copy is acceptable because these files do not generate database or registry entries. Stop the partner runtime, copy the file to the matching GraCS or library subfolder, then restart the partner.

Do I have to use the Project Duplicator after adding or deleting tags in Tag Management?

Yes. Tag IDs are written to the SQL/Sybase database and the Windows registry. Manual file copy leaves the registry unchanged and the partners will diverge. Run Start → SIMATIC → WinCC → Tools → Project Duplicator to propagate the change atomically.

Is it safe to make the same Tag Management edit on both servers manually instead of duplicating?

It is technically possible only if you delete/add the same tags in the same order on both servers so that internal ID counters stay aligned. This is fragile and not recommended; the Project Duplicator is the supported path.

What WinCC system message confirms that redundancy synchronization is active?

On WinCC V7, look for system message 1004033 "Redundancy partner online" in the Alarm Control. On WinCC Runtime Professional, the redundancy status shows "OK" in the partner state view of the HMI device diagnostics.

Does WinCC Runtime Professional still use the Project Duplicator?

No. RT Professional projects are compiled and downloaded to each runtime PC from the TIA Portal. To synchronize changes, recompile the project and download it to both runtime stations; manual file copy is not a supported workflow.

Back to blog