Synchronizing Internal WinCC Variables Across Redundant OS Servers in Legacy PCS 7 V6 and Modern WinCC

Synchronizing Internal WinCC Variables Across Redundant OS Servers in Legacy PCS 7 V6 and Modern WinCC

In legacy SIMATIC PCS 7 V6.0 SP1 (WinCC V6.0 HF1), internal tags ('Lokale Variablen') configured with 'Project-wide update' replicate only to clients connected to that specific server; WinCC Redundancy in V6.0 did NOT support automated synchronization of internal tags between Redundant Server A and Redundant Server B. Consequently, clients connected to Server A observe different internal tag values than clients connected to Server B. In legacy PCS 7 V6, the manufacturer-recommended workaround is to store shared variables in AS controller data blocks (AS variables) connected to both servers via S7 connections, ensuring universal client consistency regardless of server connection. In modern PCS 7 (WinCC V7.0 and newer), automated internal tag synchronization and runtime persistence are fully integrated into the WinCC Redundancy editor.

Table of Contents

Executive Summary

In high-availability supervisory control and data acquisition (SCADA) systems operating redundant servers, maintaining complete data parity across all connected operator clients is an essential operational requirement. In SIMATIC PCS 7 systems, Operator Station (OS) clients connect to redundant server pairs (Server A and Server B) with automated load balancing and bumpless failover. When an operator updates a setpoint or toggles an operational flag stored in an internal WinCC tag, that change must propagate across all clients regardless of which physical server an individual client is currently connected to.

In modern PCS 7 installations (utilizing WinCC V7.2, V7.4, or V7.5), internal tag synchronization is a standard, built-in feature of the WinCC Redundancy package. However, in legacy installations—specifically SIMATIC PCS 7 V6.0 SP1 running WinCC V6.0—engineers frequently encounter a confusing limitation: internal tags configured with 'Project-wide update' ('Projektweite Aktualisierung') update only the clients connected to that specific server, leaving clients connected to the partner redundant server out of sync. This technical guide explains the architectural evolution of internal tag handling between WinCC V6 and WinCC V7, details the technical constraints of legacy redundancy engines, and provides field-proven workarounds using AS controller data blocks and script-based synchronization.

Architecture and Fundamental Mechanics

The synchronization mechanics of WinCC Redundancy have undergone substantial architectural evolution across major PCS 7 generations:
1. Legacy Architecture (WinCC V6.0 in PCS 7 V6.0 SP1):
* Redundancy Scope: In WinCC V6.0, the Redundancy option package (WinCC Redundancy) was architected exclusively to synchronize historical process archives (Tag Logging archives) and message logs (Alarm Logging archives) following a server failure.
* Internal Tag Behavior: Internal tags in WinCC V6.0 reside purely in local process memory (CCProjectMgr.exe / DataServer).
* Project-Wide Update Limitation: Selecting 'Project-wide update' ('Projektweite Aktualisierung') in Tag Management indicates to the local server that the tag should be broadcast across the terminal bus to clients connected to that specific server. It did NOT establish an inter-server synchronization bridge across the redundancy link.
* Consequently, if Client 1 is connected to Server A and Client 2 is connected to Server B, modifying an internal tag on Client 1 updates Server A and Client 1, but Server B and Client 2 remain completely oblivious to the change, resulting in data divergence.
2. Modern Architecture (WinCC V7.0 and Higher in PCS 7 V7/V8/V9):
* Recognizing this limitation, Siemens completely redesigned the WinCC Redundancy engine in WinCC V7.0.
* Tag Management in modern WinCC includes explicit attributes for internal tags: Synchronization of internal tags and Runtime persistence.
* When enabled, the WinCC Redundancy service monitors internal tag modifications and automatically transmits update telegrams across the serial/redundant Ethernet link to update the partner server in real time.
3. Legacy Workaround Mechanics (The AS Variable Strategy):
* In PCS 7 V6.0, because inter-server internal tag replication is physically absent from the software kernel, the only deterministic method to maintain shared state across redundant servers is to relocate the variable into the AS controller (e.g., in a dedicated global Data Block DB100).
* Because both Server A and Server B maintain independent S7 communication connections to the controller, any write to the AS variable from Client 1 updates the controller. Server B reads the updated value on its next cyclic poll (typically within 250 ms) and immediately pushes the update to Client 2.

Step-by-Step Implementation Procedure

Step 1: Evaluate Software Baseline and Capabilities

  1. In WinCC Explorer on the PCS 7 V6.0 system, check the software version: Help > About WinCC.
  2. Confirm whether the system is running WinCC V6.0 (PCS 7 V6.0 SP1 HF1).
  3. In WinCC Tag Management, right-click an internal tag and select Properties: verify that modern options ('Synchronization' and 'Runtime persistence') are entirely absent in V6.0.

Step 2: Implement the AS Data Block Workaround (Recommended for V6.0)

  1. In SIMATIC Manager on the Engineering Station, open the S7 Program of the automation controller.
  2. In the Blocks folder, insert a new shared data block: DB100 (e.g., named DB_HMI_Shared).
  3. Define the required variables inside DB100 (e.g., Setpoints, OperatingModeFlags, DisplayFilterBits) with appropriate data types (REAL, INT, BOOL).
  4. Set the block attribute S7_m_c = true (or flag individual variables for operator control and monitoring).
  5. Download DB100 to the AS controller.

Step 3: Map the AS Variables in WinCC Tag Management

  1. Open WinCC Explorer on the ES and perform an OS Compile, or manually create the tag connections under Tag Management > SIMATIC S7 Protocol Suite > Industrial Ethernet.
  2. Map the process tags pointing to DB100 on the AS controller.
  3. In WinCC Graphics Designer, update process screens and faceplates to bind operator controls to the new AS tags rather than the obsolete internal tags.
  4. Save pictures and download the OS project to both redundant servers (Server A and Server B).

Step 4: Alternative Legacy Workaround via Scripted Synchronization (If AS Modification Prohibited)

If plant operational rules prohibit downloading new data blocks to the running AS controller in PCS 7 V6.0, implement a scripted replication mechanism:
1. On both servers, configure WinCC User Archives to store the shared parameters, utilizing User Archive synchronization across redundant servers.
2. Alternatively, configure a global C-action triggered upon tag change on the Master server that writes the updated value to a shared file on the partner server, where a cyclic script reads and updates the partner server's internal tag.

Step 5: Procedure for Modern PCS 7 / WinCC Installations (V7.2 - V9.1)

If operating or upgrading to modern PCS 7 systems (V7, V8, V9):
1. Open WinCC Explorer on the OS Server.
2. Open the Redundancy editor.
3. In the Redundancy configuration dialog, ensure the checkbox Synchronization of internal tags is CHECKED.
4. In Tag Management, open the properties of the internal tag: check Synchronization and Runtime persistence.
5. Modern WinCC will automatically replicate tag modifications across both servers without requiring AS data blocks.

Verification

  1. In the PCS 7 V6.0 runtime environment, log an operator onto Client 1 (connected to Server A).
  2. Log an operator onto Client 2 (connected to Server B).
  3. On Client 1, navigate to the process screen and modify the shared parameter (now stored in DB100 on the AS).
  4. Observe Client 2: within one cyclic polling interval (approx. 500 ms), confirm that the parameter display on Client 2 updates to match Client 1.
  5. Disconnect Server A from the network to simulate server failover: verify that Client 1 reconnects to Server B and retains the exact same parameter value without data loss.

Limitations and Operational Precautions

  1. WinCC V6.0 software is officially discontinued and legacy; upgrading to modern supported PCS 7 releases (V9.0/V9.1) is strongly recommended for cybersecurity and software stability.
  2. Storing shared HMI variables in the AS controller consumes controller data memory and S7 communication bandwidth; do not route high-frequency temporary UI tags to the AS.
  3. Script-based file sharing workarounds in V6 introduce latency (1 to 3 seconds) and are vulnerable to Windows SMB network sharing interruptions.
  4. When planning modern upgrades, hardware capacity, operating system baselines, and license order numbers must be confirmed with an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Why didn't 'Project-wide update' synchronize between servers in PCS 7 V6?

In WinCC V6.0, 'Project-wide update' was designed only to propagate tag values from a server down to its connected clients. It did not bridge the gap between redundant server pairs.

In which WinCC version was internal tag synchronization introduced?

Automated internal tag synchronization between redundant servers was officially introduced in WinCC V7.0 and refined in subsequent PCS 7 releases.

Why is using an AS data block the best workaround in legacy V6?

Because both redundant servers independently read from and write to the same physical controller memory address, ensuring universal consistency across all clients regardless of redundancy state.

Do AS data block tags consume WinCC process tags?

Yes. Unlike internal tags, tags mapped to controller memory count against the licensed WinCC Process Tag (or Process Object) count on each server.

Can I upgrade WinCC V6.0 directly to WinCC V7.4 or V7.5?

Direct migration is not supported. Upgrading from WinCC V6.0 requires a multi-step migration path (e.g., V6.0 -> V6.2 -> V7.0 -> V7.4). Consult Siemens migration guides for exact version stepping.

Technical References

Related Articles

Related Tags

  • PCS 7 V6
  • WinCC Redundancy
  • Internal Tags
  • Tag Synchronization
  • AS Variables
20 respuestas